在java中获取OS语言

我在这里遇到了一个问题.

我是法国人,正在使用英文版的Windows XP.因此,我将区域选项设置为法语,但仍然具有英语UI.

我正在开发一个小型Java SE应用程序,并决定使用资源包将其国际化.

要显示正确的语言,我使用此函数创建包:

private static ResourceBundle bundle = ResourceBundle
          .getBundle("locale.Strings", Locale.getDefault());

但是Locale.getDefault()函数返回区域设置(意思是:法语),而不是系统UI语言.因此,我的UI在英语环境中默认为法语.好吧,那不是我所期待的……

有谁知道恢复系统UI语言的独立于平台的方式?
提前致谢 !

编辑:修复本地到区域设置,谢谢.

解决方法:

这是Windows中的错误配置. Locale#getDefault()返回系统区域设置,而不是日期/时间格式化区域或位置.

在下面的Windows XP特定屏幕截图中,您可以将区域选项和语言设置为法语或任何您喜欢的. “高级”菜单中的下拉列表实际上设置了系统区域设置,在您的情况下应设置为英语.

不可否认,这在Windows XP中得到了很好的解释,Windows 7做得更好一些:

上一篇:弹簧局部敏感数据


下一篇:Java Web应用程序中的字符串常量与资源捆绑