我正在尝试国际化我的应用程序,我开始使用 ResourceBundle
和 Locale
进行练习,使用一个创建 ResourceBundle rb
的简单函数> 使用机器的默认 Locale
并在打印语言后:
private void loadView() {
ResourceBundle rb = ResourceBundle.getBundle("languages_"+Locale.getDefault());
System.out.println("Language: "+rb.getLocale().getDisplayLanguage());
}
我有不同的资源包属性文件,以语言_开头: 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/