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 :

Chargement du fichier .qm avec QTranslator


Sujet :

Qt

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Chargement du fichier .qm avec QTranslator
    Bonjour à tous!
    Je suis nouveau dans le forum et je suis ravi d'avoir rejoint ce groupe.
    En effet, je développe actuellement une application en C++, sous Qt 5.5.1. Et je souhaite traduire cette application en Anglais. J'ai pu générer mon fichier .ts et je les ai traduit, puis j'ai générer mon fichier .qm avec Qt Linguist, sauf que je n'arrive pas à charger ce fichier avec QTranslator.
    Mes QString sont toujours en français.
    Quelqu'un aurait-il une idée? Je souligne que j'ai désactivé "Shadow build" du coup, mon fichier .qm est dans le même dossier que le .pro.

    Je vous propose mon programme "main"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
     
        QTranslator translator;
        if(translator.load("/home/koumba/Bureau/Qt_Cours/1er_Prog/zeroClassGenerator/TPzeroClassGenerator/TPzeroclassgenerator_en.qm")){
     
            a.installTranslator(&translator);
        }
        else{
            qDebug() << "Unable to load language file !";//Impossible de charger le fichier de langue
        }
     
        FenPrincipale w;
        w.show();
     
        return a.exec();
    }

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour.

    Charger les traductions avec QTranslator n'est pas très intuitif, il faut en fait utiliser deux paramètres comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translator.load( "nom du fichier sans .qm", "dossier où chercher" );
    Dans ton cas ça serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translator.load("TPzeroclassgenerator_en", "/home/koumba/Bureau/Qt_Cours/1er_Prog/zeroClassGenerator/TPzeroClassGenerator/"))
    Note qu'indiquer le chemin en dur n'est pas conseillé, car si le logiciel venait à tourner sur une autre machine (ou dans un autre dossier) ça ne marcherait plus. Préfère utiliser les fonctions de Qt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    translator.load( QApplication::applicationName(), QApplication::applicationDirPath() );
    Dans ce code, translator cherche un fichier du même nom que mon projet et placé dans le dossier du projet. Et ça marche car, selon la documentation, translator va chercher plusieurs fichier en fonction de la langue voulue.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Par défaut Problème de chargement du fichier .qm avec QTranslator
    Bonjour et merci pour votre réponse.
    En effet, j'ai qu'à même réussi hier à obtenir ce que je voulais, c-à-d le chargement du fichier de traduction avec QTranslator.
    Mais par contre, j'ai utilisé le chemin de mon fichier; ce qui n'est pas pratique lorsqu'on veut partager son programme.
    Je vais alors intégrer votre proposition car je pense qu'elle me paraît assez bonne.
    Une fois encore merci, et je reviendrai vers vous pour vous informer de cette amélioration.

Discussions similaires

  1. Problème de chargement de fichier avec upload
    Par gasper06 dans le forum Flex
    Réponses: 1
    Dernier message: 19/06/2009, 14h32
  2. Chargement de fichiers .x avec texture
    Par Omfraax dans le forum OpenGL
    Réponses: 3
    Dernier message: 17/01/2007, 09h42
  3. pb de chargement de fichier vidéo avec jmf
    Par Akhan dans le forum Multimédia
    Réponses: 4
    Dernier message: 20/11/2006, 21h52
  4. [DOM4J] Problème de lecture de fichier xml avec dom4j
    Par santana2006 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/04/2006, 16h52
  5. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 19h32

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