Hoy vamos a cerrar la serie de tutoriales del tema gratuito Zerif Lite con este instructivo para configurar un sitio en dos o más idiomas. En una entrega posterior, haré una recopilación de los “mini-tutoriales” que también forman parte de la documentación oficial de ThemeIsle, y que son más bien respuestas prácticas a preguntas frecuentes sobre cómo lograr pequeños cambios de estilo en el tema de una sola página para WordPress más elegido de los últimos dos años.

Zerif Lite, al igual que la versión PRO, son 100% compatibles con los plugins multiidioma más difundidos: WPML y Polylang.

Para este tutorial vamos a usar Polylang, cuya versión gratuita es muy buena y alcanzará a cubrir las necesidades de la gran mayoría de los usuarios que deseen mostrar el sitio en dos o más idiomas.

El primer paso es instalar el plugin. Podemos hacer esto desde el administrador de WordPress, en la sección Plugins > Añadir nuevo. Luego de que se lleve a cabo este proceso, activaremos el plugin y estaremos listos para configurarlo.

Vamos a Ajustes > Idioma y seleccionaremos los idiomas que necesitamos agregar. El primero que vamos a elegir es, obviamente, el español. También tendremos la posibilidad de elegir la bandera para mostrar.

Polylang - Selección de idiomas

Polylang – Selección de idiomas

Aquí vale hacer una digresión. Por más que WordPress ahora ofrece la instalación en ocho variantes del español, siempre recomiendo elegir Español. Si bien es la localización que corresponde a España, es la original, las diferencias de términos son de ínfimas a inexistentes, y –lo más importante– es aquella en la cual la gran mayoría de los temas y plugins tienen las traducciones: es_ES. Si hemos configurado el idioma de WordPress en Español de México, por ejemplo, tendremos que renombrar manualmente todos los archivos de traducción que existan en los temas y plugins a es_MX. Una verdadera pérdida de tiempo.

Pero volvamos al tutorial. Ya tenemos agregado el primer idioma, que quedará como el predeterminado. Vamos a agregar el segundo, repitiendo el mismo paso, en este caso para el inglés (nosotros elegimos en_US y la bandera de Inglaterra).

Para terminar, vamos a agregar un idioma más: italiano. Veremos que en la lista luego tendremos la posibilidad de cambiar el idioma predeterminado (el que muestra la estrellita).

Polylang - Seleccionar idioma predeterminado

Polylang – Seleccionar idioma predeterminado

En este punto ya hemos configurado los idiomas, pero Polylang nos avisará que todavía no los hemos asignado al contenido (páginas, entradas, categorías y etiquetas).

Polylang - Asignar idioma a los contenidos

Le damos clic al enlace Puedes establecerlas todas al mismo idioma y con eso estaremos listos para empezar a traducir el sitio.

Traducir las opciones del tema

Para traducir las opciones presentes en el Personalizador, primero tendremos que asegurarnos de que hemos guardado el contenido y luego ir a Ajustes > Idioma > Traducciones de cadenas, en donde encontraremos las cadenas por orden, para que podamos incluir las versiones correspondientes a cada idioma.

Polylang – Primera página de cadenas

Otra forma es usando Poedit y creando los archivos .po y .mo para Zerif, pero no es la más práctica ya que tendríamos que estar editando y subiendo el archivo cada vez que queremos cambiar algún texto, en lugar de hacerlo cómodamente desde WordPress.

Traducir los widgets

Para traducir los widgets será necesario crear uno distinto para cada idioma. Dentro del panel del widget notaremos que hay una opción extra, visible al activar Polylang, que es El widget se muestra para:, y que nos permitirá seleccionar en cuál de los idiomas queremos que aparezca.

Polylang - Crear un widget para cada idioma

Polylang – Crear un widget para cada idioma

Traducir páginas y entradas

Para crear una nueva traducción, bastará con hacer clic en el enlace + de la columna del idioma correspondiente. Se abrirá el editor de la misma manera en que se realiza el proceso de crear una página nueva.

