我在這裏遇到了一種問題。在java中獲取操作系統語言
我是法國人,正在研究英文版的Windows XP。因此,我將區域選項設置爲法語,但仍具有英文界面。
我正在研究一個小的Java SE應用程序,並決定使用資源包對其進行國際化。
要顯示正確的語言,我創建了捆綁使用此項功能:
private static ResourceBundle bundle = ResourceBundle
.getBundle("locale.Strings", Locale.getDefault());
但Locale.getDefault()函數返回的區域設置(意思是:法國),而不是系統UI語言。因此,我的用戶界面在英語環境中默認爲法語。嗯,這不是我所期望的...
有誰知道一個平臺無關的方式來恢復系統的UI語言? 在此先感謝!
編輯:固定本地語言環境,謝謝。
嗯,在我看來,Java做的是正確的事情。如果您使用法語偏好來配置您的操作系統,並且操作系統繼續以英文顯示所有內容,但不顯示Java,則操作系統不正確,但Java是,不是嗎?如果你想要英文的一切,爲什麼不用英文的偏好配置呢? –
不應該是'Locale.getDefault()'而不是'Local.getDefault()'? –
@JBNizet這不是一個不尋常的要求。我是荷蘭人,和OP一樣,我更喜歡我的GUI語言是英語,但仍然有數字格式和日期格式顯示我習慣於從我自己的語言環境中的方式(例如,美國的月份優先日期相當對我感到困惑,需要額外的解析時間在我的大腦中)。軟件翻譯往往是糟糕透頂的,在諸如術語爲英語的編程領域中翻譯更是如此。 – Barend