Unterstützung der Localization-API

Das Paket com.ibm.websphere.i18n.localizabletext enthält Klassen und Schnittstellen zum Lokalisieren von Text.

Dieses Paket verwendet die Internationalisierungsfunktionen der Standard-Java-APIs einschließlich der folgenden Klassen ausgiebig:
  • java.util.Locale
  • java.util.TimeZone
  • java.util.ResourceBundle
  • java.text.MessageFormat

Weitere Informationen zu den Standard-Java-APIs finden Sie im Artikel Globalisierung: Lernmaterial.

Das LocalizableText-Paket schließt die Java-Unterstützung ein und erweitert sie, um eine effiziente und einfache Verwendung in einer verteilten Umgebung zu ermöglichen. Die primäre Klasse, die von Anwendungsprogrammierern verwendet wird, ist LocalizableTextFormatter. Instanzen dieser Klasse werden normalerweise in Serverprogrammen erstellt, können jedoch auch von Clientprogrammen erstellt werden. Formatter-Instanzen werden für spezifische Namen und Schlüssel von Ressourcenpaketen erstellt. Clientprogramme, die eine LocalizableTextFormatter-Instanz empfangen, rufen ihre format-Methode auf. Diese Methode verwendet die Locale der Clientanwendung, um das entsprechende Ressourcenpaket abzurufen und eine Locale-spezifische Nachricht basierend auf dem Schlüssel zusammenzusetzen.

Nehmen Sie z. B. an, dass eine verteilte Anwendung die französische und die englische Locale unterstützt. Der Server verwendet die englische Locale und der Client die französische Locale. Der Server erstellt zwei Ressourcenpakete, eines für Englisch und eines für Französisch. Wenn der Client eine Anforderung absetzt, die eine Nachricht auslöst, erstellt der Server eine LocalizableTextFormatter-Instanz, die den Namen des Ressourcenpakets und den Schlüssel für die Nachricht enthält und die Instanz wieder an den Client übergibt.

Wenn der Client die LocalizableTextFormatter-Instanz empfängt, ruft er die format-Methode des Objekts auf. Durch Verwendung der Locale und des Namens des Ressourcenpakets ermittelt die format-Methode den Namen des Ressourcenpakets, das die französische Locale unterstützt, und ruft die Nachricht, die dem Schlüssel des französischen Ressourcenpakets entspricht, ab. Die Formatierung der Nachricht ist für den Client erkennbar.

In diesem einfachen Beispiel sind die Ressourcenpakete zentral auf dem Server installiert. Sie müssen nicht auf dem Client installiert sein. Ein Teil des LocalizableText-Pakets ist die Infrastruktur zur Unterstützung zentralisierter Kataloge. Diese Implementierung verwendet eine Enterprise-Bean (eine Stateless-Session-Bean, die mit dem LocalizableText-Paket bereitgestellt wird), um auf die Nachrichtenkataloge zuzugreifen. Wenn der Client die format-Methode für die LocalizableTextFormatter-Instanz aufruft, treten folgende Ereignisse ein:
  1. Die Clientanwendung definiert die Werte für Zeitzone und Locale in der LocalizableTextFormatter-Instanz, indem er sie explizit bzw. über die Standardwerte übergibt.
  2. Ein LocalizableTextFormatterEJBFinder-Aufruf wird durchgeführt, um eine Referenz auf die Formatter-Bean abzurufen.
  3. Daten von der LocalizableTextFormatter-Instanz einschließlich der Zeitzone und Locale des Clients werden an die formatierende Bean gesendet.
  4. Die formatierende Bean verwendet den Namen des Ressourcenpakets, den Nachrichtenschlüssel, die Zeitzone und die Locale, um eine sprachspezifische Nachricht zusammenzufügen.
  5. Die Formatter-Bean gibt die formatierte Nachricht an den Client zurück.
  6. Die formatierte Nachricht wird in die LocalizableTextFormatter-Instanz eingefügt und von der format-Methode zurückgegeben.

Für einen Aufruf der format-Methode ist mindestens ein ferner Aufruf erforderlich, um eine Verbindung zur Formatter-Bean herzustellen. Alternativ dazu kann die LocalizableTextFormatter-Instanz die formatierten Nachrichten zwischenspeichern, sodass bei nachfolgenden Verwendungen kein ferner Aufruf mehr erforderlich ist. Darüber hinaus können Sie eine Zurücksetzungszeichenfolge festlegen, sodass die Anwendung eine lesbare Zeichenfolge auch zurückgeben kann, wenn sie auf den entsprechenden Nachrichtenkatalog nicht zugreifen kann.

Die Ressourcenpakete können lokal gespeichert werden. Das LocalizableText-Paket stellt eine statische Variable bereit, die angibt, ob die Pakete lokal (LocalizableConfiguration.LOCAL) oder fern (LocalizableConfiguration.REMOTE) gespeichert werden. Die Einstellung dieser Variablen gilt jedoch für alle Anwendungen, die auf derselben JVM ausgeführt werden.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rin_ltapi
Dateiname:rin_ltapi.html