Fiapo: Como ignorar os erros "<key> não está traduzido em <language>"?


189

Não consigo compilar / depurar nosso aplicativo Android, porque os arquivos de localização ainda não estão perfeitos.

A ferramenta de validação do meu IDE Lint cria erros dizendo:

newCardsOrderVals não está traduzido em ar, bg, ca, cs

Compilar / instalar / executar com o Ant funciona bem, mas eu gostaria de usar meu IDE para facilitar a depuração.

Existe uma maneira de desativar essa verificação específica ou, idealmente, torná-la um aviso e não um erro?

Entendo que antes do lançamento precisaremos realmente corrigir os arquivos de localização, mas, por enquanto, não é uma prioridade, pois as próprias telas estão sendo modificadas com muita frequência.


1
Existe uma maneira de configurar quais idiomas estão sinalizados como "não traduzidos?" Eu recebo erros como "es, ele e iw". Por que eu recebo esses idiomas? Como faço para configurar meu aplicativo Android para restringir apenas o conjunto "en"?
inder

@inder: Talvez porque você tenha diretórios como "valores-he" etc em sua pasta res /?
Nicolas Raoul

1
Não, eu não tenho nenhum desses diretórios. Somente valores, layout e drawable.
inder

7
es, ele e eu somos da biblioteca do SDK do Facebook.
precisa saber é

2
Este é um erro no Android Lint: code.google.com/p/android/issues/detail?id=50525
altumano

Respostas:


348

Android Studio:

  • "Arquivo"> ​​"Configurações" e digite "MissingTranslation" na caixa de pesquisa

Eclipse:

  • Windows / Linux: em "Janela"> "Preferências"> "Android"> "Verificação de erro de cotão"
  • Mac: "Eclipse"> "Preferências"> "Android"> "Verificação de erro de cotão"

Encontre a MissingTranslationlinha e defina-a Warningcomo visto abaixo:

Traduções ausentes, não é traduzido em


2
... Está em "Janela"> "Preferências"> "Android"> "Verificação de erro de cotão"
Ollie Bennett

2
É útil, mas não tenho esse problema há muito tempo, até que apareceu de repente. E eu não sei porque.
pktangyue

Obrigado pelo seu post valioso
Pawan asati

Para sua informação, no Android Studio, clique em "Arquivo"> ​​"Configurações" e "MissingTranslation" na caixa de pesquisa.
par

86

Você pode definir o atributo translatable = "false" na definição como esta:

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

Para mais informações: http://tools.android.com/recent/non-translatablestrings


1
Eu disse "os arquivos de localização não é perfeito ainda ". Eles estão sendo preenchidos pouco a pouco. translatable = "false" impediria que alguém traduzisse.
Nicolas Raoul #

3
Embora a resposta não esteja diretamente relacionada à pergunta, acho que ela fornece uma solução brilhante para pessoas como eu que encontraram esse tópico quando o Google "como fazer fiapos não se preocupa com as constantes / parâmetros do meu aplicativo". Obrigado, efor18!
22614

83

Para ignorar isso em uma compilação gradle, adicione-o à seção android do seu arquivo de compilação:

lintOptions {
   disable 'MissingTranslation'
}

2
Muito obrigado, literalmente me salvou dias de encontrar todas as seqüências corretas para produção.
D-Kent

Bom, isso foi feito #
Mirko

Adicionei isso ao meu módulo de aplicativo.
Mercury

23

Isso fará com que o Lint ignore o erro de conversão ausente de TODAS as seqüências de caracteres no arquivo, mas outros arquivos de recursos de sequência podem ser verificados, se necessário.

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

Essa é provavelmente a maneira mais correta de proceder, sem desativar o fiapo para todo o projeto
MatPag

11

Se você deseja desativar os avisos sobre as seqüências específicas, use o seguinte:

strings.xml

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

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

</resources>

Se você deseja avisar sobre cadeias específicas em vez de um erro, precisará criar uma regra Lint personalizada para ajustar o status da gravidade para uma coisa específica.

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


1
+1 Boa maneira de fazer isso de uma vez por todas, para que todos os desenvolvedores da equipe não precisem modificar suas configurações de IDE. Alguma maneira de torná-lo um aviso, em vez de suprimir completamente?
Nicolas Raoul

Você pode criar uma regra Lint personalizada para ajustar o status da gravidade para uma coisa específica. Há um exemplo aqui: tools.android.com/tips/lint-custom-rules
Eduko 31/05


8

adicione as linhas no seu arquivo /res/values.xml na guia raiz do recurso, desta forma:

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

tools: locale defina o idioma local como inglês, sem a necessidade de tradução de idiomas posteriormente para todas as cadeias de recursos e ferramentas: ignore, deixe o Lint não saber as traduções ausentes dos valores da cadeia de recursos.


6

Adicione o seguinte ao seu arquivo gradle na seção android

    lintOptions {
       disable 'MissingTranslation'
    }

5

Além do que, além do mais,

Não são dependências do projeto, Preferências do Eclipse.
No Mac, Eclipse> Preferências

insira a descrição da imagem aqui


3

Outra abordagem é indicar os idiomas que você pretende oferecer suporte e filtrar o restante usando a opção 'resConfigs' com Gradle.

Confira esta outra resposta para obter detalhes

Acho que é melhor, porque você não precisa ignorar completamente os erros legítimos de tradução dos idiomas que realmente deseja oferecer suporte.



1

Muitos deles têm respostas de trabalho diferentes, e eu também tenho os mesmos erros de fiapo que eu ignoro fazendo o seguinte com o eclipse.

  1. clique no Windows
  2. clique nas preferências
  3. selecione android> Verificação de erro de cotão.
  4. clique em ignorar Tudo> Aplicar> Ok.

É isso aí.


2
isso ignorará todas as preferências de cotão. Não é só a tradução que falta
Luciano Rodríguez

1

O seguinte funcionou para mim.

  • Clique no Windows
  • Clique nas preferências
  • Selecione android> Verificação de erro de cotão.
  • Localize e selecione a verificação de cotão relevante e
  • Defina a gravidade como 'Ignorar' (no canto inferior direito)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.