我无法编译/调试我们的Android应用程序,因为本地化文件还不完美。我的IDE的验证工具Lint创建错误,指出:newCardsOrderVals在ar、bg、ca、cs中没有被翻译。使用Ant进行编译/安装/运行可以正常工作,但我想使用我的IDE来方便调试。有没有办法关闭此特定检查,或者最好将其变成警告而不是错误?我知道在发布之前,我们确实需要正确处理本地化文件,但目前它不是优先考虑的问题,因为屏幕本身经常被修改。
Android Studio:
Eclipse:
找到 MissingTranslation
这一行,将其设置为如下的 警告
:
你可以像这样在定义中设置属性translatable="false":
<string name="account_setup_imap" translatable="false">IMAP</string>
更多信息请参见:http://tools.android.com/recent/non-translatablestrings
lintOptions {
disable 'MissingTranslation'
}
这将导致Lint忽略文件中所有字符串的翻译缺失错误,但如果需要,可以验证其他字符串资源文件。
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
如果您希望关闭有关特定字符串的警告,可以使用以下内容:
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--suppress MissingTranslation -->
<string name="some_string">ignore my translation</string>
...
</resources>
如果你想对特定的字符串进行警告而不是错误,你需要构建一个自定义Lint规则来调整特定事物的严重程度状态。
在 lint.xml
文件中插入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
...
<issue
id="MissingTranslation"
severity="ignore" />
</lint>
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:locale="en" tools:ignore="MissingTranslation">
tools:locale将本地语言设置为英语,后面的所有资源字符串和工具都不需要翻译,而tools:ignore则让Lint忽略资源字符串值的缺失翻译。
lintOptions {
disable 'MissingTranslation'
}