Traducción de plantillas, temas y plugins en WordPress

por | Ene 27, 2020 | Aprender WordPress

Traducción de plantillas, temas y plugins en WordPress

Aunque el gestor de contenidos WordPress ofrece soporte para más de 100 idiomas, entre ellos el español, éste se limita exclusivamente al área de administración (“dashboard”), por lo que ten en cuenta los plugins o tema a instalar en WordPress, salvo que éstos también dispongan de nuestro idioma.

Sin embargo, muchos temas o plugins para WordPress solo disponen de la versión inglesa y, cuando los utilizamos, sus textos aparecen en inglés dentro las páginas y posts de nuestro sitio web, con el evidente desagrado por parte del usuario.

En esta situación, tenemos dos posibles soluciones: buscar otro plugin o tema (que tal vez no sean de nuestro agrado o no se adapten a nuestras necesidades), o hacer nosotros mismos la traducción de los mensajes y textos de esos plugins y temas.

A primera vista, traducir un plugin o un tema puede parecer inalcanzable para nosotros, porque podemos pensar que tenemos que sumergirnos en las “entrañas” de WordPress y que necesitamos conocer a fondo la tecnología de esta plataforma.

Sin embargo, como veremos en este artículo, basta con solo algunas nociones básicas de cómo WordPress gestiona las versiones multi-idioma de los temas y plugins, para que seamos capaces de cambiar esos mensajes en inglés por otros mensajes en español.

 ¿Qué textos y mensajes podemos traducir en WordPress?

Cuando trabajamos con WordPress, el texto que muestra dentro una página web puede hacerse creado o generado con uno de los siguientes cuatro métodos:

  • Como parte del contenido, sean posts o páginas, escrito por un redactor dentro del editor del WordPress y que contiene toda la información relevante de esa página web. En este caso, podemos usar plugins que permitan versiones multilingües de un post o página (como WPML).
  • Las taxonomías del blog, como las categorías y las etiquetas, también definidos por el administrador o redactor del blog y que podemos traducir utilizando este mismo plugin, WPML.
  • Como parte de los mensajes del tema. En este caso, las cadenas de texto están integradas dentro de los ficheros PHP del tema y, para traducirlos, sería necesario editar esos ficheros y modificar dichas cadenas.
  • Como parte de los mensajes del plugin. Al igual que con los temas, el texto de los mensajes están dentro de los ficheros PHP del plugin y, de nuevo, tendríamos que modificarlos para hacer la traducción.

Cuando realicemos la traducción de un tema o plugin, hay que tener en cuenta que se pueden diferenciar dos conjuntos de mensajes, en función del lugar dónde aparezcan:

  • En el panel de control de WordPress y que, por tanto, solo verán los administradores del sitio web, nunca los visitantes de sus páginas web.
  • Dentro de las páginas web, como parte del funcionamiento o servicio del tema o del plugin, e integrados con el resto del contenido del sitio web. Por tanto, sí lo verán quienes visiten el sitio web.

En principio, estaremos más interesados en traducir los mensajes “públicos”, los que pueden aparecer a los usuarios, que los mensajes del panel de control, que solo veremos nosotros.

En ambos casos, los mensajes de texto están integrados dentro de los ficheros PHP del tema o plugin y, como veremos, todos entran dentro del mismo lote y no hay distinción en el procedimiento para traducir unos u otros textos.

 ¿Qué temas y plugins de WordPress podemos traducir?

Hemos mencionado que, para traducir un plugin o un tema, deberíamos modificar sus ficheros PHP, lo cual puede suponer un obstáculo para quienes no conocen (ni necesitan conocer) esta tecnología.

Afortunadamente, en el caso de los plugins y temas, aunque los mensajes y textos estén dentro de estos ficheros, es posible realizar traducirlos sin necesidad de modificar esos ficheros, sino a través de ficheros auxiliares que permiten hacer esta traducción.

Sin embargo, para que esto sea viable, es necesario que el tema o el plugin tengan soporte multilingüe, lo que podemos encontrar en las características del tema o plugin como “translation ready theme” o “translation ready plugin”.

Cuando un tema o un plugin están preparados para la traducción, los mensajes de texto están identificados y codificados dentro de los ficheros PHP, de forma que se pueden traducir sin necesidad de modificar estos ficheros, sino creando nuevos ficheros que asocian cada texto con su traducción.

Actualmente, la mayoría de los temas y plugins están preparados para la traducción aunque muchas no incluyen nuestro idioma o, cuando lo hacen, son traducciones que utilizan un estilo de lenguaje distinto al que utilizamos en el resto del sitio web.

Es decir, además de traducir los mensajes de texto de un tema o texto, también podremos cambiar las traducciones que ya estén hechas, para poner otras que sean coherentes con el resto del contenido.

