Klasse "LocalizableTextFormatter"
Die Klasse "LocalizableTextFormatter" im Paket "com.ibm.websphere.i18n.localizabletext" ist die primäre Programmierschnittstelle für die Verwendung des Pakets "localizable-text". Instanzen dieser Klasse enthalten die Informationen, die zum Erstellen sprachspezifischer Zeichenfolgen aus Schlüsseln und Ressourcenpaketen erforderlich sind.
- java.io.Serializable
- com.ibm.websphere.i18n.localizabletext.LocalizableText
- com.ibm.websphere.i18n.localizabletext.LocalizableTextL
- com.ibm.websphere.i18n.localizabletext.LocalizableTextTZ
- com.ibm.websphere.i18n.localizabletext.LocalizableTextLTZ
Erstellung und Initialisierung von Klasseninstanzen
- LocalizableTextFormatter()
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName)
- LocalizableTextFormatter(String resourceBundleName, String patternKey, String appName, Object[] args)
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
Sie können eine vierte Methode, setArguments(Object[] args), verwenden, um nach der Erstellung optionale Lokalisierungswerte festzulegen. Lesen Sie den Abschnitt Anwendungsspezifische Werte am Ende dieses Artikels. Ein Verwendungsbeispiel finden Sie im Artikel Komplexe Zeichenfolgen erstellen.
API für Textformatierung
- LocalizableText.format()
- LocalizableTextL.format(java.util.Locale locale)
- LocalizableTextTZ.format(java.util.TimeZone timeZone)
- LocalizableTextLTZ.format(java.util.Locale locale, java.util.TimeZone timeZone)
Die format-Methode ohne Argumente verwendet die Werte "locale" und "time-zone", die als Standardwerte für die JVM (Java™ Virtual Machine) definiert wurden. Alle vier Methoden erstellen bei Bedarf LocalizableException-Objekte.
Position der Nachrichtenkataloge und des appName-Werts
Anwendungen, die mit dem localizable-text-Paket geschrieben wurden, können lokal oder fern auf Nachrichtenkataloge zugreifen. In einer verteilten Umgebung ist die Verwendung ferner, zentral abgelegter Nachrichtenkataloge angebracht. Alle Clients können dieselben Kataloge verwenden, und die Verwaltung der Kataloge wird vereinfacht. Die lokale Formatierung ist in Testsituationen nützlich und unter manchen Bedingungen geeignet. Wenn Sie die lokale oder ferne Formatierung unterstützen möchten, muss eine LocalizableTextFormatter-Instanz den Namen der Formatierungsanwendung anzeigen.
Wenn z. B. eine Anwendung eine Nachricht mit fernen Katalogen formatiert, wird die Nachricht tatsächlich von einer Enterprise-Bean auf dem Server formatiert. Obwohl das localizable-text-Paket den Code zur Automatisierung des Lookup der Formatter-Bean sowie Informationen zu den Gründen für einen Aufruf der Bean enthält, muss die Anwendung den Namen der Formatter-Bean kennen. Verschiedene Methoden in der Klasse "LocalizableTextFormatter" verwenden einen Wert, der mit appName beschrieben wird und auf den Namen der Formatierungsanwendung verweist. Dies ist nicht zwangsläufig der Name der Anwendung, in der der Wert definiert ist.
Caching von Nachrichten
LocalizableTextFormatter-Instanzen können formatierte Nachrichten zwischenspeichern, damit sie bei nochmaligem Bedarf nicht erneut formatiert werden müssen. Das Caching ist standardmäßig nicht aktiviert, aber mit dem Aufruf LocalizableTextFormatter.setCacheSetting(true) können Sie das Caching aktivieren. Wenn das Caching aktiviert ist und die format-Methode aufgerufen wurde, legt die Methode fest, ob die Nachricht bereits formatiert wurde. Ist dies der Fall, wird die zwischengespeicherte Nachricht zurückgegeben. Wenn die Nachricht nicht im Cache ermittelt wird, wird sie formatiert und an den aufrufenden Prozess (Caller) zurückgegeben. Eine Kopie der Nachricht wird für zukünftige Verwendung zwischengespeichert.
- setResourceBundleName(String resourceBundleName)
- setPatternKey(String patternKey)
- setApplicationName(String appName)
- setArguments(Object[] args)
API für die Bereitstellung von Zurücksetzungsinformationen
- setFallBackString(String message)
- setFallBackLocale(Locale locale)
- setFallBackTimeZone(TimeZone timeZone)
Ein Verwendungsbeispiel finden Sie im Artikel Lokalisierten Text generieren.
Anwendungsspezifische Werte
Das Paket "localizable-text" bietet basierend auf Zeitzone und Locale native Unterstützung für die Lokalisierung, Nachrichten können jedoch auch basierend auf anderen Werten erstellt werden. Wenn Sie bei der Formatierung von lokalisiertem Text andere Variablen als die Locale und die Zeitzone berücksichtigen müssen, empfiehlt es sich, Ihre eigene formatter-Klasse zu schreiben.
- LocalizableTextLTZ
- LocalizableTextL
- LocalizableTextTZ
- LocalizableText
Das Paket "localizable-text" stellt eine Klasse bereit, die die Zeit und das Datum aufzeichnet (LocalizableTextDateTimeArgument). In dieser Klasse wird die Formatierung des Datums und der Uhrzeit in Übereinstimmung mit drei Werten lokalisiert: Locale, Zeitzone und Darstellung.