Anidación de instancias de formateador para subseries adaptadas al entorno local
La posibilidad de sustituir subseries variables en las series recuperadas de catálogos de mensajes añade un nivel de flexibilidad al paquete de texto adaptable al entorno local, pero esta posibilidad es de uso limitado a no ser que el valor de la variable se pueda adaptar al entorno local. Puede adaptar este valor al entorno local anidando instancias de LocalizableTextFormatter.
Antes de empezar
Procedimiento
- En el catálogo de mensajes, añada entradas que correspondan a los posibles valores de la subserie de variables.
- En código de aplicación, cree una instancia de LocalizableTextFormatter para la subserie de variables, estableciendo los valores de adaptación al entorno local necesarios.
- Cree una instancia de LocalizableTextFormatter para la serie principal, transfiriendo una matriz que contiene la instancia de formateador para la subserie de variables.
Ejemplo
La siguiente línea de un catálogo de mensajes en español muestra
una entrada de serie con dos sustituciones y entradas para dar soporte a la variable adaptable al
entorno local en el índice 0 (la segunda variable de la serie, el número de cuenta, no es
necesario adaptarla al entorno local):
successfulTransaction = La {0} operación realizada en la cuenta {1} ha sido satisfactoria. depositOpString = repositorio withdrawOpString = anulación
El código siguiente muestra la creación
de la instancia de formateador anidada y su inserción (con la variable de número de
cuenta) en la instancia de formateador principal:
public void updateAccount(String transactionType) { ... // Depósito correcto LocalizableTextFormatter opLTF = new LocalizableTextFormatter("BankingResources", "depositOpString", "BankingSample"); Object[] args = {opLTF, new String(this.accountNumber)}; ... LocalizableTextFormatter successLTF = new LocalizableTextFormatter ("BankingResources", "successfulTransaction", "BankingSample", args); ... successLTF.format(this.applicationLocale); ... }