Saltar al contenido
Todas las herramientas Precios Blog

Chats y mensajes de voz

Documentos

Audio y video

Iniciar sesión

Idioma

Traduce un archivo PO o POT en línea, con plurales y contexto incluidos

Sube una plantilla .pot o un archivo .po traducido a medias y recibe un .po con todos los msgstr vacíos rellenados. msgid y msgctxt nunca cambian, los comentarios y las referencias se conservan, y las entradas plurales reciben tantas formas como necesite el idioma de destino. Las primeras cadenas son gratis y sin registro; el archivo completo, de hasta 5,000 cadenas, cuesta $5, con pago único.

Traducir archivos de cadenas

Tono
Glosario y nombres que se conservan (opcional)

Nombres de marcas y productos, separados por comas. Se comprueba cada uno en todas las traducciones.

Un término por línea: término = traducción.

Sin registro. Hasta 300 cadenas gratis y completo. Si es más largo: las primeras cadenas son gratis, todos los archivos del trabajo cuestan $5, en un pago único.

Al continuar, aceptas nuestros Términos del servicio y Política de privacidad.

  • Las entradas vacías y las fuzzy se traducen; las que ya tradujiste se conservan
  • Las entradas msgid_plural reciben msgstr[0], msgstr[1] … para el idioma de destino, con Plural-Forms en la cabecera
  • msgctxt, los comentarios del traductor (#.) y las referencias (#:) se envían como contexto y se conservan en el archivo
  • Se comprueban los marcadores php-format, c-format y python-format en cada cadena
  • Funciona con plugins y temas de WordPress, y con proyectos de Django, Python, PHP y C
Abrir la demo

Ver un PDF de ejemplo

85 cadenas · claves sin cambios

{

"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í."

}

Amarillo: marcadores de posición y sintaxis de plurales ICU, comprobados en cada cadena. Turquesa: etiquetas, secuencias de escape y emoji, que se mantienen tal cual.

Mismas claves. Mismos marcadores. Idioma nuevo.

Solo cambian los valores. El archivo vuelve con la misma estructura y el mismo orden, con el nombre es.json, y cualquier cadena que pierda un marcador se vuelve a pedir antes de que llegue a tu compilación.

App de demostración creada para esta página; las cadenas en español son resultado real de la herramienta, a partir de un archivo de 85 cadenas.

De una plantilla POT a un archivo PO

Un archivo .pot es la lista de cadenas que un proyecto necesita traducir, con todos los msgstr vacíos. Súbelo, elige un idioma y recibirás un .po con la cabecera rellenada: Language, una línea Plural-Forms para ese idioma y UTF-8 como juego de caracteres. El archivo toma el nombre del idioma; por ejemplo, myplugin.pot pasa a ser myplugin-de.po. Renómbralo como lo espere tu proyecto, por ejemplo myplugin-de_DE.po para WordPress, y compílalo a .mo con tu herramienta habitual.

Formas plurales y entradas fuzzy

Cada idioma cuenta a su manera. El inglés tiene dos formas; el polaco y el ruso usan tres en gettext; el árabe usa seis. Para cada entrada plural, el traductor recibe las formas del idioma de destino con números de ejemplo ("forma 1: 2, 3, 4, 22") y escribe una cadena por forma. Si tu .po ya tiene una cabecera Plural-Forms para el mismo idioma, se usa esa regla.

Las entradas marcadas como fuzzy se vuelven a traducir; se eliminan la marca fuzzy y las líneas antiguas #| msgid, y se conservan otras marcas como php-format. Las entradas obsoletas #~ no se tocan.

Cómo funciona la herramienta, cuánto cuesta y cómo se tratan tus archivos está en la página de Traducir archivos de localización; los precios de todas las herramientas están en la página de precios.

Última actualización:

Preguntas y respuestas

¿Sobrescribirá mis traducciones existentes?

No. Las entradas que ya tienen un msgstr y no son fuzzy se conservan exactamente como están; solo se traducen las entradas vacías y las fuzzy.

¿Genera un archivo .mo?

No, te entrega el .po. Compílalo con msgfmt, Poedit o el comando de tu framework, por ejemplo wp i18n make-mo o compilemessages en Django.

¿Están seguros los marcadores printf?

Todos los %s, %d, %1$s y %(name)s del msgid deben estar en la traducción. Si una cadena pierde alguno, se vuelve a traducir; si sigue fallando, su msgstr se queda como estaba (vacío o fuzzy) y aparece en una lista, de modo que gettext recurre al texto original en lugar de mostrar una cadena rota.

¿Cuánto cuesta?

Las primeras cadenas de texto son gratis. El archivo completo, de hasta 5,000 cadenas, cuesta $5 en un pago único, sin suscripción. Los trabajos pequeños son la excepción: un trabajo de hasta 300 cadenas es gratis por completo, descargas incluidas.

Trabajos relacionados

Usamos cookies de analítica para saber qué páginas ayudan a la gente. ¿Te parece bien?