Utilidades para facilitar la internacionalización.
Mediante las utilidades propuestas se puede conseguir una internacionalización que sea independiente del sistema de internacionalización elegido. Siguiendo un patrón similar a la librería commons-logging de Apache, estas utilidades de internacionalización separan la capa de acceso a los diccionarios del uso de las cadenas. Por un lado se utilizan los managers de internacionalización en las clases y por otro lado se pueden conectar esos managers a un sistema propio. Todo esto se consigue mediante el uso de factorías para obtener los managers de internacionalización.
La parametrización básica se realiza mediante el fichero i18n/i18n.properties. En este fichero se indica qué clase será la encargada de la instanciación de los managers (tanto la factoría como los managers han de ajustarse a los interfaces indicados). La factoría general recurrirá a las factorías indicadas cada vez que se quiera obtener un manager para realizar una internacionalización.
Ejemplo de uso:
public class ExampleI18n {
(...)
private static II18nManager i18n = I18nFactory.getI18nManager("clave_manager");
(...)
public void method() {
System.out.writeln(i18n.getLocalMessage("clave"));
}
(...)
}
donde El paquete incluye una implementación base de internacionalización preconfigurada que cubre el cacheo de los managers encargados al acceso de los diccionarios (basados en ficheros de recursos dispuestos en la carpeta i18/dictionaries). En función de la localización se utilizará el fichero de recursos que se ajuste al país, lengua y variante que haya disponible
@see java.util.ResourceBundle