Unión Europea
Área de clientes

Poedit: cómo traducir plantillas y plugins de WordPress

Una de las grandes ventajas de trabajar con WordPress es la enorme cantidad de plantillas y plugins entre los que podemos elegir. Ahora bien, muchos de estos recursos están en inglés y solo en inglés, lo que puede resultar problemático: WordPress es la base de un 30% de las webs del mundo, creadas en 120 idiomas. Cada vez más desarrolladores son conscientes de la necesidad de traducir (o, al menos, dar a otros la posibilidad de traducir) los recursos creados a otras lenguas. ¡Aquí es dónde Poedit puede servirte de ayuda!

También puede ocurrir que tu plantilla o plugin ya esté en español por lo que, a priori, puedes pensar que no te hace falta traducirlo con Poedit. Sin embargo, seguro que hay algún texto que no te acaba de encajar cómo está escrito. Quizás quieras expresarlo de otra forma para que case mejor con el tono del lenguaje usado en tu marca o tal vez haya algún número que quieras cambiar. En estos casos, puedes usar Poedit para cambiar los textos de tu página web ¡aunque ya estén traducidos! Es algo que, aunque parece evidente, a veces se te puede escapar.

¿Quieres aprender a traducir WordPress y sus archivos .PO a .MO con Poedit? Es un pequeño programa disponible en Windows, Mac y Linux que te facilitará muchísimo el trabajo. Sigue leyendo y te enseño cómo funciona y todo lo que tienes que hacer.

Suscríbete a nuestra newsletter
¡Suscríbete a nuestra newsletter!

No te enviaremos spam, ¡te lo prometemos!. A nuestros suscriptores les enviamos nuestros contenidos sobre WordPress, hosting, marketing digital y programación.

 

Archivos .POT, .PO y .MO en WordPress

Antes de nada, te explico los formatos de archivo que te vas a encontrar mencionado en el post.

Verás, para que puedas usar Poedit para traducir tu plantilla o plugin, el creador del recurso debe haber utilizado Gettext en su código de origen para, a continuación, extraer todo el texto traducible a un archivo .PO. Para traducir esas cadenas de texto, tú trabajarás con ese archivo .PO.

Como no todos los desarrolladores crean recursos listos para ser traducidos, es recomendable que, antes de comprar una plantilla o un plugin, preguntes si vas a poder traducirlos. Lo normal, sobre todo en el caso de las plantillas premium (y muchas gratuitas también), es que no tengas ningún problema.

En más detalle, Gettext es una librería que facilita mucho la traducción de los textos que incluye un código fuente. En primer lugar, Gettext extrae todas las cadenas traducibles de los archivos de origen y genera una plantilla: este archivo será un .POT (Portable Object Template). Una vez tienes este archivo, puedes usarlo para crear un archivo .PO (Portable Object) para cada idioma que soporte tu software. A continuación, estos archivos .PO tendrán que ser traducidos a archivos .MO (Machine Object), que el formato que el ordenador puede leer.

 

¿Qué es Poedit y para qué sirve?

Poedit es un software que se utiliza para traducir archivos .PO, como las plantillas y los plugins WordPress, al idioma que prefieras. Poedit te ayudará detectando posibles problemas de traducción (como erratas o plurales incorrectos) y comprobando la sintaxis del archivo (variables equivocadas o que faltan, por ejemplo). También te aportará sugerencias de traducción a partir de un historial que irá generando a medida que traduzcas.

Si, por tu actividad, te merece la pena contratar Poedit Pro (ahora mismo, la licencia cuesta 29,99€), también podrás aprovecharte de la integración especial que han creado entre Poedit y WordPress. No lo he probado, pero al parecer facilita aún más las cosas. Por ejemplo, Poedit Pro soporta FTP y puede conectarse con tu instalación de WordPress para dejar que traduzcas de forma remota. Así no tienes que estar bajando y subiendo archivos, sino que solo tienes que pulsar en Guardar y los cambios se sincronizarán.

 

¿Qué necesito para traducir WordPress y sus archivos con Poedit?

Ahora que ya sabes un poco más, puedes empezar por descargarte Poedit e instalarlo. En este post hablaremos solamente de cómo traducir WordPress usando la versión gratuita, para empezar.

Descargar Poedit

A continuación, descárgate la plantilla o plugin que quieres traducir. Como te decía más arriba, no te sirve un recurso cualquiera: su creador tiene que haber desarrollado ese theme o plugin utilizando el framework Gettext para que sea traducible (no siempre es así). Una forma informal de comprobar si un theme o plugin puede ser traducido es revisar por encima alguno de sus archivos y ver si vemos dos barras bajas seguidas (“__”) junto a los textos. Esos símbolos son la función de gettext usada por WordPress.

