IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Traduction en cours d'execution?


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 49
    Par défaut Traduction en cours d'execution?
    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.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    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/

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 49
    Par défaut
    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.

  4. #4
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    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 un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monLabel->setText(tr("Mon Label"));
    Le 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.

  5. #5
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    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.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 49
    Par défaut
    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!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecraser un programme en cours d'execution
    Par Shiva dans le forum Langage
    Réponses: 12
    Dernier message: 05/10/2005, 18h03
  2. Plus la main sur l'appli en cours d'execution..
    Par maddog2032 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/06/2005, 11h49
  3. Trouver le nom de la DLL en cours d'execution
    Par jean31a dans le forum Langage
    Réponses: 10
    Dernier message: 10/05/2005, 09h26
  4. Compacter une appli en cours d'execution.
    Par valentin4949 dans le forum Access
    Réponses: 4
    Dernier message: 26/11/2004, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo