Почему CurrentUICulture "DE-DE", хотя я настроил "DE-CH" в Windows
В моем приложении WPF CurrentUICulture неправильно переходит в Windows или неправильно хранится в Windows.
Регион и языковые настройки в Windows находятся во всех местах, которые я нашел "Deutsch (Schweiz)". CurrentUICulture в приложении отображает "Deutsch (Deutschland)" вместо "Deutsch (Schweiz)". Я проверил это на нескольких компьютерах (с пользователем домена и локальным пользователем).
Где может быть проблема? Есть ли место для этого параметра в Windows, которое трудно найти?
Важно: я знаю, что могу установить культуру в приложении. Мне не нужен ответ как Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-ch")
Я просто хочу узнать, как работает механизм и откуда он получает информацию.
Вот несколько скриншотов из моих настроек Windows:
Спасибо Адриан
1 ответ
Я полагаю, что это "по замыслу" Microsoft.
Пожалуйста, прочитайте этот вопрос. Есть довольно высокий комментарий по этому поводу:
Имейте в виду, что Microsoft, по их мнению, не разделяет культуры пользовательского интерфейса американского английского и (британского) английского или других английских языков. Там нет MUI для английского языка, что означает
CurrentUICulture
всегда будет en-US на англоязычном компьютере, независимо отCurrentCulture
, который может быть установлен для локализации региональных настроек.
Хотя я не уверен, откуда взялась эта информация, ваше текущее поведение ОС довольно подтверждает следующее: вы меняете региональные настройки (CurrentCulture
), но CurrentUICulture
всегда остается "независимым от страны" как "de-DE" (например, "en-US" в комментарии для любой региональной настройки "en-*").