Übersetzungen für Values in Listen von Konfigurationsformularen

Hi zusammen,

vielleicht hab ich es ja überlesen, aber wir kann man bei Verwendung von „LIST“ in einem Konfigurationsformular die Initialen Werte (values) mehrsprachig gestalten?

Danke Heiko

Ganz normal mit Translate, oder kannst Du mal ein Beispiel geben was Du genau machen willst bzw. was nicht funktioniert?

Hi Fonzo,

mit translate funktioniert aber nur wenn ich die Form dynamisch zusammenbaue, oder? Also nicht schon fertig in die form.json reinhacken will!

Gruß Heiko

Was in der Form.json steht wird automatisch übersetzt.
Der Wert muss nur genau so auch in der Übersetzung stehen

Ob Du die form.json dynamisch zusammenbaust oder nicht spielt dafür erst mal keine Rolle. Es kann Sinn machen die form.json dynamisch aufzubauen aber das hängt im Einzelfall vom der Liste ab und wie diese aufgebaut ist dazu müstest Du ein Beispiel geben was Du genau machen willst.

Entscheidend ist nur die locale.json, alles was da drinnen steht, kann mit Translate übersetzt werden. Wenn Du also nicht weist was Du für einen Wert erwartest und dieser nicht in der locale.json aufgeführt ist, kannst Du auch nichts übersetzten.

Hi zusammen,

genau wir ihr es beschreibt hätte ich es erwartet. Hatte es zwischenzeitlich schon umgebaut, aber zum Testen jetzt extra nochmal zurückgebaut.

Hier die Dateien und es wird nicht die Übersetzung gezogen :confused:

locale.json


{
  "translations": {
    "de": {
        "Mapping:": "Zuordnung:",
        "State": "Zustand",
        "Position": "Position",
        "Level": "Laufzeit",
        "Open/Up (0%)": "Geoeffnet (Hoch)",
        "Quarter (25%)": "Viertel geoeffnet",
        "Half (50%)": "Mitte",
        "Three quarter (75%)": "Dreivirtel geschlossen",
        "Almost closed (99%)": "Lichdicht geschlossen",
        "Close/Down (100%)": "Geschlossen (Runter)"
    }
  }
}

und form.json


{
  "elements": [
    {"type": "List",
        "name": "Mapping",
        "caption": "Mapping:",
        "rowCount": 7,
        "add": false,
        "delete": false,
        "columns": [
            {   "caption": "Position",
                "name": "Position",
                "width": "100px"
            },
            {   "caption": "Level",
                "name": "Level",
                "width": "auto",
                "edit": {
                    "type": "NumberSpinner",
                    "digits": 2
                }
            }
        ],
        "values": [
            {   "Position": "Open/Up (0%)",
                "Level": "1.0"
            },
            {   "Position": "Quarter (25%)",
                "Level": "0.85"
            },
            {   "Position": "Half (50%)",
                "Level": "0.70"
            },
            {   "Position": "Three quarter (75%)",
                "Level": "0.50"
            },
            {   "Position": "Almost closed (99%)",
                "Level": "0.25"
            },
            {   "Position": "Close/Down (100%)",
                "Level": "0.0"
            }
        ]
    }
  ]
}

Mapping, Position und Level (Listenkopf) wird übersetzt, die Werte nicht!

Gruß Heiko

Nachtrag Screenshot

Siehe auch Lokalisierungen — IP-Symcon :: Automatisierungssoftware

Die JSON-Datei „locale.json“ beinhaltet die Übersetzungen für „label“ und „caption“ der Konfigurationsseite.

Alles andere musst du über eine dynamische Form machen.

Die Werte werden mit Translate übersetzt, das geht aber nur wenn die form dynamisch ist, da sich der Inhalt der Liste ja nach Sprache unterscheidet. Du must also statt einer form.json GetConfigurationForm nutzten, dann kannst Du das mit Translate ausgeben.

also so in der Art


$values = [
[
"Position" => $this->Translate("Open/Up (0%)"),
"Level" => "1.0"
]
]
$values_json = json_encode($values);

Danke bumaas, wusste doch das ich es überlesen habe :wink: