ich habe mal eine Frage bezüglich des Designers und der resultierenden Ausgabe:
Beim Festlegen der Shortcuts für Actions muß man ja die englischen Kürzel benutzen wie z.B. Ctrl für Strg usw. Bei der Vorschau im Designer wird mir dann korrekterweise die deutsche Version wie Strg+O anstatt Ctrl+O angezeigt. Später nach dem Kompilieren wird dann aber wieder im fertigen Fenster Ctrl+O angezeigt anstatt Strg+O.
Mein erster Verdacht fiel auf eine fehlende Lokalisierung meines Programms, aber irgendwie traue ich dem Gedanken nicht. Denn das würde ja bedeuten, daß das QT4-Framework nicht in der Lage wäre, anhand der gegebenen Systemeigenschaften (deutschsprachiges XP) zu erkennen, daß meine QT-Programme eben in einer deutschsprachigen Umgebung ausgeführt werden (was bei nativen Win32/MFC, FreePascal oder bei Java nicht der Fall ist, dort wird dann auch Strg anstatt Ctrl ausgegeben).
Ein anderer Aspekt kam mir dann in Verbindung mit dem Linguist und seinen Übersetzungsdateien auf, aber da bin ich mir auch nicht sicher.
Da mich das aber sehr stört, daß anstatt Strg+O nur Ctrl+O angezeigt wird, würde ich gerne wissen, ob ich irgendwo einen "Lokalisierungsbefehl" in der Projektdatei oder direkt im Source eingeben muß (oder was im Endeffekt auch immer zu tun ist), damit später diese Shortcutübersetzung auch angezeigt wird.
Danke im voraus für eure Hilfe.
-------------
EDIT:
Habe gerade eben einen Thread bemerkt, der exakt mein Problem aufgreift (http://qtforum.de/forum/viewtopic.php?t=6155). Sorry
-------------
EDIT #2:
Ok, damit's schneller geht für alle Interessierten, die ebenfalls damit zu kämpfen haben (XXX = Programmname):
1. Da der Übersetzungsbug anscheinend auch in 4.3.x existiert (habe hier noch 4.1.2, ähm ja...), muß man sein Programm mit einer deutschen Übersetzungsdatei (XXX_de.ts) ausstatten:
Dazu öffnet man sich seine Projektdatei (XXX.pro) mit einem Editor und fügt die Zeile
Code: Alles auswählen
TRANSLATIONS = XXX_de.tsCode: Alles auswählen
# Input
FORMS += mainwindow.ui
SOURCES += main.cpp
RESOURCES += XXX.qrc
TRANSLATIONS = XXX_de.tsCode: Alles auswählen
lupdate XXX.proDanach öffnet man die XXX_de.ts Datei mit einem Editor und fügt folgenden Code am besten direkt am Anfang ein:
Code: Alles auswählen
<!DOCTYPE TS><TS>
<context>
<name>QShortcut</name>
<message>
<source>Ctrl</source>
<translation>Strg</translation>
</message>
...
...
</context>
</TS>Danach ruft man das Tool lrelease auf, welches aus der veränderten XXX_de.ts Datei eine korrespondierende XXX.qm Datei erstellt:
Code: Alles auswählen
lrelease XXX.proAbschließend muß man noch kurz folgenden Übersetzungscode in die main.cpp einbauen (siehe auch Tipps im Assistant) und ab geht's:
Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QString locale = QLocale::system().name();
QTranslator translator;
translator.load(QString("XXX_") + locale);
app.installTranslator(&translator);
...
return app.exec();
}Bitte fleißig meckern, wenn was falsch oder unklar sein sollte.