Internationalisierung

Im Abschnitt Internationalisierung werden Übersetzungen konfiguriert. Ein übersetzbarer Text wird als Schlüssel-Wert-Paar definiert. Einem Schlüssel wird dabei für jede konfigurierte Sprache die jeweilige Übersetzung als Wert zugewiesen.

Alle Schlüssel, die im Bereich Internationalisierung konfiguriert werden, stehen im App Konfigurator als übersetzbare Elemente zur Verfügung. Übersetzbare Elemente können eingesetzt werden, um in die Anwendung integrierten Texte (Elemente der Benutzeroberfläche, Überschriften, Hilfetexte, …​) in der Konfiguration zu ersetzen, so dass diese von der Sprachsteuerung ansprechbar sind. Diese Textelemente können dadurch in der VC Map durch die in der Spracheinstellung gewählte Sprache angezeigt werden.

Um übersetzbare Elemente zu nutzen, muss statt des statischen Texts im jeweiligen Editor der Übersetzungsschlüssel verwendet werden. Dieser Übersetzungsschlüssel wird im Internationalisierungseditor aufgegriffen und mit der jeweiligen Übersetzung pro Sprache versehen.

Im Bereich Internationalisierung gibt es zwei Möglichkeiten, Übersetzungen anzulegen:

  • Sprache hinzufügen wird verwendet, um alle zu diesem Zeitpunkt bestehenden Schlüssel übersetzbarer Elemente als Einträge hinzuzufügen. Diese Option ermöglicht es, eine vollständige Übersetzung aller Elemente in eine neue Sprache vorzunehmen. Dies betrifft sowohl die standardmäßig bereitgestellten Bestandteile der Benutzeroberfläche, als auch über den Internationalisierungseditor zuvor hinzugefügte Einträge für variable Elemente der VC Map.

  • Eintrag hinzufügen wird verwendet, um übersetzbare Elemente für variable Elemente der VC Map hinzuzufügen, die im Laufe der Konfiguration hinzukommen. Dies betrifft beispielsweise Überschriften, Titel von Ebenen, Schrägluftbildebenen oder Ansichten, oder auch Inhalte der Feature Info. So können Attributwerte von Geodaten, die aus alphanumerischen Codes bestehen, für die Anzeige in der Feature Info über den Internationalisierungseditor in natürliche Sprache übersetzt werden.

Die allgemeinen Aktionen für das Bearbeiten von Bestandteilen sind hier erläutert.

Sprache hinzufügen

Mit Klick auf icon addLocale kann eine neue Sprache hinzugefügt werden. Standardmäßig sind für die Benutzeroberfläche der VC Map zwei Sprachen verfügbar: Deutsch (de) und Englisch (en).

Neue Sprachen können hinzugefügt werden, indem die Schlüssel-Wert-Paare von einer bestehenden Sprache übernommen und angepasst werden. Nach dem Anlegen des Spracheintrags öffnet sich der Internationalisierungseditor, um die Werte entsprechend anzupassen.

Die folgenden Parameter können für Internationalisierung konfiguriert werden:

Allgemeine Einstellungen
Option Beschreibung

Name (ID)

Eindeutiger Name (Identifier) für den Internationalisierungseintrag. Für neue Einträge wird ein Standard-Identifier generiert, der manuell umbenannt werden kann. Für Sprachen entspricht der Name dem Namen der Sprache.

Sprache

Auswahl eines Sprachschlüssels, dessen Übersetzungen unter Einträge angezeigt und editiert werden können.

Einträge
Option Beschreibung

Schlüssel

Schlüssel des zu übersetzenden Elements.

Übersetzung

Übersetzungstext in der aktuell gewählten Sprache.

Eintrag hinzufügen

Mit Klick auf icon addElement wird ein neuer Eintrag hinzugefügt und der Internationalisierungs-Editor geöffnet. Geeignet sind einzelne Einträge für alle Textelemente, die im Laufe der App-Erstellung individuell hinzugefügt werden, und äquivalent zu standardmäßig verfügbaren Bestandteilen der Benutzeroberfläche von der Sprachsteuerung angesprochen werden sollen.

Es gibt derzeit keine strikte Syntax für den Aufbau eines Übersetzungsschlüssels. Zugunsten der eindeutigen Zuordnung und Wartbarkeit empfielt es sich jedoch, sich bei der Definition des Übersetzungsschlüssels an der folgenden Namenskonvention zu orientieren:

