【问题标题】:How translate my application with string.xml files?如何用 string.xml 文件翻译我的应用程序?
【发布时间】:2013-08-27 10:47:57
【问题描述】:

我创建了这一系列的xml文件

res/values/strings.xml     <--- The default language 'it'
res/values-en/strings.xml  <--- English

所以在我的 string.xml 中有一些,我再说一遍,我的应用程序的一些字符串是我的语言,但不是全部。例如我有一些这样的文本视图

TextView textView = (TextView)findViewById(R.id.Temperature);
textView.setText(Html.fromHtml("Temperature: "+ "<small> <font color='#59c3fa'>" + temperature + "°C</font></small>"));

string.xml 文件中没有...我要添加每个文本视图吗?这个怎么运作?有人可以举个例子吗?

【问题讨论】:

    标签: android xml string android-activity multilingual


    【解决方案1】:

    要从strings.xml中获取字符串,你必须使用getResources().getString(R.string./*String name in the xml*/)

    这将从适当的xml 文件中获取字符串(values-en,如果手机的语言环境是英语)并且如果在values-en 中找不到字符串(或找不到语言环境),它会获取它来自/res/values 文件夹

    只需确保您在两个strings.xml 文件中都映射了所有字符串,并且不要对字符串进行硬编码(就像您对“Temprature:”所做的那样)

    textView.setText(Html.fromHtml("Temperature: "+ "<small> <font color='#59c3fa'>" + temperature + "°C</font></small>"));
    

    改为使用:

    textView.setText(Html.fromHtml(getResources().getString(R.string.temprature)+": "+ "<small> <font color='#59c3fa'>" + temperature + "°C</font></small>"));
    

    查看link了解更多详情。

    【讨论】:

    • 谢谢,我稍后再试。但是我如何测试它是否有效?有解决办法吗?只是想知道..
    • 对不起,我不关注。你需要测试什么?
    • 我的意思是,我怎么知道它是否有效?如果一切都正确并且谁下载了我的应用程序,例如在英格兰看到英语?你现在关注我了吗?
    • 您可以将您的测试手机/模拟器的语言更改为英文,这样您就可以看到它是否正常工作
    • 这取决于手机区域设置而不是手机位置(如果您在英国有意大利语的手机,它将显示意大利语)
    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 2013-04-17
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多