Verwendung von Eigenschaftendateien für anzeigbaren Text

Rich-UI bietet die Möglichkeit, anzeigbaren Text in einer externen Datei zu definieren, die während der Ausführung verwendet wird. Text auf diese Weise zu definieren kann zum Beispiel die folgenden speziellen Gründe haben:

Validierungs- oder Formatierungsnachrichten überschreiben

Wenn Sie Validierungs- oder Formatierungsnachrichten überschreiben wollen, gehen Sie wie folgt vor:
  • Stellen Sie sicher, dass Sie den Controllermechanismus verwenden, der in Rich-UI - Validierung und Formatierung beschrieben wird.
  • Erstellen Sie eine Rich-UI-Eigenschaftenbibliothek, d. h. einen Bibliotheksabschnitt mit dem Stereotyp RUIProperties, wie in Stereotyp 'RUIPropertiesLibrary' beschrieben. Im nachfolgenden Beispiel ist der Bibliotheksname myLibrary und die Bibliothek enthält Deklarationen von Zeichenfolgen mit den Namen entryForInputRequired und entryForOthers. Bei diesen Variablennamen muss die Groß-/Kleinschreibung beachtet werden.
  • Geben Sie in einem Rich-UI-Handler oder einem anderen Code die Eigenschaft validationPropertiesLibrary in einer Abschnittsdefinition oder einer Variablendeklaration zusammen mit anderen Validierungs- und Formatierungseigenschaften an. Das folgende Beispiel zeigt eine solche Deklaration:
    name STRING {inputRequired = yes,
                 lowercase = yes,
                 inputRequiredMsgKey = "entryForInputRequired",
                 typeChkMsgKey = "entryForOthers",
                 validationPropertiesLibrary=myLibrary };

    Die Eigenschaft validationPropertiesLibrary wird nur verwendet, wenn Sie Validierungs- und Formatierungsnachrichten überschreiben.

  • Richten Sie eine Eigenschaftendatei ein und fügen Sie Einträge (Name/Wert-Paare) ein, bei denen die Namen den Werten von MsgKey-Eigenschaften entsprechen. In diesem Beispiel enthält die Eigenschaftendatei die folgenden Einträge:
    entryForInputRequired=You must specify a value
    entryForOthers=Your input is incorrect
    someText=Not mentioned

    Die Eigenschaftendatei ist eine Textdatei. Die Eintragsnamen sind von der Groß-/Kleinschreibung abhängig und nur nützlich, wenn sie mit einer Zeichenfolgedeklaration in der Rich-UI-Eigenschaftenbibliothek übereinstimmen.

Für das gezeigte Beispiel gilt Folgendes:
  • Ein Fehler wegen erforderlicher Eingabe führt während der Ausführung zur Anzeige der Nachricht "You must specify a value", die durch den Namen entryForInputRequired identifiziert wird.
  • Eine Eingabe eines Großbuchstabens während der Ausführung führt ebenfalls zur Anzeige der Nachricht "Your input is incorrect." Zu diesem Ergebnis kommt es, weil der Wert der Eigenschaft typeChkMsgKey als Antwort auf eine Reihe von Fehlern verwendet wird; in diesem Fall als Antwort auf eine Benutzereingabe (der Großbuchstabe), die von der Eigenschaft 'lowercase' nicht zugelassen wird.
Die folgenden Regeln erläutern das oben beschriebene Verhalten:
  • Für ein bestimmtes Datenfeld können Sie die Standardnachrichten überschreiben, die allen folgenden Eigenschaften zugeordnet sind:
    • inputRequired
    • minimumInput
    • validValues

    Die Überschreibung hängt von einer der folgenden drei "MsgKey"-Eigenschaften ab: inputRequiredMsgKey, minimumInputMsgKey und validValuesMsgKey.

  • Für ein bestimmtes Datenfeld können Sie außerdem eine einzelne Überschreibung für Fehler angeben, die sich auf eine der folgenden Eigenschaften beziehen:
    • currency
    • currencySymbol
    • dateFormat
    • fillCharacter
    • isBoolean
    • isDecimalDigit
    • isHexDigit
    • lowercase
    • numericSeparator
    • sign
    • timeFormat
    • timestampFormat
    • uppercase
    • zeroFormat

    Die einzelne Überschreibung greift ebenfalls auf die Eigenschaft typeChkMsgKey zurück.

