Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Boîtes de dialogue en français

Sujet résolu
    2 janvier 2009 à 14:08:21

    Bonjour,

    Matéo explique dans son cours comment mettre les boîtes de dialogue en français avec ce code :
    // main.cpp
     
    #include <QApplication>
    #include <QTranslator>
    #include <QLocale>
    #include <QLibraryInfo>
    #include "MaFenetre.h"
     
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        QString locale = QLocale::system().name();
        QTranslator translator;
        translator.load(QString("qt_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
        app.installTranslator(&translator);
     
        MaFenetre fenetre;
        fenetre.show();
     
        return app.exec();
    }
    


    Cependant je ne développe pas en c++, mais en java, j'utilise donc la bibliothèque java de Qt (Qt Jambi) pour mon application.
    J'ai porté le code de matéo pour le faire fonctionner en java :
    // Les imports
    
    public Constructeur()
    {
    	QApplication.initialize(new String[]{});
    	String langue = QLocale.system().name();
    	QTranslator translator = new QTranslator();
    	if(translator.load("qt_" + langue, QLibraryInfo.location(LibraryLocation.TranslationsPath)))
    	{
    		QApplication.installTranslator(translator);
    	}
    	else
    	{
    		System.err.println("Erreur lors du chargement du fichier de langue.");
    	}
    }
    

    Or ce code ne fonctionne pas, en effet l'application va chercher le fichier "qt_fr_FR.qm" dans le répertoire "C:\tmp\qtjambi-package-builder\qt-gpl\translations" qui évidement n'existe pas chez moi.

    Je viens donc poster ici pour vous demander où Qt va chercher le fichier de langue .qm en c++ et pour savoir s'il est possible d'uploader votre "qt_fr_FR.qm" totalement introuvable sur la toile pour faire quelques tests.

    Je dois préciser que tout ce qui est possible de faire en c++ avec Qt l'est aussi en java avec Qt Jambi.

    Merci à vous.
    • Partager sur Facebook
    • Partager sur Twitter
      3 janvier 2009 à 18:40:09

      Bonsoir,

      Merci python-guy pour ta courte réponse, cependant cette partie de la documentation (que j'ai déjà lu bien entendu) ne m'aide pas vraiment : tu remarqueras que le code d'exemple ressemble fortement au mien présenté dans mon premier post.
      public static void main(String args[])
              {
                  QApplication.initialize(args);
      
                  QTranslator qtTranslator = new QTranslator();
                  qtTranslator.load("classpath:/translations_directory/qt_" + QLocale.system().name() + ".qm");
                  QApplication.instance().installTranslator(tTranslator);
      
      
                  QTranslator myappTranslator = new QTranslator();
                  myappTranslator.load("classpath:/translations_directory/myapp_" + QLocale.system().name() + ".qm");
                  QApplication.instance().installTranslator(myappTranslator);
      
                  ...
                  QApplication.exec();
              }
      


      Cette ligne malgré tout m'interpelle :

      Citation : Javadoc Qt

      You will find translation files for French, German and Simplified Chinese in $QTDIR/translations, as well as a template for translating to other languages. (This directory also contains some additional unsupported translations which may be useful.)


      Je viens de chercher le dossier "translation " du répertoire de Qt Jambi et il ne s'y trouve pas.
      Une âme charitable aurait-elle donc la gentillesse d'uploader le fichier "qt_fr_FR.qm" présent dans le répertoire de Qt c++ ?

      Merci à vous.

      EDIT : Bon voila j'ai téléchargé la version de Qt c++ et j'ai trouvé le fichier "qt_fr.qm" qui fonctionne pour mon appli java
      • Partager sur Facebook
      • Partager sur Twitter

      [Qt] Boîtes de dialogue en français

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown