Este artículo fue creado por Carlos Cámara para el blog Gnumla.comel 05 de Mayo de 2011 y se republica aquí porque su contenido aun tiene vigencia y puede resultar útil.


Mejoras de idioma y traducción en Joomla! 1.6

Logo de Joomla! con las banderas de España, Chile, Colombia y EcuadorCuriosamente a pesar de lo mucho que se habló de las novedades que traía Joomla! 1.6 en toda la Joomlaesfera hispana, apenas tuvieron repercusión las mejoras en el sistema de idiomas y de traducciones de la nueva versión. Conocer estas novedades nos ayudará a internacionalizar nuestros sitios, a mejorar la integración de las traducciones y a exigir una gestión de los idiomas de calidad en las extensiones que compremos.

Si Joomla! 1.5 dio un gran paso de cara a la internacionalización de Joomla!, la versión 1.6 sigue afinando el sistema de idiomas y tiene en cuenta las características de los idiomas distintos del inglés. Sin embargo, excepto por el estupendo tutorial multilenguaje en Joomla! 1.6 de ayudajoomla, no se ha hablado mucho de estas mejoras.

Múltiples idiomas por defecto

Como ya nos apuntaban en el tutorial de ayudajoomla, Joomla! 1.6 permite el uso de múltiples idiomas en un mismo sitio sin la necesidad de usar extensiones de terceros como por ejemplo Joom!fish. Así tan sólo instalando los idiomas que queramos tener en el sitio y configurando adecuadamente el uso de los idiomas, ya tendremos configurado un sitio multilingüe.

Soporte pare caracteres internacionales en las URLs

Tanto si creamos las URLs amigables usando las funciones de Joomla! como si usamos un componente de terceros, lo más probable es que estas URLs se generen a partir del campo alias de los artículos. Este campo se genera automáticamente al crear el artículo o bien lo podemos añadir nosotros, pero en cualquier caso, siempre se comprobaba que en este campo no hubiera caracteres internacionales (tildes, eñes, diéresis...) y se eliminaban estos caracteres. En Joomla! 1.6, este alias podrá lidiar con este tipo de caracteres y permitirá por tanto tener caracteres internacionales en nuestras URLs. Preparad vuestras eñes que por fin saldrán a internet ;o).

Soporte para códigos de idioma de 3 letras

Si habéis investigado un poco en los ficheros de idioma de Joomla!, os habréis dado cuenta de que suelen estar formados por un código de idioma-pais y el nombre del componente. Así por ejemplo el fichero de idioma español de España para el componente JEvents sería:

es-ES.com_jevents.ini

Aunque el español consta de dos letras, en otros idiomas como por ejemplo el bable,  sí es necesario el uso de una tercera letra para el código de idioma. Por tanto, esta medida mejora considerablemente la cantidad de personas que podrán usar Joomla! en su propio idioma y estoy deseando ver las primeras traducciones de Joomla! al idioma asturiano ;o)

Sobreescritura de los ficheros de idioma

En Joomla! 1.5 por lo general, para cambiar una palabra de una traducción era necesario modificar los ficheros de idioma de la extensión en cuestión. Tan sólo algunas extensiones como JEvents permitían hacer una versión propia con la técnica de sobreescritura que se usa en las plantillas.

La técnica de sobreescritura, conocida por su nombre anglosajón como overrides, consiste a grosso modo en crear una carpeta dentro de los ficheros de la plantilla e incluir en ella los ficheros que queremos modificar. La ventaja del overrides está en que al actualizar la extensión, los cambios que hayamos realizado no se machacarán con la actualización.

Así pues, para cambiar una traducción en Joomla! 1.6, simplemente crearemos un fichero dentro de la carpeta languages correspondiente (la que está en la raiz del sitio si es un fichero de la parte pública o la que está dentro de la carpeta administrator si es de la part privada) con el nombre del fichero de idiomas que queremos sobreescribir en administrator/languages/overrides/es-ES.com_jevents.override.ini y en ese fichero añadiremos las cadenas a cambiar.

Soporte del plural

Por fin tras muchos años de tener que traducir de forma ambigua la posibilidad de que haya un elemento o varios, por ejemplo la cadena fichero(s), en Joomla! 1.6 tendremos la posibilidad de usar cadenas específicas que según la cantidad de elementos, nos muestren la cadena en singular o en plural. Esta funcionalidad aun debe incluirla en el código el desarrollador de la extensión, pero seguro que si nos ponemos en contacto con ellos, no tienen problema en incluir este cambio.

Carpeta de idiomas dentro de la carpeta de la extensión

En Joomla! 1.6, los desarrolladores tienen la posibilidad de incluir el idioma en la misma carpeta en la que almacenan la extensión, de forma que aunque eliminemos el idioma del sitio, la traducción de la extensión siga estando disponible dentro del componente. Aunque exista esta posibilidad, la ubicación que tenían los idiomas en Joomla! 1.5 sigue siendo perfectamente válida.

Como vemos, Joomla! 1.6 ofrece grandes ventajas para un mejor uso de los idiomas en Joomla! para mejorar la comunicación con nuestros visitantes y para facilitar la adaptación del sitio a nuestras necesidades. Personalmente me parecen muy importante el soporte del plural y la posibilidad del overrides, y a vosotros ¿qué nueva funcionalidad os parece más importante?

International Enhancements for version 1.6 | docs.joomla.org

Listado de códigos de idioma ISO 639-1 | Wikipedia