Lint:如何忽略“<key>没有翻译成<language>”的错误?

我无法编译/debugging我们的Android应用程序,因为本地化文件还不完美。

我的IDE的validation工具林特创build错误说:

newCardsOrderVals不在ar,bg,ca,cs中转换

编译/安装/运行ant工作正常,但我想用我的IDE来缓解debugging。

有没有办法closures这个特定的检查,或者理想的做一个警告,而不是一个错误?

我明白,在发布之前,我们确实需要获得本地化文件,但是暂时不是优先考虑的事情,因为屏幕本身被非常频繁地修改。

Android Studio:

  • “文件”>“设置”,然后在search框中input“MissingTranslation”

蚀:

  • Windows / Linux:在“窗口”>“首选项”>“Android”>“Lint错误检查”
  • Mac:“Eclipse”>“首选项”>“Android”>“Lint错误检查”

findMissingTranslation行,并将其设置为Warning ,如下所示:

缺少翻译,未翻译

你可以在这个定义上设置translatable =“false”属性:

 <string name="account_setup_imap" translatable="false">IMAP</string> 

欲了解更多信息: http : //tools.android.com/recent/non-translatablestrings

要在gradle build中忽略这个,请将其添加到构build文件的android部分:

 lintOptions { disable 'MissingTranslation' } 

这将导致Lint忽略文件中所有string的缺失翻译错误,但是如果需要,还可以validation其他string资源文件。

 <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> 

如果要closures有关特定string的警告,可以使用以下内容:

strings.xml中

 <?xml version="1.0" encoding="utf-8"?> <resources> <!--suppress MissingTranslation --> <string name="some_string">ignore my translation</string> ... </resources> 

如果要警告特定string而不是错误,则需要构build自定义Lint规则以调整特定事件的严重性状态。

http://tools.android.com/tips/lint-custom-rules

lint.xml文件中插入这个:

 <?xml version="1.0" encoding="UTF-8"?> <lint> ... <issue id="MissingTranslation" severity="ignore" /> </lint> 

有关更多详细信息: 抑制皮棉警告 。

在资源根选项卡的/res/values.xml文件中添加这样的行:

 <resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en" tools:ignore="MissingTranslation"> 

工具:语言环境设置本地语言为英语,所有资源string和工具不需要语言翻译:忽略让Lint不在资源string值的缺失翻译。

在你的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文件夹中的string,这是显而易见的,但不在基本的“values”文件夹中。 当在你的默认string中查找拼写错误时,Lint将使用语言环境信息来select正确的字典。

此外,

不依赖于项目的特性,Eclipse首选项。
在Mac中,Eclipse>首选项

在这里输入图像描述

另一种方法是指出你想要支持的语言,并用Gradle中的“resConfigs”选项过滤掉其余的语言。

看看这个其他答案的细节

我认为这样更好,因为您不必完全忽略您真正想要支持的语言的合法翻译错误

你也可以把你不想翻译的资源放到名为donottranslate.xml文件中。

示例和解释: http : //tools.android.com/recent/non-translatablestrings

他们中的很多人都给出了不同的工作答案,我也得到了相同的lint错误,我通过使用eclipse进行以下操作来忽略它。

  1. 点击Windows
  2. 点击偏好
  3. selectandroid> Lint错误检查。
  4. 点击忽略所有>应用>确定。

而已。

以下为我工作。

 click on Windows click on preferences select android > Lint Error Checking. Find and select the relevant Lint checking and Set the severity to 'Ignore' (on bottom right)