Почему 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-*").

Другие вопросы по тегам