<Bereich>.<Element> oder <Bereich>.<Element>.<Unterelement>

Die folgenden Parameter können für Internationalisierung konfiguriert werden:

Allgemeine Einstellungen
Option Beschreibung

Name (ID)

Eindeutiger Name (Identifier) für den Internationalisierungseintrag. Für neue Einträge wird ein Standard-Identifier generiert, der manuell umbenannt werden kann. Für Sprachen entspricht der Name dem Namen der Sprache.

Sprache

Auswahl eines Sprachschlüssels, dessen Übersetzungen unter Einträge angezeigt und editiert werden können

Einträge
Option Beschreibung

Schlüssel

Schlüssel des zu übersetzenden Elements.

Übersetzung

Übersetzungstext in der aktuell gewählten Sprache

Beispiele

Einzelne Elemente

Typische Beispiele für einzelne Einträge von Übersetzungen sind u.a. Überschriften, Titel von Ebenen oder Ansichten oder Hilfetexte.

Entsprechend der empfohlenen Namenskonvention hier einige Beispiele zur Definition der zugehörigen Übersetzungsschlüssel:

Beispiel Überschrift

app.headline

Beispiel Ebenentitel

layer.buildings.title

Beispiel Hilfetext zu einer Ebene

layer.buildings.tooltip

Codelisten

Codelisten zur Übersetzung von alphanumerischen Attributwerten in natürliche Sprache lassen sich durch das Hinzufügen von neuen Einträgen aufbauen. Hierbei wird das Prinzip zum Übersetzen von Sprachen auf Attributwerte übertragen.

Es gibt dabei keine strikte Syntax für den Aufbau von Codelisten. Zugunsten der eindeutigen Zuordnung und Wartbarkeit empfielt es sich jedoch, sich bei der Definition einer Codeliste an der folgenden Namenskonvention von Übersetzungsschlüsseln zu orientieren:

codeList.<Attributname>.<AlphanumerischerCode> für die Übersetzung von Attributwerten.

und ggf.

codeList.<Attributname>.attributeKey für die Übersetzung von Attributnamen.

Beispiel Dachtyp in Punkt-Notation
image internationaisation codelists
Figure 1. Ausschnitt aus der Definition der Codelist entsprechend der empfohlenen Syntax

Die Punktnotation wird verwendet, um im JSON Objekt auf die Werte des jeweiligen Schlüssels zuzugreifen. Im Umkehrschluss bedeutet dies, dass das zugehörige JSON-Objekt, welches diese Einstellung abbildet, als verschachteltes Objekt angelegt ist, wobei der erste Schlüssel dem Sprachschlüssel entspricht:

Beispiel Dachtyp als JSON-Objekt
{
  "name": "codelistRoof",
  "de": {
    "codeList": {
      "roofType": {
        "0": "nicht definiert",
        "1000": "Flachdach",
        "2100": "Pultdach",
        "2200": "Versetztes Pultdach",
        "3100": "Satteldach",
        "3200": "Walmdach",
        "3300": "Krüppelwalmdach",
        "3400": "Mansardendach",
        "3500": "Zeltdach",
        "3600": "Kegeldach",
        "3700": "Kuppeldach",
        "3800": "Sheddach",
        "3900": "Bogendach",
        "4000": "Turmdach",
        "5000": "Mischform",
        "9999": "Sonstiges",
        "attributeKey": "Dachform"
      }
    }
  },
  "en": {
    "codeList": {
      "roofType": {
        "0": "not defined",
        "1000": "flat roof",
        "2100": "monopitch roof",
        "2200": "dual pent roof",
        "3100": "gabled roof",
        "3200": "hipped roof",
        "3300": "half-hipped roof",
        "3400": "mansard roof",
        "3500": "pavilion roof",
        "3600": "cone roof",
        "3700": "copula roof",
        "3800": "sawtooth roof ",
        "3900": "arch roof",
        "4000": "pyramidal broach roof",
        "5000": "combination of roof forms",
        "9999": "other",
        "attributeKey": "Roof Type"
      }
    }
  }
}
Um eine Codeliste anzuwenden, muss im Bereich Feature Info für die Wertzuweisung diese definierte Syntax und einem Template-String anstelle des alphanumerischen Codes genutzt werden, z.B. codeList.<Attributname>.${value}.
Anwenden übernimmt die getätigten Änderungen in die angezeigte App. Siehe auch Bearbeiten und Speichern