Traducción de PO/Gettext
Idioma de destino: zh-Hans-CN (Chinese, Simplified Chinese, China)
El código del idioma de destino. Ejemplo: es, es-ES, fil, zh-Hans-CN. Escribe para buscar.
Traducir metadatos:
Indica si se deben traducir los metadatos del archivo PO, como los comentarios del traductor y los campos de cabecera, junto con las cadenas de mensajes. Desactivar esta opción garantiza que los metadatos permanezcan sin cambios en la salida traducida.
Usar contracciones:
Indica si se deben usar contracciones gramaticales. Usar contracciones hace que la traducción sea menos formal.
Usar acortamiento:
Indica si se deben usar formas acortadas si la traducción es más larga que el texto de origen.
Terminología:
Contenido del PO original:
La traducción por IA lleva tiempo (hasta 5 minutos) mientras la IA procesa tu contenido. Esta página de traducción de PO traduce en tiempo real y no almacena tu contenido en nuestros servidores. Para archivos PO grandes, recomendamos utilizar la Traducción de archivos I18N página para una entrega más fiable. Por favor, no abandones esta página hasta que la traducción se haya completado.

Cómo traducir archivos PO/Gettext en línea

Traducir archivos PO (Portable Object) con nuestro servicio basado en IA es rápido y preciso. Sigue estos pasos para traducir tu contenido de localización gettext conservando la estructura del formato PO.

  1. Pega tu contenido PO: En la sección "Contenido del PO original", pega el contenido de tu archivo PO o POT. Nuestro servicio reconoce el formato PO estándar, incluidos msgid, msgstr, comentarios, formas plurales y entradas de contexto.
  2. Establece el idioma de destino: Introduce el código del idioma de destino (p. ej., 'es-ES' para español, 'de-DE' para alemán) para la traducción.
  3. Inicia la traducción: Haz clic en el botón "Traducir" para comenzar. Nuestra IA procesa la estructura del PO, traduce los valores msgstr mientras conserva las entradas msgid, los comentarios y los marcadores de posición de formato.
  4. Copia o guarda: Una vez finalizada la traducción, copia el contenido del PO traducido al portapapeles o guárdalo como un archivo .po listo para usar en tu proyecto.

¿Qué son los archivos PO y POT?

Los archivos PO (Portable Object) son un formato de localización ampliamente utilizado, creado por el sistema de internacionalización GNU gettext. Almacenan cadenas traducibles como pares clave-valor utilizando entradas msgid (texto original) y msgstr (texto traducido).

Los archivos PO son el formato de localización estándar para muchos proyectos y marcos de código abierto, incluidos WordPress, aplicaciones PHP, Python (Django, Flask), Ruby on Rails, programas en C/C++ y aplicaciones de escritorio creadas con GTK o GNOME.

Estructura del formato de archivo PO

Un archivo PO consta de entradas con los siguientes elementos clave:

