Sprach-/Übersetzungsoption

Hallo zusammen,

Ich schaue mir gerade Übersetzungsoption des ModBus Gerätes an und habe folgende Situation:

Im Eifer des Gefechtes habe ich erst mal angefangen, die Register auf deutsch zu pflegen.

Wenn ich jetzt eine neue Übersetzung anlege, wird mir default „de“ als Sprache angeboten.

Da es sehr mühsam wäre (mehrere 100 Addressen), jetzt die Hauptbenennung durch die englische Übersetzung zu ersetzten und zusätzlich die deutsche Übersetzung zu pflegen, könnte ich ja auch die Übersetzung mit Sprache „en“ pflegen.

Das könnte aber zu Kudelmuddel führen, wenn der Name der Addresse bereits default „en“ ist und wir „falsch“ die deutsche Übersetzung reinschreiben.

Daher die Frage:

Welche Sprache wird default im Namen erwartet?
Was bekommt man im englischen Environment angezeigt, wenn der Name in deutsch gepflegt ist und zusätzlich eine „en“ Übersetzung?

Beste Grüße
Frank

Ich würde das mal mit Chatgpt testen. Das hat bei meinen Modulübersetzungen super funktioniert. Der hat perfekt die englische Übersetzung ergänzt…

Gruß
Stephan

Hallo Stephan,
hast du da das Json file der Modbus Vorlage reingelegt? Ich habe die original Übersetzung vom Hersteller, aber insgesamt sind das über 500 Addressen die im Json an der richtigen Stelle ergänzt werden müssen.
Ich habe theoretisch alles Tabellarisch vorliegen, nur keine Ahnung wie die man die Erstellung des Json files mit einem Json-Schema macht.

Vg
Frank

Es wird immer davon ausgegangen, dass die ursprünglichen Texte in englisch sind und die Übersetzungen dann in andere Sprachen kommen. Wenn man das ganze also korrekt machen möchte, müsstest du leider alle deutschen Texte durch die englische Übersetzung ersetzen und die deutschen Namen in die jeweiligen locale-Dateien packen.

Als Informatiker würde ich mir dafür ein Skript schreiben, ich weiß jetzt aber nicht, wie tief du da drin hängst :slight_smile: Vielleicht schafft es aber wie von @da8ter vorgeschlagen auch ein ChatGPT oder dergleichen gut, das kann ich nicht einschätzen.

danke für die Bestätigung, dachte ich mir schon, daher die Frage. Für einfach Sachen kann man ChatGPT denke ich schon ganzu gut nutzten, ich würde das aber immer überprüfen wollen.

Daher eher die Skript Variante (aufgrund der vielen Datensätze), da ich aber mit Json-Schema noch nie gearbeitet habe ist für mich da der Rüstaufwand höher, mit den Tools die ich beisher gefunden habe sind immer nur einfach csv/json konvertierungen möglich.
Ich möchte ja wenn dann das komplette Json Vorlagen File inkl. der Profile generieren…

Da es durchaus öfter vorkommt, dass die überwiegend deutschen Commuity-Entwickler auch auf Deutsch schreiben, fände ich es eine tolle Geste der Unterstützung, wenn ein solches Script ‚Deutsch → Englisch und Referenzen umziehen‘ entsprechend in einer Scriptsammlung zum Thema Module verfügbar wäre.

Du könntest ja mal die deutsche Sprachdatei sowie die englische Übersetzung hier einstellen. Vielleicht lässt sich da ja schnell ein Script für bauen. Ich habe nur aktuell keine Dateien vorliegen und wollte jetzt auch nicht auf die Suche gehen, ob ich das passende Äquivalent aus einem anderen Modul finde.

2 „Gefällt mir“

Hm, deutsche Sprachdatei ist relativ, wir sind ja im Bereich der Modbus Vorlagen (.json), die Struktur der Translation ist aber ähnlich zu den der „normalen“ Module.

Ich habe hier auf der einen Seite die Modbus Vorlage .json Datei. In Ihr sind an falscher Stelle die deutschen Bezeichnungen / Addresse eingetragn.
Ich habe in ein paar Modbus Vorlagen reingeschaut und hatte fast ausschließlich Treffer mit rein deutschen Bezeichnungen. Mir ist das auch erst aufgefallen, als ich auf der Suche nach einer Lösung meines WO Problems die Expertenoption geöffnet habe.

