提供本地化模板,无需硬编码默认值

时间:2014-08-11 15:41:26

标签: java android xml string

在我的Android应用中,我有一个带有默认字符串的XML文件/res/values/strings.xml,就像这个代码段一样:

<string name="string_1">String 1</string>
<string name="string_2">String 2</string>

为了鼓励本地化,我想在其他区域设置(例如/res/values-es/strings.xml)中提供完整模板。

例如,让我们想象 Android支持@default关键字。然后我可以提供如下完整的模板:

<string name="string_1">@default</string>
<string name="string_2">@default</string>

这样的规定可以通过让译者只输入翻译而不必担心XML文件的完整性来鼓励本地化。他们甚至不需要精通技术。他们只需要搜索关键字并输入他们的翻译。

如果可以实现上述功能,每当我引入新字符串时,我都可以将字符串标记放在所有本地化文件中,而无需任何翻译。翻译人员稍后可以简单地插入缺少的翻译并更新本地化文件。他们没有承担创建XML标签的责任。

有没有办法提供本地化文件,即使字符串已定义,字符串也会回落到默认值?

如果我在本地化文件(<string name="string_1"></string>)中将字符串留空,则本地化应用程序只显示一个空字符串(不会回退到默认字符串)。

如果我进行循环引用(<string name="string_1">@string/string_1</string>),本地化应用会显示引用整数(@2131099667)。

似乎唯一的方法是在本地化文件中放置默认字符串的精确副本:

<string name="string_1">String 1</string>
<string name="string_2">String 2</string>

0 个答案:

没有答案