Il s'agit de rendre multi-langues une application Win32 en utilisant des plug-ins.
Principe de fonctionnement:
Le point de départ est une application Win32 mono-langue. Les ressources de cette application (menu, boite de dialogue, chaîne de caractères, ...) doivent obligatoirement provenir d'un fichier de ressources (fichier .RC). J'insiste particulièrement sur les chaînes de caractères: toutes les chaînes pouvant être affichées à l'utilisateur doivent se trouver dans une string-table et être chargées par la fonction LoadString() de l'API. Aucunes d'entres elles ne doit être définie en dur dans le code.
A cette application on peut ajouter un ou plusieurs plug-ins contenant chacun une langue différente. Ces plug-ins sont en fait de simples DLL contenant le fichier de ressources de votre application dans lequel l'ensemble des ressources aura été traduit.
Le lien entre l'application et les plug-ins est la classe CMultiLangue. Elle ne contient que des méthodes statiques qui assurent l'ensemble de la gestion des langues et des plug-ins.