Почему мой Windows Date and Time Format Settings влияет на Язык по умолчанию для Приложений?

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

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

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

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

3
задан 01.03.2011, 16:00

1 ответ

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

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

Это, быстрый, грязный, невероятно ленивый способ предположить настройки языка, это - вероятно, правильные 99% времени.

Неправильно. Программы установщика используют Windows National Language Support API для получения системной локали и языка, который Вы настроили, для определения что язык предложить Вам в. Информация о локали установлена с вкладкой "Formats" в той части Панели управления.

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

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

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

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

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

2
ответ дан 08.12.2019, 01:43

Теги

Похожие вопросы