Я столкнулся с проблемой.Получение языка ОС в java
Я французский и работаю над английской версией Windows XP. Поэтому я установил региональные варианты на французский язык, но все же имею пользовательский интерфейс на английском языке.
Я работаю над небольшим Java SE-приложением и решил интернационализировать его с помощью пакета ресурсов.
Для отображения правильного языка, я создаю сверток с этой функцией:
private static ResourceBundle bundle = ResourceBundle
.getBundle("locale.Strings", Locale.getDefault());
Но функция Locale.getDefault() возвращает региональные настройки (значение: французский), а не язык пользовательского интерфейса системы. В результате мой пользовательский интерфейс по умолчанию стоит на французском языке в английской среде. И хорошо, это не совсем то, что я ожидал ...
Кто-нибудь знает о независимом от платформы способе восстановления языка пользовательского интерфейса системы? Спасибо заранее!
Редактировать: исправлено Local to Locale, спасибо.
Ну, мне кажется, что то, что делает Java, - это правильная вещь. Если вы настроили свою ОС с французскими настройками, и ОС продолжает отображать все на английском языке, но не на Java, ОС не подходит, но Java, не так ли? Если вы хотите все на английском, почему бы вам не настроить его с английскими настройками? –
не должен быть 'Locale.getDefault()', а не 'Local.getDefault()'? –
@JBNizet это не такое необычное требование. Я голландский, и, как и в OP, я предпочитаю, чтобы мой язык графического интерфейса был английским, при этом у меня все еще есть форматы чисел и форматы даты, которые я использую из своего собственного языка (например, смущая меня, требуя дополнительного времени синтаксиса в моем мозгу). Программные переводы часто ужасны, вдвойне, в таких областях, как программирование, где жаргон - английский. – Barend