提问



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


我的IDE的验证工具Lint创建错误说:[12]



  newCardsOrderVals未翻译为ar,bg,ca,cs



使用Ant编译/安装/运行工作正常,但我想使用我的IDE来简化调试。


有没有办法关闭这个特定的检查,或理想情况下使其成为警告而不是错误?


我知道在发布之前我们确实需要正确地获取本地化文件,但暂时不是优先级,因为屏幕本身正在经常被修改。

最佳参考


Android Studio:



  • 文件>设置,在搜索框中输入MissingTranslation



蚀:



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

  • Mac:Eclipse>偏好设置>Android>Lint错误检查



找到MissingTranslation行,并将其设置为Warning,如下所示:




其它参考1


您可以在定义上设置属性translatable =false,如下所示:


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


有关更多信息,请访问:http://tools.android.com/recent/non-translatablestrings [13]

其它参考2


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


lintOptions {
   disable 'MissingTranslation'
}

其它参考3


这将导致Lint忽略文件中所有字符串丢失的转换错误,但如果需要,可以验证其他字符串资源文件。


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

其它参考4


如果要关闭有关特定字符串的警告,可以使用以下命令:


的strings.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>    

    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...

</resources>


如果要警告特定字符串而不是错误,则需要构建自定义Lint规则以调整特定事物的严重性状态。


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

其它参考5


lint.xml文件中插入:


<?xml version="1.0" encoding="UTF-8"?>
<lint>
    ...

    <issue
        id="MissingTranslation"
        severity="ignore" />
</lint>


有关详细信息:抑制棉绒警告。[15]

其它参考6


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


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


tools:locale将本地语言设置为英语,对于所有资源字符串和工具,稍后不需要语言翻译:ignore let Lint to isnore资源字符串值的缺失翻译。

其它参考7


在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


此外,


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




其它参考9


另一种方法是指示您打算支持的语言,并使用Gradle的resConfigs选项过滤掉其余语言。


查看其他答案了解详情


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

其它参考10


您还可以将不想要翻译的资源放到名为donottranslate.xml的文件中。


示例和说明:http://tools.android.com/recent/non-translatablestrings [17]

其它参考11


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



  1. 点击Windows

  2. 点击偏好

  3. 选择android> Lint Error Checking。

  4. 点击忽略全部>应用>确定。



而已。

其它参考12


以下对我有用。



  • 点击Windows

  • 点击偏好

  • 选择android> Lint Error Checking。

  • 查找并选择相关的Lint检查和

  • 将严重性设置为忽略(右下角)