Aktuelle Sprache
Wertauflöser - Kurzfassung
Zweck: Gibt den Dynamischen Aufzählungswert der in der aktuellen Sitzung geltenden Sprache zurück. Für länderspezifische Sprachen, kann dabei der Bezug zum Land aus-/abgewählt werden.
Der Aktuelle Sprache-Wertauflöser identifiziert die für die aktuelle Sitzung geltende Sprache. Der Rückgabewert ist ein Wert aus der betreffenden Dynamischen Aufzählung (Sprache).
Die Option Sprache ohne Land definiert, ob der Wertauflöser für länderspezifisch ausgeprägte Sprachen deren Aufzählungswert oder den Aufzählungswert der globalen Sprache zurückgibt, auf den sich die geltende Sprache bezieht.
►HINWEISE◄
Anders als andere Sitzungsmerkmale (Benutzer der Session, Rolle der Session und Firma der Session) kann die Aktuelle Sprache nicht durch die Ausführen als-Ereignisaktion temporär geändert werden.
Wird durch eine Ausführen als-Ereignisaktion ein temporär abweichender Benutzer als Benutzer der Session deklariert, gilt dessen Auswahl für die "Sprache" nicht als Aktuelle Sprache.
Wenn ein Benutzer per Sprache ändern die Sprache wechselt, wird diese erst bei einer erneuten Anmeldung als Aktuelle Sprache wirksam, obwohl die Änderung im Benutzerkonto sofort gespeichert wird.
Konfiguration
Die Option Sprache ohne Land betrifft die Möglichkeit bei der Definition von Sprachen in der Dynamischen Aufzählung Sprache länderspezifische Ausprägungen einer bestimmten globalen Sprache zu definieren.
|
Ist die Option abgewählt (Standard), dann gibt der Wertauflöser den Dynamischen Aufzählungswert für die in der Sitzung geltende (ggf. länderspezifische) Sprache zurück, z. B. die Sprache "Deutsch (Schweiz)" (de_CH) oder "Englisch (US)" (en_US). ►HINWEIS◄ Mit dieser Einstellung entspricht der Rückgabewert dem Wert im Feld locale eines Druck-XML. |
|
Wird die Option ausgewählt, dann gibt der Wertauflöser den Dynamischen Aufzählungswert für die globale Sprache zurück, die entweder unmittelbar für die Sitzung gilt oder auf die sich die angemeldete länderspezifische Sprache bezieht:
Sonderfall:
|
Beispiel
Ein Zuordnungskriterium (s. Zuordnungskriterien) soll als "bestanden" gelten, wenn in der aktuellen Sitzung eine länderspezifische Sprache verwendet wird.
Abhängig von diesem Zuordnungskriterium kann z. B. in einem Formular ein Bild/Icon-Element angezeigt bzw. verborgen werden, das eine Grafik für die Flagge des in der Sprache "codierte" Landes anzeigt (sofern vorhanden).
Laufzeitbeispiel:
Das Bild zeigt einen Ausschnitt aus einer Erfassungsmaske für Sendungsdetails, in der im Kopfbereich neben einem Hinweis auf den Benutzer der Session auf die Aktuelle Sprache durch Flaggen-Symbole visualisiert wird.
Ausgewählt ist in der abgebildeten Sitzung die Sprache "Deutsch (Schweiz)" (de_CH). Das rechte Flaggen-Symbol (hier: Schweiz) soll nur sichtbar sein, wenn eine länderspezifische Sprache ausgewählt ist.
Konfiguration:
Um die Auswahl einer länderspezifischen Sprache im Kontext der aktuellen Sitzung zu erkennen, wird ein eigenes Zuordnungskriterium angelegt und wie folgt konfiguriert:
Eine Objekt-Feld-Regel wird eingesetzt, um die Rückgabewerte des Aktuelle Sprache-Wertauflösers mit und ohne Auswahl der Option Sprache ohne Land zu vergleichen:
|
|
Im Formular wird ein Verhalten eingefügt, dass die Sichtbarkeit für das Bild/Icon-Element, das das in der Sprache referenzierte "Land" repräsentiert, mit dem oben gezeigten Zuordnungskriterium verknüpft:
|
|
Damit abhängig von der ausgewählten Sprache die passenden Flaggen im Formularkopf erscheinen, wird ebenfalls als Reaktion auf den Auslöser Formulardaten geladen ein weiteres Verhalten aufgerufen, das über ein Client Workflow ein "Client-Objekt" definiert, das alle benötigten "Kopfdaten" als Feldwerte enthält.
Der folgende Abschnitt zeigt, die der Aktuelle Sprache-Wertauflöser verwendet wird, um das Länderkennzeichen für das "Land" aus der "Sprache mit Land" zu extrahieren.
►ANMERKUNG◄ Wir unterstellen hier, dass bei der Definition einer länderspezifischen Sprache die Konvention (s. Sprache) eingehalten wird, dass der interne "Name" des Dynamischen Aufzählungswerts das Kennzeichen für die globale Sprache über einen Unterstrich ("_") mit dem zweistelligen ISO-3166-alpha2-Länderkennzeichen für das referenzierte Land verknüpft. Im vom System bereitgestellten Pfad ./assets/ammap/flags/ liegt für die meisten Länderkennzeichen eine png-Grafikdatei bereit, die die zugehörige "Flagge" wiedergibt.
Die rechts abgebildete Setze Wert-Ereignisaktion weist dem Feld country des "Client-Objekts" den relativen Dateipfad für das Bild/Icon-Element zu, das für länderspezifische Sprachen fakultativ angezeigt wird. Der Dateipfad wird über einen Textverkettung-Wertauflöser aufgebaut:
|
|
Laufzeitbeispiel:
Im Bild ist der bereits eingangs gezeigte Ausschnitt aus einer Erfassungsmaske für Sendungsdetails zu sehen.
Ausgewählt ist in der abgebildeten Sitzung allerdings die Sprache "Englisch (US)" (en_US).
►HINWEIS◄ Die linke der beiden "Flaggen" definiert ein anderer Abschnitt im oben nur teilweise beschriebenen Client Workflow auf der Basis von Aktuelle Sprache ("ohne Land"). Dabei muss allerdings berücksichtigt werden, dass dem internen Name der Sprache "Englisch" (en) kein ISO-3611-alpha2-Kürzel entspricht. Die Ausgabe im Laufzeitbeispiel kann z. B. erzielt werden, indem man eine Kopie der Flaggen-Grafik gb.png unter dem Namen en.png ablegt. Dann kann diese Zuordnung (en=gb) auch in anderen Kontexten genutzt werden. Oder man ersetzt per Text ersetzen beim Aufbau des Dateinamens den "Sprachnamen" en durch den Ländercode gb (oder ggf. einen beliebigen anderen wie us oder au).
Weiteres Laufzeitbeispiel:
Dieses Bild zeigt das Erscheinungsbild derselben Erfassungsmaske für Sendungsdetails, nachdem die folgenden Schritte ausgeführt wurden:
In der Dynamischen Aufzählung für Sprache wurde eine zusätzliche unterstützte Sprache "Klingonisch" erstellt, der der interne "Name" (name) xt_KG zugeordnet ist.
Mit dem Dateimanager wurde ein kleines Bild der klingonischen Flagge hochgeladen (relativer Dateipfad: ./assets/ammap/flags/xt_kg.png).
Für den verwendeten Benutzer wurde per Sprache ändern "Klingonisch" ausgewählt und die Sitzung ab- und wieder angemeldet.
Was passiert zur Laufzeit?
Der Name xt_KG für die Sprache "Klingonisch" verweist formal auf eine globale Sprache mit dem willkürlich gewählten Namen xt, die im System nicht definiert ist.
Effektiv wird daher die vom System vordefinierte Sprache "Englisch" (en) wirksam und auch vom Aktuelle Sprache-Wertauflöser per Option Sprache ohne Land angegeben (s. linke "Sprache"-Flagge im Bild).
Der Text ersetzen-Wertauflöser im Client Workflow versucht deshalb das Präfix en_ zu eliminieren, das in xt_KG nicht gefunden wird.
Deshalb wird der Name xt_KG der formal länderspezifischen Sprache "Klingonisch" ohne Ersetzung aber in Kleinbuchstaben als Dateiname für die "Sprache"-Flagge (rechts im Bild) zugewiesen, deren Dateiname deshalb xt_kg.png lauten sollte.