2017-02-07 1 views
2

есть некоторые проблемы я сталкиваюсь в Java, я хочу, чтобы система локали страну из окна компьютера, поэтому я пишу такой код:Java Locale.getDefault() не может возвращать значения, отличные от собственной

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

Если я задаю свой системный язык как английский (Сингапур), я получу результат как en-SG, и если я установлю свой системный язык на английском (Канада), он также вернет мне результат с помощью en-CA, но если я перехожу на какой-то язык, который не является английским, он вернет меня как en-GB для всех вариантов, почему это так?

Кроме того, есть ли другой способ получить информацию о текущей стране с помощью java?

ответ

0

Locale.getDefault() должен абстрагироваться от операционной системы. Это и есть цель.

Я не считаю, что это проблема Java. Я просто пытался изменить свой язык, и он работает.

Моя установка была:

  1. для Windows 10 Home издание 64 Bit
  2. Java 1.8.0_45
  3. de_DE в en_GB

мне пришлось скачать языковой пакет для en_GB.

Мне нужно было выйти и войти в систему, чтобы активировать другой язык.

+0

Привет, спасибо вам за помощь! Могу ли я спросить, что, когда вы используете язык de_DE, вы могли получить локаль как de_DE? –

+0

Я добавил вывод языка в свой код и выполнил его на консоли после изменения языка и выхода из системы/входа – oopexpert

Смежные вопросы