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规则以调整特定事件的严重性状态。
在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进行以下操作来忽略它。
- 点击Windows
- 点击偏好
- selectandroid> Lint错误检查。
- 点击忽略所有>应用>确定。
而已。
以下为我工作。
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)