Введение
Во время установки Windows 10 (новый ноутбук, не обновлялся с 7 или 8) мне было предложено выбрать, какие языки я хочу добавить. Я выбрал английский (США), мой родной язык, и английский (Великобритания).
Через некоторое время мне надоел пакет UK, и я удалил его Language Button on the TaskBar > Language Preferences > English (United Kingdom) > Remove
, что, по-видимому, его удалило.
Пару дней спустя я понял, что мне все еще приходится altshiftдважды переключаться между языками, хотя я якобы удалил английский UK. Так что, похоже, после каждой перезагрузки проблема появляется снова.
Когда возникает проблема, я вижу все 3 языка на панели задач. Но только 2 на странице настроек языка. Также команда Get-WinUserLanguageList
отображает только 2 языка.
Что я пробовал
Я попробовал добавить и удалить пакет еще раз, что также временно решило проблему (до следующей перезагрузки).
Информация о компьютере
Операционная система: Windows 10 Home (1903) (сборка 18362.356)
Название модели: Inspiron 5579
Архитектура: 64 бит
решение1
The
код раскладки клавиатуры
для клавиатуры Великобритании — 00000809
. Он будет найден в реестре под несколькими ключами (перечисленными ниже). Он будет в записи, значением которой является эта строка. Удаление записи приведет к удалению раскладки (остальные останутся на месте). Требуется перезагрузка, чтобы проверить, успешно ли удалена раскладка клавиатуры.
Два основных раздела реестра, в которых находятся раскладки клавиатуры:
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
HKEY_USERS\.DEFAULT\Software\Microsoft\CTF\SortOrder\Language
Некоторые дополнительные разделы реестра, в которых могут находиться раскладки клавиатуры и которые стоит проверить:
HKEY_CURRENT_USER\Software\Microsoft\CTF\SortOrder\Language
HKEY_CURRENT_USER\Control Panel\International\User Profile
решение2
Рассмотрите возможность использования простогоSet-WinUILanguageOverride
,Set-WinSystemLocale
и/или
Set-WinUserLanguageList
PowerShellКомандлеты прямо из PowerShell, передающие соответствующий параметр культуры для соответствующего языка/локали.
Вам может потребоваться только запуститьSet-WinUILanguageOverride
чтобы сделать трюк, чтобы он сохранялся после перезагрузки, хотя это зависит от пользователя. Кроме того, рассмотрите возможность тестирования как с повышенными правами администратора, так и без них для дополнительной тщательности.
Set-WinUILanguageOverride en-US;
Set-WinSystemLocale en-US;
Set-WinUserLanguageList en-US;