Personnellement, je ne voulais pas mettre l'i18n au niveau des exceptions et 
j'ai pour cela plusieurs raisons :

- Etant donn� que j'ai une interface web, c'est au niveau de la requ�te que 
je r�cup�re la Locale. Si je veux i18ner  directement la classe 
ExceptionFonctionnelle il faut alors que je passe en param�tre � toutes mes 
m�thodes m�tier la Locale utilis�e ce qui me para�t lourd.

- Je consid�re que le traitement des r�gles de gestion m�tier est ind�pendant 
de cette Locale et donc c'est pour cela que je voulais traiter l'i18n 
uniquement au niveau de ma couche de pr�sentation.

Pour l'instant je m'en sors en ajoutant une liste d'Objets (mes arguments) � 
mon exception. Lorsque je traduis, s'il l'un de ces objets est une string je 
le traduis (la traduction d'une cha�ne inconnue retourne cette cha�ne). Je ne 
trouve pas cela formidable mais pour l'instant je n'ai pas trouv� mieux.

Seb

Le Mercredi 5 Juin 2002 17:42, vous avez �crit :

> Voici comment tu pourrais le faire (j'assume que lorsque tu parles de
> gestion des exceptions, tu veux dire la gestion des exceptions que tu
> g�n�res toi-m�me)
>
> - Pour chaque message d'erreur pertinent � ton application, tu cr�e une
> nouvelle clef dans un fichier .PROPERTIES
> - Tu as autant de fichier .PROPERTIES que tu supportes de language.
> - Ta classe ExceptionFonctionnelle doit comprendre un champ de type
> ResourceBundle, que tu initialises avec la source de ton fichier 
> .PROPERTIES. example: private static ResourceBundle resFile =
> ResourceBundle.getBundle(com.ta_compagnie.context_path.nom_fichier);
>
> - Ta classe ExceptionFonctionnelle doit comprendre un champ pour chaque
> message d'erreur diff�rent. Ce champ doit lire la clef correspondante dans
> ton fichier .PROPERTIES
> example: public final static String MAUVAIS_UNAME =
> resFile.getString("exception.uname.mauvais");
>
> -A chaque fois que tu "throw" une exception, celle-ci sera automatiquement
> traduite si tu fournis un message d'erreur correspondant � un des messages
> d'erreur compris dans ta classe ExceptionFonctionnelle dans le constructeur
> de la nouvelle exception (ouf !)
> Example: if (machin!=56)
>                 throw new
> ExceptionFonctionnelle(ExceptionFonctionnelle.MAUVAIS_UNAME);
>
> -A chaque fois que l'utilisateur change de langue, une m�thode dans
> ExceptionFonctionnelle doit relire les clefs de ton fichier .PROPERTIES en
> fonction de la langue choisie.
>
>
> De cette fa�on, tu traites les exceptions uniform�ment. Si tu veux ajouter
> des param�tres � traduire, tu ajoutes des champs dans ta classe
> ExceptionFonctionnelle et aussi les clefs correspondantes dans ton fichier
> .PROPERTIES. Et oui, c'est juste de designer ton application pour que la
> partie m�tier se charge de la gestion des exception et que la partie
> pr�sentation ne fait que l'afficher, car c'est conforme au paradigme MVC.
>
> Sylvain
>
> At 15:13 2002-06-05 +0000, you wrote:
> > > 1-Quand tu dis "j'avais une ExceptionFonctionnelle je r�cup�rais le
> > > message associ� dans ma partie pr�sentation que je traduisais",
> > > veux-tu dire que tu traduis le message associ� � l'exception en
> > > fonction du choix de langue de l'utilisateur ?
> >
> >Oui, je traduis le message en fonction de la langue de l'utilisateur.
> >
> > > 2-Lorsque tu parles de la partie m�tier et de la partie pr�sentation,
> > > est-ce que tu veux dire que la partie m�tier est constitu�e de classes
> > > Java et que la partie pr�sentation est constitu�e de JSP ou bien d'un
> > > interface graphique genre Swing ?
> >
> >Ma partie m�tier correspond � des classes java et ma partie pr�sentation
> > est un framework model2 maison constitu� de jsp, servlet et classes java
> >
> >__________________________________________________________________________
> >____ ifrance.com, l'email gratuit le plus complet de l'Internet !
> >vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> >http://www.ifrance.com/_reloc/email.emailif
>
> --------------------------------
> Sylvain Cliche
> 822-6000 Ext. 7765
> [EMAIL PROTECTED]
 
______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif


Répondre à