Avoid Android Lint жалуется на непереведенную строку

Можно ли указать, что строки в файле в пределахvalue-*& # xA0; каталоги специально не переводятся на другие языки? У меня есть несколько строк, которые являются общими для всех языков и не нуждаются в переводе, поэтому я создалunlocalized-strings.xml файл вvalues директория .. Запуск Android Lint для проверки проблем постоянно говорит, что некоторые переводы отсутствуют .. Я не хочу отключать эту проверку для всего проекта, я хочу отключить ее только в некоторых файлах XML ... возможно ли это ?

"title_widget_updater_service" is not translated in de, en, en-rUS, it

Issue: Checks for incomplete translations where not all strings are translated
Id: MissingTranslation

If an application has more than one locale, then all the strings declared in one language     
should also be translated in all other languages.

By default this detector allows regions of a language to just provide a subset of the 
strings and fall back to the standard language strings. You can require all regions to 
provide a full translation by setting the environment variable 
ANDROID_LINT_COMPLETE_REGIONS.

Как можно определить этоregion изunlocalized строки?

 Kris Roofe09 авг. 2017 г., 10:36

Ответы на вопрос(10)

Решение Вопроса

как игнорировать все файлы, но вы можете сделать это строка за строкой, используя:

<string name="hello" translatable="false">hello</string>

удачи

 05 мар. 2013 г., 23:34
И это правильно. Если вы не хотите, чтобы строка была переведена, вы должны определить ее только в «base values / folder», то есть не вводите строку в переведенные значения / folder.
 05 мар. 2013 г., 23:53
к сожалению, это код библиотеки :(
 27 янв. 2016 г., 18:12
Ответ @CyrilLeroux является более полным и должен быть помечен как правильный, поскольку он показывает возможность поместить все непереводимые строки в один файл.
 02 сент. 2016 г., 08:53
Это работает, но я не думаю, что это лучший способ решить проблему, помечая фактически переводимую строку «не переводимую». просто чтобы подавить сообщение об ошибке. Мы просто решили не переводить некоторые строки в настоящее время. Но это не означает, что они не могут быть переведены.
 05 мар. 2013 г., 22:25
это дает «непереводимые ресурсы», которые должны быть определены только в базовых значениях / папке.

resValue или жеbuildConfigField, Что-то вроде того:

buildTypes {
    debug {
        buildConfigField "string", "app_name1", "App Name"
        resValue "string", "app_name2", "App Name"
    }
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField "string", "app_name1", "App Name"
        resValue "string", "app_name2", "App Name"
    }
}

Обычаи:

// buildConfigField
BuildConfig.APP_NAME1

// resValue
getString(R.string.app_name2)

ignore атрибутtools пространство имен в вашем файле строк, как показано ниже:

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

  <!-- your strings here; no need now for the translatable attribute -->

</resources>
 05 мар. 2013 г., 22:27
& lt; инструменты ресурсов: ignore = & quot; MissingTranslation & quot; & gt; выдает ошибку синтаксического анализа XML: несвязанный префикс
 06 сент. 2017 г., 06:28
Это должен быть принят ответ для решения всех проблем всего за 2 строки кода.
 02 дек. 2013 г., 19:32
Это хорошо работает, но я должен был пойти вProject->Clean чтобы устранить ошибки окончательно.
 24 июн. 2015 г., 03:47
По крайней мере, затмение не заставило нас переводить все, включая папки с нечетными строками, такие как ids.xml и analytics.xml.
 06 мар. 2013 г., 12:07
Вам необходимо указатьxmlns:tools атрибут также ...

вы можете перейти

& quot; Свойства проекта - & gt; Настройки Android Lint - & gt; Выберите MissingTranslation - & gt; Swtich, чтобы игнорировать в серьезности & quot ;,

надеюсь, что это поможет другим, потому что я просто столкнулся с этой проблемой :)

 21 авг. 2014 г., 12:30
Есть ли способ сделать это в Android Studio? Я не могу найти настройки, связанные с линтом

donottranslate& Quot; (например.donottranslate.xml, donottranslate_urls.xmlи т. д.), и lint будет полностью игнорировать свои строки при проверке отсутствующих переводов.

Редактор переводов. Редактируйте переводы для всех языков. & Quot;

Можно просто проверить «непереводимый»; коробка на веревочке.

Чтобы применить значение модификации по значению: Установите атрибутtranslatable="false" на<string> определение:

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

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

Еще один способ, который я обнаружил во время просмотраХакерская клавиатура проекта так, убивает:
Вы можете добавить префиксdonottranslate- в ваш файл ресурсов. Как и в предыдущем примере, lint будет рассматривать все их непереводимые ресурсы.
В вашем случае вы можете заменитьunlocalized-strings.xml отdonottranslate-strings.xml. It seems to work, but I haven't found any documentation for this tip.

Увидеть:Сайт Android Tools Project: непереводимые строки

 23 июн. 2016 г., 22:23
Ага. Я использую файлы donottranslate-strings.xml во всех моих проектах. Работает отлично. Попробуйте, это очень полезно!
 23 июн. 2016 г., 16:25
Правда ли, что если мы поместим нашу строку в файлdonottranlate.xmlнам не нужно добавлятьtranslatable="false" пометить еще?

откройте Настройки == & gt; Проверки, снимите флажок «Незавершенные переводы». Но это не повлияет на сборку Gradle.

translatable="false"

build.gradle:

android {
     lintOptions {
        disable 'MissingTranslation'
    }
}
 27 нояб. 2015 г., 16:54
Единственное работоспособное решение для работы с автоматически генерируемыми строковыми ресурсами. Спасибо.
 22 янв. 2018 г., 14:41
Это отключило всю проверку, которую следует избегать, если это возможно. Я не могу понять, почему у него так много голосов.
 09 мар. 2017 г., 02:11
@ Жираф Лев, вы должны опубликовать это как другой вопрос и ответить на него самостоятельно. Спасибо за решение, ранее мне приходилось отключать его вручную.
 27 янв. 2016 г., 18:05
Нет, это не должно основываться на вопросе: «Я не хочу отключать эту проверку для всего проекта».

Ваш ответ на вопрос