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.
Por Zah el 15 de Agosto de 2009
Por Zguillez el 16 de Agosto de 2009
Yo ahora estoy haciendo algo similar pero para Flex
Y sí, estaría bien que hicieras un ejemplito "for dummies", para la gente que no tenga mucha idea de código y quiera saber como implementar ese sistema
Por lucasmoyano el 16 de Agosto de 2009
Por leonard77 el 16 de Agosto de 2009
gracias por compartirla
saludos
leo
Por QuieroProgramar el 16 de Agosto de 2009
Por Zguillez el 16 de Agosto de 2009
QuieroProgramar :
Es una serie de clases para manejar sites multilenguajes... con getText() y el id del texto obtendrás el texto en un idioma u otro según te interese..
Por Siriö el 16 de Agosto de 2009
http://www.flashextension.net/product.php?productid=16142
Por orochies el 17 de Agosto de 2009
Por LaMaGa el 20 de Agosto de 2009
Está muy bueno.
Y creo que la Text Catalog Tools es buenisima pero no es equivalente a esto, chequeenlo...
Por Dano el 24 de Agosto de 2009
Mis sistemas de localización estan basados en BD no en XML. El concepto puede ser casi el mismo pero me gusta mas trabajar sobre BD que por XML.
saludos
Por HernanRivas el 26 de Agosto de 2009
Y este es el motivo de la falta de ejemplos, la realidad es que esto se explico en reuniones y fuera de la documentacion del codigo no hay ejemplos de uso o algo similar.
De todos modos si puedo voy a subir algun ejemplo de uso porque no me habia dado cuenta que era poco descriptivo.
Por rabi el 26 de Agosto de 2009