OVH Cloud OVH Cloud

Applications multilangues

10 réponses
Avatar
JM
Bonjour

Sur les moteurs de recherche, je n'ai pas trouvé grand chose de pratique
pour créer une application permettant la gestion de plusieurs langues.

En ce qui concerne les ressources, j'ai vu qu'on pouvait les copier et
changer le contenu des contrôles.
L'idée me parait intéressantes, mais que se passe-t-il si on modifie un
controle dans la langue de base,par exemple ajouter un text static?
Est-ce que ce contrôle apparait dans la copie ou non?

Je ne suis pas parvenu à le faire.

Merci

10 réponses

Avatar
Remi THOMAS
"JM" wrote in message
news:45a4eb9e$0$5066$
Bonjour

Sur les moteurs de recherche, je n'ai pas trouvé grand chose de pratique
pour créer une application permettant la gestion de plusieurs langues.

En ce qui concerne les ressources, j'ai vu qu'on pouvait les copier et
changer le contenu des contrôles.
L'idée me parait intéressantes, mais que se passe-t-il si on modifie un
controle dans la langue de base,par exemple ajouter un text static?
Est-ce que ce contrôle apparait dans la copie ou non?

Je ne suis pas parvenu à le faire.

Merci



Bonjour,

Il faudrait préciser la plate-forme de développement.

Cordialement,
Rémi
Avatar
JM
Remi THOMAS a écrit :

Il faudrait préciser la plate-forme de développement.



Oups, oui, pardon :)

Je développe sur visual c++.net 2003
Avatar
JM
Personne à la moindre idée?

A chaque nouvelle version, je suis obligé de tout me retaper à traduire?

JM a écrit :


Remi THOMAS a écrit :

Il faudrait préciser la plate-forme de développement.



Oups, oui, pardon :)

Je développe sur visual c++.net 2003


Avatar
Sylvain
JM wrote on 26/01/2007 19:25:
Personne à la moindre idée?



à la question "Est-ce que ce contrôle apparait dans la copie ou non" ?

il est, en effet, à craindre que personne n'ait la baguette magique à
faire apparaître des contrôles.

A chaque nouvelle version, je suis obligé de tout me retaper à traduire?



si tu crames ton PC à chaque release, oui; sinon tu as le droit de juste
ajouter le différentiel.

si "nouvelle version" devait signifier "nouvelle langue jusqu'alors non
supportée", ne cherche pas non plus le bouton "traduit tout le bouzin
pour moi" ça n'existe pas (sauf sous la forme d'un "send mail" à ton
sous-traitant traducteur).

Sylvain.
Avatar
JM
Sylvain a écrit :
JM wrote on 26/01/2007 19:25:
Personne à la moindre idée?



à la question "Est-ce que ce contrôle apparait dans la copie ou non" ?

il est, en effet, à craindre que personne n'ait la baguette magique à
faire apparaître des contrôles.



Je ne suis pas persuadé que d'implémemnter un systeme qui gère
correctement les copies en répercutant les modifications d'un contrôle
sur la copie de base soit excessivement difficile.

A chaque nouvelle version, je suis obligé de tout me retaper à traduire?



si tu crames ton PC à chaque release, oui; sinon tu as le droit de juste
ajouter le différentiel.



Donc si j'enlève un bouton dans la langue de base, il faut que je fasse
la même chose dans la copie.
Donc travail *2, c'est cool.

si "nouvelle version" devait signifier "nouvelle langue jusqu'alors non
supportée", ne cherche pas non plus le bouton "traduit tout le bouzin
pour moi" ça n'existe pas (sauf sous la forme d'un "send mail" à ton
sous-traitant traducteur).




Ah ouai?
Je n'y aurais pas pensé...
Avatar
Sylvain
JM wrote on 29/01/2007 15:58:

il est, en effet, à craindre que personne n'ait la baguette magique à
faire apparaître des contrôles.



Je ne suis pas persuadé que d'implémemnter un systeme qui gère
correctement les copies en répercutant les modifications d'un contrôle
sur la copie de base soit excessivement difficile.



je ne suis pas persuadé qu'effacer un contrôle soit effectivement
difficile; si ça l'est pour toi, change de métier.

Donc si j'enlève un bouton dans la langue de base, il faut que je fasse
la même chose dans la copie.
Donc travail *2, c'est cool.



x 2 ?? parce qu'il te faudrait une usine à gaz pour 2 malheureuses
langues ?!!!

si "nouvelle version" devait signifier "nouvelle langue jusqu'alors
non supportée", ne cherche pas non plus le bouton "traduit tout le
bouzin pour moi" ça n'existe pas (sauf sous la forme d'un "send mail"
à ton sous-traitant traducteur).



Ah ouai?
Je n'y aurais pas pensé...



à part penser que d'autres auront codé une usine à gaz pour toi, on peut
se demander se à quoi ....

Sylvain.
Avatar
Bertrand Lenoir-Welter
JM :

Je ne suis pas persuadé que d'implémemnter un systeme qui gère
correctement les copies en répercutant les modifications d'un contrôle
sur la copie de base soit excessivement difficile.



