Compondo Cadeias Complexas
Desempenhe esta tarefa para inserir subcadeias de variáveis em uma cadeia localizada.
Antes de Iniciar
Sobre Esta Tarefa
Procedimento
- No catálogo de mensagens, especifique a localização da substituição na cadeia a ser recuperada. Os componentes da variável são designados por chaves (por exemplo, {0}).
- No código do aplicativo, crie uma instância LocalizableTextFormatter, transmitindo uma matriz que contém o valor da variável. Se a subcadeia da variável precisar ser localizada, você pode criar uma instância LocalizableTextFormatter aninhada e transmitir a instância em vez de um valor.
- Gere uma cadeia localizada. Quando um método format é chamado em uma instância do formatador, o formatador pega cada elemento da matriz transmitida na etapa anterior e o substitui pelo marcador com o índice correspondente na cadeia recuperada do catálogo de mensagens. Por exemplo, o valor no índice 0 na matriz substitui a variável {0} na cadeia recuperada.
Exemplo
A linha a seguir de um catálogo de mensagens em inglês mostra
uma cadeia com uma única substituição:
successfulTransaction = The operation on account {0} was successful.
A mesma chave em catálogos de mensagens de outros idiomas terá uma tradução dessa cadeia com a variável na localização apropriada para cada idioma.
O código a seguir mostra a criação de uma matriz de argumentos com um único elemento e a criação e a utilização de uma instância LocalizableTextFormatter:
public void updateAccount(String transactionType) {
...
Object[] arg = {new String(this.accountNumber)};
...
LocalizableTextFormatter successLTF =
new LocalizableTextFormatter ("BankingResources",
"successfulTransaction",
"BankingSample",
arg);
...
successLTF.format(this.applicationLocale);
...
}