Bonjour à tous,
Je viens de démarrer un projet en C++ sous Embarcadero® C++Builder® XE Version 15.0.3953.35171 (La dernière version de Borland C++ Builder en somme), et je suis confronter à un problème tout simple, que tout le monde à déjà dus rencontrer : Je cherche à faire un projet multi-langue, Français & Anglais.
Alors ajouter une nouvelle langue au projet et assez simple : un coup d’aide en ligne et on trouve la réponse, idem pour exécuter l’app en Français ou en Anglais.
Là ou ça ce complique, c’est que C++Builder, via la gestion des langues (Menu, projet, langues) ne prend en compte que les labels et les textes des boîtes de dialogues.
Par conséquent, tous les messages internes (par ex. Application->MessageBox(L"Sauvegarde des paramètres",L"Information :", MB_OK); ) ne sont pas pris en compte dans le fichier de ressources de langue généré (*._DRC.rc).
Je cherche donc un moyen de rajouter une ressource de type « string tables » (comme je pourrais le faire en .NET), afin d’y adjoindre mes textes (ici, Sauvegarde des paramètres, Information).
De cette manière je pourrais remplacer mes textes par quelque chose du genre LoadString(XXX).
Ensuite je cherche un moyen de lire cette ressource en fonction de la langue dans laquelle je lance mon application...
Si je démarre mon application en Français, je lis la colonne Français de ma ressource en fonction de l’ID de ressource recherché.
Si je démarre mon application en Anglais, je lis la colonne Anglais de ma ressource en fonction de l’ID de ressource recherché.
Cela me parais tellement évident que je ne comprends pas pourquoi cela n’existe pas simplement dans la gestion des langues d’un projet...
Je pense donc que je dois rater un truc qui doit être vraiment très gros...
Si par hasard vous avez un Tuto, un exemple à transmettre je suis preneur!
Je vous remercie par avance pour votre aide.
Partager