Traduza seus arquivos .arb do Flutter, depois revise cada linha
Apps Flutter mantêm seu texto em lib/l10n/app_en.arb: plurais ICU, espaços reservados {name} e metadados @key. Uma chave quebrada e o flutter gen-l10n para. KAERIS escreve app_de.arb, app_ja.arb e os demais com a sintaxe intacta.
KAERIS traduziu esta página e verificou cada linha traduzindo-a de volta. Um falante nativo ainda não revisou. Original em inglês
Metadados mantidos, @@locale definido
Descrições e tipos de espaços reservados são copiados; as palavras dentro dos ramos plurais são traduzidas.
{
"@@locale": "en",
"welcome": "Welcome back, {name}!",
"cartItemCount": "{count, plural, one{You have {count} item} other{You have {count} items}}",
"@cartItemCount": {
"description": "Shown on the cart screen",
"placeholders": { "count": { "type": "int" } }
}
}
{
"@@locale": "de",
"welcome": "Willkommen zurück, {name}!",
"cartItemCount": "{count, plural, one{Du hast {count} Eintrag} other{Du hast {count} Einträge}}",
"@cartItemCount": {
"description": "Shown on the cart screen",
"placeholders": { "count": { "type": "int" } }
}
}
O que o KAERIS faz com isso
Pronto para gen-l10n
Um arquivo .arb por idioma, ao lado do seu template, com
@@localedefinido para cada um.Variáveis verificadas sem IA
Após a tradução, uma verificação simples conta cada variável e tag comparando com o original. Uma linha que perdeu alguma é marcada e exibida no topo.
Cada linha traduzida de volta
Um modelo diferente, GPT-4o mini, traduz cada linha de volta para seu idioma, e o DeepSeek V3.2 em hosts dos EUA (DeepInfra, DigitalOcean, Google) avalia se o significado mudou. Você lê o que cada linha diz agora.
Perguntas
Idiomas com mais formas plurais?
Polonês, russo ou árabe recebem os ramos ICU que precisam, como few e many.
Texto alemão longo quebra meu layout?
Linhas que ficaram muito mais longas que o usual para aquele idioma são sinalizadas, para que você possa verificar os botões onde estão.
É gratuito?
Sim, sem conta: 10.000 caracteres por arquivo e até 8 idiomas por execução. Uma chave API gratuita eleva o limite para 50.000 caracteres. A licença vitalícia custa $79 uma vez, usando sua própria chave OpenRouter; planos mensais começam em $19. Preços
Como integrar isso ao repositório?
kaeris init --preset flutter-arb escreve as configurações para lib/l10n, e kaeris translate roda sem flags. Docs