Comunidad de diseño web y desarrollo en internet online

Sistema de localizacion en Actionscript 3

Acabo de terminar una librería que se encarga de la localización .

Básicamente consta de una clase principal a la que se le añade información de localización por medio de XMLs. El uso es bastante simple y permite agregar gran flexibilidad a la aplicación.

Para usarlo solo tenemos que cargar un XML y pasárselo a una instancia del LocalizationManager usando el método addLocalization.

Un ejemplo de la estructura esperada del XML es el siguiente. De todos modos, pueden emplear cualquier XML siempre y cuando creen un parseador para el mismo (ver IParser).

Código :

<?xml version="1.0" encoding='UTF-8'?>
<lang>
   
   <info langId="en"/>
   
   <texts>
      <text id="test1" text="This is test 1"/>
      <text id="test2" text="Complex data example: {toReplace}"/>
   </texts>
   
</lang>


Luego podemos usarlo de la siguiente manera:

Código :

private function onXMLLoaded (e:Event):void
{
   var loader:URLLoader;
   loader = e.currentTarget as URLLoader;
   addXML(XML(loader.data));
}
private function addXML (xml:XML):void
{
   _loc = new LocalizationManager ('NO_LANG', 'NO_TEXT');
   _loc.addLocalization(xml);

   _dic = new Dictionary ();
   _dic['toReplace'] = LocalizationManager.VERSION;

   trace ('test1 -', _loc.getText('test1')); // Outputs: test1 - This is test 1
   trace ('test2 -', _loc.getText('test2')); // Outputs: test2 - Complex data example: {toReplace}
   trace ('test2 with dic -', _loc.getText('test2', _dic)); // Outputs: test2 - with dic Complex data example: v0.9.6
}


Noten que esta librería es algo mas que un simple parseador de XML, en realidad, su verdadera utilidad consiste en poder cambiar de lenguaje "on the fly" y en el reemplazo automático de las variables entre llaves.

La documentación, el .swc y el código pueden encontrarse en la pagina de Google Code del proyecto.

Espero sea útil, próximamente, unas clases para buscar campos de texto automáticamente y rellenarlos con la información de localización. Usado bien, este feature permite ahorrar muchísimo tiempo de trabajo y simplificar la creación de aplicaciones en multilenguaje, donde el programador puede abstraerse casi por completo de tener que rellenar estos campos.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate