在Android资源中存储与语言无关的字符串

时间:2013-01-17 13:33:14

标签: android internationalization resources

如何在Android项目中存储一些与语言无关的值,例如网站地址。我目前将其存储在strings.xml内。这看起来不太好,好像我添加了另一种语言和翻译,这个条目仍然具有相同的值并将被复制。

我还想了解一下使用I18N创建Android项目的一些技巧。

4 个答案:

答案 0 :(得分:5)

您无需再次在已翻译的xml文件中创建相同的密钥。如果Android在德语/西班牙语/无论什么语言文件中找不到link,它将回退到默认string.xml中存储的原始密钥。

我建议先实施英文版本,之后让有人翻译。

答案 1 :(得分:0)

对于i18n-format,您可以为一个本地创建一些资源文件夹:

/res/values     <- default locale
/res/values-fr  <- values for french locale
...

有关更多示例,请阅读文档:http://developer.android.com/guide/topics/resources/localization.html

答案 2 :(得分:0)

对于与语言无关的字符串,只需创建一个包含常量的类:

public class MyIndependentStrings {

public static final String SOME_STRING = "Value";

}

用法:

tvMyTextView.setText(MyIndependentStrings.SOME_STRING);

在这种情况下,您将使用常量,而不是来自../ values / strings.xml

的i18n字符串

答案 3 :(得分:0)

尝试将语言无关的字符串放入:

\res\values-nodpi\strings.xml