Si quieres una plantilla de WordPress gratis que sea traducible, puedes filtrar por “Translation ready” en el repositorio de WordPress: https://wordpress.org/themes/tags/translation-ready/

Cuando tengas el plugin o la plantilla ya descargados en tu equipo, descomprime el archivo .ZIP. Depende un poco de cada caso pero, en general, el desarrollador incluirá una carpeta con archivos .POT (normalmente, la llamará lang o languages), así como instrucciones para traductores en un archivo readme.txt.

Archivos plantilla POT

También puede darse el caso de que ya encuentres archivos traducidos a otras lenguas en la carpeta lang o languages de tu plantilla o plugin WordPress. Por ejemplo, si ya existe una traducción al español verás un archivo es_ES.po. De todos modos, no te fíes del todo porque a veces los recursos solo están traducidos parcialmente: comprueba el archivo para ver si hay errores o textos sin traducir.

 

Otras posibles ubicaciones de archivos de idioma de recursos WordPress

WordPress puede usar distintas carpetas para guardar los archivos de traducciones. Esto es así por dos motivos.

El primero es la flexibilidad que esto proporciona: tanto temas como plugins pueden incluir traducciones en sus propios directorios sin necesidad de modificar las del propio WordPress. También te permite a ti crear archivos de idioma en WordPress sin necesidad de cambiar los específicos de un plugin o tema, que pueden cambiar —¡o borrarse!— al actualizar.

El segundo es la retrocompatibilidad. ¿Qué significa esta palabreja? WordPress ha vivido durante mucho tiempo y, en ocasiones, su programación ha sufrido alteraciones que cambiaban la forma de buscar las cosas por parte de la aplicación—entre ellas, las traducciones.

Para que “no se rompa nada”, la comunidad de WordPress decidió mantener la antigua forma de buscar traducciones por si acaso las modificaciones pudiesen afectar a alguno de los millones de sitios web que usan su CMS. A eso se refiere el término de retrocompatibilidad y es una de las máximas del diseño de WordPress.

Soltado este rollazo introductorio, ¿cuáles son las ubicaciones en las que podemos encontrar traducciones?A continuación, te dejo una lista de las carpetas y lo que suelen contener:

  • wp-content/languages: Aquí se guardan normalmente las traducciones de WordPress.
  • wp-content/languages/plugins y wp-content/languages/themes: Traducciones de plugins y temas, respectivamente. Normalmente son guardadas aquí por los propios traductores para que no se borren si un plugin se desinstala. Te recomiendo que guardes las tuyas aquí.
  • wp-content/themes/<tuTema>/languages: Aquí encontrarás las traducciones de un tema en concreto. Normalmente, son las traducciones que ya vienen incluidas con el propio tema. Ten en cuenta que al borrar el tema se borrarán también sus traducciones. Fíjate también en que la ruta incluye el texto <tuTema> que hace referencia a, como puedes imaginar, el nombre de un tema en concreto.
  • wp-content/plugins/<tuPlugin>/languages: Esto es exactamente igual a la que te acabo de explicar justo arriba, pero se aplica a temas. Fíjate que la ruta de la carpeta incluye también la palabra <tuPlugin>, que has de sustituir por el nombre del plugin concreto que estés traduciendo.

Las tres anteriores ubicaciones son oficiales, es decir, soportadas por el propio WordPress. No obstante, cualquier plugin puede definir su propia carpeta de idiomas, si bien no es algo habitual.

Un caso particular que sí que me gustaría contarte es el del plugin Loco Translate. Este plugin te permite generar traducciones desde el propio administrador de WordPress y genera tres nuevos directorios de ficheros de idioma que, de nuevo, te listo y te explico a continuación:

  • wp-content/languages/loco: Aquí encontrarás archivos que traducen los textos del propio WordPress y que han sido creados por el propio Loco Translate.
  • wp-content/languages/loco/themes: Si traduces un tema con Loco Translate, puede que encuentres aquí su fichero de traducciones.
  • wp-content/languages/loco/plugins: A estas alturas seguro que ya puedes suponer lo que hay en esta carpeta: los ficheros de idioma de los plugins que traduzcas con Loco Translate.

Si algún día sospechas que hay un archivo de idiomas que se te ha escapado, revisa si el sitio que revisas usa Loco Translate, no sea que se te pasen esas carpetas.

 

