Traducción de plantillas, temas y plugins en WordPress (Update)

Introducción

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.

¿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 WePanel, donde podemos ver también los distintos ficheros de traducción para diversos plugins:

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.

 Opciones 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:

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 “(%s)”, «%1$s» y «%2$s» de los textos en inglés a la izquierda también se incluye en los textos traducidos al español de la derecha.

 Traduciendo plugins y temas con Loco Translate


Proseguiremos a instalar el plugin Loco Translate directamente del directorio de plugins de WordPress o bien directamente desde dentro de nuestro panel de administración de WordPress en Plugins > Añadir nuevo, y aquí hacemos una búsqueda del nombre de plugin:

Loco Translate

Al instalar y activar este complemento, al final del todo, en el área izquierda de nuestro backend, donde encontramos todas las opciones y configuraciones del WordPress, veremos un nuevo menú con el nombre del plugin que acabamos de activar:

Al ingresar, veremos un entorno donde nos muestra el tema activo, así como algunos de los plugins que tenemos instalados en nuestro sitio. Con este complemento, no solo podemos traducir temas, sino también plugins que tengamos en nuestro sitio que aún no están completamente traducidos al idioma que queremos implementar.

Sustitución de textos en plugins ya traducidos

De igual forma, hay traducciones que podemos modificar a nuestro gusto. Para ello ingresamos a la lista completa de complementos que tenemos habilitados para traducir en Loco translate > Plugins. Por ejemplo, al ingresar a las configuraciones del mismo, nos indica que el complemento autoptimize está al 100%:

Si deseamos cambiar una de estas traducciones ,podríamos hacerlo simplemente ingresando en esta traducción y haciendo el respectivo cambio. Por ejemplo:

Si deseara cambiar la traducción activa de «Borrando la caché…» a «Vaciando la caché», haría clic directamente en este ítem y se mostraría un entorno para trabajar en el que podremos hacer la traducción:

Una vez hemos hecho el cambio, ya se mostrará de la forma que deseamos.

Sustitución de textos en temas ya traducidos

Al igual que los plugins, los temas pueden tener ya su traducción al 100% como es el caso de Divi por ejemplo, que no solo se encuentra traducido al español sino a una gran variedad de idiomas, para ello al igual que con los plugins se debe ingresar a Loco translate > Temas, aquí mismo ingresar al idioma que queramos modificar:

Como se puede ver en este ejemplo, el tema ya se encuentra traducido 100% al español. Sin embargo, al igual que con los plugins, podemos modificar estas traducciones si necesitamos decirlo de forma distinta, por ejemplo, en el texto de entradas protegidas:

Al igual que con los plugins, al hacer clic en este elemento, nos mostrará directamente, en la parte inferior, la traducción aplicada. Aquí es donde podremos modificar el texto, ya sea dejando únicamente el mensaje de que la entrada está protegida, sin dar más detalle, o bien agregar el texto que deseamos.

Agregar idioma cuando no lo posee el tema

En algunos casos, tendremos temas que no se encuentran en el idioma que necesitamos aplicar en nuestro sitio y resulta muy difícil que el tema tenga todos los aspectos que buscamos pero no se encuentren traducidos.

Para ello podemos utilizar la herramienta de traducción Loco translate e insertar un nuevo idioma al tema. Simplemente tenemos que ingresar al tema que queremos traducir en Loco translate > Temas y, una vez, dentro veremos como, a diferencia de los dos ejemplos previos, este no tiene idioma aplicado:

Para agregar dicho idioma, hacemos clic en «+ Nuevo idioma «y se mostrarán varias opciones:

En esta página encontraremos las opciones de:

  1. Elegir un idioma: básicamente elegimos el idioma que tenemos configurado en nuestros Ajustes > Generales de WordPress, que es el idioma general en el que se encuentra nuestro sitio
  2. Elige una localización: se recomienda que se utilice o bien la opción personalizada o la opción por efecto de Autor ya que, si se hace directamente en el sistema, se corre el riesgo de que se eliminen las traducciones una vez se actualice el tema.
  3. Comenzar a traducir: simplemente activamos este botón al haber elegido previamente los dos puntos anteriores y cuando ya estemos listos para comenzar a traducir nuestro tema.

