我在我的主jar中打包了一些资源包
widget_en.properties
widget_de.properties
我根据我的默认语言环境检索资源包,如下所示
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());
}
}
https://stackoverflow.com/questions/12072454
复制相似问题