Skip to main content
AI agent network visualization

Traduzir ficheiros PO sem perder formas plurais

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

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

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

Os valores de nplurals e as fórmulas de plural variam consoante o 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 o 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 cadeias. Apenas ficheiros traduzidos.

Experimente já o i18n Agent

Largue aqui o seu ficheiro de tradução

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

ou clique para selecionar

Idiomas de destino

Sem registoEstimativa imediata

Perguntas frequentes

É programador?

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

Instalar a ferramenta de CLI

Equipa empresarial?

A sua equipa ainda está vinculada a um contrato de TMS? Falemos sobre a migração.