Traduzir

Traduz arquivos gettext .po

Um arquivo .po é baseado em chaves de texto: a frase em inglês é a chave. Contextos, espaços para plurais e variáveis no estilo Python ficam ao redor desse texto. KAERIS os mantém e escreve os espaços para plurais que a linguagem de destino precisa.

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 .po é construído

Cada entrada tem um msgid (o texto de origem) e um msgstr (a tradução). msgctxt diferencia duas frases idênticas. Plurais usam msgid_plural e um msgstr[n] por forma, e a linha Plural-Forms do cabeçalho diz quantas formas a linguagem tem.

Arquivo de origemen.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: app/views.py:12
msgid "Welcome back, %(name)s!"
msgstr ""

#: app/views.py:20
msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] ""
msgstr[1] ""

msgctxt "menu"
msgid "Open"
msgstr ""

msgctxt "verb"
msgid "Open"
msgstr ""

O que observar nas traduções de .po

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.po --langs de com kaeris 0.2.35, 3,9 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.

Resultado em Alemãode.po
# Generated by KAERIS i18n Tool
# Language: de
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de\n"

msgid "Welcome back, %(name)s!"
msgstr "Willkommen zurück, %(name)s!"

msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] "%(count)d Datei"
msgstr[1] "%(count)d Dateien"

msgctxt "menu"
msgid "Open"
msgstr "Öffnen"

msgctxt "verb"
msgid "Open"
msgstr "Öffnen"
kaeris checkexit code 0
$ kaeris check --source en.po --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

O que o KAERIS faz com isso

Execute em três etapas

  1. Instale o CLI

    Execute pip install kaeris.

  2. Traduzir o catálogo

    Execute kaeris translate django.po --langs de,ja. Os arquivos de saída são nomeados por idioma.

  3. Verificar o resultado

    Faça o upload da origem e de um .po traduzido na página de verificação gratuita para ver variáveis perdidas e termos inconsistentes.

pip install kaeris
kaeris translate locale/en/LC_MESSAGES/django.po --langs de,ja --verify

Perguntas

Ele lida com formas plurais para russo ou árabe?

O cabeçalho de plural e o número de espaços msgstr[n] são escritos para o idioma de destino. Em uma execução com russo, o exemplo de origem produziu nplurals=3 e três espaços.

E quanto ao msgctxt?

O contexto permanece anexado à entrada, então duas origens idênticas com contextos diferentes são strings separadas. A verificação avisa quando elas retornam traduzidas de forma diferente.

É 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 django.po --langs de,ja. Veja também Django. 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 · YAML · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML