Guten Morgen Bernhard
Zum ersten Punkt (Internationalisierung) grundsätzlich muss immer die richtige, kompilierte Translationsdatei vorliegen für die am System aktivierte
Die Lokalisierungen
Um verschiedene Landessprachen, Währungen und Zahlensysteme anzeigen zu können, benötigt man bei QT Widget Programmen eine binär
kodierte QM Datei. Die QM Dateien werden durch den Menüpunkt "Release" in dem von QtCreator mitgelieferten Programm QTLinguist.exe
erstellt. QTLinguist wiederum benötigt als Eingabedatei sogenannte *.TS Dateien. Diese wiederum werden mit dem Kommandozeilen Programm
lupdate.exe (ebenfalls Teil von QTCreator) erstellt (z.B lupdate.exe My3dStarChar.pro)
Am Ende bekommt man pro Land folgende Dateien, die beim Programmstart von unseren Programm geladen werden:
"my3dsc_de_DE.qm" (Nur für Deutschland gültig, nicht Schweiz, nicht Österreich)
"my3dsc_en_US.qm" (Nur für US Amerikaner)
Wenn keine passende Lokalisierungsdatei vorliegt oder generell die beim Programmstart benötigte QM Datei fehlt, dann werden die Werte verwendet
die im GUI Designer als Eigenschaftswerte hinterlegt werden (die statischen Werte die man normalerweise sowieso hinterlegt).
Zum neuen Update Dialog:
Momentan können explizit nur Dateien mit der Dateiendung
.my3dsc von einem Sourceforge.net Mirror geladen werden.Der Pfad muss
korrekt URL kodiert sein und die angeforderte Datei muss schon
auf dem Mirror verfügbar sein!!!. Das ist besonders
wichtig, denn nach dem Fileupload auf Sourceforge steht die Datei zunächst nur auf bestimmten Mirrors zur verfügung (die anderen Mirror
werden dann pö a pö nachgezogen, das kann aber einige Stunden dauern).
Nach erfolgreichen download...
wird die Datei (z.B hip_main.dat.my3dsc) von der Funktion
bool decompress(filename) entpackt. Dabei wird der Eingangsdateiname
um die Extension ".my3dsc" gekürzt so das die entkomprimierte ASCII Datei an Ende hip_main.dat (ca. 50 MByte groß) im Hauptprogramm
ordber verfügbar sein sollte. Die ".my3dsc" Datei ist zwar ebenfalls noch vorhanden, wird derzeit aber noch nicht entfernt.
Nächster Schritt:
Ich werde nun noch die compress(filename) Funktion einbauen, die man dann durch die Config.xml parametrisieren kann (ich denke
das ist das einfachste). Wenn das XML-Config Element <compress_file>hip_main.dat</compress_file> in der Config.xml notiert wird, dann wird
unser Programm im Kommandozeilen Modus starten, die Datei komprimieren und sich danach beenden! Wichtig! <compress_file>hip_main.dat</compress_file>
musst Du selbst wieder entfernen, ansonsten komprimierst Du bei jedem Programmstart neu bis zum sankt nimmerleins Tag
ps: Benutze für das editieren der Config.xml nur einen Editor der XML und UTF8 encoding beherrscht (z.B Notepad++, ist kostenlos) ansonsten
kann es passieren das der XML Parser unseres Programms einfach die Datei nicht akzeptiert Fehlermeldungen auslöst.
Downloadlink für Notepad++
http://notepad-plus-plus.org/download/v5.9.6.2.html
Gruß, Peter