Este aspecto de las posibilidades de traducir un tema o plugin puede ser casi tan importante como evitar que aparezcan mensajes en inglés dentro de un sitio web en español. Por ejemplo, para evitar que el usuario vea mensajes distintos para las mismas acciones; por ejemplo, “Leer más” en vez de “Seguir leyendo” o la inversa.

 ¿Cómo gestiona WordPress la traducción de textos y mensajes?

Cuando un tema o un plugin es “translation ready”, la información de los mensajes y sus traducciones se guardan en diversos ficheros, que podremos crear o modificar con el editor apropiado, y que se identifican por la extensión de su nombre de fichero:

  • Fichero .POT (Portable Object Template): Este fichero contiene todos los mensajes de texto, en su lenguaje original, que hay dentro de los ficheros PHP del tema o plugin y que necesitan ser traducidos. El fichero .POT lo genera el proveedor del tema o plugin y debe estar incluido en la instalación. Sin fichero .POT, no podremos realizar traducciones.
  • Ficheros .PO (Portable Object): Habrá uno por cada idioma en que esté traducido el tema o plugin, y guarda la traducción, para un idioma determinado, de cada mensaje de texto identificado dentro del fichero .POT.

    El nombre de los ficheros .PO incluye el nombre del plugin o tema, el idioma y la variación de los mensajes traducidos que contiene; por ejemplo, para el español de España, el fichero .PO sería “<plugin>-es_ES.po”.

  • Ficheros .MO (Machine Object): También habrá uno por cada idioma y contiene la misma información que los ficheros .PO, pero en un formato compilado para que lo lea y gestione WordPress.

    Cuando hayamos terminado de editar el fichero .PO, debemos compilarlo en su fichero .MO correspondiente. El nombre de los ficheros .MO es idéntico al del fichero .PO asociado.

Del fichero .POT nos despreocupamos, basta que sepamos que existe, pues su creación y gestión es responsabilidad total y única del proveedor del tema o plugin, que nos lo debe suministrar con todo el lote.

Por nuestra parte, el proceso que debemos realizar para traducir o cambiar la traducción de un plugin o tema “translation ready” es muy simple:

  1. Localizar el fichero .PO del plugin o tema. Si no existiera, crearlo.
  2. Editar el fichero .PO para añadir o modificar las traducciones.
  3. Generar el fichero .MO
  4. Guardar los ficheros .PO en las carpetas de idioma de WordPress.

Este proceso podemos hacerlo desde fuera de WordPress, con un editor especializado, o desde dentro, con un plugin, como veremos en la próxima sección.

 Carpetas de idioma de WordPress para las traducciones

Todas las traducciones de WordPress, tanto del núcleo principal de WordPress (esto es, el panel de administración) como de los plugins y temas, se deben guardar en determinadas carpetas de la instalación de WordPress en el servidor web, para que WordPress sepa donde localizarlos:

  • wp-content/languages: contiene los ficheros de traducción (.PO y .MO) de los textos del panel de administración de WordPress. En general, no necesitamos modificar estos ficheros ni suele ser aconsejable.
  • wp-content/languages/plugins: contiene los ficheros de traducción (.PO y .MO) de los textos de todos los plugins. Cada nombre de fichero incluirá el nombre del plugin o tema para poder identificarlo. En caso de que se desinstale un plugin, sus ficheros no se borran.
  • wp-content/languages/themes: contiene los ficheros de traducción (.PO y .MO) de los textos de todos los plugins. Cada nombre de fichero incluirá el nombre del plugin o tema para poder identificarlo. En caso de que se borre el tema, sus ficheros no se borran.
  • wp-content/plugins/<nombre-plugin>/language: lugar alternativo para almacenar los ficheros de traducción (.PO y .MO) de un plugin determinado (<nombre-plugin>) y donde los proveedores suelen incluir sus propias traducciones (cuando lo hacen). En este caso, al desinstalar el plugin, también se borran estos ficheros.
  • wp-content/themes/<nombre-theme>/language: lugar alternativo para almacenar los ficheros de traducción (.PO y .MO) de un tema determinado (<nombre-theme>) y donde los proveedores suelen incluir sus propias traducciones (cuando lo hacen). En este caso, al borrar el tema, también se borran estos ficheros.

En la siguiente imagen vemos una disposición habitual de los ficheros de traducción en una instalación de WordPress, a través del Administrador de archivos de la herramienta cPanel, donde podemos ver también los distintos ficheros de traducción para diversos plugins:

Ficheros de traducción en una instalación de WordPress

Haz clic en la imagen para ampliarla  

