Je travaille sur une application MFC qui a été localisée dans plusieurs langues. Il lie dynamiquement à MFC et si les DLL LOC MFC sont installées sur le système cible, il utilise automatiquement ces DLL comme prévu. Cependant, sur certains de ces systèmes d'exploitation, nous avons des utilisateurs qui préfèrent l'anglais, est-il un moyen pour moi de le forcer à utiliser la DLL en anglais au lieu de la DLL LOC MFC traduit?Éviter MFC LOC DLL
Répondre
Le mécanisme MFC LOC est IMHO terrible. En raison de son incapacité à utiliser plus d'une traduction, comme vous l'avez expérimenté, MFC LOC mérite une bonne place dans le Hall of Shame de notre industrie. Pensez à toutes ces applications qui ont provoqué la traduction partielle d'autres applications MFC non apparentées.
C'est pourquoi je crois qu'il est préférable de fournir les traductions pour les ressources MFC dans vos propres DLL de ressources.
Avertissement: Mon annonce fait suite ;-)
appTranslator est votre ami pour traduire votre application MFC. Il traduit automatiquement la partie MFC de vos ressources dans 27 langues. Il construit automatiquement vos DLL de ressources. Et bien plus encore ...
/Fin d'annonce
Ce CodeProject article de la mine fournit le code prêt à utiliser pour supporter le chargement des DLL de ressources et de soutien pour un menu de langue. OK, ce n'était pas votre question mais j'ai pensé que ça pourrait aider. Oh, et il est hors de l'avertissement puisque c'est gratuit ;-)
Si je lier dynamiquement au MFC, comment puis-je l'empêcher de charger les DLL LOC déjà sur le système? Est la seule solution raisonnable pour lier statiquement à MFC? – Jonathan
Si vous installez le DLL MFC côte à côte avec votre application, il ne recherchera pas une DLL localisée MFC partagée. –
J'ai essayé d'utiliser le MFC côte à côte, à la fois à l'aide de modules de fusion et d'assemblys privés dans le répertoire local et les deux parviennent toujours à trouver la DLL LOC installée par l'installation redistribuable complète précédemment installée. – Jonathan
- 1. Singleton extension MFC DLL
- 2. Harnais GUI pour DLL MFC?
- 3. MFC LoadString dans dll échoue
- 4. DLL MFC multi-thread (réentrant)
- 5. DLL régulière en utilisant: MFC Shared vs MFC statiquement lié
- 6. Création d'une boîte de dialogue MFC partagée: DLL régulière ou DLL d'extension MFC
- 7. convertir "MFC Extension DLL" en "régulière DLL avec MFC lié statiquement" à la hâte
- 8. MFC DLL problème de chargement dans WinMo
- 9. C++/CLI de l'extension DLL MFC
- 10. Différentes façons de charger DLL dans MFC?
- 11. DLL en utilisant MFC sans CWinApp?
- 12. Comment éviter d'utiliser un bouton dans une application MFC?
- 13. Works DLL dans MFC App Mais non Dans .NET
- 14. Décharger des fichiers DLL à partir d'un programme MFC
- 15. Puis-je inspecter les arguments DLL dans MFC?
- 16. Où puis-je implémenter mes fonctions DLL MFC?
- 17. Outil Qt/MFC Migration Framework: quitter correctement la DLL?
- 18. Comment puis-je lier statiquement ma DLL d'extension MFC?
- 19. Création de ressources dans une DLL pour réutilisation, MFC/VC++
- 20. Créer une DLL à partir d'un projet mfc existant
- 21. C# DllImport Extension MFC DLL et nom Mangling
- 22. État MFC invalide lorsque la DLL est appelée via LoadLibrary
- 23. Comment charger manuellement les DLL de langage propres à MFC
- 24. Comment charger plusieurs instances pour la DLL dynamique en mfc
- 25. Comment utiliser une DLL MFC dans une application Qt
- 26. DLL MFC utilisant C++ avec Visual Studio 2008
- 27. php ip géo loc ne fonctionne pas
- 28. Meilleure façon de connaître LOC sur Eclipse
- 29. Sous-menus Liftweb avec définition Loc
- 30. optimisation des CSS en termes de LoC
Je ne suis pas sûr du type de systèmes que vous vouliez dire (autre que Windows qui est évident) mais peut-être les utilisateurs qui préfèrent l'anglais (je doute tout le monde dans le pays donné. ..) peut définir leur langue d'interface utilisateur préférée dans les paramètres régionaux à l'anglais? Autre que cela, vous devez écrire le chargeur personnalisé pour charger la DLL dans la langue préférée plutôt que le système d'exploitation par défaut. Pourriez-vous poster ce morceau de code qui charge vos bibliothèques de localisation? Surtout en ce qui concerne la détection locale (je me demande quel code vous utilisez pour apprendre à connaître LCID)? –