Comment obtenir la valeur par défaut ResourceBundle indépendamment de courant de paramètres Régionaux par défaut

J'ai trois fichiers de ressources dans le chemin de classe:

étiquettes.propriétés:

language = Default

labels_en.propriétés:

language = English

labels_fr.propriétés:

language = French

Est-il un moyen d'obtenir un ResourceBundle objet qui est toujours chargé labels.properties peu IMPORTE ce que mon défaut Locale est?

ResourceBundle.getBundle("labels") renvoie l'un correspondant aux paramètres régionaux par défaut (comme prévu).

La seule façon que je peux trouver est de définir les paramètres régionaux par défaut à un non-existant régionaux, mais cela peut casser d'autres modules.

Merci!

Locale.setDefault( Locale.ENGLISH);
Assert.assertEquals( "English", ResourceBundle.getBundle( "labels").getString( "language"));
Locale.setDefault( Locale.FRENCH);
Assert.assertEquals( "French", ResourceBundle.getBundle( "labels").getString( "language"));
Assert.assertEquals( "French", ResourceBundle.getBundle( "labels", new Locale( "do-not-exist")).getString( "language"));
Locale.setDefault( new Locale( "do-not-exist"));
Assert.assertEquals( "Default", ResourceBundle.getBundle( "labels").getString( "language"));
Vous pourriez avoir besoin d'appeler ResourceBundle.clearCache() avant d'essayer: ResourceBundle.getBundle( "labels", new Locale( "do-not-exist")).getString( "language"));. (À partir de cette question).
Je vous remercie pour votre commentaire. Il n'a pas de travail, si. Si new Locale("do-not-exist") (j'aurais appelé cela "n'existe pas"...) n'est pas trouvé, ResourceBundle essaie de charger un avec Locale.getDefault() au lieu de cela, pas la version par défaut de l'ensemble.

OriginalL'auteur | 2014-06-19