Prise en charge de l'API de localisation
Le package com.ibm.websphere.i18n.localizabletext contient les classes et interfaces nécessaires à la localisation du texte.
- java.util.Locale
- java.util.TimeZone
- java.util.ResourceBundle
- java.text.MessageFormat
Pour plus d'informations concernant les API Java standard, voir Globalisation : ressources d'apprentissage.
Le package de texte localisable encapsule la prise en charge assurée par Java et l'étend pour une utilisation efficace et simple en environnement réparti. La principale classe utilisée par les programmeurs d'applications est LocalizableTextFormatter. Les instances de cette classe sont généralement créées dans des programmes serveurs, mais elles peuvent également l'être par des programmes client. Les instances Formatter sont créées pour des noms et des clés de regroupements de ressources particuliers. Les programmes client qui reçoivent l'instance LocalizableTextFormatter appelle sa méthode de formatage. Cette méthode utilise l'environnement local de l'application cliente pour extraire le regroupement de ressources approprié et composer le message propre à cet environnement local sur la base de la clé.
Par exemple, supposons qu'une application distribuée prenne en charge les environnements locaux français et anglais et que le serveur utilise un environnement local anglais, et le client, un environnement local français. Le serveur crée deux regroupements de ressources, l'un pour l'anglais et l'autre pour le français. Lorsque le client effectue une demande qui déclenche un message, le serveur crée un objet LocalizableTextFormatter contenant le nom du regroupement de ressources et la clé associés au message, puis renvoie l'instance au client.
Lorsque le client reçoit l'objet LocalizableTextFormatter, il appelle la méthode de formatage de celui-ci. En utilisant cet environnement local et le nom du regroupement de ressources, la méthode de formatage détermine le regroupement de ressources qui prend en charge l'environnement local français et extrait le message correspondant à la clé du regroupement de ressources français. Le formatage du message est transparent pour le client.
- L'application cliente définit les valeurs de fuseau horaire et d'environnement local dans l'instance LocalizableTextFormatter, soit en les transmettant explicitement ou en utilisant les valeurs par défaut.
- Un appel LocalizableTextFormatterEJBFinder est effectué pour extraire une référence au bean enterprise de formatage.
- Les informations de l'instance LocalizableTextFormatter (fuseau horaire et environnement local du client) sont transmises au bean de formatage.
- Le bean de formatage utilise le nom du regroupement de ressources, la clé du message, le fuseau horaire et l'environnement local pour composer un message dans la langue appropriée.
- Le bean de formatage renvoie le message formaté au client.
- Le message formaté est inséré dans l'instance LocalizableTextFormatter et renvoyé par la méthode de formatage.
L'appel de la méthode de formatage nécessite au plus un appel éloigné, qui permet de contacter le bean de formatage. L'instance LocalizableTextFormatter peut aussi facultativement mettre en mémoire cache les messages formatés, ce qui rend inutile l'appel éloigné lors des utilisations ultérieures de ces messages. De plus, vous pouvez définir une chaîne de secours afin qu'elle puisse renvoyer une chaîne lisible si elle ne peut pas accéder au catalogue de message approprié.
Les regroupements de ressources peuvent être stockés localement. Le package de texte localisable fournit une variable statique qui indique si ces regroupements sont stockés localement (LocalizableConfiguration.LOCAL) ou à distance (LocalizableConfiguration.REMOTE). Toutefois, la définition de cette variable est valable pour toutes les applications qui s'exécutent sur la même machine virtuelle Java.