如何仅将字符串添加到默认值文件夹?

时间:2012-06-05 13:20:26

标签: android android-resources android-lint

我有一个包含res/values文件的strings.xml文件夹和一个包含res/values-XX文件的strings.xml文件夹(对于我支持的每种语言XX) 。目前,我的所有strings.xml文件都包含相同的字符串(相同的字符串名称,不同的字符串值)。有没有办法我可以将字符串添加到res/values/strings.xml文件,而不必将其添加到我的所有res/values-XX/strings.xml文件中,这样无论手机的语言设置如何,应用程序都会接收此默认字符串?目前,编译器中止并抱怨我的每种支持语言都没有翻译字符串。

3 个答案:

答案 0 :(得分:12)

“编译器”不会“中止”,因为你有一个未翻译的字符串。您可能会遇到lint错误,但ant clean debugant clean release和它们的Eclipse等效工作正常。确保您使用的是当前版本的SDK工具(如果您使用的是Eclipse,则使用ADT插件)。

要摆脱lint错误,请将未翻译字符串显示的<resources>元素显示为:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">

答案 1 :(得分:0)

res文件夹包含只能读取的数据。有关详情,请参阅Android开发者文档,了解Providing ResourcesAccessing Resources

答案 2 :(得分:0)

Lint 错误和警告将阻止编译器编译,但您始终可以清除它们并进行编译。您还可以指示 Lint 忽略所有缺失的翻译。

您可以使用 Lint Warnings 视图指示 Lint 忽略某些范围内的特定错误或警告(特定字符串,文件或整个项目)。所有这些说明都将自动放入项目中的lint.xml

Android建议将不可翻译的字符串放在donottranslate.xml文件中。 Lint 总是忽略没有翻译。

您还可以使用任何其他名称创建另一个XML文件,只需添加 Lint 的指令即可忽略此文件中的字符串没有翻译。

请记住,您不仅限于一个strings.xml文件。它只是标准的初学练习,但是如果你有一个很多的字符串,你可以将它们组织成多个XML文件。