У меня есть некоторые пакеты ресурсов, упакованные в мою главную банку
widget_en.properties
widget_de.properties
Я извлекаю пакет ресурсов на основе моей локали по умолчанию как folows
ResourceBundle.getBundle("widget", Locale.getDefault());
Но я хочу представить пользователю список поддерживаемых языков, чтобы выбрать язык, который может отличаться от их компьютеров по умолчанию.
Но я не могу найти метод в ResourceBundle, который перечисляет доступные локали, я не хочу жестко кодировать список, поскольку я могу забыть его обновить, когда добавлен другой пакет ресурсов.
ИЗМЕНИТЬ
Как я только пакеты ресурсов для разных языков (у меня нет уточнений в стране), поэтому я получил сгенерированный список путем повторения всех известных кодов языков и проверки каждого из них в качестве ресурса.
String[]langs = Locale.getISOLanguages();
for(String lang:langs)
{
URL rb = ClassLoader.getSystemResource("widget_"+lang+".properties");
if(rb!=null)
{
System.out.println("Found:"+rb.toString());
}
}