# 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 — La cadena original sin traducir (texto fuente). Sirve como clave para buscar traducciones.
  • msgstr — La cadena traducida para el idioma de destino. Los valores msgstr vacíos indican cadenas sin traducir.
  • Comentarios (#) — Proporcionan contexto a los traductores. #: indica referencias al archivo fuente, #. contiene comentarios extraídos y #, contiene indicadores como fuzzy.
  • Formas plurales (msgid_plural, msgstr[N]) — Gestionan las reglas de plural específicas de cada idioma. Los diferentes idiomas tienen un número distinto de formas plurales (p. ej., el inglés tiene 2, el polaco tiene 3, el árabe tiene 6).
  • Contexto (msgctxt) — Desambigua cadenas fuente idénticas que requieren traducciones diferentes según el contexto (p. ej., "Abrir" como verbo frente a adjetivo).

Archivos PO frente a POT

Un archivo POT (Portable Object Template) es la plantilla utilizada para crear archivos PO. Contiene todas las cadenas fuente con valores msgstr vacíos. Al iniciar una nueva traducción, copias el archivo POT, lo renombras para tu idioma de destino (p. ej., es.po) y completas las traducciones.

Nuestro servicio acepta contenido tanto PO como POT. Simplemente pega cualquiera de los dos formatos y la IA generará las traducciones para todas las entradas msgstr.

Ejemplo de archivo POT

Aquí tienes un archivo de plantilla POT típico con una cabecera y cadenas traducibles:

# 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 ""

Por qué usar nuestro servicio de traducción de PO

  • Traducción contextual con IA: Nuestra IA avanzada comprende la estructura de archivos PO, gestiona los marcadores de posición de formato gettext (como %s, %d, %(name)s) y adapta las traducciones a los matices culturales del idioma de destino.
  • Soporte completo para formato gettext: Nuestro servicio gestiona todas las funciones del formato PO, incluidas cabeceras, comentarios, entradas de contexto (msgctxt), formas plurales y banderas de formato. La estructura PO se conserva totalmente durante la traducción.
  • Gestión de formas plurales: Genera correctamente traducciones de formas plurales basadas en las reglas del idioma de destino. Independientemente de si tu idioma de destino tiene 2, 3 o 6 formas plurales, nuestra IA genera las entradas msgstr[N] adecuadas.
  • Ajustes específicos de la configuración regional: Adapta automáticamente números, fechas y otro contenido sensible a la configuración regional dentro de las cadenas traducidas para que coincidan con las convenciones del idioma de destino.
  • Gestión de errores: Detecta y corrige errores de traducción de la IA, asegurando una salida de archivo PO de alta calidad constante.
  • Rentable: Disfruta de precios asequibles con 30,000 caracteres gratuitos al mes.Ver precios
  • Optimizado para archivos PO grandes: Procesa archivos PO grandes de forma eficiente dividiéndolos en fragmentos manejables, garantizando la coherencia de la traducción con terminología y contexto predefinidos en todas las entradas.

Casos de uso comunes para la traducción de archivos PO

Los archivos PO son el formato de localización estándar para una amplia gama de plataformas y marcos:

  • WordPress: Los temas y plugins de WordPress utilizan archivos PO/POT para la internacionalización. El sistema gettext es la forma estándar de hacer que el contenido de WordPress sea traducible a más de 200 idiomas.
  • Aplicaciones PHP: La extensión gettext de PHP utiliza archivos PO de forma nativa. Marcos como Laravel, Symfony y CakePHP admiten la localización basada en PO para aplicaciones multilingües.
  • Python (Django, Flask): Django utiliza gettext y archivos PO como su mecanismo de localización estándar. El comando makemessages extrae las cadenas traducibles a archivos POT, y compilemessages compila archivos PO en archivos binarios MO.
  • Ruby on Rails: Aunque Rails utiliza YAML por defecto, muchos proyectos de Ruby emplean la gema gettext con archivos PO para la localización, especialmente al integrarse con flujos de trabajo de traducción basados en gettext existentes.
  • Programas en C/C++: GNU gettext fue diseñado originalmente para programas en C. Muchas utilidades del sistema, herramientas de línea de comandos y aplicaciones de escritorio utilizan archivos PO para las traducciones de su interfaz de usuario.
  • JavaScript/TypeScript (Lingui): Lingui es una biblioteca de i18n moderna para React, Next.js y otros marcos de JavaScript que utiliza archivos PO/POT como su formato de traducción principal. La herramienta @lingui/cli extrae las cadenas traducibles a catálogos PO, y el tiempo de ejecución de Lingui carga las traducciones compiladas en el momento de la compilación para obtener un rendimiento óptimo.
  • Aplicaciones de escritorio (GTK/GNOME/KDE): Los entornos de escritorio de Linux y las aplicaciones GTK/Qt dependen de los archivos PO. Los proyectos GNOME y KDE gestionan miles de archivos PO en docenas de idiomas.

Traducción de PO frente a otros formatos de localización

Los archivos PO son uno de los formatos de localización más consolidados, con más de 30 años de historia en la comunidad de código abierto. A diferencia de los formatos basados en JSON o YAML, los archivos PO incluyen soporte integrado para formas plurales, comentarios de traductores, referencias de origen y desambiguación contextual.

Aunque los marcos modernos suelen utilizar JSON (i18next, React Intl) o YAML (Rails), PO sigue siendo el formato preferido para plugins de WordPress, aplicaciones PHP, proyectos de Python Django y software de escritorio de Linux. Nuestro servicio une ambos mundos: traduce contenido PO aquí o utiliza nuestra página de traducción de archivos I18N para el procesamiento por lotes de cualquier formato.

Nuestra traducción por IA conserva la estructura completa del archivo PO, incluidas las cabeceras (Project-Id-Version, Content-Type, Plural-Forms), los comentarios de los traductores, las referencias a archivos fuente y las banderas de formato, garantizando que tus archivos PO traducidos estén listos para su uso inmediato con herramientas gettext como msgfmt.