ResourceBundle getLocale().getDisplayLanguage() returns 空字符串

ResourceBundle getLocale().getDisplayLanguage() returns empty String

我正在尝试使我的应用程序国际化,我开始使用 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 时,它不会打印语言。它什么都不打印。

可能是什么问题?

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

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

或使用Locale参数代替字符串连接

ResourceBundle rb = ResourceBundle.getBundle("languages", Locale.getDefault());