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 639-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".
Markieren Sie die Eingabeseite "Eintrag" in der Applikationsstruktur. Auf der Arbeitsfläche markieren Sie im Raster den Container, der das Titelfeld beinhaltet, und wechseln dann mit Klick auf "Zoom" in die Zoom-Ansicht.
Legen Sie hier eine Auswahlliste an und geben Sie ihr den Titel "Sprache". Klicken Sie "Weiter".
Wählen Sie hier die Option "Spezielle Wertequellen" und die Klasse "LanguageListProcessor" aus. Klicken Sie "Weiter".
Wählen Sie hier das Datenfeld "Sprachcode" aus 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.
Die Ansichtstabelle auf der Seite "Alle Einträge" zeigt nun beide Datensätze mit dem Sprachcode an.
Die Klasse "LanguageListProcessor" 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 "LanguageListProcessor" den entsprechenden Sprachcode ab. Nur mit dem gespeicherten Sprachcode ist später die sprachabhängige Anzeige der Datensätze gewährleistet.
Mit Hilfe des Settings "control.listbox.language.usePortalSettings" können auch nur die Sprachen aufgelistet werden, die im Portal aktiviert sind. Weitere Informationen dazu finden Sie hier.
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 "LanguageListProcessor", 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 eingestellt 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.