Tradução de PO/Gettext
Idioma de origem: en-US (English, United States)
O código do idioma de origem. Exemplo: fr, fr-FR, fil, zh-Hans-CN. Digite para pesquisar.
Idioma de destino: zh-Hans-CN (Chinese, Simplified Chinese, China)
O código do idioma de destino. Exemplo: en, en-US, fil, zh-Hans-CN. Digite para pesquisar.Gerenciar glossáriosGerenciar instruções linguísticas
Traduzir metadados:
Gerar e salvar glossário:
A tradução por IA leva tempo (até 5 minutos) enquanto a IA processa seu conteúdo. Esta página de Tradução de PO traduz em tempo real e não armazena seu conteúdo em nossos servidores. Para arquivos PO grandes, recomendamos usar a Tradução de Arquivos i18n página para uma entrega mais confiável. Por favor, não saia desta página até que a tradução seja concluída.

Como traduzir arquivos PO/Gettext online

Traduzir arquivos PO (Portable Object) com nosso serviço por IA é rápido e preciso. Siga estas etapas para traduzir seu conteúdo de localização gettext preservando a estrutura do formato PO.

  1. Cole seu conteúdo PO: Na seção "Conteúdo PO de origem", cole o conteúdo do seu arquivo PO ou POT. Nosso serviço reconhece o formato PO padrão, incluindo msgid, msgstr, comentários, formas plurais e entradas de contexto.
  2. Definir idioma de destino: Insira o código do idioma de destino (por exemplo, 'pt-BR' para português do Brasil, 'de' para alemão) para a tradução.
  3. Iniciar tradução: Clique no botão "Traduzir" para começar. Nossa IA processa a estrutura PO, traduz valores msgstr enquanto preserva entradas msgid, comentários e placeholders de formato.
  4. Copiar ou salvar: Após a conclusão da tradução, copie o conteúdo PO traduzido para sua área de transferência ou salve-o como um arquivo .po pronto para uso em seu projeto.

O que são arquivos PO e POT?

Arquivos PO (Portable Object) são um formato de localização amplamente utilizado criado pelo sistema de internacionalização GNU gettext. Eles armazenam strings traduzíveis como pares chave-valor usando entradas msgid (texto original) e msgstr (texto traduzido).

Arquivos PO são o formato de localização padrão para muitos projetos e frameworks de código aberto, incluindo WordPress, aplicativos PHP, Python (Django, Flask), Ruby on Rails, programas C/C++ e aplicativos de desktop criados com GTK ou GNOME.

Estrutura do formato de arquivo PO

Um arquivo PO consiste em entradas com os seguintes elementos-chave:

# Translation file for MyApp
#: src/components/header.js:12
msgid "Welcome to our application"
msgstr ""

#: src/components/login.js:8
msgid "Sign in to your account"
msgstr ""