Auf der anderen Seite habe ich eine Datei mit der Adresse und der englischen Bezeichnung.

Hier mal ein beispielhafter IST Zustand einer falsch eingetragenen Eigenschaft, bei dem die deutsche Bezeichnung an falscher Stelle steht [Name]:

        {
            "Active": true,
            "ByteOrder": -1,
            "DataType": 3,
            "Factor": 0.001,
            "Ident": "",
            "Length": 0,
            "Name": "Nennstrom über alle Phasen",
            "Profile": "~Ampere",
            "ReadAddress": 40480,
            "ReadFunctionCode": 4,
            "Translation": [],
            "WriteAddress": 0,
            "WriteFunctionCode": 0
        },

und hier wie es aussehen soll, englische, mit deutscher Übersetzung in der Eigenschaft [Translation]:

        {
            "Active": true,
            "ByteOrder": -1,
            "DataType": 3,
            "Factor": 0.001,
            "Ident": "",
            "Length": 0,
            "Name": "Nominal current of all phases",
            "Profile": "~Ampere",
            "ReadAddress": 40480,
            "ReadFunctionCode": 4,
            "Translation": [
                {
                    "Language": "de",
                    "Name": "Nennstrom über alle Phasen"
                }
            ],
            "WriteAddress": 0,
            "WriteFunctionCode": 0
        },

Der Schlüssel für den Datensatz ist die „ReadAddress“ ODER „WriteAddress“.
Eine der beiden Eigenschafte muss einen Schlüssel (INT) zwischen 1 und 49999 enthalten.
Leere Werte sind 0.
Es können beide einen (voneinander abweichenden) Wert enthalten. Sind beide gefüllt würde ich den „ReadAddress“ als Basis für die Übersetzung priorisieren.
→ Wenn ReadAdress > 0, dann ReadAddress, ansonsten prüfe WriteAddress und nimm den um nach einer Übersetzung zu suchen in der Sprachdatei.
Lang Example.json (39,8 KB)

Die beigefügte Sprachdatei enthält drei Spalten, Spalte 1 entspricht der Addresse, Spalte 2 das Sprachkürzel, Spalte 3 den Namen. In diesem Fall sind die Spalten Tab getrennt, Texte ohne Qualifier
(Excel → speichern als Txt Unicode)
SBS_3-6_Modbus_Trans_en.txt (49,0 KB) (hochladen ging nur als .txt)

Ich habe jetzt mal bewusst die Spalte Lang hinzugefügt, es wäre ja denkbar noch weitere Übersetzungen mit einem solchen Skript zu ergänzen, es gibt in diesem Fall noch 14 weitere Sprachen vom Hersteller …

Vom Ablauf der Verarbeitung habe ich ein klares Bild, allein mir fehlt das Handwerkzeug, da ich mehr im Bereich von Analytischen Datenbanken/-anwendungen mit der Verarbeitung von großen Datenmengen unterwegs bin.

Hässlich bei der Sache können wie immer bei soetwas die Codepages werden, zumindest wenn ich meine „Datenbankbrille“ aufhabe. Ich habe die Übersetzungsdatei hier bewusst mal mit Excel gemacht, das dürfte vielen Vertraut und verfügbar sein.

Hast du dir das so vorgestellt?

In dem Zusammenhang denke ich gerade auch an die Profile(Assoziationen). Ist dabei auch in Bezug auf multilanguage etwas angedacht?
Selbst wenn ich die Addressen sauber in en und de gepflegt habe, meine neu definierten Assoziationen die mit in der Vorlage enthalten sind werden wahrscheinlich auf deutsch sein…

Ich hänge jetzt nicht in den Modbus-Vorlagen drin. Ich habe auch jetzt erst bemerkt, dass es gar nicht um Modulentwicklung geht… Ich hätte aber gedacht, dass du Profilassoziationen auch via Translation übersetzen kannst. Aber da kann dir sonst @paresy bestimmt mehr zu erzählen.