Polylang - Agregar traducciones a páginas y entradas

Polylang – Agregar traducciones a páginas y entradas

También, una vez dentro del editor, se puede elegir el idioma desde el menú desplegable del panel Idiomas (en caso de querer editar una página creada anteriormente). En ese mismo panel se podrá asignar una página ya creada como traducción, desde el campo de entrada de texto correspondiente al idioma, que tiene la característica auto-completar.

Polylang - Asignar página equivalente en otro idioma

Polylang – Asignar página equivalente en otro idioma

El procedimiento para crear traducciones de entradas y tipos de entrada personalizada es el mismo. Y cabe recordar que las categorías y las etiquetas también deben tener su versión correspondiente a cada idioma.

Las categorías y etiquetas se filtran de acuerdo con el idioma de la entrada. Si creamos nuevas categorías o etiquetas dentro de una entrada, se asignarán automáticamente al mismo idioma de la entrada. Para que también existan en los demás idiomas, tendremos que añadirlas en la página de Categorías y Etiquetas y asignarles el idioma que corresponda.

Traducir el menú

Así como los widgets, los menús deben existir para cada idioma por separado. Este procedimiento es muy sencillo, ya que crearemos los menús de la misma manera en que lo hacemos siempre, y luego los asignaremos a la ubicación que corresponda (existirá una ubicación por idioma agregado).

Polylang - Asignar un menú a cada idioma

Polylang – Asignar un menú a cada idioma

¿Y qué pasa si usamos un tema hijo? Por ejemplo, necesitábamos una sección nueva, la cual agregamos siguiendo este tutorial anterior. En este caso, nos encontraremos con que faltarán las opciones para traducir nuestros campos Título y Subtítulo de la nueva sección. Para que nos aparezcan, tendremos que crear en la carpeta del tema hijo un archivo de nombre wpml-config.xml, con el siguiente contenido:

<wpml-config>
  <admin-texts>
    <key name='theme_mods_zerif-lite'>
      <key name='zerif_newsection_title' />
      <key name='zerif_newsection_subtitle' />
    </key>
  </admin-texts>
</wpml-config>

Vale aclarar que estamos usando el ejemplo de la sección nueva añadida en el tema hijo, tal como se explicara en nuestro primer tutorial. Si por el contrario, hemos creado nuevos controles para el Personalizador, tendremos que usar el nombre de la carpeta del tema hijo como clave.

Entonces, la línea <key name='theme_mods_zerif-lite'> nos quedará <key name='theme_mods_zerif-child'> (o cualquiera que sea el nombre de la carpeta del tema hijo, en lugar de zerif-child).

Al usar un tema hijo, para que la traducción funcione, tendremos que comprobar que el campo Grupo de la sección Traducción de cadenas de Polylang coincide con el nombre de la carpeta del tema hijo.

Si, por el contrario, solo vemos el nombre de la carpeta del tema padre, significa que todas las cadenas se han extraído del tema padre y no del tema hijo. En este caso, tendremos que activar el tema hijo (si es que no está activado ya), ir a Apariencia > Personalizar, y cambiar el contenido de los campos (aunque sea un cambio minúsculo, como un espacio en blanco o un punto, que de inmediato serán eliminados). Por último, hacer clic en Guardar y publicar. Veremos entonces, que las nuevas cadenas se han añadido a la página de Polylang, y allí podremos introducir las distintas versiones para cada idioma.

Polylang - Cadenas de traducción nuevas

Polylang – Cadenas de traducción nuevas

Tutorial original en inglés: How to translate Zerif (or any other translation-ready theme)

Caribdis Diseño Web

Caribdis Diseño Web

Ana Ayelén Martínez - Buenos Aires, Argentina
Técnica en electromecánica, periodista, entusiasta de los idiomas y enamorada de WordPress. Amante de la lectura, la música y el mate, y fanática de las series de J.J. Abrams.
Caribdis Diseño Web