java - ResourceBundle getLocale().getDisplayLanguage() 返回空字符串
问题描述
我正在尝试使我的应用程序国际化,并开始使用ResourceBundle
and s 练习一个简单的函数,该函数使用机器的默认值Locale
创建 a并在打印语言之后:ResourceBundle rb
Locale
private void loadView() {
ResourceBundle rb = ResourceBundle.getBundle("languages_"+Locale.getDefault());
System.out.println("Language: "+rb.getLocale().getDisplayLanguage());
}
我有不同的资源包属性文件以language_开头: 属性文件
当我调用函数loadView时,它不会打印语言。它什么也不打印。
可能是什么问题?
解决方案
您的代码应该根本不指定语言环境以允许 Java 解析当前的语言环境
ResourceBundle rb = ResourceBundle.getBundle("languages");
或使用Locale
参数而不是字符串连接
ResourceBundle rb = ResourceBundle.getBundle("languages", Locale.getDefault());
推荐阅读
- git - Spingloops - 部署包含文件删除的提交
- ios - 在 UITableView 中单击单元格按钮时模糊单元格图像
- python - 在 CSV 文件中查找主键候选的最快方法?
- c - 查找在 ELF 文件中使用符号的用户
- verilog - 可以在systemverilog中的generate for loop内部使用动态数组吗
- c# - 一种在 ASP.NET Core 中的集成测试,使用 EF 和 AutoMapper
- python - 使用python中fuzzywuzzy中的extractOne()与字符串列表匹配的错误字符串
- dart - 在 Flutter 中创建圆形缓存图像
- c# - 在调试器快照中隐藏敏感数据
- javascript - undefined 不是对象(评估“this.props.navigation”)