我的Android应用程序包含了许多与语言无关的字符串,比如收费和支持电话号码。例如,我在/res/values中放置了一个XML文件,其中包括:
<string name="helpdesk_number">0900 12345678</string>
<string name="helpdesk_tariff">60p</string>
<string name="helpdesk_address1">221B Baker Street</string>
<string name="helpdesk_address2">London NW1 6XE</string>Lint抱怨这些字符串没有被翻译到其他语言:
Locale de缺少翻译: helpdesk_number,helpdesk_number,helpdesk_address1,helpdesk_address2.(再增加56)
虽然对其他语言显示不同的收费可能是有意义的,但服务台只在一个国家。
把这些字符串复制到其他语言上有意义吗?或者有什么办法让Lint忽略这些特定的字符串(或字符串文件)?
发布于 2012-03-21 18:14:33
即将发布的(希望不久)的ADT17将带来一些功能,用于忽略一些林特警告:
http://tools.android.com/recent/ignoringlintwarnings
http://tools.android.com/tips/lint/suppressing-lint-warnings
因此,使用ADT 17,您可以在项目文件夹中放置一个lint.xml,其中包含:
<issue id="MissingTranslation" severity="ignore" />
或者您也可以通过以下方法完成每个字符串的操作:
tools:ignore="MissingTranslation"
但这份文件并没有百分之百清楚,我现在没有时间去测试17。
跟进: ADT17在你提出要求后就被释放了,并且应该解决你的问题!
发布于 2014-05-30 22:50:36
在Lint的最新版本中,您可以忽略特定的 "MissingTranslation“字符串,如下所示:
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--suppress MissingTranslation -->
<string name="some_string">ignore my translation</string>
...
</resources>http://tools.android.com/tips/lint/suppressing-lint-warnings
发布于 2013-02-19 20:48:25
直接从Lint工具:
如果不应该翻译字符串,可以在元素上添加属性translatable="false“,也可以在名为donottranslate.xml的资源文件中定义所有不可翻译的字符串。或者,您可以忽略tools:ignore="MissingTranslation“属性的问题。
只要在默认的res/donottranslate.xml文件夹中创建一个文件"donottranslate.xml“,Lint就会忽略它。我把我所有的应用键/I之类的东西都放在这里,还有首选项,因为它们不需要“翻译”,只需要占用其他文件的空间。
https://stackoverflow.com/questions/9809820
复制相似问题