检测OS语言何时更改 - Java

时间:2015-07-23 20:53:06

标签: java locale

我用Java编写全屏双语应用程序。全屏意味着,桌面下方的语言栏将对用户隐藏,并且......我需要它!那么,我该如何以编程方式重现它?!
严格来说,我需要知道当前的操作系统语言是什么,何时发生更改语言事件,以及在需要时设置它的方法。
我该如何完成任务?
谢谢!

2 个答案:

答案 0 :(得分:2)

获取操作系统语言:

System.getProperty("user.language");

设置操作系统语言:

System.setProperty("user.language","..."); //... = What language you want to set it to

如果您只想通过组合框或其他内容更改程序中的 语言,只需将ActionListener添加到组件并使用前面提到的set方法设置语言。 System.setProperty("user.language",yourComboBox.getText());然后你可以通过简单的if语句在程序中设置语言。

答案 1 :(得分:0)

在Java中使用多种语言通常意味着使用多种语言环境。

使用

Locale defaultDisplayLocale = Locale.getDefault(Locale.Category.DISPLAY);

Locale defaultFormatLocale = Locale.getDefault(Locale.Category.FORMAT);

取决于您要使用区域设置的内容。

AFAIK,标准库中没有OS独立的方式来检测OS语言的变化。您可能必须手动重启应用程序。