#: src/components/dashboard.js:15
msgid "You have %d new messages"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
  • msgid — A string original não traduzida (texto de origem). Isso serve como a chave para buscar traduções.
  • msgstr — A string traduzida para o idioma de destino. Valores msgstr vazios indicam strings não traduzidas.
  • Comentários (#) — Fornecem contexto para tradutores. #: indica referências de arquivo de origem, #. contém comentários extraídos e #, mantém sinalizadores como fuzzy.
  • Formas plurais (msgid_plural, msgstr[N]) — Lidam com regras plurais específicas do idioma. Idiomas diferentes têm números diferentes de formas plurais (por exemplo, inglês tem 2, polonês tem 3, árabe tem 6).
  • Contexto (msgctxt) — Desambigua strings de origem idênticas que precisam de traduções diferentes dependendo do contexto (por exemplo, "Abrir" como verbo vs. adjetivo).

Arquivos PO vs. POT

Um arquivo POT (Portable Object Template) é o modelo usado para criar arquivos PO. Ele contém todas as strings de origem com valores msgstr vazios. Ao iniciar uma nova tradução, você copia o arquivo POT, renomeia-o para seu idioma de destino (por exemplo, pt-BR.po) e preenche as traduções.

Nosso serviço aceita conteúdo PO e POT. Basta colar qualquer formato e a IA gerará traduções para todas as entradas msgstr.

Exemplo de arquivo POT

Aqui está um arquivo de modelo POT típico com um cabeçalho e strings traduzíveis:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-01 00:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: src/app.py:42
msgid "Hello, World!"
msgstr ""

Geração de glossário por IA para traduções PO/Gettext

Nosso recurso de geração de glossário por IA ajuda você a manter uma terminologia consistente em todos os seus arquivos de localização PO. Habilite-o alternando gerar glossário nas opções de tradução:

  • Terminologia consistente — a IA analisa seu conteúdo PO de origem e as traduções de destino existentes para criar um glossário de termos-chave, garantindo que nomes de produtos, rótulos de UI e termos técnicos sejam traduzidos da mesma maneira em todo o seu projeto.
  • Termos específicos do domínio — forneça uma amostra de conteúdo PO já traduzido no campo de strings de destino. A IA aprende sua terminologia preferida e a aplica a novas entradas msgstr automaticamente.
  • Como usar — cole seu conteúdo PO traduzido no campo opcional de strings de destino que aparece quando a geração de glossário está habilitada. A IA extrai pares de termos recorrentes e os usa como um guia de tradução. Se nenhum conteúdo de destino for fornecido, a IA gera um glossário apenas a partir das strings de origem.

Por que usar nosso serviço de tradução PO

  • Tradução contextual com tecnologia de IA: Nossa IA avançada entende a estrutura de arquivos PO, lida com placeholders de formato gettext (como %s, %d, %(name)s) e adapta as traduções para nuances culturais do idioma de destino.
  • Suporte total ao formato gettext: Nosso serviço lida com todos os recursos do formato PO, incluindo cabeçalhos, comentários, entradas de contexto (msgctxt), formas plurais e sinalizadores de formato. A estrutura PO é totalmente preservada durante a tradução.
  • Tratamento de formas plurais: Gera corretamente traduções de formas plurais com base nas regras do idioma de destino. Se o seu idioma de destino tem 2, 3 ou 6 formas plurais, nossa IA gera as entradas msgstr[N] apropriadas.
  • Ajustes específicos de localidade: Adapta automaticamente números, datas e outros conteúdos sensíveis à localidade dentro de strings traduzidas para corresponder às convenções do idioma de destino.
  • Tratamento de erros: Detecta e corrige erros de tradução por IA, garantindo uma saída de arquivo PO de alta qualidade consistente.
  • Custo-benefício: Aproveite preços acessíveis com 10,000 caracteres gratuitos mensalmente.Ver preços
  • Otimizado para arquivos PO grandes: Processa arquivos PO grandes de forma eficiente dividindo-os em partes gerenciáveis, garantindo consistência de tradução com terminologia e contexto predefinidos em todas as entradas.

Casos de uso comuns para tradução de arquivos PO

Arquivos PO são o formato de localização padrão para uma ampla gama de plataformas e frameworks:

  • WordPress: Temas e plugins do WordPress usam arquivos PO/POT para internacionalização. O sistema gettext é a maneira padrão de tornar o conteúdo do WordPress traduzível em mais de 200 idiomas.
  • Aplicativos PHP: A extensão gettext do PHP usa arquivos PO nativamente. Frameworks como Laravel, Symfony e CakePHP suportam localização baseada em PO para aplicativos em vários idiomas.
  • Python (Django, Flask): O Django usa gettext e arquivos PO como seu mecanismo de localização padrão. O comando makemessages extrai strings traduzíveis para arquivos POT, e o compilemessages compila arquivos PO em arquivos MO binários.
  • Ruby on Rails: Embora o Rails use YAML por padrão, muitos projetos Ruby usam a gem gettext com arquivos PO para localização, especialmente ao integrar com fluxos de trabalho de tradução baseados em gettext existentes.
  • Programas C/C++: O GNU gettext foi originalmente projetado para programas C. Muitos utilitários de sistema, ferramentas de linha de comando e aplicativos de desktop usam arquivos PO para suas traduções de interface de usuário.
  • JavaScript/TypeScript (Lingui): Lingui é uma biblioteca i18n moderna para React, Next.js e outros frameworks JavaScript que usa arquivos PO/POT como seu formato de tradução principal. A ferramenta @lingui/cli extrai strings traduzíveis para catálogos PO, e o runtime do Lingui carrega traduções compiladas em tempo de build para desempenho ideal.
  • Aplicativos de desktop (GTK/GNOME/KDE): Ambientes de desktop Linux e aplicativos GTK/Qt dependem de arquivos PO. Projetos GNOME e KDE gerenciam milhares de arquivos PO em dezenas de idiomas.

Tradução PO vs. Outros Formatos de Localização

Arquivos PO são um dos formatos de localização mais estabelecidos, com mais de 30 anos de história na comunidade de código aberto. Ao contrário de formatos baseados em JSON ou YAML, os arquivos PO incluem suporte integrado para formas plurais, comentários de tradutores, referências de origem e desambiguação contextual.

Embora frameworks modernos frequentemente usem JSON (i18next, React Intl) ou YAML (Rails), o PO continua sendo o formato preferido para plugins WordPress, aplicativos PHP, projetos Python Django e software de desktop Linux. Nosso serviço une os dois mundos — traduza conteúdo PO aqui ou use nossa página de Tradução de Arquivos i18n para processamento em lote de qualquer formato.

Nossa tradução por IA preserva a estrutura completa do arquivo PO, incluindo cabeçalhos (Project-Id-Version, Content-Type, Plural-Forms), comentários de tradutores, referências de arquivos de origem e sinalizadores de formato, garantindo que seus arquivos PO traduzidos estejam prontos para uso imediato com ferramentas gettext como msgfmt.