3

Такое поведение мучило меня целую вечность. Я живу в Германии, но я предпочитаю, чтобы моя операционная система и все установленные приложения были на английском языке.
Поэтому, когда я устанавливаю свою систему Windows, я устанавливаю ее английскую версию. Затем я меняю местоположение (Панель управления -> Часы, Язык и Регион -> Изменить местоположение) на "Соединенные Штаты".

Однако, как и в 90% случаев, когда я устанавливаю дополнительное приложение (например, VirtualBox), оно выбирает немецкий язык в качестве языка по умолчанию. Такое поведение можно заметить повсюду.

Единственный способ изменить это - изменить формат даты и времени. Как только я изменю это на «Английский (США)», все затронутые программы будут использовать английский язык. Затем я могу даже настроить профиль обратно на то, что я хочу (что я и делаю), и я, наконец, получаю желаемый результат.

Почему это происходит? Разве 90% всех программистов не могут использовать правильный API для определения желаемого пользователем языка? Это способ определения языка по умолчанию в Windows? Я просто неправильно настраиваю свою систему?

1 ответ1

2

Я просто неправильно настраиваю свою систему?

В некотором смысле, да. Вы, конечно, не читаете вкладку, на которую вы смотрите.

Это быстрый, грязный, невероятно ленивый способ угадать языковые настройки, который, вероятно, подходит в 99% случаев.

Неправильно. Программы установки используют API поддержки национальных языков Windows для получения локали системы и языка, которые вы настроили, чтобы определить, на каком языке вам предлагать. Информация о локали задается на вкладке "Форматы" в этой части панели управления.

Вы используете вкладку "Местоположение". Местоположения отличаются от языковых стандартов и языков, не в последнюю очередь потому, что API .NET для них на самом деле не работает в Windows до Windows NT версии 6.1. API местоположений - это совершенно другой API , который даже не существует в Windows XP до Service Pack 3. Авторы установщика, которые хотят иметь установщик, работающий в Windows NT до версии 6.1, будут использовать API локали, потому что это то, что существует и что работает.

Это также то, что правильно.

Существует разница между географическим идентификатором и языком пользовательского интерфейса, и вы получаете их точно в обратном направлении. Местоположение или географический идентификатор компьютера - это то, где он физически находится, и это необходимо указать на вкладке "Расположение" на панели управления. Язык пользовательского интерфейса - это язык, на котором вы хотите видеть вещи, показанные вам, и который установлен в комбинации мест в других местах; включая настройки локали, которые устанавливаются на вкладке "Форматы" в панели управления.

В самом верху вкладки "Местоположение" написано, для чего она нужна. Почему вы считаете, что настройка вашего компьютера для получения «локальной информации, такой как новости и погода» для Соединенных Штатов, поскольку вы сообщили системе, что вы физически находитесь в Соединенных Штатах, является правильным решением, когда вы физически находятся в Германии? Найдите свой компьютер там, где он физически находится, и установите язык и локаль на язык и валюту / число / форматирование даты, которые вы хотите видеть в пользовательском интерфейсе.

Короче говоря: почти 100% программ от разных поставщиков работают не так, как вы думаете. Это ваше мышление, а не программы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .