我正在尝试使应用程序国际化,我开始使用简单的功能使用ResourceBundleLocale进行练习,该函数使用计算机的默认ResourceBundle rb创建一个Locale并在打印该语言后:

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


我有以language_开头的不同资源包属性文件:
Properties files

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

可能是什么问题?

最佳答案

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

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


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

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

关于java - ResourceBundle getLocale()。getDisplayLanguage()返回空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51322831/

10-11 19:39