Hmm. Ca, c'est de la théorie. Dans la pratique, si par exemple tu
dessines une jolie boîte de dialogue en Anglais, tout bien formattée et
alignée, la même boîte de dialogue en Allemand aura forcément des
cadrages et alignements différents, au moins à l'horizontale. Tu peux
toujours essayer de faire des trucs qui s'alignent en dynamique, mais ce
sera moins beau et lourdingue à gérer. Ou alors tu t'en fous et tu fais
des boîtes de dialogue vilaines.

Pour les menus, c'est un peu pareil. Chaque langue a pris ses habitudes
question touches accélératrices et donc y'a du boulot à se taper à la
main. Si tu fais automatique sur une simple base de textes commutables,
ça marchera mais ce sera vilain pour les étrangers.

Le seul truc facile à gérer, finalement, c'est les textes en vrac
(messages pop-up, rubans d'aide, etc.). Par contre, tout ce qui est
formatté doit être géré au cas par cas.

Ceci étant, si t'as des idées géniales sur la question, je suis preneur
: ça fait 15 ans que je me frotte à ces problèmes d'applis multilangues,
j'ai essayé pas mal de trucs (programme unique avec toutes les langues
intégrées, DLL différentes pour chaque langue, programmes différents
pour chaque langue), et aucune solution n'est parfaite.

Bref, si tu fais sauter un contrôle, tu le fais pour chaque langue. Ca
peut paraître archaïque mais c'est comme ça. Le pire n'étant pas
d'oublier de supprimer un contrôle dans une ressource - tant pis, il
reste affiché et ne sert à rien - mais plutôt d'oublier de l'ajouter. On
teste en Français, ça marche bien de partout, on est content, mais chez
le client Italien ou Suédois ça fait badaboum.
Avatar
JM
Bertrand Lenoir-Welter a écrit :



Le seul truc facile à gérer, finalement, c'est les textes en vrac
(messages pop-up, rubans d'aide, etc.). Par contre, tout ce qui est
formatté doit être géré au cas par cas.



Tout à fait


Ceci étant, si t'as des idées géniales sur la question, je suis preneur
: ça fait 15 ans que je me frotte à ces problèmes d'applis multilangues,
j'ai essayé pas mal de trucs (programme unique avec toutes les langues
intégrées, DLL différentes pour chaque langue, programmes différents
pour chaque langue), et aucune solution n'est parfaite.




Bref, si tu fais sauter un contrôle, tu le fais pour chaque langue. Ca
peut paraître archaïque mais c'est comme ça. Le pire n'étant pas
d'oublier de supprimer un contrôle dans une ressource - tant pis, il
reste affiché et ne sert à rien - mais plutôt d'oublier de l'ajouter. On
teste en Français, ça marche bien de partout, on est content, mais chez
le client Italien ou Suédois ça fait badaboum.



Mouai, c'est pas top.

Je vais continuer dans la voie bourrin que j'envisageais, longue à
mettre en place, surement pas efficace d'un point de vue conception,
mais au moins, si j'oublie une traduc, cela ne compilera pas.
Avatar
JM
Sylvain a écrit :
JM wrote on 29/01/2007 15:58:

je ne suis pas persuadé qu'effacer un contrôle soit effectivement
difficile; si ça l'est pour toi, change de métier.


>
> x 2 ?? parce qu'il te faudrait une usine à gaz pour 2 malheureuses
> langues ?!!!

> à part penser que d'autres auront codé une usine à gaz pour toi, on peut
> se demander se à quoi ....

Qui te dis que c'est mon métier?


On peut essayer de faire quelque chose le mieux qu'on peut, par pur
intérêt personnel, et chercher à savoir s'il existe des moyens simples
et efficaces pour éviter de perdre trop de temps.
C'est con, mais mon temps libre n'est pas extensible.

si c'est pour répondre des conneries, tu peux éviter de perdre le tien
Avatar
Bertrand Lenoir-Welter
JM :

Je vais continuer dans la voie bourrin que j'envisageais, longue à
mettre en place, surement pas efficace d'un point de vue conception,
mais au moins, si j'oublie une traduc, cela ne compilera pas.




Ouais, c'est pour ça que je mets les textes dans des .H plutôt que dans
des ressources. Quand on en oublie un, le compilo se charge du coup de
sifflet. On peut faire de même avec les menus en les mettant dans des .H
et en les créant en dynamique, mais j'en vois pas trop l'intérêt. Là par
contre, on risque pas le plantage mais seulement d'avoir une ligne
oubliée. Par contre, pour les boîtes de dialogue, je vois pas d'autre
solution que de vérifier chaque langue à chaque modif. Et c'est ce que
je fais.

De toute façon, à part un mécanisme automatique qui indiquerait qu'un
contrôle est manquant ou de trop dans un fichier de ressources par
rapport à un fichier de référence, je ne vois pas très bien ce qu'on
peut faire de miraculeux. Dessine une boîte de dialogue en Anglais, bien
cadrée et alignée, ensuite traduis-la en Allemand. Tu vas rigoler. Et je
parle même pas des langues qui ont une direction d'écriture différente.

Bref, c'est le souk et faut faire avec (bis repetita).