我正在尝试国际化我的应用程序,并且我开始使用具有简单功能的ResourceBundle
和Locale
进行练习,该函数创建了一个ResourceBundle rb
,默认值为Locale
机器并显示以下语言:
private void loadView() {
ResourceBundle rb = ResourceBundle.getBundle("languages_"+Locale.getDefault());
System.out.println("Language: "+rb.getLocale().getDisplayLanguage());
}
我有以 languages _ 开头的不同资源束属性文件: Properties files
当我调用函数 loadView 时,它不会显示该语言。它什么也不打印。
可能是什么问题?
答案 0 :(得分:1)
您的代码应该根本不指定语言环境,以允许Java解析当前语言环境
ResourceBundle rb = ResourceBundle.getBundle("languages");
或使用Locale
参数代替字符串串联
ResourceBundle rb = ResourceBundle.getBundle("languages", Locale.getDefault());