2017-02-07 16 views
2

有一些問題,我在Java中遇到返回其他值,我想從一個窗口的計算機獲取系統語言環境的國家,所以我寫這樣的代碼:的Java Locale.getDefault()不能超過EN

Locale x = Locale.getDefault(); 
String output = x.getCountry(); 

如果我將系統語言設置爲喜歡英語(新加坡),我將得到結果作爲en-SG,並且如果我將我的系統語言設置爲英語(加拿大),它也會將結果返回給en-CA,但如果我換成了一些不是英語的語言,它會以en-GB的形式返回給我所有的選項,爲什麼這樣呢?

除此之外,有沒有其他方法可以使用java獲取當前國家信息?

回答

0

Locale.getDefault()應該從操作系統中抽象出來。這是目的。

我不知道這是Java的問題。我只是試圖改變我的語言,它的工作原理。

我的設置是:

  1. 的Windows 10家庭版64位
  2. 的Java 1.8.0_45
  3. de_DE以EN_GB

我不得不下載語言包EN_GB。

我必須註銷並登錄才能激活其他語言。

+0

嗨,謝謝你的幫助!我可以問,當你使用de_DE語言時,你是否能夠獲得de_DE的語言環境? –

+0

我將語言的輸出添加到代碼中,並在更改語言和註銷/登錄後在控制檯上執行它 – oopexpert