Idiomas en Joomla

Tweet about this on Twitter0Share on Facebook0Share on Google+0Share on LinkedIn0Pin on Pinterest0

Muchas son las paginas multilenguaje hoy en día, por lo cual hemos de lidiar con la traducción de textos, url, títulos,… Joomla tiene un sistema bastante óptimo para el trato de los mismos.

A través de joomfish que es un componente de joomla podemos realizar las traducciones de menus, artículos y diverso contenidos creados a través de joomla.

En este artículo no nos enfocaremos en joomfish, ya que es un tema tratado con anterioridad en este blog y puede ver más información en este link:
http://www.canalip.com/es/blog/26-joomla/318-multiples-idiomas-en-joomla-joomfish

el-lenguaje En este artículo bajaremos más a nivel de programación, es decir, que funciones me ofrece joomla para el trato de idiomas cuando estoy creando un componente o modulo programando directamente con PHP.

Primero veremos donde guarda joomla los textos de idiomas. En la carpeta /language/ de nuestro site joomla hay un directorio para cada uno de los lenguages que queramos usar, la nomenclatura de dichos directorios no es más que el estándar del código de lenguaje. Ejemplo:

/language/es-ES/
/language/en-GB/

Dentro de esos directorios encontramos diferentes archivos *.ini en los cuales aparte de otras cosas podemos encontrar la asignación de textos a constantes de la siguiente forma:

Constante = texto en el idioma al cual pertenece este archivo
LAST_POSTS=Últimos artículos
CONTACT=Contáctenos
Bien, una vez sabemos dónde poner nuestros textos veamos como acceder a ellos desde cualquier parte de nuestro código. Eso lo haremos con la función:

JText::_(‘nombre de la constante’);
Como por ejemplo:
JText::_(‘CONTACT’);

Función que nos devolvería el texto en el idioma en el cual estuviéramos en el caso de que fuera español devolvería “Contáctenos” que es el que hemos especificado arriba.
Algo bastante útil que podemos usar cuando estamos trabajando con idiomas, es saber en cual de los idiomas esta accediendo el usuario, para ello, usaremos lo siguiente:

$lg = &JFactory::getLanguage(); // con esto obtenemos el objeto lenguaje
$language = $lg->_lang;

// con esto recibimos el string del lenguaje en el caso que este en español sera es-ES, en el caso que este en ingles en-GB,…..

Tweet about this on Twitter0Share on Facebook0Share on Google+0Share on LinkedIn0Pin on Pinterest0
<< Post Anterior
Post Siguiente >>

Leave A Response

* Denotes Required Field