Mehrsprachige Inhalte

Texte wie sie z.B. für die Label verwendet werden, können auch mehrsprachig verfasst werden.

Im state kann ebenfalls Mehrsprachigkeit verwendet werden. Hierbei wird jedes MULTI_LANGUAGE Objekt automatisch in die aktuelle Sprache übersetzt. Die aktuelle Sprache selbst wird im state unter language vorgehalten und kann vom Nutzer zum Beispiel geändert werden, indem der languageButton im Container verwendet wird. Die Liste der verfügbaren Sprachen wird im state unter languageOptions vorgehalten. Standardmäßig werden deutsch und englisch unterstützt.

MultiLanguageDefinition

Das Attribut MULTI_LANGUAGE gibt hierbei an, dass mehrsprachiges Objekt verwendet wird. In diesem Objekt kann man für jede gewünschte Sprache einen Text hinterlegen. Dabei dient der zweistellige ISO-639-1 Code des Landes als Attribut und der Text für die entsprechende Sprache als Wert. Wenn nur einsprachige Texte benötigt werden, kann alternativ ein einfacher String verwendet werden.

Beispiel
{
  "type": "textfield",
  "label": {
    "MULTI_LANGUAGE" : {
      "de": "deutsches Label",
      "en": "englisch label"
    }
  }
},
{
  "type": "textfield",
  "label": "einsprachiges Label"
}

Beispiel

multipleLanguages.json
{
  "$schema": "https://forms.virtimo.net/5.1.0/schema.json",
  "metaData": {
    "id": 0,
    "version": 0
  },
  "configuration": {
    "defaultLanguage": "de"
  },
  "components": [
    {
      "type": "container",
      "languageButton": true,
      "label": {
        "MULTI_LANGUAGE": {
          "de": "Überschrift",
          "en": "Headline"
        }
      },
      "components": [
        {
          "type": "html",
          "value": "${/data/text}"
        },
        {
          "type": "combobox",
          "options": "${/languageOptions}",
          "value": "${/language}"
        }
      ]
    }
  ],
  "state": {
    "data": {
      "text": {
        "MULTI_LANGUAGE": {
          "de": "Deutscher Text",
          "en": "English text"
        }
      }
    }
  }
}
Eingebettete Vorschau

Keywords: