Suporte à API de Localização
O pacote com.ibm.websphere.i18n.localizabletext contém classes e interfaces para localizar texto.
- java.util.Locale
- java.util.TimeZone
- java.util.ResourceBundle
- java.text.MessageFormat
Para obter informações adicionais sobre as APIs Java padrão, consulte Globalização: Recursos para Aprendizado.
O pacote localizable-text agrupa o suporte Java e o estende para uso simples e eficiente em um ambiente distribuído. A classe primária utilizada por programadores de aplicativos é LocalizableTextFormatter. Instâncias dessa classe são geralmente criadas em programas servidores, mas programas clientes também podem criá-las. Instâncias de formatador são criadas para nomes e chaves específicos de pacote de recursos. Os programas clientes que recebem uma instância de LocalizableTextFormatter chamam seu método format. Esse método utiliza o locale do aplicativo cliente para recuperar o pacote de recursos apropriado e compor uma mensagem específica do locale com base na chave.
Por exemplo, suponha que um aplicativo distribuído suporte os locales Francês e Inglês; o servidor está utilizando um locale Inglês e o cliente um locale Francês. O servidor cria dois pacotes de recursos, um para Inglês e um para Francês. Quando o cliente faz um pedido que aciona uma mensagem, o servidor cria uma instância de LocalizableTextFormatter que contém o nome do pacote de recursos e a chave para a mensagem e transmite a instância de volta para o cliente.
Quando o cliente recebe a instância LocalizableTextFormatter, ele chama o método format do objeto. Pelo uso do locale e nome do pacote de recursos, o método format determina o nome do pacote de recursos que suporta o locale Francês e recupera a mensagem que corresponde à chave do pacote de recursos Francês. A formatação da mensagem é transparente para o cliente.
- O aplicativo cliente define os valores de fuso horário e locale na instância de LocalizableTextFormatter, ou transmitindo-os explicitamente ou por meio de valores padrão.
- Uma chamada LocalizableTextFormatterEJBFinder é feita para recuperar uma referência para um bean formatador.
- As informações da instância de LocalizableTextFormatter, incluindo o fuso horário e o código do idioma do cliente, são enviadas para o bean de formatação.
- O bean formatador utiliza o nome do pacote de recursos, a chave da mensagem, o fuso horário e o locale para compor uma mensagem específica do idioma.
- O bean formatador retorna a mensagem formatada para o cliente.
- A mensagem formatada é inserida na instância de LocalizableTextFormatter e retornada pelo método format.
Uma chamada para o método format exige no máximo uma chamada remota, para entrar em contato com o bean formatador. Como alternativa, a instância de LocalizableTextFormatter pode armazenar em cache mensagens formatadas, eliminando a chamada remota para usos subsequentes. Além disso, é possível definir uma cadeia alternativa para que o aplicativo possa retornar uma cadeia legível mesmo se não puder acessar o catálogo de mensagens apropriado.
Os pacotes de recursos podem ser armazenados localmente. O pacote localizable-text fornece uma variável estática que indica se os pacotes são armazenados localmente (LocalizableConfiguration.LOCAL) ou remotamente (LocalizableConfiguration.REMOTE). Entretanto, a definição dessa variável se aplica a todos os aplicativos em execução na mesma Java virtual machine.