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.

images/download/attachments/91135153/image2022-2-10_8-46-52-version-1-modificationdate-1644479212708-api-v2.png

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

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.

images/download/attachments/91135153/image2022-2-10_8-46-52-version-1-modificationdate-1644479212708-api-v2.png

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.

images/download/attachments/91135153/image2022-2-10_9-5-23-version-1-modificationdate-1644480323800-api-v2.png

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:

  • Verwendet die Sitzung die länderspezifische Sprache "Deutsch (Schweiz)" (de_CH) würde der Rückgabewert "Deutsch" (de) gelten, für "Englisch (US)" (en_US) der Wert "Englisch" (en), usw.

  • Verwendet die Sitzung bereits eine globale Sprache, z. B. "Englisch" (en) wird diese direkt zurückgegeben.

Sonderfall:

  • Verwendet die Sitzung eine länderspezifische Sprache, deren interner Name (name des Aufzählungswerts) auf eine globale Sprache verweist, die nicht als globale Sprache definiert ist, dann wird für die Sitzung per Standard (s. Sprache, "Vorrangregeln") die Sprache "Englisch" (en) verwendet und nicht etwa die im System definierte Standard-Sprache. In diesem Sonderfall erscheint der Aufzählungswert für "Englisch" (en) auch als Rückgabewert des Aktuelle Sprache-Wertauflösers.

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:

images/download/attachments/91135153/image2022-2-10_10-23-3-version-1-modificationdate-1644484983283-api-v2.png

  • 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:

  • Auf der linken Seite des Vergleichs ist die Option Sprache ohne Land im Aktuelle Sprache-Wertauflöser abgewählt. Zur Laufzeit wird die tatsächlich ausgewählte Sprache abgefragt, deren Aufzählungswert ggf. eine "Sprache mit Land" spezifiziert.

  • Auf der rechten Seite des Vergleichs ist die Option Sprache ohne Land im Aktuelle Sprache-Wertauflöser ausgewählt. Also wird die Sprache ohne Land abgefragt und entweder der Aufzählungswert für die in der ausgewählten Sprache referenzierte globale Sprache zurückgegeben oder - falls diese nicht existiert - der vom System vorgegebene Rückfallwert: "Englisch" (en).

  • Der ausgewählte Vergleichstyp Ist Gleich wird negiert (s not (Vergleichstyp)), damit das Zuordnungskriterium als "bestanden" gilt, wenn sich die links und rechts aufgelösten Werte unterscheiden.

images/download/attachments/91135153/image2022-2-10_10-28-36-version-1-modificationdate-1644485316662-api-v2.png

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:

  • Das rechts abgebildete Verhalten reagiert auf den Auslöser Formulardaten geladen, der sicherstellt dass die Sichtbarkeit des Bild/Icon-Elements beim Anzeigen von Daten im Formular "passend" für die Sitzung geregelt wird.

  • Die Verhaltensweise Zuordnungskriterium zutreffend prüft, ob das oben gezeigte Zuordnungskriterium zutrifft oder nicht.

  • Im Abschnitt für Aktionen bei "wahr" macht eine Element anzeigen-Aktion das Zielelement "Land" (das. Bild/Icon mit der zweiten Flagge) sichtbar, wenn das Zuordnungskriterium zutrifft, also eine länderspezifische Sprache ausgewählt ist.

  • Im Abschnitt für Aktionen bei "falsch" macht eine Element verbergen-Aktion das Zielelement "Land" (das. Bild/Icon mit der zweiten Flagge) unsichtbar, wenn das Zuordnungskriterium nicht zutrifft, also keine länderspezifische Sprache ausgewählt ist.

images/download/attachments/91135153/image2022-2-10_10-45-43-version-1-modificationdate-1644486343270-api-v2.png

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:

  • Die erste Komponente der Textverkettung definiert den statischen Text für den Basispfad für die "Flaggen"-Grafikdateien:
    ./assets/ammap/flags/

  • Die zweite Komponente der Textverkettung bezieht zunächst die Aktuelle Sprache (ggf. "mit Land"). Aus dem als Rückgabewert gelieferten Dynamischen Aufzählungswert wird hier durch den verketteten Objekt-Feld-Wertauflöser das Feld "Name" (name) extrahiert und an den nachfolgenden Text ersetzen-Wertauflöser weitergegeben.

  • Im Text ersetzen-Wertauflöser wird als Suchtext erneut die Aktuelle Sprache abgefragt, allerdings diesmal mit der Option Sprache ohne Land. Aus dem Rückgabewert wird wiederum das Feld "Name" (name) extrahiert. Per Textverkettung wird hier gleich noch der Unterstrich ("_") angefügt. Diese Kombination soll aus dem Namen der "Sprache mit Land" gelöscht werden. Daher wird unter Ersetzen mit kein Wert eingetragen.

  • Da die Dateinamen für "Flaggen" das Länderkennzeichen in Kleinbuchstaben als Dateiname verwenden, folgt in der Verkettung noch ein In Kleinbuchstaben-Wertauflöser, bevor die einheitliche Dateierweiterung (.png) als dritte Komponente der Textverkettung angehängt wird.

images/download/attachments/91135153/image2022-2-10_11-28-51-version-1-modificationdate-1644488931415-api-v2.png

Laufzeitbeispiel:

images/download/attachments/91135153/image2022-2-10_11-49-11-version-1-modificationdate-1644490151417-api-v2.png

  • 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:

images/download/attachments/91135153/image2022-2-10_15-25-4-version-1-modificationdate-1644503104599-api-v2.png

  • 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.