Cómo traducir una plantilla o plugin WordPress con Poedit

Una vez hayas descargado e instalado Poedit y estés listo para empezar a traducir WordPress (tu plantilla o tu plugin), abre la aplicación. Verás algo así:

Poedit

Como ves, hay una sección específica para traducir plantillas y plugins de WordPress. Si haces clic en ella, sin embargo, te darás cuenta de que el uso de esta función está reservado a los usuarios de la versión Pro. Haz clic en “No, gracias” para cerrar la ventana adicional, que aquí vamos a traducir WordPress con la versión gratuita.

Poedit para WordPress

Ahora que vuelves a estar en la pantalla inicial de Poedit, haz clic en Archivo y, a continuación, en Nueva desde archivo POT/PO… Selecciona el archivo .POT o .PO de la carpeta de idiomas de tu theme o plugin WordPress y marca el código del idioma en el que va a estar tu traducción. En el caso del español de España, el código correcto es es_ES:

Idioma de traduccion de poedit

Sin embargo, si no conoces el código del idioma al que vas a traducir, no te preocupes. Empieza a escribir el nombre del idioma y verás que se despliega una lista que te facilitará la elección. Si escoges la opción español (España), Poedit usará esta información para añadir automáticamente el código de idioma es_ES a tu archivo traducido.

Antes de empezar a traducir WordPress y por si el programa se cierra sin querer en algún momento, guarda este nuevo archivo .PO en tu equipo. Si accedes a la carpeta de idiomas del recurso que estás traduciendo, verás que se ha guardado algo así:

Guardar traduccion de poedit

¡Ya puedes empezar a traducir! Verás que el proceso es bastante simple. Selecciona una línea de texto para que aparezca en el campo Texto de origen: e inserta tu traducción en el campo Traducción:

Cuando ya tengas esa línea traducida, pasa a la línea siguiente y así sucesivamente. Recuerda hacer el clic en Guardar de forma periódica para no perder por accidente el trabajo que estás haciendo.

Ten en cuenta dos cosas:

  • No es necesario que lo traduzcas absolutamente todo: es posible que solamente quieras traducir aquellos elementos de la plantilla o plugin que vayan a estar a la vista de tus visitas (front-end), pero no los que solamente vayas a ver tú, como administrador (back-end).
  • Algunos textos incluyen caracteres especiales que corresponden a variables (por ejemplo: “%s”). Eso significa que en ese hueco se va a poner otro texto. Has de traducir y dejar ese carácter donde corresponda para que encaje con la nueva traducción:

Caracteres especiales Poedit

Cuando termines de traducir todo el archivo, haz clic en Validar (menú superior). Poedit comprobará si hay algún error y te avisará: por ejemplo, si hay alguna cadena que se te haya olvidado traducir. Si todo es correcto, haz clic en Guardar una vez más y, a continuación, ve a Archivo y pulsa en Compilar en MO…

Ahora ya solo te faltará coger los dos nuevos archivos que has generado, tanto el .PO como el .MO, y subirlos a la carpeta de idiomas de tu plantilla o plugin de WordPress, alojada en tu hosting web. En el caso de las plantillas, lo más habitual es que el directorio correcto para subir estos archivos sea public_html/wp-content/themes/tu_plantilla/lang (sustituye “tu_plantilla” por el nombre real de tu theme y ten en cuenta que la carpeta lang puede también llamarse languages). En el caso de los plugins, el directorio seguramente será public_html/wp-content/plugins/tu_plugin/lang (ten en cuenta lo mismo que te decía para las plantillas).

 

Algunos consejos para traducir WordPress con Poedit

Consulta glosarios y recursos en el idioma de tu traducción: Si no sabes cómo traducir alguna cadena de texto, en la red hay disponibles muchísimos recursos para traductores, incluyendo glosarios enteros para WordPress. También puedes tomar como modelo otra plantilla o plugin que ya estén en el idioma al que tú estás traduciendo. Sobre todo, es importante que no hagas una traducción palabra-por-palabra, sino una que realmente suene natural.

Asegúrate de ser coherente en tu terminología: Si traduces “Back” como “Volver”, asegúrate de hacerlo siempre así y de no mezclar otras traducciones como “Atrás”, “Anterior” o cualquier otra opción.

– No copies la ortografía del idioma original: A menos que realmente coincida con la de del idioma al que traduces, claro. Por ejemplo, en inglés se utilizan los signos de exclamación con mucha más frecuencia que en español. Las mayúsculas también se utilizan de forma diferente: días de la semana, nombres de meses, etc.

