Lint:как игнорировать ошибки "не переведено в"?

Я не могу скомпилировать/отладить наше приложение для Android, потому что файлы локализации еще не идеальны.

инструмент проверки моей IDE Линта создать ошибки, говоря:

newCardsOrderVals не переводится в ar, bg, ca, cs

компиляция/установка / запуск с Ant отлично работает, но я хотел бы использовать свою IDE для облегчения отладки.

есть ли способ, чтобы отключить эту проверку, или в идеале сделать предупреждение, а чем ошибка?

Я понимаю, что перед выпуском нам действительно нужно будет правильно получить файлы локализации, но на данный момент это не является приоритетом, поскольку сами экраны изменяются очень часто.

13 ответов


Android Studio:

  • "Файл" > " Настройки "и введите" MissingTranslation " в поле поиска

затмение:

  • Windows / Linux: В "Окне" > "Настройки" > "Android" > "Проверка Ошибок Lint"
  • Mac: "Eclipse" > "Настройки" > "Android" > "Проверка Ошибок Lint"

найти MissingTranslation line, и установите его в 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


чтобы игнорировать это в сборке gradle, добавьте это в раздел android вашего файла сборки:

lintOptions {
   disable 'MissingTranslation'
}

Это заставит Lint игнорировать отсутствующую ошибку перевода для всех строк в файле, но при необходимости можно проверить другие файлы ресурсов строк.

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

Если вы хотите отключить предупреждения о конкретных строках, вы можете использовать следующее:

строки.в 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


вставить в это:

<?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">

tools: locale установите локальный язык на английский, нет необходимости в переводе языка позже, что для всех строк ресурсов и инструментов:игнорировать пусть Линт isnore отсутствующие переводы значений строки ресурсов.


добавьте следующее в заголовок ваших строк.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 будет использовать информацию о локали, чтобы выбрать правильный словарь при поиске ошибок в строках по умолчанию.


кроме того,

не зависимые от проекта свойства, предпочтения Eclipse.
В Mac Eclipse > Настройки

enter image description here


другой подход-указать языки, которые вы собираетесь поддерживать, и отфильтровать остальные, используя опцию "resConfigs" с Gradle.

проверить этот другой ответ дополнительные сведения

Это лучше, я думаю, потому что вам не нужно полностью игнорировать законные ошибки перевода для языков, которые вы действительно хотите поддержать


вы также можете поместить ресурсы, которые вы не хотите переводить в файл под названием donottranslate.xml.

пример и объяснение: http://tools.android.com/recent/non-translatablestrings


многие из них дали разные рабочие ответы, и я тоже получил те же ошибки корпии я заставляю его игнорировать, делая следующее с eclipse.

  1. нажмите на Windows
  2. нажмите на настройки
  3. выберите android > проверка ошибок Lint.
  4. нажмите игнорировать все > применить > Ok.

вот и все.


следующее сработало для меня.

  • нажмите на Windows
  • нажмите на настройки
  • выберите android > проверка ошибок Lint.
  • найдите и выберите соответствующую проверку корпии и
  • установите серьезность " игнорировать "(в правом нижнем углу)