Messages dans une app multi-lingue

olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 25 déc. 2008 à 22:49
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 30 déc. 2008 à 09:36
Bonjour,

Je cherche la maniere la plus elegante de gerer des messages dans plusieurs langues dans une APP Winform

Attention : je ne parle pas des libellés propre a chaque form qui se gerent déja via les resx de chaque form mais de messages génériques communs dans l'app

Il-y a -t-in une methode prévue pour cela ?

Merci de votre aide /suggestions

 

11 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
26 déc. 2008 à 14:33
Les messages affichés par Windows ?

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
26 déc. 2008 à 14:54
Bonjour Sebastien

Non ! pas les message de windows mais une collection de string propres a l'app pour usage par ci par la

Style :
mes1=blablabla
mes2=bliblibli

Etc..

Une maniere est de les mettre dans ressources.resx
Mais je trouve que la manipulation du ressources.resx n'est pas tres commode

- Pas de synchronisation aisée entre les langues
- Edition peu commode
- Pas de hierarchisation possibles

Donc je me demandais s'il y avait des alternatives
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
26 déc. 2008 à 18:32
Bonsoir,

Quand il n'y en a pas trop, je les place dans l'App.Config.
Si non j'utilise un XML séparé, soit contenant toutes les langues, soit un par langue.

C# is amazing, enjoy it!
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
26 déc. 2008 à 19:48
Salut Robert33

A mon avis ta solution n'est pas la plus heureuse

1- Utiliser App.Config : si c'est pour faire ca, autant utiliser des ressource.resx selon les langues et qui seront géré par le FW. L'ennui des ressources.resx c'est qu'il n'y a pas de gestion de hierarchie ni de segmentation.

2- Un XML séparé contenant toutes les langues : a mon avis il y a plusieurs avantage a maintenir les langues dans des fichier distinct, un par langue

3- Mais la difficulté avec les XML c'est l'edition malaisée et la synchronisation fastidieuse entre plusieurs fichiers pour les differentes langues

En définitive, faute de mieux je me demande si la solution la plus souple n'est pas de le faire en .ini

- Edition facile
- Synchronisation aussi
- Segmentation simple

Le tout c'est qu'il faut bricoler un accesseus d'ini un peu malin
0

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

Posez votre question
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
27 déc. 2008 à 22:11
Bonjour,
De là ou je suis je ne peux vérifier ce que je dis, mais il on peut faire un fichier de ressource globale ou quelque chose dans ce style là?

<hr />
-Blog-
-Site Perso-
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
27 déc. 2008 à 22:48
Salut Bidou

T'est a la montagne ?
Ou en haut d'un sapin ?
Cette année je ne suis pas a Champery helas !

Oui on peut faire des ressources.resx

ressources.fr.resx
ressources.de.resx
ressources.it.resx

Mais ces resx, c'est pas tres drole a maintenir
- Difficile a editer
- Fastidieux a synchroniser
- Pas de segmentation

Donc je cherche des trucs et astuces pour faciliter la maintenance linguistique !

En tant que Suisse toi pouvoir comprendre moi petit belge (Il n'y a que les petits pays qui se divisent par langue )
Ja, Oui, Si, Da, Jo
0
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
29 déc. 2008 à 11:04
Oui c'était environ ça ;-)
Tu n'es pas à Champéry, mais tu codes, ça se vaut !

Pour les resx, je ne connais pas vraiment d'autres moyens. A vraiment dire l'édition est assez simple avec le designer... Pour la synchronisation et la segmentation, je ne comprends pas tout à fait ce que tu veux dire?

<hr />
-Blog-
-Site Perso-
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
29 déc. 2008 à 11:15
Salut


1- Synchronisation : si tu dois maintenir 4 langues par exemple, il est fastidieux d'ouvrir chaque resx séparément et de vérifier si tu n'a rien oublié. Pour des truc de ce genre, j'utilise des outil tel que compare-it qui sont géniaux sur des fichiers textes, mais avec les xml resx dont la sequence peut changer a chaque save, c'est vraiment chiant !. Je me demande si je ne vais pas passer par un fichier texte qui servira de matrice a un générateur de resx !


2- Segmentation : Si tu utilise un INI tu peux faire une segmentation : tous les messages relatifs au module A, les messages relatifs au module B, les messages relatifs aux Warning etc. Le resx ne permet pas cette sementation et si tu a des dizaines de messages ca devient aussi chiant a maintenir et aussi exploiter !!
0
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
29 déc. 2008 à 13:38
Oui mais généralement on fait ce genre de choses une fois pour toute, et ensuite on n'y touche plus...
Si les fichiers ini ont aujourd'hui disparu au profit de l'XML ce n'est pas pour des prunes !

<hr />
-Blog-
-Site Perso-
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
29 déc. 2008 à 23:02
Oui mais généralement on fait ce genre de choses une fois pour toute, et ensuite on n'y touche plus...


Ben oui !   C'est evident on fait une superbe analyse UML pour un client qui sais exactement ce qu'il veut et qui n'a aucune difficulté a l'énoncer a un super informatitcen analyste qui en plus sait lire danns les pensées
Apres +/- 6 mois l'analyse UML sera terminée parce que tous les utilisateur auront donné leur avis et un super scribe codeur realisera le code (est encore bien nécessaire : l'analyse est si belle )


Et le client ravi de cette superbe demonstration d'intelligence virtuelle n'ose plus y toucher et c'est donc bien fini une fois pour toutes !



Si les fichiers ini ont aujourd'hui disparu au profit de l'XML ce n'est pas pour des prunes !


Ok mais dans le cas des ressources.resx il manque un bon tool de gestion, je crois que vais finir par en ecrire un !
0
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
30 déc. 2008 à 09:36
l'UML ça m'a toujours fait grimper les cheveux sur la tête...
Quand à l'éditeur, je trouve celui du VS "suffisant", finalement il s'agit seulement d'affecter du texte à une clef...

Je te propose de regarder dans un projet "conséquent" comme par exemple PaintNET pour voir la façon dont s'est géré.

<hr />
-Blog-
-Site Perso-
0
Rejoignez-nous