2

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

4

3 回答 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

res文件夹包含只能读取的数据。有关更多信息,请参阅提供资源访问资源的 Android 开发者文档。

于 2012-06-05T13:31:54.873 回答
0

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

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

Android 建议在文件中放置不可翻译的字符串donottranslate.xmlLint始终忽略它没有翻译。

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

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

于 2014-08-11T15:36:35.813 回答