Mehrsprachige
Application Express-Anwendungen -II-
Anwendungen werden heute mehr und mehr
im internationalen Umfeld entwickelt. Häufig ist es daher
erforderlich, eine Application Express-Anwendung in eine andere Sprache
zu übersetzen. Dazu bietet Application Express einige
Hilfsmittel und Werkzeuge an. Im letzten Tipp
haben Sie bereits
gelernt, wie Sie eine Anwendung übersetzen können.
Dies bezog
sich vor allem auf die enthaltenen statischen Texte und
Nachrichten. Darüber
hinaus besteht eine Anwendung auch aus dynamischen
Nachrichten und
Texten. Heute erfahren Sie, welche Hilfsmittel Ihnen Application
Express zum Übersetzen dieser Komponenten anbietet. Wenn Sie
die hier vorgestellten Tipps an einer bereits übersetzten
Anwendung ausprobieren möchten, ist folgendes wichtig: Sobald Sie an einer bereits
übersetzten Anwendung Änderungen vornehmen,
müssen Sie diese Änderungen zunächst neu
übersetzen. Erst nach einer erneuten Übersetzung sind
die Änderungen auch in der übersetzten Version
verfügbar.
Abb.1:
Ausgangssituation: Eine Application Express-Anwendung
Abbildung
1 zeigt eine Application Express-Anwendungsseite. Um in der Anwendung
herauszufinden, mit welcher Spracheinstellung der Nutzer arbeitet,
verwenden Sie den Substitution
String BROWSER_LANGUAGE.
Der in
Abbildung 1 dargestellte Text "Die
im Browser eingestellte ..." wurde
als HTML-Region (Abbildung 2) realisiert. Abb.2:
Nutzung der Ersetzungszeichenfolge BROWSER_LANGUAGE Als
nächstes sollen die Inhalte der Werteliste Abteilung
übersetzt werden. Während statische Wertelisten
wie statische
Texte mit der XLIFF-Datei übersetzt werden, müssen
dynamische
Wertelisten anders behandelt werden. Diese
hier enthält
Abteilungsbezeichnungen, welche aus einer Datenbanktabelle
(ABTEILUNGEN)
stammen. Das SQL für diese Werteliste ist: Zur
Übersetzung solcher Wertelisten bietet Application Express
dynamische
Übersetzungen an. Navigieren Sie dazu zu den
Gemeinsamen Komponenten
und von dort zu Anwendung
übersetzen.  Abb.3: Schritte zum
Übersetzen einer Application Express-Anwendung In
der letzten Ausgabe wurden die Schritte 1 bis 4 näher
betrachtet.
Um eine Werteliste zu übersetzen, klicken Sie auf Schritt 6.
Daraufhin kommen Sie zum in Abbildung 4 dargestellten Dialog.
 Abb.4: ID für
übersetzte Anwendung vergeben
Mit
Klick auf Erstellen
legen Sie eine neue Übersetzung an.
Hinterlegen Sie so für jeden Eintrag in Ihrer Werteliste eine
Übersetzung. Das Speichern der Übersetzungen reicht
jedoch
noch nicht aus - wenn Sie danach die Seite neu
starten, ändert sich
zunächst noch nichts. Die hier gespeicherten
Übersetzungen werden von
Application Express durch die SQL- und PL/SQL Funktion HTMLDB_LANG.LANG verfügbar
gemacht. Ändern Sie das SQL für die Werteliste also
wie folgt um: Starten
Sie die Seite nun neu und verändern Sie wiederum im Browser
die Spracheinstellung. Daraufhin wird die Werteliste die soeben
eingetragenen Übersetzungen enthalten. Wenn für einen
Eintrag keine Übersetzung vorhanden ist, gibt HTMLDB_LANG.LANG den
Original-Eintrag zurück.
 Abb.5: Übersetzte
Werteliste
Neben diesen dynamischen
Übersetzungen, welche vor allem für
Wertelisten oder Berichte interessant sind, gibt es in Application
Express auch benannte
Nachrichten. Insbesondere für PL/SQL-Prozesse ist
diese Option interessant. Um benannte Nachrichten mitsamt
Übersetzungen anzulegen, navigieren Sie zu den Gemeinsamen Komponenten
und von dort zu Textnachrichten.
Der Dialog ist auch über Schritt
5 in Abbildung 3 verfügbar.  Abb.6: Benannte
Textnachrichten
Abbildung 5
zeigt eine benannte Nachricht TESTNACHRICHT
mit einer Übersetzung ins Englische. Um eine neue Nachricht
hinzuzufügen, klicken Sie auf Erstellen. 

Abb.7: Erstellung einer benannten
Textnachricht in Deutsch und Englisch Unter
Name geben Sie die
interne Bezeichnung ein, unter der Sie die Textnachricht
später abrufen möchten. Abbildung 7 zeigt die
Erstellung einer benannten Textnachricht und einer englischen
Übersetzung. In einer Textnachricht können die
Platzhalter %0
bis %9
für variable Anteile genutzt werden. In einem
PL/SQL-Prozeß kann die passende Übersetzung dieser
Nachricht mit HTMLDB_LANG.MESSAGE
abgerufen werden. Eine Region
mit dynamischem PL/SQL Inhalt könnte dann wie in
Abbildung 9 aussehen:  Abb.9:
Dynamische PL/SQL Region mit benannter Textnachricht erstellen
Das
Ergebnis ist in Abbildung 10 dargestellt - Auch hier gilt: Wenn Sie
einmal eine Anwendungsübersetzung durchgeführt haben,
müssen Sie dies nach jeder Änderung erneut tun. Wenn
Sie also feststellen, dass die letzte Änderung in der
übersetzten Anwendung fehlt, übersetzen Sie die
Anwendung neu (Gemeinsame
Komponenten - Anwendung übersetzen).  Abb.10:Ergebnis:
Benannte Textnachrichten in einer Region mit "dynamischem PL/SQL Inhalt"
In diesem und dem letzten Tipp haben
Sie den "Baukasten", welchen Ihnen Application Express
für Internationalisierte Anwendungen bereitstellt,
kennengelernt. Hilfreich dürfte darüber hinaus das
PL/SQL-Paket UTL_I18N
sein. Es stellt Ihnen weitere Hilfsfunktionen für
internationale Anwendungen bereit. Lassen Sie einfach mal die
folgenden Abfragen im SQL
Workshop
laufen. Mehr Informationen zum PL/SQL-Paket UTL_I18N finden Sie in der
Oracle-Dokumentation. Zurück
zur
Community-Seite
|