Soporte para la API de localización
El paquete com.ibm.websphere.i18n.localizabletext contiene clases e interfaces para localizar (traducir y adaptar) texto.
- java.util.Locale
- java.util.TimeZone
- java.util.ResourceBundle
- java.text.MessageFormat
Para obtener más información sobre las API Java estándar, consulte Globalización: recursos de aprendizaje.
El paquete de texto localizable (localizable-test) incluye el soporte de Java y lo amplía para un uso sencillo y eficaz en un entorno distribuido. La clase principal que utilizan los programadores de aplicaciones es LocalizableTextFormatter. En los programas servidores se suelen crear instancias de esta clase, aunque los programas clientes también las pueden crear. Las instancias de los formateadores se crean para nombres y claves de paquetes de recursos específicos. Los programas cliente que reciben una instancia de LocalizableTextFormatter llama a su método de formato. Este método utiliza el entorno local de la aplicación cliente para recuperar el paquete de recursos adecuado y componer un mensaje concreto del entorno local basado en la clave.
Por ejemplo, supongamos que una aplicación distribuida tiene soporte para los entornos locales español e inglés; el servidor utiliza un entorno local en inglés y el cliente un entorno local en español. El servidor crea dos paquetes de recursos, uno para inglés y otro para español. Cuando el cliente hace una solicitud que desencadena un mensaje, el servidor crea una instancia de LocalizableTextFormatter que contiene el nombre del paquete de recurso y la clave del mensaje y pasa la instancia de nuevo al cliente.
Cuando el cliente recibe la instancia LocalizableTextFormatter, llama al método de formato del objeto. Mediante el uso del entorno local y el nombre del paquete de recursos, el método de formato determina el nombre del paquete de recursos que da soporte al entorno local español y recupera el mensaje que corresponde a la clave del paquete de recursos español. El formateo de mensajes es transparente para el cliente.
- La aplicación cliente establece los valores de huso horario y entorno local en la instancia LocalizableTextFormatter, ya sea pasándolos explícitamente o a través de valores predeterminados.
- Se realiza una llamada a LocalizableTextFormatterEJBFinder para recuperar una referencia para el bean de formato.
- La información de la instancia LocalizableTextFormatter, incluido el entorno local y el huso horario del cliente, se envía al bean de formato.
- El bean de formato utiliza el nombre del paquete de recursos, la clave del mensaje, el huso horario y el entorno local para componer un mensaje localizado (traducido, concreto del idioma).
- El bean de formato devuelve el mensaje formateado al cliente.
- El mensaje formateado se inserta en la instancia de LocalizableTextFormatter y devuelta por el método de formato.
Una llamada al método de formato necesita de, al menos, una llamada remota para ponerse en contacto con el bean de formato. Como alternativa, la instancia LocalizableTextFormatter puede utilizar opcionalmente la memoria caché para mensajes formateados, eliminando la llamada remota en usos posteriores. Además se puede establecer una serie de repliegue, de forma que dicha aplicación pueda devolver una serie legible, incluso si no puede acceder al catálogo de mensajes adecuado.
Los paquetes de recursos se pueden almacenar localmente. El paquete de texto de localización proporciona una variable estática que indica si los paquetes se almacenan localmente (LocalizableConfiguration.LOCAL) o en remoto (LocalizableConfiguration.REMOTE). No obstante, el establecimiento de esta variable se aplica a todas las aplicaciones que se ejecuten en la misma Máquina virtual Java.