é possível especificar que as seqüências de caracteres em um arquivo nos value-*
diretórios não sejam intencionalmente traduzidas para outros idiomas? Eu tenho um monte de strings que são comuns para todos os idiomas e não precisam de tradução, por isso criei um unlocalized-strings.xml
arquivo no values
diretório para desabilitar essa verificação em todo o projeto, gostaria de desabilitá-la apenas em alguns arquivos XML .. é possível?
"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.
Como pode definiu esta região de unlocalized cordas?
android
android-resources
android-lint
Gianni Costanzi
fonte
fonte
Respostas:
Eu não sei como ignorar todo o arquivo, mas você pode fazê-lo string por string usando:
fonte
É o
ignore
atributo dotools
espaço para nome no seu arquivo de strings, da seguinte maneira:fonte
Project->Clean
para remover os erros definitivamente.Adicionar a
build.gradle
:fonte
Existem três maneiras que eu conheço:
Para aplicar o valor da modificação por valor: Defina o atributo
translatable="false"
na<string>
definição:Se você tiver muitos recursos que não devem ser traduzidos, poderá colocá-los em um arquivo nomeado
donottranslate.xml
e o lint considerará todos eles recursos não traduzíveis.Outra maneira que descobri enquanto navegava nas fontes do projeto Hackers Keyboard :
Você pode adicionar o prefixo
donottranslate-
ao seu arquivo de recurso. Como no exemplo anterior, o lint considerará todos eles recursos não traduzíveis.No seu caso, você pode substituir
unlocalized-strings.xml
pordonottranslate-strings.xml
. Parece funcionar, mas não encontrei nenhuma documentação para esta dica.Consulte: Site do projeto Ferramentas Android: Strings não traduzíveis
fonte
donottranlate.xml
, não precisaremos mais adicionar atranslatable="false"
tag?E aqui está uma solução do Android Studio para desativar esse erro fatal do Lint:
fonte
Eu acho que o que você precisa, em vez de desativar o fiapo, é marcá-los com atributo
fonte
Criar um arquivo de recurso com um nome de arquivo que começa com " donottranslate " (por exemplo donottranslate.xml , donottranslate_urls.xml , etc), e fiapos irá ignorar suas cordas por completo durante a verificação de traduções ausentes.
fonte
Se desejar desativar a verificação de fiapos na tradução ausente, você pode ir
"Propriedades do projeto -> Preferências do Android Lint -> Selecione Tradução ausente -> Alternar para ignorar em gravidade",
espera que isso ajude outras pessoas, pois acabei de encontrar esse problema :)
fonte
Outra maneira de fazer isso é adicionar sua string ao arquivo gradle, usando
resValue
oubuildConfigField
. Algo parecido:Usos:
fonte
Para evitar avisos no Android Studio, abra Preferências ==> Inspeções, desmarque "Traduções incompletas". Mas isso não afetará a construção do Gradle.
fonte
Há também o "Editor de tradução" (clique com o botão direito do mouse em string.xml "Abrir editor de tradução").
Em seguida, marque a caixa 'Não traduzível' em uma string.
https://developer.android.com/studio/write/translations-editor
fonte