是否可以在一个单独的资源文件中翻译一些字符串,但不是全部,而不用 Lint 提示 MissingTranslation?
例如:我的应用的字符串都在res/values/strings.xml中。其中一个字符串是
<string name="postal_code">Postal Code</string>
由于“邮政编码”在美国通常称为“邮政编码”,我想添加另一个资源 res/values-en-rUS/strings.xml,其内容为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="postal_code">Zip Code</string>
</resources>
但是,Lint 提示 values/strings.xml 中的其他字符串,但 values-en-rUS/strings.xml
中没有我知道您可以通过指定 tools:ignore 来抑制警告。在 values/strings.xml 中。但这是不可取的,因为 Lint 警告在翻译成另一种语言时实际上很有用。
相反,是否可以抑制 values-en-rUS/strings.xml 文件中的警告,例如告诉 Lint 在查找丢失的翻译时不要使用该文件作为标准?
最佳答案
禁用 MissingTranslations 检查的一个好方法是在模块特定的 build.gradle 文件中添加选项。
android {
lintOptions{
disable 'MissingTranslation'
}
//other build tags
}
如果字符串不存在于特定于语言环境的字符串文件中,它将从默认文件中获取字符串,该文件通常是 strings.xml。
关于安卓 Lint : how to ignore missing translation warnings in a regional locale string file that purposely only overrides some default translations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237845/