Obtener nuestro idioma actual usando el Plugin WPML en WordPress

phpcode

Uno de nuestros últimos proyectos consiste en generar una tienda online en varios idiomas basada en WordPress. Esto no tendría más dificultad que usar el plugin WPML pero en esta ocasión necesitaba ir un poco más lejos. En resumen lo que sucede es que en en este desarrollo hay algo de código propio que añade funciones extra solicitadas por cliente, estas funciones a su vez devuelven mensajes de error y éxito personalizados y es necesario que estos mensajes sean devueltos en los idiomas disponibles para el proyecto.

Obtener el Idioma Actual por código para poder ejecutar mi propio código en relación con el idioma actual es algo sencillo, WPML lo pone muy fácil gracias a la siguiente constante con el fin de obtener el código del idioma actual (e.j. en, es, fr): ICL_LANGUAGE_CODE;


// constantes
echo ICL_LANGUAGE_CODE; // devuelve codigo idioma
echo ICL_LANGUAGE_NAME; // devuelve nombre idioma
echo ICL_LANGUAGE_NAME_EN; // devuelve nombre inglés como idioma

¿Y esto cómo lo implementamos?

Supongamos que tu sitio está en dos idiomas, Inglés (en) y Español (es) y quieres comprobar el código de idioma actual, para poder llamar una función o simplemente ejecutar un fragmento de código en relación con el idioma que se está mostrando mediante una de estas formas que provee el plugin en tuweb.com o tuweb.com/en o tuweb.com?lang=”en” , entonces se puede utilizar este código:


if (ICL_LANGUAGE_CODE == 'en') {
// hacer algo si el idioma es ingles
} elseif (ICL_LANGUAGE_CODE == 'es') {
// hacer algo si el idioma es español
}

Claro que podemos simplificarlo un poco partiendo de la base de que conocemos los idiomas que nuestra web puede soportar. Por ejemplo:

if (ICL_LANGUAGE_CODE == 'es') {
// hacer algo si el idioma es castellano
} else {
// hacer algo si el idioma está en un idioma diferente.
}

Y tachín, tachán, resuelto el entuerto. ^_^

Anuncios
Obtener nuestro idioma actual usando el Plugin WPML en WordPress