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

MFC Discussion :

Appli MFC multi langue


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Appli MFC multi langue
    Bonjour,
    Je dois reprendre une appli MFC et implementer la gestion multi langue. Je voudrais savoir le meilleur moyen de la mettre en oeuvre sachant que de plus je vais devoir gérer les données en Unicode.

    Merci



    PS: j'espère qu'ils sont pas tous en vacances ;D

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ben, je ne sais pas trop ce dont tu as besoin, à part un usage massif d'une String Table...


    Pour le reste par contre (images contenant du texte, ou certaines boîtes de dialogue) tu risques d'avoir besoin des conditions sur les ressources, mais là, je ne sais pas si la compatibillité est "source" ou "On-PC"...


    Un autre truc qui peut être intéressant, c'est de mettre toutes les ressources dans une DLL, et utiliser AfxSetResourceHandle(). Ainsi, tu as des langages différents pour le même exe, selon la version de la DLL...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oui, pour la gestion des langues je crois que le mieux est de créer une projet ressource par langue (avec dialogue et string table) et de charger à la volée la dll de ressource. Par contre je sais pas si c'est ce qui est le plus simple à maintenir !!
    Une grande inconnue est aussi la gestion des caractères unicode dans les controles ?

    J'ai lu dans MSDN la notion d'IME pour gerer la localisation avec les controles du style CIMEEdit, mais la documentation est assez pauvre. Une idée ?

    (mon besoin c'est creer une appli en 14 langues dont le japonnais à partir d'un existant en MFC)

    Question subsidiaire : le projet MFC est très simple, serait-il pour moi plus simple de le porter sur VS 2003 ? (gestion multi langue intégrée ? ...)

  4. #4
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 122
    Points : 138
    Points
    138
    Par défaut
    Salut,
    Moi j'ai déjà fait des projets multilangues en utilisant des DLL de ressource, c'est facile à mettre en place, mais à maintenir c'est chaud, à chaque fois que tu rajoute une ressource dans une dll, il ne faut pas oublier de la rajouter dans les autres. Pour l'unicode, il n'y a aucun problème particulier, du moment que ton projet est unicode, ça devrait fonctionner, attention tout de même, dans le fichier .rc des ressources de langue, il faut faire très attention à utiliser le bon code page de la langue sinon ça ne s'affichera pas correctement.

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757

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

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Précisions sur la gestion multilangue
    J'arrive un peu tard sur le sujet, mais j'ai constaté quelques détails qui est interessant d'ajouter au tutoriel.

    - Le premier point concerne la fonction AfxGetResourceHandle qui ne retourne pas
    L'instance fournit par AfxSetResourceHHandle lors de la selection du fichier de langue.

    m_hbitmap = ::LoadBitmap (AfxGetInstanceHandle(),MAKEINTRESOURCE(ID_) ) ;

    ne marchera pas.

    - Le second point concerne le fichier resource.h

    L'exemple fournit utilise deux fichiers resource.h, le premier pour le programme principal et le second pour le projet de lang (fr). Mais le fichier resource.h doit être unique pour éviter qu'ils évoluent de maniere différentes. Si vous rajouter une resource dans le projet de langue, elle risque de ne pas appariatre dans le projet principal.
    D'autant plus lorqu'il y a plusieurs fichiers de langue.

    C'est pourquoi je pense qu'il est plus simple d'avoir un seul fichier resource.h pour l'ensemble du projet ( pincipal et resources).
    Même si quelquefois le visual se mélange un peu les crayons.

    Dans un projet multilangue d'autres soucis sont à prevoir. Entre autre concernant la gestion des dates et la gestion des caractères unicode.

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

Discussions similaires

  1. Appli Multi langue
    Par Piercing dans le forum EDI/Outils
    Réponses: 9
    Dernier message: 13/07/2011, 10h48
  2. [iOS 4.x] Appli Multi langue
    Par Feanorin dans le forum Objective-C
    Réponses: 1
    Dernier message: 07/01/2011, 11h49
  3. Appli C# multi-langue
    Par hobotalker dans le forum Windows Forms
    Réponses: 27
    Dernier message: 17/10/2007, 17h58
  4. Réponses: 2
    Dernier message: 04/06/2004, 10h36
  5. [C#] Multi langue - fichier resource.resx
    Par dacamp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/06/2004, 16h25

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