Verwendung von Eigenschaftendateien für anzeigbaren Text
- Überschreiben der Laufzeitnachrichten, die standardmäßig für fehlgeschlagene Eingabevalidierungen oder für falsche Formatierungen von Ein- oder Ausgaben verfügbar sind
- Zuordnen von Text für Widgets, ohne diesen Text in der Rich-UI-Anwendung fest zu codieren
- Anzeigen von Text in der einen oder anderen Sprache, sodass der Code breitere Verwendungsmöglichkeiten bietet
Validierungs- oder Formatierungsnachrichten überschreiben
- 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 mentionedDie 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.
- 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.
- 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
- 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.
- 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önnten Sie auch mit der Ländereinstellung 'no_NO' eine Standardform des Norwegischen definieren und dann eine Variante namens 'no_NO_B' definieren. Der Variantencode richtet sich nach einem Anbieter oder Browser.
HTML-Dateien und zugehörige Eigenschaftendatei implementieren
<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.
- 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
- 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.