redshirt
Messages postés5Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention 3 mars 2003
-
24 févr. 2003 à 14:24
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006
-
26 janv. 2005 à 10:38
Je voudrais creer une application en plusieurs langues. J'essaye donc d'utiliser les string tables. J'en ai cree une en francais et une en anglais. Pour recuperer une chaine j'utilise loadString. Mais je ne sais pas comment selectionner la table suivant la langue. Pourriez vous m'aider ? Merci.
yanousbie
Messages postés2Date d'inscriptionmardi 28 septembre 2004StatutMembreDernière intervention14 décembre 2004 14 déc. 2004 à 13:54
Salut,
je n'ai malheureusement pas de solution mais j'ai le même problème. si cela ne t'embête pas peux-tu me décrire ce que tu as déja fait, je planche sur le probleme également, des que j'ai du neuf, je t'en fais part, ciao merci
@+
cs_liv
Messages postés49Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention26 avril 2006 26 janv. 2005 à 10:38
Salut,
Il y a des manières beaucoup plus efficaces de faire des programmes multilangues.
Par exemple, dans ton projet principal tu crées une dll de ressource dans un projet vide. Tu dois avoir autant de dll que de langues.
Si tu as installé les MSDN va sur help://MS.VSCC/MS.MSDNVS.1036/vccore/html/_core_Create_a_Resource.2d.Only_DLL.htm
Ensuite tu copies le fichier .rc de ton programme principal dans celui de ton projet dll.
Tu traduis le fichier .rc de la dll dans la langue que tu veux.
Dans ton code au niveau de l'initialisation de ton programme (InitInstance() par exemple) tu copies le code suivant.
//Chargement de la Dll de langue
HINSTANCE dll;
La dll te sera utile pour traduire toutes tes ressources. Par contre si tu as du texte dans ton application (MessageBox, Champ texte dynamique...) indépendant de tes ressources tu devras mettre en place un objet langue à part ne servant qu'à stocker des variables contenant le texte.
Le choix de la langue lui peut se faire via une clé contenue dans un fichier .ini. En fonction de cette clé (FR, EN...), au démarrage de ton application (voir code ci-dessus) tu charges la dll adéquate et tu instancies tes variables texte de ton objet langue.
Le changement de langue ne peut s'effectuer qu'en redémarrant ton application...tu n'as plus qu'à mettre en place une routine te permettant de le faire.
Voilà pour les méthodes....si tu as des questions d'ordre technique n'ésite pas.