Adaptar los ficheros de idioma a Joomla! 1.6

Escrito por Carlos M. Cámara.

Logo de Joomla! con las banderas de España, Chile, Colombia y Ecuador Joomla! 1.6 nos ha traído grandes mejoras en el uso de los idiomas, pero para tener estas mejoras es necesario adaptar los ficheros de idioma de los componentes al nuevo formato que utilizan. En este artículo os contamos cómo convertir los ficheros de idioma de vuestros componentes a la nueva versión de Joomla!.

Una de las mejoras técnicas más importantes en la gestión de los idiomas en Joomla! 1.6 es la estandarización de los ficheros .ini donde se guardan las traducciones. Los cambios en el formato de las traducciones traen algunas mejoras como por ejemplo el uso de funciones nativas de PHP para gestionar las traducciones y desde luego ahora todas las cadenas están relacionadas con su extensión. Os contamos algunas de las mejoras en el artículo Mejoras de idioma y traducción en Joomla! 1.6.

Pero estos cambios han provocado que los desarrolladores de extensiones tengan que actualizar sus ficheros de traducciones y en algunos casos es posible que los traductores de las extensiones no sigan manteniéndolas. Adaptar los ficheros de idioma es muy sencillo, y seguro que tras leer este artículo podéis contribuir con muchas extensiones.

Dónde buscar

Lo primero es localizar los ficheros de idioma. Tanto en Joomla! 1.5 como en Joomla! 1.6 los ficheros de idioma español se guardan en dos carpetas principales:

  • [JOOMLA]/languages/es-ES/
  • [JOOMLA]/administrator/languages/es-ES/

Dentro de estas carpetas encontraréis muchos ficheros que tienen la estructura es-ES.NOMBRE_EXTENSIÓN.ini . Estos son los ficheros que contienen todas las claves que hay que traducir.

Qué hay que cambiar

Una vez localizados estos ficheros, podemos comprobar que los ficheros tienen el formato de Joomla! 1.5 fácilmente. Simplemente abrimos el fichero y nos encontraremos con una lista de palabras de la forma:

	CLAVE DE TRADUCCIÓN 1 = Cadena traducida 1
	CLAVE DE TRADUCCIÓN 2 = Cadena traducida 2

Podemos ver como las claves de traducción que estén formadas por varias palabras no están unidas por un guión bajo y lo más imporante, que las cadenas traducidas no se encuentran entre comillas dobles.

Los cambios que hay que realizar en los ficheros son los siguientes:

  • Unir las palabras de la clave de traducción por guiones bajos: _
  • Poner las cadenas traducidas entre comillas dobles
  • Si alguna de las cadenas ya tiene una comilla doble, reemplazarla por la siguiente cadena (incluídas las comillas dobles) : "_QQ_"

Una vez hecho esto tan sólo faltará añadir las claves de traducción que falta y traducirlas ;o)

Haciéndolo todo automágicamente

Los cambios que hemos expuesto son muy sencillos y se pueden hacer manualmente, pero si hay muchas claves de traducción o se trata de un componente con muchos ficheros, podemos estar una tarde entera para conseguir adaptar los ficheros. Por suerte en la comunidad Joomla! hay mucha gente dispuesta a ayudar y en este caso Nicholas Dionysopoulos (desarrollador de Akeeba Backup) ha publicado un script en PHP que realiza esta tarea de forma automática. Este es su código:

Como véis para ejecutarlo simplemente tenéis que tener PHP instalado en vuestro ordenador, crear el fichero convert.php que contenga este código y ejecutar esta orden desde la línea de comandos:

php RUTA_HASTA_EL_SCRIPT/convert.php NombreFicheroTraducción.ini

El script generará automáticamente el nuevo fichero y os hará un respaldo del fichero antiguo además de crear un fichero con los cambios que ha introducido.

El paso final

Finalmente una vez que hayáis podido hacer el cambio de ficheros, simplemente añadid los nuevos ficheros a la carpeta de idiomas de vuestro Joomla! 1.6 y veréis el componente traducido.

Y por supuesto, lo más importante: No os olvidéis de compartir los nuevos ficheros de idiomas o bien a través del desarrollador del componente (es la mejor opción) o bien a través de los foros oficiales de Joomla! o incluso si queréis enviándonos los ficheros para que los publiquemos en Gnumla.

Referencias

http://www.dionysopoulos.me/blog/langs-and-unified-packages || Blog de Nicholas Dionysopoulos (Inglés)

http://snipt.net/nikosdion/langconvert/ || Área de Nicholas Dionysopoulos en Snipt.net

Sobre el autor
Carlos M. Cámara
Author: Carlos M. Cámara

Me apasiona el desarrollo web y trabajar para conseguir una web que cumpla con sus visitantes y sus propietarios y siempre estoy dispuesto a trabajar en proyectos interesantes. Mi especialidad es resolver problemas ;o).

Trabajo con Joomla! desde sus inicios y desde 2010 colaboro activamente con JEvents ayudando a otros usuarios a poder comunicar sus eventos y desarrollando partes del componente.

Contactar


Comentarios  

 
0 #1 Johan 26-10-2011 23:35
Saludos!
Estoy desarrollando un componente para Joomla 1.7.X sin embargo no he logrado que el componente llame al archivo .ini no hay traducción de las etiquetas. Tengo los archivos en el formato adecuado (Unir las palabras de la clave de traducción por guiones bajos: _ ; Poner las cadenas traducidas entre comillas dobles; No uso comilla doble en la traducción)

¿Los archivos de idioma se llaman automáticamente ? ¿debo hacer algo adicional para que el componente que estoy desarrollando llame al archivo .ini de la traducción?

Gracias por la ayuda y por el artículo.
 
 
0 #2 Carlos M. Cámara 27-10-2011 08:44
Los ficheros de idioma de tu componente se cargan automáticamente , si todo está correctamenete definido. No obstante siempre puedes forzar la carga de otros ficheros de idioma siguiendo los pasos de este enlace:

docs.joomla.org/Specification_of_language_files#Loading_any_language_file.2C_anywhere

En cualquier caso comprueba que estás siguiendo las indicaciones de este enlace para la gestión de idiomas:

docs.joomla.org/Developing_a_Model-View-Controller_%28MVC%29_Component_for_Joomla!1.6_-_Part_08
 

No tiene permisos para publicar comentarios