Verificador de Localizable.strings

Solte dois ou mais arquivos .strings e veja o que falta, o que está duplicado, o que nunca foi de fato traduzido e quais linhas não são lidas. Nada é enviado — costumam ser arquivos de produção, e eles ficam nesta página.

A regra do valor duplicado

Duas chaves com o mesmo valor em inglês são o bug que sempre volta. Quem traduz vê a mesma frase duas vezes, traduz duas vezes e chega a dois resultados diferentes — ou pior: um idioma que precisa de palavras diferentes para os dois contextos recebe a mesma para ambos e ninguém percebe até um falante nativo reclamar. A verificação ignora maiúsculas e pontuação final, porque "Done" e "Done." são o mesmo problema de chapéu.

Idêntico não é o mesmo que sem tradução

Um valor igual ao do arquivo base geralmente quer dizer que ninguém chegou nele. Às vezes está certo: um nome de marca, uma unidade, uma abreviação que fica igual em todo idioma. A ferramenta marca e deixa o julgamento com você, porque a alternativa é perder lacunas de verdade ou encher a paciência a cada OK.

Linhas ruins são informadas, não engolidas

A gramática do .strings é pequena, mas seus casos limite são reais: comentários de bloco, aspas escapadas dentro dos valores, um ponto e vírgula que falta, uma aspa tipográfica colada de uma planilha. Um analisador que pula em silêncio o que não entende vai lhe dizer que o arquivo está bem enquanto uma chave sumiu caladinha. Por isso toda linha que não é lida aparece com o número, para você ir olhar.

UTF-16 também

O Xcode escreve arquivos .strings em UTF-16 há anos, e muitos repositórios ainda os contêm. Por isso os arquivos são farejados primeiro em busca de uma marca de ordem de bytes e decodificados de acordo, para que um arquivo UTF-16 não chegue como um muro de bytes nulos e cem erros de análise.

Perguntas frequentes

Ele lida com .xcstrings?

Ainda não. O catálogo de strings é JSON com outro formato, e merece um tratamento próprio em vez de uma camada de conversão que só funciona pela metade.

Qual arquivo deve ser a base?

Aquele que for autoritativo — em geral o idioma de desenvolvimento. Tudo é comparado com ele, então uma chave ausente da base mas presente em outro lugar é informada como sobrando, não como faltando.

O que conta como problema?

Uma chave que falta, um valor duplicado, um valor idêntico à base ou uma linha que não é lida. A contagem soma tudo isso em todos os arquivos.

Meus arquivos são enviados?

Não. Eles são lidos com o leitor de arquivos do navegador e comparados aqui. Isso importa mais nesta ferramenta que nas outras, porque são arquivos de produto de verdade.

Feito pela equipe da GO AI, que vivia esbarrando nisto. Todas as ferramentas gratuitas