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

3

我该如何在Android项目中存储一些与语言无关的值,例如网站地址。目前我将其存储在strings.xml中。但是如果我添加另一种语言和翻译时,这个条目仍将具有相同的值并且会重复出现。

我还想获取一些关于考虑国际化的Android项目创建方面的技巧。

4个回答

5
您不需要在翻译后的xml文件中再次创建相同的键。如果Android在德语/西班牙语/其他语言文件中找不到link,它会回退到默认的string.xml文件中存储的原始键。我建议先实现英文版本,然后让别人翻译它。

好的,我不知道这个功能。因此,在这种情况下不需要更改代码。 - midhunhk
这背后的基本思想在应用程序名称方面是显而易见的。您不需要将“Awesome”放入所有语言文件中。 - WarrenFaith
你还需要在首选项中调整你的lint设置,以避免警告信息。 - Edward Falk

0

0

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

public class MyIndependentStrings {

public static final String SOME_STRING = "Value";

}

使用方法:

tvMyTextView.setText(MyIndependentStrings.SOME_STRING);

在这种情况下,您将使用常量而不是来自../values/strings.xml的i18n字符串。

这样他就不能在XML文件中使用它们。 - NikkyD
在这种情况下,您将使用常量而不是来自../values/strings.xml的i18n字符串 - 我已经提到了它。 - EvZ

0

尝试将与语言无关的字符串放在以下位置:

\res\values-nodpi\strings.xml

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接