Sprachverwaltung
Siehe auch: Sprache, Wert aus Sprachverwaltung, Firmenspezifische Sprachanpassungen
Der Menüknoten Sprachverwaltung fasst Menüeinträge zusammen, die die Verwaltung von Lokalisierungen für die Lobster Data Platform betreffen:
Der Menüeintrag Sprachverwaltungseinträge erscheint unter dem Menüknoten Sprachverwaltung, wenn die Rolle der Session über die Berechtigung "Verwaltung/Konfiguration/Sprachverwaltung/Anzeigen" verfügt.
Der Menüeintrag Firmenspezifische Sprachanpassungen erscheint unter der Menüknoten Sprachverwaltung, wenn die Rolle der Session über die Berechtigung "Verwaltung/Konfiguration/Firmenspezifische Sprachverwaltung/Anzeigen" verfügt.
►HINWEIS◄ Der Menüknoten Sprachverwaltung erscheint im Hauptmenü im Menüknoten "Verwaltung", wenn für die Rolle der Session mindestens ein untergeordneter Menüeintrag anzuzeigen ist.
Für viele Texte (Beschriftungen, Meldungen, Menüeinträge, usw.) innerhalb der Lobster Data Platform (insbes. für Funktionen von Lobster Data Platform / Orchestration), besteht die Möglichkeit, anstelle des im Quellcode vorgegebenen Standardtexts eine sogenannte Lokalisierung zuzuweisen, über die für unterschiedliche Ausgabesprachen ein spezifischer Text ausgeprägt werden kann.
In allen relevanten Fällen wird die betreffende "Textressource" durch eine eindeutige Kombination von zwei Textwerten (Resource bundle, Resource name) identifiziert, die als zusammengesetzter Schlüssel für die Zuordnung von Lokalisierungen dient.
Textressourcen werden häufig für eine bestimmte Objektklasse zu einem Bundle zusammengefasst. Dann wird als Textschlüssel für das Resource bundle der fully qualified class name für die betreffende Klasse verwendet, während der Resource name, die Ressource im Bundle eindeutig benennt. Für die Eigenschaften eines Objekts wird als Resource name der Name des Datenfelds verwendet. Per Konvention identifiziert der Resource name $name die Ressource, die die Lokalisierung für den Klassennamen definiert.
Anwendungsbeispiele
Vom System vorgegebene Lokalisierungen anpassen
ACHTUNG
Anpassungen für Sprachverwaltungseinträge wirken systemweit und können damit theoretisch alle Nutzer der Lobster Data Platform betreffen. Globale Eingriffe in die Systemstandards für die Sprachverwaltung haben immer ein gewisses Risikopotenzial. Im günstigsten Fall verursachen sie nur Verwirrung. Sie können aber auch schwer erkennbare Fehlkonfigurationen durch Verwechslungen und Missverständnisse zur Folge haben. Selbst funktionale Konsequenzen können nicht ausgeschlossen werden, falls sich Konfigurationen gezielt oder unbeabsichtigt auf Lokalisierungen z. B. für Werte von Aufzählungen beziehen.
Mit Rücksicht auf die genannten Risiken sollte das folgende Beispiel vor allem als Demonstrationsbeispiel für die erzielbare Wirkung verstanden werden.
Der Screenshot rechts zeigt die Standard-Lokalisierungen für den Datentyp "Datumsbereich" (DateRange), der eine überschaubare Datenstruktur mit drei Feldern (start, end, timeZone) definiert. Die (im Screenshot selektierte) erste Zeile definiert über den Resource Name $name die Lokalisierungen für den Namen der Klasse. Der Text "Datumsbereich" ist in der Spalte "Deutsch" und in der Spalte "Aktuell" zu finden, weil der Screenshot aus einer Sitzung stammt, für die als Aktuelle Sprache die Sprache "Deutsch" (de) ausgewählt wurde. |
|
Der Screenshot rechts zeigt an einem Ausschnitt aus dem grafischen Editor für Ereignisbehandlungen wie das System die Lokalisierungen für die Sprachverwaltungseinträge aus dem DateRange-Bundle in diesem Beispielkontext nutzt:
|
|
Der Screenshot rechts wiederum die Liste aller Sprachverwaltungseinträge für das Resource Bundle DateRange, allerdings nachdem für die ersten drei Einträge Anpassungen für die Sprache Deutsch (de) vorgenommen und gespeichert wurden:
►HINWEIS◄ Die Spalte Status weist nun für alle angepassten Lokalisierungen den Wert "Datenbank" aus. Lediglich für das das unverändert timeZone-Feld lautet der Status noch "System" (Details s. Sprachverwaltungseinträge). |
|
Der Screenshot rechts zeigt die Wirkung der Anpassungen auf den oben gezeigten Bildausschnitt aus dem grafischen Editor für Ereignisbehandlungen:
►HINWEIS◄ Um vom System bereitgestellte Sprachverwaltungseinträge, für die Anpassungen vorgenommen wurden, wieder in den "Auslieferungszustand" zu versetzen, reicht es aus, die betreffenden Einträge in der Übersicht auszuwählen und den Ribbon Button "Entfernen" anzuklicken. Dies entfernt die Einträge vorübergehend aus der Liste. Nach dem "Speichern" der Änderungen erscheinen die "entfernten" Einträge wieder mit den vom System vorgegebenen Lokalisierungstexten. ►WICHTIG◄ Diese Vorgehensweise ist nur zu empfehlen, wenn ausschließlich vom System vordefinierte Einträge ausgewählt sind. Benutzerdefinierte Einträge werden gelöscht. |
|
Benutzerdefinierte Inhalte lokalisieren
Benutzerdefinierte Konfigurationen oder Erweiterungen vordefinierter Strukturen (z. B. Aufzählungen) können zusätzliche "lokalisierbare" Inhalte im System implizieren.
Häufig stellt das System in den betreffenden Erfassungsmasken Textfelder bereit, in denen Lokalisierungen für unterstützte Sprachen unmittelbar angegeben werden können:
Der Screenshot rechts zeigt am Beispiel der Erfassungsmaske für Rollen, eine typische Anordnung von Textfeldern in denen Lokalisierungen für unterstützte Sprachen (per Standard: Deutsch, Englisch, Französisch) eingetragen werden können. |
|
Der Screenshot rechts zeigt, den Sprachverwaltungseintrag, der beim Speichern der oben gezeigten Rolle automatisch generiert wird, um die angegebenen Lokalisierungstexte in der Datenbank zu persistieren. ►HINWEIS◄ Die Lokalisierungen sind ausdrücklich nicht Bestandteil der Datenstruktur für die Rolle, sondern werden dieser aus der Sprachverwaltung (Resource Bundle rolename) über den "Rollenname" (roleName) als Resource Name zugeordnet. Sprachverwaltungseinträge für solche Lokalisierungen (hier: für Rollen als "Zielobjekt") können aber auch immer direkt erstellt, bearbeitet oder gelöscht werden. ►WICHTIG◄ Ein leerer Sprachverwaltungseintrag (s. folgender Screenshot) für ein neu erstelltes "Zielobjekt" ohne Lokalisierungen erscheint in der Sprachverwaltung nur dann, wenn im Kontext derselben Sitzung bereits ein clientseitiger Zugriff auf das Zielobjekt ausgeführt wurde. |
|
Der Screenshot rechts zeigt einen leeren Sprachverwaltungseintrag für eine neu hinzugefügte Rolle DUMMY_ROLE, für die beim Erstellen noch keine Lokalisierungen definiert wurden. Die Übersicht für Sprachverwaltungseinträge zeigt direkt nach dem Erstellen der Rolle den abgebildeten leeren Eintrag an, obwohl keine Lokalisierungen vorliegen und die Datenbank keinen Eintrag für den Resource Name DUMMY_ROLE im Resouce Bundle rolename beinhaltet. Falls man diese Sitzung schließt ohne Lokalisierungen für den Sprachverwaltungseintrag vorzunehmen, zeigt die Übersicht für Sprachverwaltungseinträge in einer neuen Sitzung den leeren Eintrag für die Rolle DUMMY_ROLE nur dann an, wenn für diese mindestens einmal ein Client-Zugriff erfolgt ist, z. B. weil die Übersicht für Rollen geöffnet und die Rolle DUMMY_ROLE im Listenbereich (inkl. Paging) angezeigt wurde. |
|
Sonderfall: Sprachspezifische Einstellungen als "Textbaustein" definieren
Bei den per Sprachverwaltung bzw. als Firmenspezifische Sprachanpassungen definierten "Lokalisierungen" muss es sich nicht unbedingt um "Sprache" im Sinn von Beschriftungstexten handeln. Das Funktionsprinzip kann auch genutzt werden, um technischen Parametern spezifische Textwerte für die Aktuelle Sprache zuzuweisen.
Systemseitig wird dieser Ansatz z. B. genutzt, um über das Resource Bundle lobsterui sprachspezifische Standards für die Formatierung bestimmter Inhalte innerhalb der Benutzeroberfläche (ui = user interface) festzulegen. Der Screenshot rechts zeigt die vom System vordefinierten Patterns für die Formatierung von Datum (Resource Name dateFormat) und Uhrzeit (Resource Name timeFormat) für verschiedene unterstützte Sprachen. ►HINWEIS◄ Anpassungen für solche Lokalisierungen beeinflussen die Formatierung von entsprechenden Daten in Benutzeroberfläche, wo keine explizite Formatierung angewendet wird. |
|
Das Resource Bundle lobsterui enthält zahlreiche weitere funktional wirksame "Lokalisierungen", die eine sprachspezifische Feinabstimmung des Erscheinungsbilds der Benutzeroberfläche global (→Sprachverwaltung) oder abhängig von der Firma der Session (→Firmenspezifische Sprachanpassungen) ermöglichen.
►ANMERKUNG◄ Selbstverständlich können auch benutzerdefinierte "Textbausteine" mit sprachspezifischer Ausprägung hinzugefügt werden. Idealerweise sollten solche Erweiterungen mit Bezug zu einem eigenständigen Resource Bundle-Namen (z. B. customParams) erstellt werden und nicht indem einem vordefinierten Resource Bundle fiktive Resource Names hinzugefügt werden.