Comprueba el resultado final: No des por hecho que tus traducciones son correctas sin verlas primero en funcionamiento. Es posible que hayas cometido errores por no poder ver exactamente el contexto en el que se va a utilizar un texto. Otro problema habitual al traducir WordPress del inglés al español, por ejemplo, es que nuestro idioma tiende a ser más expansivo, es decir, nuestros textos suelen ocupar más espacio (lo que puede provocar errores si el hueco disponible para el texto no es suficiente). Si testeas tu plantilla o plugin como si fueras una visita, podrás corregir estos fallos antes de que los vea nadie más.

 

Cómo cambiar el idioma de WordPress

Como el idioma predeterminado de WordPress es el inglés, tendrás que indicarle que ahora tiene que usar tus archivos traducidos, es decir, tendrás que cambiar el idioma de tu WordPress una vez hayas traducido tus archivos de idioma con Poedit.

Hay 2 formas de hacerlo.

En versiones anteriores a la 4.0, ve a tu fichero wp-config.php y añade la siguiente línea:

define ('WPLANG', 'archivo_idioma');

Sustituye “archivo_idioma” por el nombre real de tus archivos traducidos. En el caso de mi ejemplo anterior, la línea de mi wp-config.php sería:

define ('WPLANG', 'es_ES');

Al añadir esta línea le estoy indicando a WordPress que, a partir de ahora, quiero que utilice los archivos de idioma que he traducido a español. Ten en cuenta que solamente habrás traducido tu plantilla o plugin, y no todo el backend, por lo que tu web se mostrará en español pero tu área de administración de WordPress seguirá estando en inglés o en el idioma que hayas escogido en el momento de hacer la instalación de WordPress.

En cambio, en versiones posteriores a la 4.0, si quieres cambiar el idioma de tu WordPress basta con que entres en tu backend y hagas clic en Ajustes > General. Baja hasta que veas Idioma del sitio y escoge en el desplegable el idioma que prefieras. Cuando ya lo tengas, baja hasta el final de la pantalla y haz clic en el botón azul de Guardar cambios.

Si lo que deseas es cambiar el idioma del backend de tu instalación de WordPress, también tienes que entrar al área de administración e ir a Mi perfil > Idioma, donde podrás modificarlo por el que desees. Ten en cuenta que este cambio afecta a nivel de usuario: de este modo, en aquellos casos en los que hay varios administradores, cada uno puede escoger la lengua en la que se siente más cómodo.

 

Conclusión

Ahora ya sabes traducir tus plantillas y plugins de WordPress utilizando Poedit. También sabes lo que son los archivos .POT, .PO y .MO, así como el proceso que debes seguir para adaptar tu web a otro idioma.

¿Alguna vez has traducido WordPress, ya sea un theme o un complemento, utilizando Poedit o Loco Translate? ¿Tienes dudas sobre el proceso de traducción con Poedit? Deja un comentario e intentaré ayudarte.

Técnico de marketing online en el sector del hosting desde 2012. Le gustan Gaiman, Pratchett y Le Guin, hacer la guerra psicológica a los sysadmins e intentar que Bowie no se coma el sofá.
Compartir en Twitter
Compartir en Facebook
Compartir en Pinterest

Sé el primero en enterarte de ofertas, sorteos y novedades.

Hosting SSD

El único alojamiento compartido que necesitarás probar.

Desde
8,95€
/mes

Tenemos 16 comentarios en

