Cómo traducir partes de un tema con WPML

En el caso de las páginas multi idioma, WPML es uno de los plugins más eficientes a la hora de contar con un site en varios idiomas. Todo esto está muy bien para las páginas, las entradas, el contenido multimedia pero qué pasa cuando un tema de WordPress no cuenta con soporte de traducción de este plugin, o simplemente es un tema de terceros. Vamos a aprender aquí a cómo traducir partes de un tema con WPML.

Como único requisito, solo dependeremos de contar con:

  • una instalación del plugin WPML
  • además del tema que vamos a modificar.

Supongamos que queremos traducir el pie de nuestra web pero WPML no es capaz de traducir esta parte del sitio. Como se había dicho antes, WPML tan solo es capaz de prestar soporte de multi idioma a las entradas, categorías, páginas, contenido multimedia pero no partes puntuales de nuestro tema.

Un ejemplo de pie de tema podría ser el siguiente código que podemos encontrar en nuestro archivo footer.php del directorio /wp-content/themes/tu-tema

<footer id="colophon" class="site-footer">
	<div class="container text-center small">
		Todos los derechos reservados &copy; 2017. Desarrollado por <a href="https://jesuschicano.es" class="link">Jesús Chicano</a>.
	</div>
</footer><!-- #colophon -->

Pero ahora, si pulsamos en el idioma de Inglés, observamos que WPML traduce el contenido de las páginas salvo esta parte… No hemos tenido en cuenta un segundo idioma como el Inglés en nuestra plantilla.

Para solucionarlo, primero debemos conocer los códigos que corresponden a los idiomas con los que cuenta la web. En este ejemplo, originalmente la web está en Español y un segundo idioma como es el Inglés.

Si nos dirigimos al escritorio de WordPress y después a WPML -> Idiomas -> Editar idiomas, tenemos un listado con todos los idiomas implementados en la web y junto a ellos una columna llamada código que nos indica el código que debemos usar en nuestra plantilla:

codigos idiomas wpml

Si volvemos a nuestro archivo footer.php, podemos cambiar el pie de la siguiente manera:

<footer id="colophon" class="site-footer">
	<div class="container text-center small">
		<?php if (ICL_LANGUAGE_CODE == 'es'){ ?>
		Todos los derechos reservados &copy; 2017. Desarrollado por <a href="https://jesuschicano.es" class="link">Jesús Chicano</a>.
		<?php }else if (ICL_LANGUAGE_CODE == 'en'){ ?>
		All rights reserved &copy; 2017. Developed by <a href="https://jesuschicano.es" class="link">Jesus Chicano</a>.
		<?php } ?>
	</div>
</footer><!-- #colophon -->

WPML detecta cuando su variable global ICL_LANGUAGE_CODE corresponda a un idioma u otro, mostrará un texto diferente para cada idioma. Los códigos que se deben comparar son los los mismos que hemos copiado del panel de control (en la imagen superior).

Obviamente es un trabajo que debemos de implementar manualmente para que al cambiar entre idiomas, la traducción sea efectiva y no nos encontremos con una mezcla de idiomas en toda la web.

 

Deja un comentario