Cuando creamos un fichero .PO y .MO, debemos guardarlo en la carpeta de idiomas correspondiente, sea de plugins o temas, aunque es recomendable hacerlo en la carpeta general de idiomas (dentro de wp-content/languages) para que sigamos disponiendo de esos ficheros en caso de que reinstalemos el plugin o tema.

 Recomendaciones de traducción de plugins y temas

Cuando traducimos un mensaje de texto en WordPress, debemos tener en cuenta algunas consideraciones para que esa traducción encaje bien dentro del contexto de nuestro sitio web y que el usuario no se quede confuso ante traducciones poco naturales o incoherentes:

  • Mantener el mismo estilo o tono de conversación que los demás textos del sitio web. Por ejemplo, si nuestro sitio web es informal y muy cercano, los mensajes de los plugins también debería serlo.
  • No traducir literalmente las expresiones originales, sino pensar más en la idea que transmite el mensaje en el idioma original y reescribirlo para que transmita lo mismo en el idioma destino.
  • No utilizar coloquialismos o tecnicismos (salvo que sea un sitio web de nicho). Esta recomendación se extiende también al resto de los contenidos de la página web: coloquialismos o tecnicismos muy especializados pueden ahuyentes a los nuevos visitantes del sitio web.
  • Comprobar que las traducciones se muestran correctamente. Plugins y temas tienen un espacio limitado para mostrar sus mensajes de texto. Cuando traducimos un texto, esta traducción debe mostrarse en ese mismo espacio, debiendo ser completamente legible y sin afectar ni alterar el diseño ni visualización del resto de la página web.
  • Mantener las mismas expresiones que en el sitio web. Esta recomendación ya la mencionamos anteriormente. Debemos asegurarnos que utilizamos el mismo mensaje de texto para representar expresiones como “volver”, “leer más”, “ver página siguiente”, etc.

 Plugin Loco Translate para traducir plugins y temas en WordPress

Disponemos de varios sistemas para crear, editar o modificar los ficheros de traducción .PO de un plugin o tema:

  • Utilizando un editor de ficheros .PO, como poedit, que a partir del fichero .POT del plugin o tema, nos permite asociar a cada mensaje de texto su correspondiente traducción. Cuando hayamos terminado, el editor genera el fichero .MO y lo copiaremos en la carpeta de idiomas correspondiente del servidor web.
  • Utilizando un plugin de traducción de textos, como Loco Translate, con el que podemos editar los ficheros .PO desde dentro del panel de administración de WordPress. Al terminar de hacer las traducciones, este plugin genera y guarda automáticamente el fichero .MO donde corresponda.

Cuando editamos los mensajes de texto de un plugin o tema, pueden aparecer caracteres especiales dentro de los textos originales, como los que están marcados en la siguiente imagen:

Caracteres especiales al editar mensajes de un plugin o tema en WordPress

Es imprescindible que en la traducción también incluyamos esas mismas secuencias de caracteres especiales, pues son utilizados por el tema y los plugins para añadir información adicional al mensaje de texto cuando se muestra la página web.

Por ejemplo, en la imagen anterior podemos ver que las secuencias de caracteres especiales “&#8250;” y “&#8249” de los textos en inglés a la izquierda también se incluye en los textos traducidos al español de la derecha.

Veamos ahora en el siguiente vídeo cómo instalar y utilizar el plugin Loco Translate en un sitio web activo, con un tema y varios plugins:

 

 

 Conclusiones

Prácticamente todos los plugins y temas de WordPress vienen en inglés y, cuando los instalamos en nuestro sitio web, en español, pueden aparecer mensajes de texto en inglés intercalados con nuestros contenidos en español.

Incluso aunque el plugin o tema incluya una traducción a nuestro idioma, puede ocurrir que utilice expresiones distintas para indicar una misma acción, como “Leer más” y “Seguir leyendo”, o “Volver atrás” e “Ir atrás”.

Para evitar confundir al usuario con mensajes en dos idiomas o diferentes expresiones, debemos ser capaces de poder crear, editar y modificar los mensajes de texto originales para asignarles el texto traducido que mejor encaje con nuestro sitio web.

Para poder traducir los textos de un plugin o tema, deben estar “preparados para la traducción” o “translation ready”. En este caso, el plugin o tema dispondrá de los ficheros de traducción necesarios (con extensiones .POT, .PO y .MO) para que podamos editarlos y modificarlos a nuestro idioma.

Para ello, podemos utilizar un programa externo, como poedit, que obliga a conocer la disposición interna de los ficheros de traducción dentro de las carpetas del servidor web, o un plugin, como Loco Translate, que permite hacer las traducciones a través de su panel de administración.

En uno u otro caso, debemos seguir algunas buenas prácticas de traducción, para que el texto traducido encaje tanto en el contexto del sitio web como para que los usuarios no tengan problemas para entender su significado.