Aqui estão meus valores \ strings.xml (o arquivo padrão) e tudo é autoexplicativo:
Minhas perguntas):
- Como pode ser "não encontrado na localidade padrão" se estou editando a localidade padrão (valores \ strings.xml)?
- Como pode ser um erro de tradução de lint se eu definir
translatable="false"
? Nas pastas values-pl \ strings.xml (e também nas pastas values-ru, values-iw) as strings nem existem? não deveria de qualquer maneira. - Não consigo entender por que não recebo o erro para a string russa.
(Eu mostraria os valores-ru \ string.xml ou values-pl \ string.xml aqui, mas não há nada ali de interesse, já que as strings estão faltando de qualquer maneira ...)
Respostas:
Isso aconteceu comigo também
Eu faço 2 coisas:
fonte
Invalidate Caches / Restart
. Para não pesquisar nos comentários, como fiz por exemplo.A reconstrução pode levar muito tempo. YMMV, mas ...
Basta remover a linha problemática e adicioná-la novamente.
Funcionou para mim. Muito rápido.
fonte
No meu caso, isso me ajudou:
Se não funcionar para você, tente adicionar as mesmas strings ao
strings.xml(v21)
arquivo.fonte
Pressione Invalidate Caches / Restart ... para reiniciar o Android Studio. Funcionou para mim Na verdade, isso aconteceu quando eu copiei arquivos do meu outro computador e colei através do explorador de arquivos.
fonte
Eu recebi a mesma mensagem de erro, apenas com o problema estranho de que ela foi lançada no próprio local padrão e em todas as traduções. Acontece que você não deve usar pontos em seu nome (por exemplo, name = "bla.blub") porque ele será convertido internamente para "bla_blub" e não poderá corresponder a "bla.blub", daí o erro. Eu só tive que mudar os pontos para sublinhados na localidade padrão e, em seguida, todos os outros erros em outras traduções (incluindo pontos no nome) também desapareceram.
Mas esteja ciente de que outras ferramentas de construção ainda podem criar problemas, então substitua todos os pontos por sublinhados!
fonte
Sair do Android Studio e reiniciá-lo corrigiu para mim.
fonte
Criei uma ferramenta para gerenciar o status de tradução de aplicativos Android. Ele não apenas informa quais strings estão faltando nos outros idiomas, mas também pode relatar e limpar as strings que você pode ter excluído do arquivo de tradução padrão.
https://github.com/gubatron/android-missing-strings
Para limpar todas as sobras em outros idiomas invoque assim
Isso limpará as strings restantes e produzirá o relatório de strings ausentes para todos os idiomas no arquivo all.txt
fonte
Você simplesmente tem que copiar a linha ofensiva (ou apenas um dos múltiplos de linhas ofensivas), removê-lo e colá-lo novamente. Isso removeu o problema para mim.
fonte
Resolvi esse problema seguindo as etapas abaixo:
limpando meu projeto
reconstruindo isso
e finalmente pressionando caches inválidos / Reiniciar no menu de arquivo
fonte
Apenas certifique-se de ter as mesmas convenções de nomenclatura em todos os arquivos de strings, incluindo a mesma capitalização. digamos que você tenha "sign_in" em strings.xml e "sign_In" em seu fr / string.xml, então ele apresentará um erro em fr / strings.xml como "é traduzido aqui, mas não encontrado no locale padrão". Então, quando você edita para "sign_in". O erro será removido.
fonte
Copiar e colar não funcionou para mim.
Eu também tentei limpar e reiniciar, o erro anterior tinha desaparecido, mas novas strings inseridas ainda têm novos erros ocorrendo.
Tentei fechar o arquivo strings.xml aberto e o Translations Editor e reiniciá-lo.
arquivo strings.xml e Editor de traduções
Isso funciona para mim.
fonte
Eu estava tendo esse problema para todas as strings no meu arquivo xml.
A questão é que seu padrão
strings.xml
não deve ter umtools:locale
atributo como os outros arquivos traduzidos têm. Em caso afirmativo, sempre que compilo o aplicativo no modo de lançamento, ele o trata como outro arquivo traduzido.fonte