Traduza arquivos de locale YAML, estilo Rails
Um arquivo YAML estilo Rails começa com o código do idioma e aninha tudo sob ele, e suas strings contêm variáveis %{name}. KAERIS traduz os valores, reescreve a chave raiz para o idioma de destino e verifica se todas as variáveis foram transferidas.
KAERIS traduziu esta página e verificou cada linha traduzindo-a de volta. Um falante nativo ainda não revisou. Original em inglês
Como um arquivo de locale YAML é construído
A primeira linha é o locale (en:); cada chave vive sob ela. Formas plurais são chaves simples como one e other. Listas são suportadas. Um arquivo que é um mapeamento plano único sem um locale raiz também é lido, e suas chaves pontilhadas permanecem como escritas.
en: greeting: "Welcome back, %{name}!" inbox: one: "%{count} new message" other: "%{count} new messages" errors: blank: "can't be blank" too_short: "is too short (minimum is %{count} characters)" checkout: total: "Total: <strong>%{amount}</strong>"
O que observar em traduções YAML
A chave raiz segue o arquivo
en:tem que se tornarde:no arquivo alemão ou o Rails nunca o encontrará. KAERIS escreve o idioma de destino como raiz.%{variables} e HTML
A interpolação do Rails é
%{name}; alguns projetos usam{{name}}. Ambos são comparados com a origem. Tags inline como<strong>são verificadas da mesma forma.Aspas
Um valor traduzido que começa com
[,*ou&, ou contém:, não é YAML válido a menos que esteja entre aspas. O escritor decide sobre as aspas: no exemplo de saída, um valor que começa com%{count}volta entre aspas.Comentários não viajam
Comentários YAML na origem não são levados para o arquivo traduzido. Mantenha notas para tradutores em chaves de serviço (uma chave que começa com
_é deixada sem tradução) ou em seu repositório.
Uma execução real: traduzido para Alemão e verificado
Uma execução real, 27 de outubro de 2026, nada editado manualmente: kaeris translate en.yml --langs de com kaeris 0.2.35, 3 segundos, modelo google/gemini-2.5-flash-lite, o padrão do nível gratuito. Abaixo, o arquivo alemão que ele escreveu e o que kaeris check diz sobre ele.
de: greeting: Willkommen zurück, %{name}! inbox: one: '%{count} neue Nachricht' other: '%{count} neue Nachrichten' errors: blank: darf nicht leer sein too_short: ist zu kurz (mindestens %{count} Zeichen) checkout: total: 'Gesamt: <strong>%{amount}</strong>'
$ kaeris check --source en.yml --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
O que o KAERIS faz com isso
Estrutura mantida
Aninhamento, ordem de chaves e listas voltam iguais; a chave de locale raiz é reescrita para cada idioma.
Variáveis e tags verificadas
Uma
%{name}ou<strong>perdida é encontrada pela contagem, sem envolvimento de modelo.Verificação gratuita para este formato
A verificação gratuita em /check lê este formato e executa sem chave ou conta. O comando de terminal
kaeris checktambém o lê: ele aceita todos os 13 formatos desde kaeris 0.2.35, com as mesmas regras e nada enviado para lugar nenhum.
Execute em três etapas
Instale o CLI
Execute
pip install kaeris.Traduza o arquivo
Execute
kaeris translate config/locales/en.yml --langs de,ja. Arquivos de saída são nomeados por idioma.Verifique o resultado
Faça o upload do arquivo de origem e do traduzido na página de verificação gratuita; ela lista variáveis perdidas, tags e chaves ausentes.
pip install kaeris kaeris translate config/locales/en.yml --langs de,ja --verify
Perguntas
Funciona para Rails en.yml?
Sim. A chave raiz en:, chaves aninhadas e variáveis %{name} são tratadas. Veja também a página Rails.
E os comentários no meu YAML?
Eles permanecem no seu arquivo de origem. O arquivo traduzido é escrito sem eles.
É 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
Posso rodar pelo terminal ou em CI?
Sim. pip install kaeris, depois kaeris translate config/locales/en.yml --langs de,ja. O GitHub Action executa a mesma tradução em um pull request. Docs da CLI · GitHub Action
Continue
Referência do CLI · Referência de verificação · Traduzir no navegador · Verificação gratuita · Converter formatos · Pseudo-localização
Outros formatos: JSON · .po · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML