我无法编译/调试我们的Android应用程序,因为本地化文件还不完善。
我的IDE验证工具Lint创建错误说:
newCardsOrderVals未翻译为ar,bg,ca,cs
使用Ant编译/安装/运行工作正常,但我想使用我的IDE来简化调试。
是否有办法关闭此特定支票,或理想情况下将其设为警告而非错误?
据我所知,在发布之前我们确实需要正确的本地化文件,但暂时不是优先考虑因为屏幕本身经常被修改。
答案 0 :(得分:348)
Android Studio:
蚀:
找到MissingTranslation
行,并将其设置为Warning
,如下所示:
答案 1 :(得分:85)
您可以在定义上设置属性translatable =“false”,如下所示:
<string name="account_setup_imap" translatable="false">IMAP</string>
有关详细信息:http://tools.android.com/recent/non-translatablestrings
答案 2 :(得分:82)
要在gradle构建中忽略它,请将其添加到构建文件的android部分:
lintOptions {
disable 'MissingTranslation'
}
答案 3 :(得分:23)
这将导致Lint忽略文件中所有字符串丢失的转换错误,但如果需要,可以验证其他字符串资源文件。
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
答案 4 :(得分:11)
如果要关闭有关特定字符串的警告,可以使用以下命令:
的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--suppress MissingTranslation -->
<string name="some_string">ignore my translation</string>
...
</resources>
如果要警告特定字符串而不是错误,则需要构建自定义Lint规则以调整特定事物的严重性状态。
答案 5 :(得分:9)
在lint.xml
文件中插入:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
...
<issue
id="MissingTranslation"
severity="ignore" />
</lint>
有关详细信息:Suppressing Lint Warnings。
答案 6 :(得分:8)
在/res/values.xml文件中添加资源根选项卡中的行,如下所示:
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:locale="en" tools:ignore="MissingTranslation">
工具:locale将本地语言设置为英语,对于所有资源字符串和工具,稍后不需要语言翻译:忽略让Lint为缺少资源字符串值的缺失翻译。
答案 7 :(得分:6)
在strings.xml文件的标题中添加以下内容
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">
这使您可以告诉工具您在基础值文件夹中使用的语言。对于values-de或values-en文件夹中的字符串,这很明显,但不在基本的“values”文件夹中。当您在默认字符串中查找拼写错误时,Lint将使用区域设置信息来选择正确的字典。
答案 8 :(得分:5)
此外,
不依赖项目依赖性,Eclipse首选项。
在Mac,Eclipse&gt;偏好
答案 9 :(得分:3)
另一种方法是指示您打算支持的语言,并使用Gradle的'resConfigs'选项过滤掉其余语言。
查看this other answer了解详情
我认为这更好,因为您不必完全忽略您实际想要支持的语言的合法翻译错误
答案 10 :(得分:1)
您还可以将不想要翻译的资源放到名为donottranslate.xml
的文件中。
示例和说明:http://tools.android.com/recent/non-translatablestrings
答案 11 :(得分:1)
他们中的许多人都有一个不同的工作答案,我也得到了相同的lint错误 我通过使用eclipse执行以下操作来忽略它。
多数民众赞成。
答案 12 :(得分:1)
以下对我有用。