android中的非本地化字符串

时间:2015-03-24 14:16:51

标签: java android xml localization

如何避免(某些)我的字符串资源被本地化?

有时我需要多个相同的字符串。例如,在定义首选项时,我需要在preferences.xml和我的java代码中使用首选项键以获取首选项值。要么我可以手动定义两次键(我现在这样做),但我觉得我的键列表变得越来越大,容易出错。

我也可以在我的strins.xml中定义密钥,但后来我担心它会被翻译(迟早(错误?))。我担心这可能导致问题是使用不同的密钥多次存储相同的优先值。如果用户更改语言并重置所有设置怎么办?

有没有办法定义一个字符串 - 可以在代码和xml中访问 - 它们不会作为本地化过程的一部分进行翻译?

2 个答案:

答案 0 :(得分:3)

通常,如果仅在默认strings.xml中提供字符串,则它在所有语言环境中显示相同。此外,您可以使用"translatable"属性,该属性将告诉Lint此字符串不是为了翻译而设计的,并且将用于文档目的。

答案 1 :(得分:0)

只需使用translatable=false即可。我建议将您的偏好键设置为单独的资源文件,因为它更容易管理。

<string name="Key" translatable="false">my key</string>