我正在尝试使应用程序国际化,我开始使用简单的功能使用ResourceBundle
和Locale
进行练习,该函数使用计算机的默认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/