Verificador de chaves ausentes para arquivos ARB do Flutter

Solte seus arquivos .arb: a ferramenta compara cada idioma com o template e lista chaves ausentes, chaves a mais, valores vazios e placeholders que não batem mais. Grátis, sem cadastro, e seus arquivos nunca saem do navegador.

Compare seus arquivos ARB

Ou cole o conteúdo de dois arquivos

Comparado no seu navegador: nenhum arquivo é enviado.

Corrija tudo sem editar cada arquivo à mão

O LocalePilot é um app desktop que abre toda a sua pasta de localização: detecta chaves ausentes, verifica placeholders, traduz com IA local se você quiser e exporta com backup. Ele está em fase final para macOS: deixe seu e-mail para saber do lançamento.

O que o verificador procura

  • Chaves ausentes: estão no template, mas faltam em um idioma. O app compila, mas seus usuários veem o texto do idioma do template em vez do deles.
  • Chaves a mais: estão em uma tradução, mas não existem mais no template, muitas vezes restos de um recurso removido.
  • Valores vazios: a chave existe, mas a tradução está em branco, algo que uma simples verificação de chaves deixa passar.
  • Placeholders divergentes: {name} virou {nom}, ou sumiu. Os placeholders dentro de plurais e selects ICU também são lidos.

As chaves que começam com @ (metadados e @@locale) são ignoradas. O arquivo de referência é o definido por template-arb-file no l10n.yaml, normalmente app_en.arb: a ferramenta tenta identificá-lo e você pode escolher outro.

Como encontrar chaves ausentes em um app Flutter

  1. Reúna os arquivos da sua pasta arb-dir (lib/l10n por padrão).
  2. Solte todos de uma vez, incluindo o template.
  3. Abra cada idioma para ver os problemas e copie as chaves ausentes em formato ARB: elas reaproveitam o texto do template, prontas para traduzir.

Para uma verificação automática a cada build, a opção untranslated-messages-file do flutter gen-l10n e um pequeno script de CI são explicados no guia para encontrar chaves ausentes em arquivos ARB. Os erros de placeholders ICU estão no guia sobre plurais e placeholders.

Limitações do verificador

A ferramenta compara chaves e nomes de placeholders: não valida a sintaxe ICU completa (isso é trabalho do flutter gen-l10n), não avalia a qualidade da tradução e nunca altera seus arquivos. Para importar um projeto inteiro, traduzir e exportar com backup, você precisa de um editor de localização como o LocalePilot.

Perguntas frequentes

Meus arquivos ARB são enviados para um servidor?

Não. A comparação roda no seu navegador: nenhum arquivo e nenhuma chave são enviados. Você pode confirmar na aba Rede das ferramentas de desenvolvedor.

Qual arquivo serve de referência para encontrar as chaves ausentes?

O arquivo template, aquele indicado por template-arb-file no l10n.yaml (geralmente app_en.arb). A ferramenta o identifica por @@locale ou pelo nome do arquivo, e você pode escolher outro.

A ferramenta altera meus arquivos?

Não, ela só lê os arquivos. Você pode copiar as chaves ausentes em formato ARB, com o texto do template, para você traduzir.

Como o Flutter indica as traduções ausentes?

Com a opção untranslated-messages-file no l10n.yaml, o flutter gen-l10n grava em um arquivo JSON as chaves do template que faltam em cada idioma. O guia dedicado explica essa opção e um script de comparação para a CI.

Plurais e selects ICU são suportados?

Para os placeholders, sim: os que estão dentro dos ramos plural ou select são comparados com o template. A ferramenta não valida a sintaxe ICU em si.

Qual a diferença para o LocalePilot?

Esta ferramenta verifica os arquivos que você cola ou solta, sem guardá-los. O LocalePilot é um app desktop, em fase final para macOS, que abre o projeto inteiro, revisa, traduz com IA local ou na nuvem e exporta com backup.

Seja avisado no lançamento

O LocalePilot está em fase final. Deixe seu e-mail para saber do lançamento.

  • macOS 12 ou posterior · Ollama ou LM Studio opcionais
  • Interface do app em inglês, francês, espanhol, italiano e português.