0

I have different locale file for messages to user in JSF based Project. i want to retrieve messages from all locale available in my project using Key

I am using in managed bean

    String message=ResourceBundle.getBundle("com.tech.resources.messages",
              new Locale(loggedInUser.getLanguage())).getString("label.hostel.room.allocated"); 

Instead of one String i want all messages as a array or list assosiated with this key in all resource bundles like messages.properties, messages_hin.properties etc.

1 Answers1

3

As you've already figured how to get a locale-specific bundle and then get its message by key and that part thus doesn't need to be answered, your sole question basically boils down to:

How can I get all supported locales of my JSF application?

You can get all supported locales by Application#getSupportedLocales().

Application application = FacesContext.getCurrentInstance().getApplication();
Iterator<Locale> supportedLocales = application.getSupportedLocales();

while (supportedLocales.hasNext()) {
    Locale supportedLocale = supportedLocales.next();
    // ...
}
BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555