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

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

我的 IDE 的验证工具 棉线会产生错误:

NewCardsOrderVals 不译为 ar,bg,ca,cs

使用 Ant 编译/安装/运行可以很好地工作,但是我想使用我的 IDE 来简化调试。

有没有一种方法可以关闭这个特定的检查,或者理想情况下使它成为一个警告而不是一个错误?

我知道在发布之前,我们真的需要获得正确的本地化文件,但目前这不是一个优先事项,因为屏幕本身被修改得非常频繁。

101835 次浏览

Android Studio:

  • “文件”> “设置”并在搜索框中键入“缺失翻译”

日食:

  • Windows/Linux: 在「视窗」 > 「参数设定」 > 「 Android 」 > 「检查网线错误」
  • Mac: “ Eclipse”> “ Preferences”> “ Android”> “ Lint Error Checking”

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

Missing translations, is not translated in

您可以像下面这样在定义上设置属性 translatable = “ false”:

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

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

另外,

不是依赖于项目的属性,而是 Eclipse 首选项。
在 Mac 中,Eclipse > Preferences

enter image description here

在 android 部分中将以下内容添加到您的 gradle 文件中

    lintOptions {
disable 'MissingTranslation'
}

lint.xml文件中插入以下内容:

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


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

详情请浏览: 取消针线警告

这将导致 Lint 忽略文件中所有字符串缺少的翻译错误,但是如果需要,可以验证其他字符串资源文件。

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

您还可以将不希望转换为 donottranslate.xml文件的资源放入。

例子和说明: http://tools.android.com/recent/non-translatablestrings

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

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

他们中的许多人给出了不同的工作答案,我也得到了同样的线头错误 我通过使用 Eclipse 做以下操作来忽略它。

  1. 点击视窗
  2. 点击参数设置
  3. 选择 android > Lint Error Checking。
  4. 点击忽略所有 > 应用 > OK。

就是这样。

要忽略这一点,可以将其添加到构建文件的 android 部分:

lintOptions {
disable 'MissingTranslation'
}

下面这些对我很有用。

  • 点击视窗
  • 点击参数设置
  • 选择 android > Lint Error Checking。
  • 查找并选择相关的 Lint 检查和
  • 将严重性设置为‘ Ignore’(右下)

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

详情请参阅 另一个答案

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

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

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

工具: locale 将本地语言设置为英语,以后不需要语言翻译,即为所有资源字符串和工具: 忽略让 Lint 忽略资源字符串值的缺失翻译。