Seite 1 von 1

Dynamische Sprachumstellung

Verfasst: 24. Juni 2009 15:02
von Tyrdal
Ich kapier die Doku nicht. Man kann laut ihr mehrere Translatoren installieren und bei jedem Installationsvorgange würde ein LanguageChange Event gesendet. Stellt sich mir die Frage wie kann ich jetzt zwischen den verschiedenen Translatoren umschalten?

Verfasst: 24. Juni 2009 15:20
von Mani99
Du lädst einfach die richtige sprachdatei, hier anhand der doku die die auf dem system eingestellt ist.

Code: Alles auswählen

     QTranslator qtTranslator;
     qtTranslator.load("deine_sprach_datei_" + QLocale::system().name(),
             QLibraryInfo::location(QLibraryInfo::TranslationsPath));
     app.installTranslator(&qtTranslator);

Verfasst: 24. Juni 2009 16:05
von Strahlex
Nicht vergessen das du bei einem dynamischen Sprachwechsel die komplette GUI neu übersetzen musst (retranslateUi() mit ui. Datei oder händisch bei zur Laufzeit erstellten Widgets)

Verfasst: 24. Juni 2009 16:25
von upsala
retranslateUI ist aber nur eine Funktion die nur vom uic bereitgestellt wird.

Verfasst: 24. Juni 2009 23:07
von Strahlex
Hab ich doch geschrieben oder hab ich mich schlecht ausgedrückt? Hab natürlich gemeint das man zur Laufzeit erstellte Widgets händisch (in einer selbst erstellten Funktion) neu übersetzen muss.

Verfasst: 25. Juni 2009 07:43
von Tyrdal
Ok, inzwischen funktioniert es, aber die Doku ist in dem Punkt echt schlecht. Erstens der Punkt mit mehereren Translatoren lade, da hab ich gedacht ich lad erst alle Sprachen und schalte dann zwischen denen um. Das zweite ist, das ich das erste Laden und Installieren unbedingt in der main Funktion machen muß, sonst funktionierts nirgendwo.