ResourceBundle getLocale()。getDisplayLanguage()返回空字符串

时间:2018-07-13 10:14:30

标签: java string locale resourcebundle

我正在尝试国际化我的应用程序,并且我开始使用具有简单功能的ResourceBundleLocale进行练习,该函数创建了一个ResourceBundle rb,默认值为Locale机器并显示以下语言:

private void loadView() {
    ResourceBundle rb = ResourceBundle.getBundle("languages_"+Locale.getDefault());
    System.out.println("Language: "+rb.getLocale().getDisplayLanguage());
}

我有以 languages _ 开头的不同资源束属性文件: Properties files

当我调用函数 loadView 时,它不会显示该语言。它什么也不打印。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您的代码应该根本不指定语言环境,以允许Java解析当前语言环境

ResourceBundle rb = ResourceBundle.getBundle("languages");

或使用Locale参数代替字符串串联

ResourceBundle rb = ResourceBundle.getBundle("languages", Locale.getDefault());
相关问题