在Java中,我如何找到哪些语言可以使用我的资源包
我有一些资源包打包在我的主jar中
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());
}
}