Tipps & Tricks - Mehrsprachige Datensätze
Wenn Sie in einem Portal Datensätze in mehreren Sprachen anzeigen möchten, z.B. deutsch
und englisch, benötigen Sie zum einen die Übersetzung des Datensatzes pro Sprache, zum
anderen die zweistelligen Sprachkürzel nach ISO 3166-1, hier z.B. "de" für deutsch und "en" für englisch. Die im Folgenden
beschriebene Vorgehensweise können Sie natürlich auf eine nicht begrenzte Anzahl von
Sprachen anwenden.
Applikation anlegen
Erstellen Sie eine neue Applikation mit der Applikationsvorlage
Basisapplikation.
Legen Sie über das
Hauptmenü "Neu / Datenfeld",
das Sie erreichen, wenn die Datengruppe in der
Applikationsstruktur
markiert ist, ein neues Datenfeld mit dem Titel "Sprachcode" und dem Datentyp "Kurzer Text" an.
Klicken Sie "OK".
Legen Sie auf der Eingabeseite eine
Auswahlliste
an und geben Sie ihr den Titel "Sprache". Klicken Sie "Weiter".
Wählen Sie hier die Option
Spezielle Wertequellen
und die Klasse LanguageListProzessor. Klicken Sie "Weiter".
Wählen Sie hier das Datenfeld "Sprachcode" aus, um die Auswahlliste
damit zu verbinden, und klicken Sie "Weiter" und anschließend
"Fertigstellen".
Wechseln Sie auf die Seite "Alle Einträge", öffnen Sie den
Eigenschaftendialog der Ansichtstabelle und
nehmen Sie das Datenfeld "Sprachcode" als
Tabellenspalte auf.
Klicken Sie "OK" und
Veröffentlichen
Sie die Applikation. Wechseln Sie dann in den Browser.
Legen Sie hier auf der Eingabeseite einen deutschen und einen englischen Datensatz an.
Wie Sie sehen, zeigt die Ansichtstabelle auf der Seite "Alle Einträge"
nun beide Datensätze mit dem Sprachcode an. Die Klasse LanguageListProzessor
hat also die Funktion, in der Auswahlliste die Sprachnamen anzuzeigen. Damit ist die Auswahl
einer Sprache weitaus komfortabler als die Auswahl von Sprachcodes, die leicht verwechselt werden
können. Im Datenfeld legt die Klasse LanguageListProzessor
den entsprechenden Sprachcode ab. Nur mit dem gespeicherten Sprachcode ist später die sprachabhängige
Anzeige der Datensätze gewährleistet. Um die Datensätze sprachabhängig zu filtern,
öffnen Sie bitte erneut den
Eigenschaftendialog
der Ansichtstabelle.
Legen Sie hier den
Filter an, indem Sie das Datenfeld
"Sprachcode" mit dem Systemwert "Sprache" vergleichen.
Veröffentlichen
Sie die Applikation.
Laden Sie die Applikation im Browser neu (Taste F5). Wenn ihr Portal die
deutsche Spracheinstellung hat, wird nun nur noch der deutsche Datensatz
in der Tabelle angezeigt. Schalten Sie das Portal auf Englisch um.
Die Tabelle zeigt nun nur den englischen Datensatz an.
Neben der Klasse LanguageListProzessor, die hier die Einträge
der Auswahlliste für die Sprache liefert, gibt es noch viele weitere Klassen, die z.B. nur die
Sprachen auflisten, die Sie in den
Ländereinstellungen der Portaleigenschaften haben.
Informationen dazu finden Sie
hier.
Das Element
Dynamische Ansicht kann für die
Anzeige von bereits gespeicherten Sprachcodes ebenso eingestellt werden wie die Auswahlliste und liefert dann
statt der Codes die ausgeschriebene Sprache.