Text zu Widgets zuordnen

Der Rich-UI-Mechanismus für das Anzeigen von Text aus einer externen Datei basiert unabhängig vom Zweck des Texts immer auf der Verwendung einer Rich-UI-Eigenschaftenbibliothek. Die folgenden Aussagen treffen zu, wenn Sie die externe Datei aus anderen Gründen als dem Überschreiben einer Standardnachricht verwenden:
  • Die Regeln für den EGL-Bibliothekszugriff gelten. Nehmen Sie zum Beispiel an, dass Sie eine Rich-UI-Eigenschaftenbibliothek mit dem Namen myLibrary und eine Schaltfläche mit dem Namen myButton haben. Das folgende Beispiel zeigt eine Möglichkeit zum Zuordnen von Text (in diesem Beispiel die Zeichenfolge "Not mentioned") zur Schaltfläche in Ihrer Anwendung:
    myButton.text = myLibrary.someText;

    Alternativ können Sie myLibrary in einer Anweisung use referenzieren. In diesem Fall müssen Sie den Bibliotheksnamen in der Zuordnung nicht angeben.

  • Sie können die implizite Bibliotheksfunktion getMessage aufrufen, um Einfügungen in einen Eigenschaftendateieintrag bereitzustellen.

Sie können auch die Bibliotheksfunktion getMessage verwenden, um Einfügungen in eine Zeichenfolge innerhalb Ihres Codes bereitzustellen. Details zur Verwendung von Einfügungen finden Sie in Stereotyp 'RUIPropertiesLibrary'.

Text in der einen oder anderen Sprache anzeigen

Ein anzeigbarer Wert kommt aus einer Eigenschaftendatei, deren Name einen Stamm (z. B. myLibrary) hat und eine Ländereinstellung enthält, das heißt einen Code, der eine natürliche Sprache identifiziert. Zum Beispiel ist en die Ländereinstellung, die Englisch darstellt. Der Dateiname myLibrary-en verweist auf eine Eigenschaftendatei, die englischen Text bereitstellt.

Jeder Dateiname hat einen Stammnamen und die Erweiterung .properties. Die Ländereinstellung wird am Ende des Stammnamen und vor der Erweiterung angegeben. Ländereinstellungen bestehen aus einer, zwei oder drei Kennungen, wobei der ersten ein Bindestrich vorangestellt wird und den anderen (sofern vorhanden) ein Unterstreichungszeichen vorangestellt wird. Jede weitere Kennung nach der ersten bietet die Möglichkeit, eine Sprache näher zu spezifizieren. Insbesondere können Sie den Dialekt, die Variante oder die geografische Heimat einer Sprache angeben.

Die Kennungen sind der Sprachencode, der Landescode und der Variantencode:
  • Zu den Sprachencodes gehören en für Englisch und es für Spanisch. Der Sprachencode entspricht in der Regel dem Standard ISO-639 (ISO, International Organization for Standardization).
  • Der Landescode gibt ein Land an, in dem der Dialekt der Sprache gesprochen wird. Der Landescode US gibt zum Beispiel die Vereinigten Staaten an, der Landescode GB gibt Großbritannien an. Auf diese Weise kann eine Datei für amerikanisches Englisch den Namen myLibrary-en_US.properties erhalten, während eine Eigenschaftendatei für britisches Englisch den Namen myLibrary-en_GB.properties erhalten kann. Der Landescode entspricht in der Regel dem ISO-Standard ISO-3166.
  • Der Variantencode definiert einen spezielleren Dialekt oder eine bestimmte Variante der Sprache in der Eigenschaftendatei. Zum Beispiel könnten Sie die Variantencodes A und B verwenden, um zwei verschiedene Varianten des in Norwegen gesprochenen Norwegisch zu unterscheiden. Diese beiden Dateien könnten die Namen myLibrary-no_NO_A.properties und myLibrary-no_NO_B.properties erhalten. Alternativ können Sie einen Standardtyp von Norwegisch als Ländereinstellung 'no_NO' definieren und eine Variante als 'no_NO_B' definieren. Der Variantencode ist für einen Anbieter oder Browser spezifisch.

HTML-Dateien und zugehörige Eigenschaftendatei implementieren

Sie können mehrere HTML-Dateien für eine bestimmte Rich-UI-Anwendung implementieren, d. h. eine für jede Sprache, die unterstützt werden soll. Der Benutzer fordert die HTML-Datei für eine bestimmte Ländereinstellung an, indem er die HTML-Datei über den Namen aufruft, zum Beispiel infolge eines Klicks auf einen Hypertext-Link, den Sie bereitstellen. Das folgende Beispiel zeigt den HTML-Code, der die deutsche Version der Datei 'MyApplication.html' von der Website 'www.example.com' aufruft, wenn eine deutsche Version implementiert wurde:
   <a href="www.example.com/MyApplication-de.html">German version</a>

Sie speichern die Eigenschaftendateien im Ordner 'WebContent/properties' Ihres Projekts. Der Stamm des Namens der Eigenschaftendatei (z. B. myLibrary) muss der Name sein, der in der Eigenschaft propertiesFile in der Rich-UI-Eigenschaftenbibliothek angegeben ist.

Der EGL-Implementierer stellt sicher, dass die HTML-Datei eine Eigenschaftendatei für jede Rich-UI-Eigenschaftenbibliothek angibt, auf die in Ihrer Anwendung verwiesen wird. Die folgenden Regeln geben an, wie der Dateiname für eine bestimmte Sprache ermittelt wird:
  • Wenn der Name einer verfügbaren Datei einer Ländereinstellung (Locale) genau entspricht, wird der Name dieser Datei angegeben.
  • Andernfalls gibt der EGL-Implementierer eine Datei an, deren Name der Ländereinstellung möglichst nahe kommt. Beispiel: Wenn die erforderliche Ländereinstellung 'no_NO_B' ist, der Name der einzig verfügbaren Datei für Norwegisch jedoch myLibrary-no_NO.properties ist, wird der Name der verfügbaren Datei angegeben. Wenn keine Eigenschaftendatei für die Sprache Norwegisch verfügbar ist, wird der Name der Standardeigenschaftendatei angegeben. Der Name der Standarddatei enthält keine Ländereinstellung, wie zum Beispiel der Name myLibrary.properties.

Die Implementierung schlägt fehl, wenn keine Eigenschaftendatei für eine bestimmte Rich-UI-Eigenschaftenbibliothek verfügbar ist. Zur Vermeidung eines solchen Fehlers kann es sinnvoll sein, eine Standardeigenschaftendatei für jede Bibliothek einzuschließen.

Mit dem EGL-Implementierungsdeskriptor arbeiten

Über die Registerkarte 'Rich-UI-Implementierung' im Editor für EGL-Implementierungsdeskriptor bereiten Sie eine Rich-UI-Anwendung zur Installation auf einem Anwendungsserver vor. Die Ländereinstellungen, die auf dieser Registerkarte angegeben sind, werden aus den Rich-UI-Vorgaben abgeleitet, in denen Sie Einträge hinzufügen oder entfernen können:
  • Sie können einen Eintrag für eine Ländereinstellung hinzufügen oder entfernen, die in Rich-UI allgemein verfügbar ist. Beispiel: en_US für amerikanisches Englisch. Wenn Sie eine solche Ländereinstellung im Implementierungsdeskriptor auswählen, können Sie die folgenden Anwendungskomponenten in die implementierte Ausgabe einschließen:
    • Eine ländereinstellungsspezifische Eigenschaftendatei, die Sie bereitstellen (sofern zutreffend)
    • Ländereinstellungsspezifische Laufzeitnachrichten, d. h. Systemnachrichten, die als Antwort auf Situationen angezeigt werden, die vom EGL-Laufzeitcode automatisch behandelt werden.
  • Sie können einen Eintrag hinzufügen oder entfernen, der eine neue Ländereinstellung darstellt. Jede neue Ländereinstellung ist nur für einen Zweck verfügbar: Einschließen einer ländereinstellungsspezifischen Eigenschaftendatei, die Sie bereitstellen. Wenn Sie eine Ländereinstellung definieren, müssen Sie außerdem eine Ländereinstellung angeben, die in Rich-UI allgemein verfügbar ist. Diese allgemein verfügbare Ländereinstellung dient nur einem Zweck: Sicherstellen, dass EGL-Systemnachrichten für die angegebene Ländereinstellung während der Ausführung verfügbar sind.

Feedback