Message multilingue en C++

Fermé
riri - 15 juin 2004 à 10:12
 riri - 15 juin 2004 à 13:21
Quelle est la meilleure facon de mettre les messages en multilingue en C++

5 réponses

JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
15 juin 2004 à 10:41
Bonjour ou Bonsoir,

d'apres moi vous devez faire choisir le langage de votre appli et mettre les messages en fonction de ce langage.

JSS.ca.reponds.a.votre.question?
0
En java je sais le faire car une focntion est prevu
mais en C++ dois je stocker les messages dans un fichier avec des cles et le lire par la suite
quelle est la meilleure solution
y a t il une maniere de faire efficace
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
15 juin 2004 à 11:52
Une solution que j'ai utilisée en C, il y a longtemps (je n'ai plus le source), consiste à utiliser un fichier par langue, dont le choix est réalisé à l'installation, ou tout autre mode d'aiguillage. Ce fichier doit être lu et mis en mémoire en début d'application (ou à la première requête. Le mnémonique pourrait être remplacé par un numéro, mais ce serait au détriment de la lisibilité du code.

Chaque message est constitué d'un mnémonique (ex "INV_NAME"), suivi d'une chaîne qui est le libellé du message dans la langue choisie. Cette chaîne respecte la syntaxe des formats (cf printf) ou autre convention.

La routine d'erreur peut être de la forme :
function putError(mnemonic,errorLevel,arg1,arg2,....,argn)
laquelle :
* cherche la chaîne à partir du mnémonique (édite un message spécial si mnémonique non trouvé),
* effectue la substitution des formats repérés par le "%" par les arguments,
* édite la chaîne ainsi constituée (au format "%s").

Le problème à résoudre est celui de l'implémentation du mécanisme des "arguments variables", spécifique à chaque constructeur.
0
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
15 juin 2004 à 12:23
Bonjour ou Bonsoir,

Je vois deux solutions :

solution 1 :
tu definis une classe message qui va appeler une sous classe messageFR, messageIT, en fonction du langage choisi.
lors de tes appelles a tes messages tu appelera la classe message, le reste se fera automatiquement.

solution 2:
tu te definis une classe de type matrice ayant comme colonne le langage et comme ligne le message que tu veux dire.

Voila.

Ce ne sont la que deux propositions que je vois ...il y en a surement plein d'autres.

Bon Courage.

JSS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci bien pour vos suggessions
0