Ir para o conteúdo
Todas as ferramentas Preços Blog

Conversas e mensagens de voz

Documentos

Áudio e vídeo

Entrar

Idioma

Traduza um arquivo PO ou POT online, com plurais e contexto tratados

Envie um modelo .pot ou um arquivo .po parcialmente traduzido e receba de volta um .po com todos os msgstr vazios preenchidos. msgid e msgctxt nunca mudam, comentários e referências permanecem, e as entradas de plural recebem quantas formas o idioma de destino precisar. As primeiras strings são grátis, sem cadastro; o arquivo inteiro, com até 5,000 strings, custa $5, em pagamento único.

Traduzir arquivos de strings

Tom
Glossário e nomes a manter (opcional)

Nomes de marcas e produtos, separados por vírgulas. Cada um é verificado em todas as traduções.

Um termo por linha: termo = tradução.

Sem cadastro. Até 300 strings grátis por inteiro. Acima disso: as primeiras strings grátis, todos os arquivos da tarefa por $5, pagamento único.

Ao continuar, você concorda com Termos de Serviço e Política de Privacidade.

  • Entradas vazias e fuzzy são traduzidas; as que você já traduziu são mantidas
  • Entradas msgid_plural recebem msgstr[0], msgstr[1] … para o idioma de destino, com Plural-Forms no cabeçalho
  • msgctxt, comentários do tradutor (#.) e referências (#:) são enviados como contexto e mantidos no arquivo
  • Placeholders php-format, c-format e python-format verificados em cada string
  • Funciona com plugins e temas do WordPress e com projetos em Django, Python, PHP e C
Abrir a demonstração

Ver um PDF de exemplo

85 textos · chaves inalteradas

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

Amarelo: placeholders e sintaxe de plural ICU, verificados em cada texto. Verde-azulado: tags, escapes e emojis, mantidos como estão.

Mesmas chaves. Mesmos placeholders. Novo idioma.

Só os valores mudam. O arquivo volta com o mesmo aninhamento e a mesma ordem, com o nome es.json, e qualquer texto que perca um placeholder é refeito antes de chegar ao seu build.

App de demonstração criado para esta página; os textos em espanhol são resultado real da ferramenta, a partir de um arquivo de 85 textos.

De um modelo POT para um arquivo PO

Um arquivo .pot é a lista de strings que um projeto precisa traduzir, com todos os msgstr vazios. Envie o arquivo, escolha um idioma e você recebe um .po com o cabeçalho preenchido: Language, uma linha Plural-Forms para esse idioma e UTF-8 como charset. O arquivo recebe o nome do idioma, por exemplo myplugin.pot vira myplugin-de.po; renomeie para o que o seu projeto espera, como myplugin-de_DE.po no WordPress, e compile para .mo com a sua ferramenta de costume.

Formas de plural e entradas fuzzy

Cada idioma conta de um jeito. O inglês tem duas formas; polonês e russo usam três no gettext; o árabe usa seis. Para cada entrada de plural, o tradutor recebe as formas do idioma de destino com números de exemplo ("forma 1: 2, 3, 4, 22") e escreve uma string por forma. Se o seu .po já tem um cabeçalho Plural-Forms para o mesmo idioma, essa regra é usada.

Entradas marcadas como fuzzy são traduzidas de novo; a flag fuzzy e as linhas antigas #| msgid são removidas, e outras flags, como php-format, são mantidas. Entradas obsoletas #~ não são tocadas.

Como a ferramenta funciona, quanto custa e como seus arquivos são tratados está na página Tradutor de arquivos de localização; os preços de todas as ferramentas estão na página de preços.

Última atualização:

Perguntas e respostas

Isso vai sobrescrever as traduções que já tenho?

Não. Entradas que já têm um msgstr e não são fuzzy são mantidas exatamente como estão; só as entradas vazias e fuzzy são traduzidas.

Ele gera um arquivo .mo?

Não, você recebe o .po. Compile com msgfmt, Poedit ou o comando do seu framework, por exemplo wp i18n make-mo ou compilemessages no Django.

Os placeholders do printf estão seguros?

Todo %s, %d, %1$s e %(name)s do msgid precisa estar na tradução. Uma string que perde algum deles é traduzida de novo; se ainda assim falhar, o msgstr permanece como estava (vazio ou fuzzy) e a string é listada, assim o gettext usa o texto original em vez de mostrar uma string quebrada.

Quanto custa?

As primeiras strings são grátis. O arquivo inteiro, com até 5,000 strings, custa $5, em pagamento único, sem assinatura. As tarefas pequenas são a exceção: uma tarefa de até 300 strings é grátis por inteiro, downloads incluídos.

Tarefas relacionadas

Usamos cookies de análise para saber quais páginas ajudam as pessoas. Tudo bem?