Hallo
wie kann ich Qt anweisen, in meinem Programm die Sprache der automatisch generierten Buttons (solche Texte wie OK, Cancel, Help) und sonstiger Qt eigener Texte immer unabhängig von der Sprache des Systems (LANG Variabel) immer fix in einer Sprache auszugeben?
Konkret:
Ich möchte, dass mein Programm auch auf einer englischsprachigen Installation alle Elemente durchgängig deutsch anzeigt.
Danke
Markus
Qt Button Sprache fix, unabhaengig von System LANG
nein leider nicht, oder ich verwende es falsch???franzf hat geschrieben:QLocale::setDefault() vielleicht?
in meiner main.cpp habe ich folgendes geschrieben:
Code: Alles auswählen
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QLocale::setDefault(QLocale(QLocale::German, QLocale::Germany));
QLocale deutsch;
MainWindow *mainWin=new MainWindow();
mainWin->show();
qDebug() << "LANG" << deutsch.language();
int returncode=app.exec();
return returncode;
}Language German ist übrigens auf dem System installiert (Ubuntu), aber sogar, wenn ich auf German als Defaultlanguage umschalte, werden die Standardbuttons in Englisch angezeigt??? Vielleicht ein Problem mit meiner Qt-Installation?
PS:
Beispiel für einen Dialog, wo es schief läuft:
Code: Alles auswählen
int ret = QMessageBox::warning(this, tr("Verbinden mit Datenbankserver"),
QString("Es besteht bereits eine Verbindung mit einem Datenbankserver\n HostName: '%1'; UserName: '%2';\nVerbindung schliessen?").arg(db.hostName()).arg(db.userName()),
QMessageBox::No | QMessageBox::Yes);
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Qt Button Sprache fix, unabhaengig von System LANG
Find ich keinen guten Stil.otternase hat geschrieben: Ich möchte, dass mein Programm auch auf einer englischsprachigen Installation alle Elemente durchgängig deutsch anzeigt.
Der Benutzer wird sich schon etwas gedacht haben, wenn er das System in Englisch installiert hat.
Beispiel:
Du gehst als Austauschstudent in die Türkei.
Deinen PC mit deutscher Installation nimmst Du mit.
Dann kommt eine Software, die hardcodiert auf Türkisch ist.
Würdest Du das wollen?
Linux, das längste Text-Adventure aller Zeiten
Das war der entscheidende Tipp, jetzt funktioniert es!!!!! Danke!Christian81 hat geschrieben:Den deutschen Translator laden (.qt_de.qm) sollte helfen
Bezüglich des Einwandes von RavenIV. Sicher hast Du gewissermassen Recht, aber hier geht es genau um den umgekehrten Fall: Anwender will das Programm auch auf einem fremden Rechner in seiner eigenen Sprache bedienen...