Clase LocalizableTextFormatter
La clase LocalizableTextFormatter, que se encuentra en el paquete com.ibm.websphere.i18n.localizabletext, es la interfaz de programación principal para el uso del paquete de texto localizable (localizable-text). Las instancias de esta clase contienen la información necesaria para crear series específicas de cada idioma de los paquetes de recursos y claves.
- java.io.Serializable
- com.ibm.websphere.i18n.localizabletext.LocalizableText
- com.ibm.websphere.i18n.localizabletext.LocalizableTextL
- com.ibm.websphere.i18n.localizabletext.LocalizableTextTZ
- com.ibm.websphere.i18n.localizabletext.LocalizableTextLTZ
Creación e inicialización de instancias de clase
- LocalizableTextFormatter()
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName)
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName, Object[] args)
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
Se puede utilizar un cuarto método, setArguments(Object[] args), para establecer valores de localización opcionales tras la construcción. Consulte Proceso de valores específicos de aplicaciones. que aparece al final de este tema. Para obtener un ejemplo de uso, consulte Composición de series complejas.
API para formatear texto
- LocalizableText.format()
- LocalizableTextL.format(java.util.Locale locale)
- LocalizableTextTZ.format(java.util.TimeZone timeZone)
- LocalizableTextLTZ.format(java.util.Locale locale, java.util.TimeZone timeZone)
El método de formato sin argumentos utiliza los valores de entorno local y huso horario establecidos por omisión para la máquina virtual Java™. Los cuatro métodos emiten objetos LocalizableException según sea necesario.
Localización de catálogos de mensajes y el valor appName
Las aplicaciones escritas con el paquete de texto localizable pueden acceder a los catálogos de mensajes local o remotamente. En un entorno distribuido, se impone el uso remoto de catálogos de mensajes, ubicados de forma centralizada. Todos los clientes pueden utilizar los mismos catálogos, y el mantenimiento de estos es más sencillo. El formateo local es útil en situaciones de prueba y bajo determinadas circunstancias. Para dar soporte tanto a formateo local como remoto, una instancia LocalizableTextFormatter debe indicar el nombre de la aplicación de formateo.
Por ejemplo, cuando una aplicación formatea un mensaje utilizando catálogos remotos, el mensaje es formateado realmente por un enterprise bean del servidor. Aunque el paquete de texto localizable contiene el código para automatizar la búsqueda del bean de formato y emitir una llamada a él, la aplicación tiene que saber el nombre del bean de formato. Varios métodos de la clase LocalizableTextFormatter utilizan un valor descrito como appName, que hace referencia al nombre de la aplicación de formato. No es necesariamente el nombre de la aplicación en la que se establece el valor.
Carga en memoria caché de mensajes
Las instancias LocalizableTextFormatter pueden cargar opcionalmente los mensajes en la memoria caché, de forma que no hay que volver a formatearlos cuando se vayan a utilizar. De forma predeterminada, el uso de la memoria caché no está habilitado, pero puede utilizar una llamada LocalizableTextFormatter.setCacheSetting(true) para habilitarlo. Cuando la memoria caché está habilitada y se llama al método de formato, éste determina si el mensaje ya se ha formateado. De ser así, se devuelve el mensaje almacenado en memoria caché. Si el mensaje no se encuentra en la memoria caché, se formatea y se devuelve al emisor, colocando una copia en la memoria caché para un posible uso posterior.
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
- setArguments(Object[] args)
API para proporcionar información de repliegue
- setFallBackString(String message)
- setFallBackLocale(Locale locale)
- setFallBackTimeZone(TimeZone timeZone)
Para obtener un ejemplo de uso, consulte Generación de texto adaptado al entorno local.
Proceso de valores específicos de aplicaciones
El paquete de texto localizable proporciona soporte nativo para localización basado en el huso horario y el entorno local, pero también se pueden construir mensajes según otros valores. Si es necesario tener en cuenta otras variables aparte del entorno local y el huso horario en el formato del texto localizado, se pueden escribir clases de formato personalizadas.
- LocalizableTextLTZ
- LocalizableTextL
- LocalizableTextTZ
- LocalizableText
Como ejemplo, el paquete de texto localizable proporciona una clase que informa de la hora fecha (LocalizableTextDateTimeArgument). En esa clase, el formato de fecha y hora se localiza según tres valores: entorno local, huso horario y estilo.