Como traduzir arquivos ARB do Flutter com IA

Como traduzir arquivos ARB do Flutter com IA

4 de outubro de 2026

Para adicionar um idioma a um app Flutter, você traduz um arquivo: o ARB de modelo. Todo o resto, inclusive as classes Dart, é gerado a partir dele.

Este guia trata desse único arquivo, app_en.arb, e dos três pontos que costumam dar problema: os metadados @, os placeholders e os plurais. Para outros formatos de app, veja como traduzir os arquivos de idioma do seu app.

O que é um arquivo ARB

Um arquivo ARB é um JSON com uma convenção adicional. A ferramenta de localização do Flutter lê arquivos ARB de lib/l10n por padrão, usa app_en.arb como modelo e gera as classes Dart quando você executa flutter gen-l10n. Cada arquivo corresponde a um idioma.

As entradas vêm em pares: uma chave com o texto e uma entrada @ que o descreve. Só o texto deve ser traduzido.

Qual opção você deve usar?

Ideal para Limitações
AI Glot Um ou vários novos locales, um glossário que precisa ser respeitado e cada lançamento Não vale a pena para dez strings
Uma plataforma de gerenciamento de tradução (Crowdin, Lokalise, Phrase, Localizely) Uma equipe com revisores e conexão com o repositório Primeiro, você precisa configurar um projeto e conectar o repositório
DeepL Arquivos XLIFF, que estão na lista ARB não está na lista, então você precisa converter o arquivo primeiro
ChatGPT, Claude ou outro assistente Poucas strings Você escreve o prompt e inclui o glossário em cada conversa. A cada execução, uma chave pode mudar, um {placeholder} pode quebrar ou um plural ICU pode ser alterado. Por isso, compare todos os arquivos
Um freelancer ou uma agência O texto da sua App Store e da Play Store O processo é lento, o preço é por palavra e você ainda precisa preparar o arquivo

Contrate um profissional para a página da loja e a primeira tela. Use um mecanismo para traduzir o restante dos rótulos e das mensagens.

Por que o AI Glot é ideal para arquivos ARB

  • As chaves e os metadados @ fazem parte da estrutura. Eles podem permanecer exatamente como estão.
  • Placeholders e sintaxe ICU são preservados. {name} e {count, plural, ...} permanecem na mensagem, enquanto as palavras de cada ramificação são traduzidas.
  • Vários idiomas em uma única tarefa, sem repetir as mesmas strings cinco vezes.
  • Um glossário para todos os locales e para os arquivos que você adicionar depois.
  • Um plano antes de qualquer gasto, com uma amostra que você pode revisar.

O fluxo de um arquivo

As cinco etapas de uma tarefa de ARB. Tudo antes da aprovação é grátis, então não há custo para corrigir um plano que interpretou o arquivo errado.

Como fica uma entrada traduzida

Uma entrada ARB antes e depois. As chaves, os metadados @ e os marcadores de posição permanecem como estão; as palavras nas opções de plural são traduzidas.

O que verificar depois

Plurais em idiomas com mais formas. O inglês precisa de dois ramos. O russo e o árabe precisam de mais, e a mensagem traduzida pode precisar de ramos que não existem no texto original em inglês. Revise essas mensagens uma vez.

@@locale. Se você não pediu para atualizar esse valor, ele volta como estava. Então, defina a localidade de destino antes de publicar.

Comprimento. Confira as telas com as strings mais longas para ver se algum texto ultrapassa os limites de um botão ou cartão.

Como fazer, passo a passo

1. Experimente um arquivo grátis. O tradutor de ARB não exige conta e aceita arquivos de até 2 MB e 5,000 palavras.

2. Envie app_en.arb no app ou envie-o pela linha de comando, abaixo.

3. Diga em uma frase o que você precisa.

Translate this file into French, German and Spanish.
Leave the @ metadata entries alone. Set @@locale to the target language.
Instructions for this batchOptional
Apply
Você descreve o trabalho em inglês simples. O AI Glot o transforma em um plano que você pode ler e corrigir antes de qualquer execução.

A frase define o que será traduzido em todo o arquivo. Uma regra de redação, como “mantenha cada {placeholder} e a sintaxe de plural do ICU exatamente como estão” ou “use um tom informal”, deve ser incluída no segundo campo durante a aprovação, pois é aplicada a cada mensagem à medida que ela é escrita.

4. Adicione um glossário com o nome do app, os nomes dos recursos e os termos que o app sempre usa da mesma forma. Veja como criar um.

Um glossário define os termos que não podem variar e aplica a mesma decisão a todos os arquivos.

5. Confira o plano e escolha um nível de qualidade.

Dois níveis de qualidade, escolhidos por arquivo. O Lite cobre cerca de três vezes mais palavras com os mesmos créditos.

Lite oferece cerca de três vezes mais palavras por crédito e é mais rápido. É ideal para uma primeira versão em uma nova localidade. Standard é para as strings que as pessoas veem primeiro. Um crédito equivale a uma palavra no Standard.

6. Aprove e baixe.

Um único arquivo retorna, no mesmo formato em que foi enviado.

7. Coloque os arquivos em lib/l10n, junto de app_en.arb, e execute:

flutter gen-l10n

Um arquivo, várias localidades

Um arquivo ARB de modelo gera um arquivo traduzido por localidade, todos com as mesmas chaves e o mesmo glossário.

Os nomes dos arquivos e as quantidades são apenas exemplos. Um arquivo ARB contém um idioma, então cada localidade precisa de seu próprio arquivo.

Três maneiras de usar

Três maneiras de traduzir seu arquivo ARB. Todas geram os mesmos arquivos traduzidos.

Pela linha de comando é a opção que os desenvolvedores Flutter mantêm, porque ela é executada novamente a cada lançamento:

id=$(aiglot batches create lib/l10n/app_en.arb \
      --instruction "Translate into French. Leave the @ metadata entries alone. Set @@locale to the target language." \
      --json | jq -r '.data.id')
aiglot batches get "$id" --json | jq '.data.plan'
aiglot batches approve "$id" --quality lite \
  --instructions "Keep every {placeholder} and ICU plural syntax exactly as written."
aiglot batches download "$id" --output lib/l10n/app_fr.arb

Com seu agente de IA: conecte o AI Glot como um servidor MCP. O agente pode ler seu projeto, sugerir termos para o glossário, executar o trabalho, salvar os arquivos em lib/l10n e rodar flutter gen-l10n para você.

No app: envie, clique e baixe. Ideal para uma tarefa pontual.

Para integrar via API, consulte a documentação da API.

Em Preços, você encontra os valores para volumes maiores. Uma conta gratuita inclui créditos para processar um arquivo real.


Os limites citados aqui são os que estavam em vigor quando este texto foi escrito: 8 MB por arquivo ARB e 2 MB e 5,000 palavras na ferramenta gratuita. Os valores padrão do Flutter vêm da documentação do próprio Flutter e podem mudar. A lista do DeepL vem da documentação dele. Os nomes de arquivos e as contagens de strings nos diagramas são exemplos. Seu plano mostra os números reais do seu arquivo, e a consulta é gratuita.

Ganhe 10.000 palavras grátis ao se cadastrar

Pronto para traduzir seus arquivos grandes?