Aninhando Instâncias do Formatador para Subcadeias Localizadas
A capacidade de substituir subcadeias de variáveis nas cadeias recuperadas dos catálogos de mensagens adiciona um nível de flexibilidade ao pacote de texto localizável, mas essa capacidade é de utilização limitada, a menos que o valor da variável possa ser localizado. Você pode localizar esse valor aninhando instâncias LocalizableTextFormatter.
Antes de Iniciar
Procedimento
- No catálogo de mensagens, inclua entradas que correspondam a valores potenciais para a subcadeia da variável.
- No código do aplicativo, crie uma instância LocalizableTextFormatter para a subcadeia da variável, definindo os valores de localização requeridos.
- Crie uma instância LocalizableTextFormatter para a cadeia primária, transmitindo uma matriz que contém a instância do formatador para a subcadeia da variável.
Exemplo
A linha a seguir de um catálogo de mensagens em inglês mostra
uma entrada de cadeia com duas substituições e entradas para suportar a variável
localizável no índice 0 (a segunda variável na cadeia, o número da conta,
não precisa ser localizado):
successfulTransaction = A operação {0} na conta {1} foi bem-sucedida. depositOpString = deposit withdrawOpString = withdrawal
O código a seguir mostra a criação
da instância aninhada do formatador e sua inserção (com a variável do número
da conta) na instância primária do formatador:
public void updateAccount(String transactionType) { ... // Depósito efetuado com êxito 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); ... }