"Poedit: cómo traducir plantillas y plugins de WordPress"

  1. Avatar Jaime Sierra dice:

    Hola Andrea,

    Disculpa por la siguiente pregunta, leí todo y me funcionó traducir a mi Theme del sitio que estoy desarrollando…. pero no se visualiza la traducción de un plug-in que estoy usando ¿A que puede ser? ¿Hay alguna forma de bloquear? Lo curioso es que existía el archivo ‘.pot’ pero no había los archivos de inglés en_EN.mo o po.

    Saludos,

    Jaime

    1. Avatar Andrea Barreiro dice:

      Hola, Jaime, me alegro de que el post te haya servido para traducir tu plantilla de WordPress 🙂

      En cuanto al plugin, ¿lo has traducido también? El que originalmente el complemento solamente contenga un archivo .POT y no los .PO o .MO no tiene nada de particular, no te preocupes. Si lo has traducido pero la traducción no se muestra, lo primero que debes comprobar es que el nombre de los archivos traducidos que has generado sea correcto (con los códigos de idioma y país adecuados) y que los hayas subido al mismo directorio donde se encuentra el archivo .POT original.

      1. Avatar Jaime Sierra dice:

        Hola Andrea, gracias por responder.
        Los archivos .PO y .MO los puse en la misma carpeta del .POT, el nombre de archivo de estos es el mismo que generó POEDIT (parece que fuese ‘poesía’… sorry el comentario). Quizás este tomando el texto en inglés de Wordpress…. no se me ocurre otra cosa. Si fuese con wordpress ¿basta con editar el .MO y .PO del ‘es_ES’? https://uploads.disquscdn.c

        1. Avatar Andrea Barreiro dice:

          Y entiendo que en tu instalación de WordPress, en la sección Ajustes –> Generales, ya has cambiado el idioma a español, ¿verdad? Si es así, lo siguiente es cambiar el nombre del archivo .MO (el .PO en realidad está pensado para ser leído por humanos, no por WordPress, de modo que es irrelevante). Por favor, renombra el .MO de tu captura para ponerle el nombre del archivo original + la locale al final, es decir: jnews-social-share-es_ES.mo

            1. Avatar Andrea Barreiro dice:

              Jajaja. De nada, Jaime, hemos tenido suerte y era la solución fácil 🙂

  2. Avatar Taisa Raquel García Arévalo dice:

    Está muy bien la entrada, aunque faltaría un punto importante: Dónde subir luego los ficheros una vez los tienes listos. 🙂 Eso venía yo buscando.

    1. Avatar Andrea Barreiro dice:

      Hola, Taisa:
      ¡Gracias por comentar! Si te fijas, hay una parte del post en la que hablo de las posibles ubicaciones de los archivos de idiomas. Ahí es donde vas a encontrar los archivos traducibles y también las traducciones que ya estén hechas (si hay alguna). En esa ubicación, que puede variar, es donde tienes que subir los ficheros cuando los tengas ya preparados.
      ¡Un saludo!

  3. Avatar Frank Molina dice:

    Hola, buen post. Me ha pasado varias veces que subo el archivo .po y .mo y wordpress ignora, no aparecen las frases traducidas, he hecho cambios como: plantilla_es_ES.po, plantilla-es_ES.po, es_ES.po y nada, a que se debe esto?

    https://uploads.disquscdn.c

    Gracias

    1. Avatar Andrea Barreiro dice:

      Hola, Frank:

      En principio parece que lo tienes todo bien nombrado y en la carpeta correcta, como dices :_( Por un casual, ¿has cambiado ya el idioma de tu WordPress? Por defecto, viene siempre en inglés. Si no lo has hecho y tienes una versión posterior a la 4 (que sería lo normal), tienes que ir a Ajustes > Generales > Idioma del sitio y escoger «Español» en el desplegable.

      ¡A ver si así!

      1. Avatar Frank Molina dice:

        SOLUCIÓN: si están usando child-theme agreguen el archivo es_ES.po y es_ES.mo y la carpeta languages en la carpeta del tema hijo. Y listo!

        Tenía meses traduciendo manualmente, ahora si funciona.

        1. Avatar Andrea Barreiro dice:

          Me alegro de que hayas dado con la solución, Frank 🙂 ¡Un saludo!

  4. Avatar Patricia Bernal Campos dice:

    Hola. He usado Poedit para traducir los mensajes de un plugin al español pero en esas traducciones no se muestran correctamente los caracteres especiales como las ñ, las tildes… Por qué puede ser? Gracias!

    1. Avatar Alvaro Fontela dice:

      Hola Patricia, es por la codificación, debes seleccionarla en POEdit.

  5. Avatar Noelia dice:

    Hola,

    Estoy traduciendo un plugin de woocommerce con Poedit. Ahora he conseguido colocarlo dentro de la carpeta languages del plugin con el nombre del archivo-es_ES.mo funciona. Antes solamente con el archivo con nombre del idioma no funcionaba. Lo que me gustaria colocarlo en la carpeta del tema hijo. Pero he probado con varias rutas y no funciona. Alguna ayuda ?

    Gracias
    Un saludo

    1. Avatar Alvaro Fontela dice:

      Hola Noelia, las traducciones van en la carpeta /languages y ahí puedes meter lo que necesites (si lo soporta el plugin), no van dentro del child theme.

      Si quieres hacerlo de una forma más «automática», prueba a utilizar Loco Translate en lugar de PoEdit.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *