Bonjour, je voulais savoir s'il existait un moyen de traduire son programme après l'avoir lancé(l'utilisateur peut changer la langue), j'ai essayer en faisant un removeTranslator puis installTranslator mais çà ne change rien. Merci.
Bonjour, je voulais savoir s'il existait un moyen de traduire son programme après l'avoir lancé(l'utilisateur peut changer la langue), j'ai essayer en faisant un removeTranslator puis installTranslator mais çà ne change rien. Merci.
Salut.
As tu regardé ces exemples?
http://qt.developpez.com/doc/latest/...ml#qt-linguist
Tu peu voir aussi les tutoriels et cours de formation pour bien apprendre Qt : http://qt.developpez.com/tutoriels/
J'ai déjà regarder mais c'est seulement avant de lancer le programme, moi je voudrais que l'utilisateur puisse changer la langue après avoir lancer le programme.
Ce que j'avais fait pour changer en cours d'exécution la langue de l'interface c'est :
* Je crée un QTranslator que j'installe dans l'application (via installTranslator()) tout au début (dans le main) avant exec().
* Quand il y a un changement de langue, j'appelle load() du translator avec le fichier de la nouvelle langue.
* Je retraduis les textes affichés. C'est à dire que typiquement si j'ai un QLabel je refais unLe dernier point est un peu contraignant, vu qu'il faut remettre les textes de toute l'interface mais il suffit d'avoir une fonction qui place tous les textes qui est appelée au début et à chaque retraduction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part monLabel->setText(tr("Mon Label"));
Salut, je pense que la solution est plus subtile que decharger/decharger un fichier de langues. Je dois bientôt me pencher sur le cas et j'avais fait une recherche dessus. Voilà ce que j'avais trouvé sachant que je n'y ait pas regardé plus que ça : How can I dynamically switch between languages in my application
EDIT: Tu peux t'inspirer un petit peu de ce qui est automatiquement fait par Qt Designer. Si tu ouvres un fichier ui compilé (un header quoi ..) tu verras qu'à l'intérieur il y a une méthode retranslateUi(). Avec un peu de chance, tu peux appeler cette méthode pour toutes tes classe qui dérivent de la classe générée par uic. Du coup, tu pourrais peut-être faire une grosse RETRANSLATEUI() qui appelle toutes les retranslateUi() de ton application. C'est un peu mal dit, mais je pense que tu me suis.
![]()
Merci de votre aide, çà marche maintenant.
J'avais fait une fenetre avec qtdesigner et j'ai utilisé la méthode retranslateUi, enfin j'ai compris le principe et çà marche nickel merci!![]()
Partager