Seite 1 von 1

Qt4: linguist, sprache zur laufzeit ändern.

Verfasst: 9. Oktober 2008 00:15
von nando
Hi,

kann man zur laufzeit die sprache ändern ?

wenn ich ein neuen translator lade, dann ist der nur für widgets gültig,
die ab dann neu erstellt werden....

gibt es so was wie qApp->updateTranlation() oder so ?

damit alle auch schon sichtbaren widgets die sprache ändern...


danke für eure hilfe,
nando

Verfasst: 9. Oktober 2008 07:22
von macman

Verfasst: 9. Oktober 2008 09:12
von nando
Da hab ich schon gesucht...
aber das bezieht sich scheinbar nicht auf mein problem.
ich nutze kein designer....
nix mit ui files....

Verfasst: 9. Oktober 2008 09:22
von macman
Natürlich bezieht sich das auf dein Problem, Stichwort retranslateUI. Du musst schon selbst dafür sorgen, das schon angezeigte Texte übersetzt und neu geschrieben werden.

Verfasst: 9. Oktober 2008 10:48
von nando
hmm..
wie soll ich das denn machen?
das is ja voll der act..
ich dachte dieses retranslateUi oder wie das heisst macht genau das fuer mich..
wo finde ich denn das retranslateUi hab nix in der doku gefunden...

Verfasst: 9. Oktober 2008 12:39
von macman
Wenn du mit dem Designer etwas erstellst und das durch den UIC schickst, bekommst du eine Datei mit den Funktionen setupUI und retranslateUI. Deswegen wirst du es in der Doku nicht finden. Wenn du den Designer nicht nutzt, dann wirst du deine Objekte irgendwo in einem oder mehreren Konstruktoren erstellen. Da beschreibst du wahrscheinlich auch die Texte. Das pfriemel alles raus und pack es jeweils in ein retranslateUI, welches dann vom Konstruktor aufgerufen wird. Nach einer Sprachumschaltung rufst du die Methoden dann auch auf.

Wenn das jetzt so ein Akt ist, dann hast du dir vorher nicht überlegt was du machen willst, bzw. was deine App können soll.

Verfasst: 9. Oktober 2008 19:07
von nando
Ja so was soll vorkommen, die anforderungen aendern sich nun mal oft im nachhinein, aber das wirst du ja selber kennen...
trotzdem danke fuer deine tips...
mal sehen ob ich dann von dem dynamischen sprachwechsel absehen kann und es doch statisch mache....

gruss,
nando

Verfasst: 10. Oktober 2008 07:22
von macman
Viele unserer alten Programme können auch keinen dynamischen Sprachwechsel, da muss das Prog neu gestartet werden, aber mit Qt ist das so einfach, da muss ich es einfach perfekt machen :-) Selbst angezeigte MessageBoxen reagieren darauf.