[gelöst] QT Linguist

Alles rund um die Programmierung mit Qt
Antworten
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

[gelöst] QT Linguist

Beitrag von Tomaxx »

Hallo

Ich bin dabei, meine Anwendung mehrsprachig zu machen. Habe dabei diese Anleitung befolgt:

https://qtvon0auf100.wordpress.com/2012 ... it-andern/

Alles läuft durch, keine Meldungen.
Aber wenn ich die Sprache ändere (per Menupunkt), bleiben alle Feldbeschriftungen in deutsch. Seltsamerweise werden vorhe eingetragene Feldinhalte gelöscht und die Felder sind leer.

Mein diesbezüglicher code:

Code: Alles auswählen

void MainWindow::change_language(QString language){
    if (language=="deutsch"){
        qApp->removeTranslator(&aktuelle_sprache);
    }
    if (language=="english"){
        aktuelle_sprache.load("PumpPro_en");
        qApp->installTranslator(&aktuelle_sprache);
    }
    if (language=="francais"){
        aktuelle_sprache.load("PumpPro_fr");
        qApp->installTranslator(&aktuelle_sprache);
    }
    ui->retranslateUi(this);
}

void MainWindow::on_actiondeutsch_triggered(){
    QString neue_sprache = "deutsch";
    change_language(neue_sprache);
}

void MainWindow::on_actionfran_ais_triggered(){
    QString neue_sprache = "francais";
    change_language(neue_sprache);
}

void MainWindow::on_actionenglish_triggered(){
    QString neue_sprache = "english";
    change_language(neue_sprache);
}
Die Dateien PumpPro_en und PumpPro_fr sind im Programmverzeichnis vorhanden. Auch die Variante ":/PumpPro_en" habe ich probiert. Keine Übersetzung

Wo ist der Fehler?

Danke

Thomas
Zuletzt geändert von Tomaxx am 15. Juni 2017 09:49, insgesamt 2-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QT Linguist

Beitrag von Christian81 »

QTranslator::load() gibt ein bool zurück ob es geklappt hat, das sollte man mal überprüfen. Ich gehe mal davon aus, dass die qm-Dateien nicht gefunden wären können.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: QT Linguist

Beitrag von Tomaxx »

Stimmt, ich bekomme False zurück.

Was ist falsch am Aufruf? Die Datei ist im selben Verzeichnis.
Folgende AUfrufe klappen nicht:
"./PumpPro_en"
":/PumpPro_en" (wie in qt von 0 auf 100 angegeben)
"PumpPro_en"

Thomas
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: QT Linguist

Beitrag von Tomaxx »

Geschafft!

Folgender Aufruf geht:

Code: Alles auswählen

QDir::currentPath() + "/PumpPro_en"
Antworten