我有一个res/values
包含文件的文件夹strings.xml
和一个res/values-XX
包含文件的文件夹(对于我支持strings.xml
的每种语言)。XX
目前,我所有的strings.xml
文件都包含相同的字符串(相同的字符串名称,不同的字符串值)。有没有一种方法可以将字符串添加到res/values/strings.xml
文件中,而不必将其添加到我的所有res/values-XX/strings.xml
文件中,这样无论手机的语言设置如何,应用程序都会使用这个默认字符串?目前,编译器中止并抱怨该字符串尚未针对我支持的每种语言进行翻译。
问问题
3896 次
3 回答
12
“编译器”不会“中止”,因为您有一个未翻译的字符串。您可能会遇到 lint 错误,但是ant clean debug
,ant clean release
和它们的 Eclipse 等效项可以正常工作。确保您使用的是当前版本的 SDK 工具(如果您使用的是 Eclipse,则使用 ADT 插件)。
要消除 lint 错误,请<resources>
让出现未翻译字符串的元素如下所示:
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
于 2012-06-05T13:28:02.823 回答
0
Lint错误和警告会阻止编译器编译,但您始终可以清除它们并编译。您还可以指示Lint忽略所有丢失的翻译。
您可以使用Lint 警告视图来指示Lint忽略某些范围(特定字符串、文件或整个项目)内的某些错误或警告。所有这些说明将自动放入lint.xml
您的项目中。
Android 建议在文件中放置不可翻译的字符串donottranslate.xml
。Lint将始终忽略它没有翻译。
您还可以使用任何其他名称创建另一个 XML 文件,并简单地添加一条指令让Lint忽略此文件中的字符串没有翻译。
请记住,您不仅限于一个strings.xml
文件。这只是标准的初学者练习,但如果您有很多字符串,您可以将它们组织成多个 XML 文件。
于 2014-08-11T15:36:35.813 回答