Archivo de idioma sys.ini en Joomla!

Creado: Lunes, 01 Julio 2013 Escrito por Administrador Visto: 3768
Tamaño de letra:

Qué son .ini y sys.ini en Joomla!

Joomla! ini - sys.iniPara todo programador (o no) en Joomla!, puede resultar curioso que de tu plugin o extensión aparezcan dos archivos de idioma. Por ejemplo, de un plugin de contenido que acabo de crear, solo en idioma español tengo que generar estos dos archivos:

El archivo principal es es-ES.plg_content_miplugin.ini, pero ¿sabes para qué se utiliza el otro (sys.ini)?

Los archivos de lenguaje en Joomla!

Para que se entienda vamos a verlo de forma sencilla desde el lado del programador y no voy a hablar de Joomla! 1.5.x porque ya está obsoleto y era un poco distinto.

Imagina que estás creando un nuevo plugin de contenido. Tienes que crear un archivo XML para la instalación y desinstalación del mismo, el cual podrá contener, entre otras opciones y parámetros, etiquetas que luego serán modificadas según tu archivo .ini de idioma. Por ejemplo, observa esta parte del archivo XML de un plugin cualquiera:

...
<name>PLG_CONTENT_MIPLUGIN_NOMBRE</name>
...
<description>PLG_CONTENT_MIPLUGIN_DESCRIPTION</description>
...
<languages folder="language">
        <language tag="es-ES">es-ES/es-ES.plg_content_miplugin.ini</language>
        <language tag="es-ES">es-ES/es-ES.plg_content_miplugin.sys.ini</language>
</languages>
...
...     <option value="0">PLG_CONTENT_MIPLUGIN_COLOREAR</option>
...

Como puedes observar en este ejemplo, en los campos name y description se han puesto sendas etiquetas y también se ha definido más abajo los dos archivos de idioma español. También he añadido una etiqueta en <option> que se entenderá después.

Nota: Aunque yo en algunos plugins no lo he hecho, es recomendable poner etiquetas como las anteriors PLG_CONTENT_MIPLUGIN_NOMBRE que son únicas y no se sobreescribirán: imagina que tienes 5 plugins y la etiqueta es DESCRIPTION. Si el archivo de idioma de tu plugin no se carga, esa etiqueta -lo he comprobado- será sobreescrita por la descripción de otro plugin.

La descripción del plugin (la etiqueta PLG_CONTENT_MIPLUGIN_DESCRIPTION) es mostrada en Joomla! en la administración en varios sitios:

El archivo es-ES.plg_content_miplugin.ini es el archivo principal de idioma y contiene todo el texto que es usado.

El archivo sys.ini

El archivo es-ES.plg_content_miplugin.sys.ini se usa para obtener el nombre y la descripción de la extensión. En un componente es algo diferente, por ejemplo, las cadenas de idioma necesarias cuando no estás en el componente, se suelen guardar en este archivo sys.ini. También según la web oficial (enlace al final) los archivos sys.ini se pueden utilizar:

La localización de los archivos de idioma la puedes ver aquí. Lo mejor que puedes hacer para entender el idioma de un componente, es descargar uno y estudiarlo.

Ejemplo archivos de idioma en un plugin

Entendiendo todo esto y viendo el ejemplo del código anterior de un plugin de contenido:

El archivo .ini podría quedar de este modo:

PLG_CONTENT_MIPLUGIN_COLOREAR="Colorear con CSS."

Y el archivo .sys.ini podría quedar de este otro modo:

PLG_CONTENT_MIPLUGIN_NOMBRE="El plugin de karmany.NET"
PLG_CONTENT_MIPLUGIN_DESCRIPTION="Este plugin permite colorear el código HTML mediante archivos de estilo CSS."

Nota: Un archivo ini de idioma debes guardarlo con codificación UTF-8. Son muy importantes las comillas ("") y como se te olvide poner una, el archivo de idioma no cargará.

El resultado en el Gestor de Extensiones es este:

Gestor de Extensiones en Joomla!

Referencias

Documentación oficial de Joomla! [ENG]: Especificación de los archivos de idioma.

Última actualización: Lunes, 01 Julio 2013