String Table

Résolu
dehono Messages postés 17 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 18 août 2008 - 19 janv. 2007 à 12:39
dehono Messages postés 17 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 18 août 2008 - 19 janv. 2007 à 14:15
Bonjour,
Par le gestionnaire des compléments, j'ai créé un dans un fichier .RS un string Table de 2 Tables,La première en français et la seconde en néerlandais ainsi qu'un module ou je reprends les constantes correspondantes aux différents ID. 
Mon premier problème est qu'il n'y a qu'un seul ID pour les 2 tables.
Mon but est de pouvoir modifier les boutons de commandes ainsi que le menu en runtime en fonction du choix de la langue.
Seulement je n'arrive pas a swaper d'une table à l'autre, il me prend une table par défaut.. Je suppose qu'il y a possibilité de le faire sinon quel est l'intérêt de pouvoir créer plusieurs tables dans le même string table.
J'ai lu les archives à ce sujet mais je ne trouve pas de réponse à ma question.
Quelqu'un peut-il m'aider SVP?
Merci pour les futures réponses

Dehono

4 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 13:02
Hé Hé !

Réfléchis donc un peu au mécanisme suivant :

1) Une seule table (pas deux)
2) dans ton appli : un nombre affecté à chaque langue
3) dans tes loadrestrings : 1 chiffre par traduction + (100 * le nombre correspondant à la langue choisie) je dis 100, mais celà pourrait être aussi bien 1000, etc...selon le nombre des chaînes à traiter

Ainsi donc , par exemple :
1) dans mon fichier res :
   10 correspondrait à "bonjour"
   et
   110 correspondrait à "Buenos dias"

2) si ma langue est paramétrée 0 pour français et 1 pour espagnol

toto = loadrestring (0 + (langue* 100)) donnerait loadrestring(10) pour le français et loadrestring(110) pour l'espagnol

Tout est clair ? Todo claro ahora ?

Si es que si, me debes unos soles, ya....
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 janv. 2007 à 13:30
Tu n'as pas le choix, il faut faire comme te dit Jacques.

En faisant comme tu fais, tu logiciel ne sera en néerlandais que sur une plate forme néerlandaise, c'est à dire Windows configuré en néerlandais, et ce de manière automatique normalement.
Mais avec cette méthode, tu ne peux pas avoir du néerlandais sur une plateforme française ou autre.

Pour y arriver, il faut que tu le gere à la main comme montré par jmf

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 janv. 2007 à 13:39
Perso j'utilise 10000 pour le saut de langue
Ensuite 1000 ou 500 pour le saut d'écran
Avec de 0 à 99 tous les messages génériques tel que Ok, Annuler, Oui, Non, les messages d'erreurs, et tous les messages non spécifique à un écran.

L'écran d'acceuil va de 100 à 999, les écrans suivant de 1000 à 1999, 2000 à 2999, ....
Un éventuel sous écran à de X500 jusqu'à X999, l'écran parent n'allant dans ce cas que jusqu'à X499

Ceci à l'avantage de classifier les messages par écrans, sans etre obligé de tout décalé lorsque tu rajoute un message sur un écran.

Ensuite tu gere avec un variable globale pour la langue, une variable globale privée pour l'écran plus l'id de ton message.

message = LoadResString(Langue + MonEcran + IdMess)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
dehono Messages postés 17 Date d'inscription jeudi 5 février 2004 Statut Membre Dernière intervention 18 août 2008
19 janv. 2007 à 14:15
Je vous remercie a tous les deux, c est tres clair et super efficace. Encore merci on reconnait les pros 

Dehono
0
Rejoignez-nous