Skip to main content
AI agent network visualization

Traduzir arquivos PO sem perder formas plurais

msgid intacto. Formas plurais corretas para cada idioma. Comentários preservados. Seu fluxo gettext, mas mais rápido.

As ferramentas de tradução PO ignoram aquilo que torna o PO especial

Os arquivos PO não são apenas pares de chave e valor. Contêm formas plurais que variam dependendo do idioma, contextos de mensagem para desambiguação, comentários de tradutores e referências à origem. A maioria das ferramentas os trata como arquivos de texto simples.

Os valores de nplurals e as fórmulas de plural variam dependendo do idioma. As ferramentas genéricas utilizam números errados de formas.

O contexto de desambiguação msgctxt é ignorado ou traduzido

Os comentários do tradutor (#.) e as referências à origem (#:) são removidos

Os cabeçalhos de codificação de caracteres e os metadados PO ficam corrompidos

Origem (inglês)
messages.pot
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr ""

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] ""
msgstr[1] ""

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr ""
Traduzido (espanhol)
es/LC_MESSAGES/messages.po
#: src/components/Cart.tsx:42
#. Translator: shown when cart is empty
msgid "Your cart is empty"
msgstr "Tu carrito está vacío"

#: src/components/Cart.tsx:55
msgid "item"
msgid_plural "items"
msgstr[0] "artículo"
msgstr[1] "artículos"

#: src/components/Auth.tsx:12
msgctxt "button"
msgid "Sign in"
msgstr "Iniciar sesión"

O que o i18n Agent preserva

Plurais específicos do idioma

Valores de nplurals e fórmulas de plural corretos para cada idioma de destino. Sem configuração manual das formas plurais.

Contexto da mensagem

O msgctxt é preservado para desambiguação. «bank» no sentido de margem de rio ou de banco financeiro continua correto.

Comentários e referências

Os comentários dos tradutores (#.), comentários extraídos (#:) e sinalizadores (#,) são preservados

Metadados PO

Os cabeçalhos —Content-Type, Plural-Forms e charset— são definidos corretamente para o idioma de destino

Funciona com seu stack

WordPress / WP-CLI
Django
PHP (gettext)
Python (gettext / Babel)
C/C++ (GNU gettext)
Ruby (gettext gem)

Como funciona

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Sem copiar e colar manualmente. Sem extrair strings. Apenas arquivos traduzidos.

Experimente já o i18n Agent

Solte aqui seu arquivo de tradução

JSON, YAML, PO, XML, CSV, Markdown, Properties

ou clique para selecionar

Idiomas de destino

Sem cadastroEstimativa imediata

Perguntas frequentes

É desenvolvedor?

Instale a ferramenta de CLI e traduza seu primeiro arquivo em 2 minutos.

Instalar a ferramenta de CLI

Equipe empresarial?

Sua equipe ainda está vinculada a um contrato de TMS? Falemos sobre a migração.