Al ingresar en el entorno de edición, veremos exactamente el mismo menú con las mismas opciones que previamente modificamos al editar una traducción ya hecha. Simplemente tenemos que ir haciendo clic en la traducción que queremos agregar y se va agregando según el entorno de trabajo:

Una vez tengamos los cambios o traducciones hechas, podemos hacer clic en el botón azul ubicado en la parte superior «Guardar» y con esto ya hemos traducido nuestro tema.

Agregar idioma cuando no lo posee un plugin

En este caso, al igual que con el tema, primero debemos ingresar al área de plugins dentro de Loco translate > Plugins. Luego seleccionamos el complemento que no esté traducido y veremos la misma pantalla que con los temas, solo que esta vez es del plugin que se va a traducir.

Luego, nos encontraremos con las mismas opciones que en los temas cuando seleccionemos «+Nuevo idioma». En algunos casos, requerimos de crear una plantilla y nos lo indica el mismo complemento mediante la advertencia:

Hacemos clic en «+Crear plantilla» para que el plugin cree la plantilla de traducción que incluye todas las cadenas de traducción disponibles para el plugin. Antes de esto, nos indicará nuevamente un mensaje para aceptar y crear la plantilla:

Al terminar el proceso, volveremos a la página principal de idiomas donde sigue sin mostrarse el idioma español. Esto es normal porque acabamos de crear las plantillas para los idiomas pero no hemos creado aún el idioma, por lo que debemos ingresar nuevamente en «+Nuevo idioma» donde esta vez si mostrará el mismo panel que salió previamente en el tema:

Al igual que en la versión de temas, en esta página tendremos las opciones de:

  1. Elegir un idioma: básicamente elegimos el idioma que tenemos configurado en nuestros Ajustes > Generales de WordPress, que es el idioma general en el que se encuentra nuestro sitio.
  2. Elige una localización: aquí se recomienda que se utilice o bien la opción personalizada o la opción por efecto de Autor ya que, si se hace directamente en el sistema, se corre el riesgo de que se eliminen las traducciones una vez se actualice el tema.
  3. Comenzar a traducir: simplemente activamos este botón al haber elegido previamente los dos puntos anteriores y cuando ya estemos listos para comenzar a traducir nuestro tema.

Al ingresar en el entorno de edición, veremos exactamente el mismo menú con las mismas opciones que previamente modificamos al editar una traducción ya hecha. Solo tenemos que ir haciendo clic en la traducción que queremos agregar y se va agregando según el entorno de trabajo:

Una vez tengamos los cambios o traducciones hechos, podemos hacer clic en el botón azul ubicado en la parte superior «Guardar» y con esto ya hemos traducido nuestro tema.

Consideraciones a tomar en cuenta

  1. Configuración del idioma en wordpress: este complemento funciona con el mismo idioma en el que está configurado nuestro WordPress. Es decir, si en nuestro WordPress tenemos, por ejemplo, español Latinoamérica, el complemento debe trabajar con el mismo tipo de español. Si posee traducciones solo en español, debemos cambiar el idioma de nuestro sistema únicamente a español para que este sea tomado en cuenta por el complemento.
  2. Traducciones no disponibles: muchas cadenas de traducción están disponibles pero puede darse el caso en que un texto en específico no se encuentre en el tema. Estas pueden estar vinculadas a un complemento base del mismo tema por lo que, si no encuentras la traducción en un tema, verifica en sus plugins ya que es posible que ahí se encuentre la cadena que necesitas traducir.

Video de como traducir con Loco Translate

 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 para traducir WordPress en varios idiomas, 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.

Updated on 5 agosto, 2022

Related Articles