Internacionalización (I18n)
I18n permite que una aplicación se pueda ver en distintos idiomas sin tener que modificarlo por cada traducción que se necesite hacer.Yupp Framework ofrece una solución completa y sencilla para I18n. Esta solución está compuesta de 3 partes:
- Un archivo de traducciones de términos, donde se especifican los textos en distintos idiomas, identificados mediante un código.
- Un helper que permite buscar el texto correspondiente a un determinado código, en un idioma seleccionado.
- Un helper para cambiar el idioma seleccionado por el usuario.
Ejemplo de archivo de traducciones
$m = I18nMessage::getInstance(); $m->a( "blog.entrada.list.title", "es", "Listado de entradas" ); $m->a( "blog.entrada.list.title", "en", "Entry list" ); $m->a( "blog.entrada.list.title", "it", "Lista d'ingresso" ); $m->a( "blog.entrada.list.action.addEntry", "es", "Agregar entrada" ); $m->a( "blog.entrada.list.action.addEntry", "en", "Add entry" ); $m->a( "blog.entrada.list.action.addEntry", "it", "Aggiungere l'ingresso" ); ...
A continuación se muestra una llamada al helper para mostrar un texto traducido. Esta llamada verifica cual es el idioma seleccionado y en base a eso, resuelve el término contra el archivo de traducciones.
echo DisplayHelper::message("blog.entrada.list.title");
La llamada al helper para seleccionar idiomas es así:
echo h('locale_chooser');
