WordPress, como sistema de gestión de contenidos (CMS), permite la traducción de sitios web a diferentes idiomas gracias a un sistema de internacionalización (i18n) y localización (l10n). Dos componentes clave en este sistema son los archivos .po y .mo, que desempeñan un papel crucial en la traducción de temas, plugins y el propio core de WordPress.
En este artículo, exploraremos qué son estos archivos, cómo funcionan, cómo se generan y cómo puedes trabajar con ellos para traducir tu sitio de WordPress.

1. ¿Qué son los archivos .po y .mo?
Los archivos .po y .mo son partes fundamentales del sistema de traducción gettext, ampliamente utilizado por WordPress.
Archivo .po (Portable Object):
El archivo .po es un archivo de texto legible que contiene las cadenas de texto originales y sus traducciones. Cada entrada en este archivo tiene dos partes principales:
- msgid: El texto original (normalmente en inglés).
- msgstr: La traducción del texto.
Ejemplo de contenido de un archivo .po:
msgid "Hello, world!"
msgstr "¡Hola, mundo!"Lenguaje del código: JavaScript (javascript)
Archivo .mo (Machine Object):
El archivo .mo es la versión compilada del archivo .po. Este archivo no es legible para humanos, ya que está optimizado para ser procesado rápidamente por WordPress o por aplicaciones que usan gettext.
En resumen:
- .po es legible y editable por humanos.
- .mo es procesado por máquinas.
2. ¿Cómo funcionan los archivos .po y .mo en WordPress?
Cuando un tema o plugin de WordPress está preparado para traducción, utiliza funciones gettext como __() o _e() para envolver los textos que deben traducirse. Por ejemplo:
__( 'Hello, world!', 'text-domain' );Lenguaje del código: JavaScript (javascript)
El sistema gettext utiliza los archivos .mo para mostrar la traducción correspondiente al idioma configurado en WordPress. El flujo general es el siguiente:
- El archivo .po contiene las cadenas traducidas.
- El archivo .po se compila en un archivo .mo.
- WordPress carga el archivo .mo correspondiente al idioma seleccionado.
- Las funciones gettext buscan las traducciones en el archivo .mo y muestran el texto traducido.
3. Ubicación de los archivos .po y .mo en WordPress
Los archivos de traducción pueden encontrarse en diferentes ubicaciones dependiendo de su uso:
- Core de WordPress:
wp-content/languages/- Los archivos del core utilizan el formato
es_ES.mo(para español, por ejemplo).
- Temas:
wp-content/themes/nombre-del-tema/languages/
- Plugins:
wp-content/plugins/nombre-del-plugin/languages/
Es importante seguir estas ubicaciones para garantizar que WordPress pueda detectar los archivos correctamente.
4. Herramientas para trabajar con archivos .po y .mo
Existen varias herramientas que puedes usar para crear, editar y compilar archivos de traducción. Aquí tienes las más populares:
4.1. Poedit
Poedit es una aplicación de escritorio ampliamente utilizada para gestionar archivos .po y .mo. Ofrece una interfaz intuitiva que facilita la edición de cadenas de texto y la generación de los archivos .mo correspondientes.
Pasos para usar Poedit:
- Abre el archivo .po.
- Realiza las traducciones necesarias.
- Guarda el archivo, y Poedit generará automáticamente el archivo .mo.

4.2. Loco Translate
Loco Translate es un plugin de WordPress que permite editar traducciones directamente desde el panel de administración de WordPress.
Ventajas:
- No requiere herramientas externas.
- Edición rápida y sencilla.

4.3. WP-CLI
WP-CLI es una herramienta de línea de comandos para WordPress. Puedes usar el comando wp i18n para gestionar archivos de traducción.
Ejemplo:
wp i18n make-pot . languages/my-plugin.pot
5. Cómo generar archivos .po y .mo
5.1. Crear un archivo .pot
El archivo .pot (Portable Object Template) es una plantilla que contiene todas las cadenas de texto originales, sin traducción. Puedes generarlo con herramientas como Poedit o WP-CLI.
Ejemplo con WP-CLI:
wp i18n make-pot . languages/plugin-name.pot
5.2. Traducir el archivo .pot
- Abre el archivo .pot con Poedit.
- Traduce las cadenas y guarda el archivo como .po.
- Poedit generará automáticamente el archivo .mo.
6. Buenas prácticas al trabajar con traducciones
- Usa dominios de texto únicos: Cada tema o plugin debe tener un dominio de texto único para evitar conflictos. Ejemplo:
__('Hello', 'my-plugin'). - Ubicación correcta: Coloca los archivos .po y .mo en el directorio estándar.
- Actualiza regularmente: Cada vez que se agreguen nuevas cadenas al tema o plugin, genera un nuevo archivo .pot.
7. Conclusión
Los archivos .po y .mo son esenciales para traducir WordPress y sus componentes de manera eficiente. Con el uso adecuado de herramientas como Poedit, Loco Translate o WP-CLI, puedes gestionar traducciones de forma profesional y garantizar una experiencia multilingüe para los usuarios de tu sitio web.
Comprender cómo funcionan estos archivos y seguir las mejores prácticas te ayudará a mantener tu sitio de WordPress bien traducido y preparado para audiencias globales.




Deja tus opiniones o dudas en los comentarios.