Internationalisierung bei Strings zur Laufzeit des Programms

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
EmaNymton
User
Beiträge: 174
Registriert: Sonntag 30. Mai 2010, 14:07

Hi,
ich habe das Problem, dass ich für mein Programm (PySide/QML) Daten aus dem Netz lade und diese in einer eigenen Datenstruktur zwischenspeichere. Jetzt möchte ich gerne die Anwendung internationalisieren. Bei den Oberflächen-Elementen ist das kein Problem, da bediene ich mich halt der üblichen Tools.
Die Daten werden mittels Model/View angezeigt. Da diese Anzeige ja dynamisch zur Laufzeit passiert muss ich also entweder die Daten schon beim Abspeichern in die richtige Sprache umwandeln oder aber halt erst beim Anzeigen. Ist meine Überlegung so prinzipiel richtig und für welche Möglichkeit würdet ihr euch entscheiden?

Danke für eure Einschätzungen!
BlackJack

@EmaNymton: Ich kann es mir etwas schwer konkret vorstellen, aber Darstellung sollte von den „internen” Daten getrennt sein. Speichern solltest Du in einer kanonischen Form, die unabhängig von der Anzeigesprache ist. Wenn Du übersetzte Daten speicherst und der Anwender diese dann wieder anzeigen möchte, aber mit einer anderen Spracheinstellung als diejenige die aktiv war als die Daten übersetzt und gespeichert wurden, müsstest Du am Ende jede Sprache in jede andere übersetzen können. Nichts anderes machst Du in der GUI bisher ja auch, dort wird ja auch die kanonische Form die im Quelltext und/oder den GUI-Daten steckt zur Laufzeit in die Anzeigesprache umgesetzt.
Antworten