Problem w/ ResourceBundle and default locale
I have a couple of resource bundles:
- Messages.properties (default, in English)
- Messages_nl.properties
- Messages_fr.properties
Windows' regional settings are set to Dutch (Belgium) which makes the Java default locale 'nl_BE'.
I want to get the resource bundle using the locale 'en'.
I expect to get 'Messages.properties' but I get 'Messages_nl.properties' instead.
Apparently, the lookup algorithm goes like this:
look for Messages_en.properties -> not found
look for Messages_'default locale'.properties = Messages_nl_BE.properties -> not found
look for Messages_nl.properties ->found
I have a solution, but it isn't a very good one:Locale locale =new Locale("en");
...
Locale defaultLocale = Locale.getDefault();
Locale.setDefault(locale);
ResourceBundle resourceBundle = ResourceBundle.getBundle("Messages", locale);
Locale.setDefault(defaultLocale);
Do you see a more elegant solution?
Thanks.

