Bonjour,

j'ai un peu honte de poster un problème si bête, mais bon...
Je veux internationaliser mon application. Pour se faire j'utilise un ResourceBundle comme proposé dans le tuto de sun.
Je commence tout petit pour bien démarrer, et forcément ça ne marche pas.

Je me retrouve avec l'erreur suivante :
Caused by: java.util.MissingResourceException: Can't find bundle for base name fr.statlife.LAM.IHM.MessagesBundle, locale fr_FR
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:777)
at fr.statlife.LAM.IHM.FenetreLAM.setEtatInitial(FenetreLAM.java:154)
at fr.statlife.LAM.IHM.FenetreLAM.<init>(FenetreLAM.java:117)
at fr.statlife.LAM.IHM.FacadeIHM.<init>(FacadeIHM.java:33)
at fr.statlife.LAM.IHM.FacadeIHM.<init>(FacadeIHM.java:31)
at fr.statlife.LAM.IHM.FacadeIHM$SingletonHolder.<clinit>(FacadeIHM.java:43)
... 10 more
J'ai bien compris qu'il ne trouvait pas mon fichier properties.
Grâce à ce post, j'ai cru comprendre qu'il fallait que le fichier properties soit nommé du nom de la classe et qu'il faut l'ajouter dans le classpath (mais je suis pas sur car l'auteur du premier message exposant le problème l'a effacé...).
Donc mon problème vient sans doute de l'utilisation d'éclipse : je débute en Java et avec cet IDE et j'ai du louper un truc.

J'ai mis mon fichier properties dans un dossier ressources situé à la racine du projet. J'ai donc l'arborescence suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
LAM (nom du projet)
|_src
|_test
|_ressources
        |_fr.statlife.LAM.IHM.MessagesBundle_fr_FR.properties
J'ai ajouté le dossier ressource au classpath via Eclipse en suivant ce qui était indiqué ici

et dans le code, je récupère le MessageBundle ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
//Initialisation des messages a utiliser pour chaque texte de l'appli
Locale localCourant = new Locale(langue, pays);
messages = ResourceBundle.getBundle("fr.statlife.LAM.IHM.MessagesBundle", localCourant);
est ce que le problème vient du nommage du fichier bundle? de son emplacement? ou du classpath?