Несколько раз в Windows 10 замечал странный баг, когда в списке раскладок клавиатуры языковой панели появляются лишние языки. Например, у меня на ноутбуке было установлено 2 языка: русский, английский. Но после очередного обновления Windows 10, в списке языков появились еще два дополнительных языка – English (United Kingdom) и English (Canada), хотя я их не добавлял. Теперь в списке раскладок клавиатуры у меня отображается четыре языка. Причем Windows не дает удалить дополнительные языки (кнопка Remove в языковой панели неактивна). При переключении языков клавишами
Shift+Alt
, или через языковую панель в трее, приходится переключаться между 4 раскладками клавиатуры вместо 2, что очень неудобно!
Рассмотрим, как удалить такие неудаляемые раскладки клавиатуры в Windows 10 и Windows 11.
В Windows 10 обычно можно удалить любой язык раскладки клавиатуры, который не используется в качестве основного языка по умолчанию. Однако вы можете столкнуться с багом, когда некоторые языки нельзя удалить.
Баг проявляется, если добавить дополнительный язык, который использует тот же базовый язык, что и текущий язык отображения Windows. Такой дополнительный язык язык удалить нельзя.
К примеру, если английский язык (United States) является текущим языком интерфейса Windows, то после добавления английского языка (United Kingdom) вы не сможете удалить оба этих языка из списка предпочтительных. И, конечно, очень неудобно, что в языковой панели в системно трее (области уведомлений) появился лишний ненужный язык.
С помощью команды lpksetup вы не сможете удалить дополнительные языки из системы, т.к. этих языковых пакетов в Windows не установлено:
lpksetup /u en-gb
lpksetup /u en-ca
Удаление лишнего языка в Windows 10 с помощью PowerShell
Удалить ненужный дополнительный язык можно только с помощью PowerShell.
- Запустите Windows PowerShellс правами администратора;
- Выведите список установленных в Windows 10 языков пользователя командой:
Get-WinUserLanguageList
- Запомните значение LanguageTag для предпочитаемого языка. К примеру, Ваш предпочитаемый язык English (United States):
LanguageTag = en-US
- Сохраните значение предпочитаемого языка в переменную:
$1=New-WinUserLanguageList en-US
- Теперь можно установить данный язык в качестве основного, удалив все остальные дополнительные языки:
Set-WinUserLanguageList $1
- Клавишей Y нужно подтвердить удаление дополнительных языков.
- Убедитесь, что все дополнительные языки клавиатуры пропали.
Если вы хотите оставить в Windows несколько языковых раскладок клавиатуры, можно удалить только ненужные языки. К примеру, вы хотите удалить языки с LanguageTag en-Gb и zh-Hans-CN.
$LanguageList = Get-WinUserLanguageList
$DeleteLang = $LanguageList | where LanguageTag -eq "en-Gb"
$LanguageList.Remove($DeleteLang)
Set-WinUserLanguageList $LanguageList –Force
Для удаления китайского языка, замените вторую строку на:
$DeleteLang = $LanguageList | where LanguageTag -eq "zh-Hans-CN"
Или вы можете указать список языков, которые нужно оставить:
$1=New-WinUserLanguageList en-US
$1.Add("eu-US")
$1.Add("ru")
Set-WinUserLanguageList $1
Закройте консоль PowerShell и убедитесь, что все лишние языки в языковой панели Windows исчезли.
Как удалить лишнюю языковую раскладку через реестр Windows?
Если дополнительные языки удалились из списка языков ввода, но все еще отображаются в раскладках клавиатуры, нужно вручную удалить их из реестра.
- Запустите
regedit.exe
с правами администратора; - Перейдите в ветку реестра
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
. Здесь отображается список языков, доступных на экране входа в систему; - В ветке
HKEY_CURRENT_USER\Keyboard Layout\Preload
отображаются активные раскладки клавиатуры текущего пользователя. Например, 00000419 – русская раскладка, 0000409 – английская раскладка, 00000407 – немецкий и т.д.; - Удалите все ненужные языковые раскладки из реестра. Если нужно, измените нумерацию параметров реестра (названия параметров должны быть последовательными и начинаться с 1).
После этого ненужный язык пропадет из списка языков ввода.
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v IgnoreRemoteKeyboardLayout /t REG_DWORD /d 1
Если вы уверены, что вам не нужна определенная раскладка, вы можете ее полностью заблокировать. Полный список раскладок клавиатуры хранится в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\.
Например, вы хотите заблокировать языковую раскладку
00000404 (Chinese (Traditional) - US Keyboard)
.
- Сначала удалите лишние языки с помощью PowerShell (описано выше);
- Найдите подраздел 00000404 в указанной ветке реестра и переименуйте его в 00000404-no;
- Перезагрузите Windows;
- Проверьте, что указанная раскладка клавиатуры больше не отображается.
Windows 10. «Мы научим вас удалять гланды через *0пу!»
Большое спасибо за статью.
Аж прифигел от таких инструкций. Майкрософт вкрай долбанулся. Скоро в линуксовой консоли будет проще работать))
Поздравляю, теперь вы подаван PowerShell первого ранга 🙂
Спасибо, это помогло.
спасибо большое!!!!! почти неделю маялся с этой проблемой, пока не наткнулся на эту статью. респект автору!
Спасибо большое! Насилу удалось, наконец, избавиться от от English (United Kingdom).
Для этого я действительно:
1. Запустил Windows PowerShell с правами администратора.
2. Посмотрел список установленных языков с помощью Get-WinUserLanguageList.
3. Затем задал только новый язык с помощью $1=New-WinUserLanguageList en-US и в следующей строке Set-WinUserLanguageList $1.
4. Остался только один язык English (United States).
5. Остальные нужные языки добавил в обычном порядке.
Еще раз спасибо за помощь, ни один другой метод из упоминавшихся в интернете не дал никакого результата.
Добрый день!
У меня после обновления 1803 кроме ru-RU и en-US в списке языков появился третий en-UK. Убрать из стандартного окна настроек en-US или en-UK не представляется возможным.
После удаления из PowerShell всех языков кроме английского и рестарта, пропадает панель выбора языков (и это правильно т.к. язык должен остаться один)
В настройках Region & Language стоит только английский.
По команде Get-WinUserLanguageList — выдает только английский
НО при переключении языков клавишами Shift+Alt все равно сохраняются все три языка! 🙁
Все делал с админ-правами
Проблема решена! Помог добрый человек с сайта vynesimozg com
Если кому-то понадобится, вот решение:
Сначала убираете все лишние языки через powershell (как описано выше) => в настройках добавляете нужные языки (пуск-параметры- время и язык — регион и язык) => потом открываете редактор реестра (в строке поиска regedit и нажать клавишу Enter) и переходите по пути HKEY_USERS\.DEFAULT\ Keyboard Layout\Preload\ в разделе Preload с правой стороны смотрите какие значения параметров (00000409 eng раскладка, 00000419 русская, 00000422 укр), какой параметр en-Uk я не знаю, вы должны понять путем исключения => допустим параметр 00000451 => вам нужно перейти по пути HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Control\ Keyboard Layouts\ найти там раздел с таким же названием (в нашем примере 00000451) = нажать на него правой клавишей мыши = переименовать = добавить -no чтобы название раздела получилось 00000451-no
После данных действий перезагрузите компьютер и раскладка больше не появится.
Прошу прошение за невольную рекламу сайта на котором мне помогли решить эту проблему, но не упомянуть их не позволяет совесть.
Помогло! Спасибо!
Спасибо!
Добавлю, что переименовать раздел можно только запустив редактор реестра от имени администратора:
кликнуть правой клавишей по кнопке «Windows» = «Найти» = введите «cmd» (это вызов командной строки) = найденную прогу «cmd.exe» кликнуть правой клавишей и запустить от имени администратора = запустить «regedit».
спасибо. этот способ помог. другие откладывали на несколько дней появление третьего языка. с этим уже долго нету проблемы.
Блин, ребята!
реально, спасибище. только на вашем ресурсе нашёл инфу рабочую, все остальные друг у друга переписывают-рерайтят чухню для чайников, к тому же информация в связи с последними обновлениями устарела.
виндовс, блин. у меня лицензия на xiaomi. чуть пиратку не начал ставить…
С каждым обновлением надо обрабатывать напильником…
Windows 10 pro — язык интерфейса русский.
В раскладках клавиатуры появилась дополнительная «Русский — США клавиатура» — т.е. теперь их стало 3.
В Реестре \HKEY_USERS\.DEFAULT\Keyboard Layout\Preload только 2 языка
PowerShell тоже показывает только 2 языка.
Изничтожить эту раскладку пока не удалось. Никаких новых программ не ставил, т.е. это — результат обновления Windows.
Нашел. Это оказывается при подключении к компьютеру с Windows10 по RDP подтягиваются раскладки с компьютера, который подключился.
Т.е. с Windows 7 подключился по RDP на Windows 10 — и на компьютере с Windows 10 будет красоваться богомерзкая третья раскладка.
Лечится твиком реестра.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
«IgnoreRemoteKeyboardLayout»=dword:00000001
Спасибо! Помогло
Если Get-WinUserLanguageList не показывает «лишний» язык, то никакими из предложенных средств с проблемой не справиться.
После каждого обновления Win 11 возвращала мне с трудом удаленную всеми сразу предложенными в интернетах вариантами раскладку az-Cyrl. Пришлось перешерстить реестр и найти еще один неупомянутый нигде раздел —
HKEY_USERS\.DEFAULT\Control Panel\International\User Profile и
HKEY_USERS\.DEFAULT\Control Panel\International\User Profile System Backup
там видны все раскладки, и можно просто удалить ненужную. Перезагрузить.
Здравствуйте, проблема следующая: у меня MiniPC, система устанавливается на него с флешки PE, если установить любую другую систему то часть оборудования тупо не работает (звук и SD карта) найти дрова к ним не получается, так как не одна утилита не находит данное оборудование, на сайте Intel так же нет дров для данного оборудования. Поэтому приходится устанавливать систему только с этой флешки что дали в комплекте к компу. Так вот, после последнего автообновления Windows Home на билд 1803 система стала на английском языке, в настройках, где можно выбрать язык системы, пусто, нет даже крестика добавления языка. Нигде не нашёл решение данной проблемы. Пробовал, два раза, переустанавливать систему с нуля, результат один и тот же, устанавливается русская версия, после обновления становится английской. Не подскажете куда копать? Пытался найти и скачать язык локализации но нигде не нашёл, для других версий есть для 1803 нет, другой же версии не устанавливается, пишет что не совместим.
Попробуйте скачать и установить русский LP для Windows 10 1803 x64 по ссылке _http://download.windowsupdate.com/c/msdownload/update/software/updt/2018/04/lp_301955b0ba0b24a594cf9b44514e578312e28cfe.cab
Спасибо. Но 32 битная версия винды.
Windows 10 x86 1803 (Build 17134.1) русский языковой пакет _http://download.windowsupdate.com/c/msdownload/update/software/updt/2018/04/lp_04d00baf2bc5ccda9fa6a29177d9ae1b6eeaa911.cab
Огромное спасибо, попробую сегодня установить. Но все же интересно, с чего такая проблема могла возникнуть?
Здравствуйте. Большое, огромное спасибо! Проблема оказалась банальной до безобразия и ваши советы помогли её решить. Вся суть оказалась в том, что виндовс хоме была для одного языка, не знаю как китайцы сделали что устанавливалась рускоязычная версия но основная была английская и после обновления системы становилась англоязычной. Удалил пакет английского языка и после перезагрузки система стала на русском языке. Оказалось что пакет русского был в системе но не работал так как основной приоритет имел английский. А ведь кучу сайтов перекопал и форумов, но только здесь нашёл подсказку. Ещё раз благодарю! Вы лучшие!
В списке языков есть язык с раскладкой, которая неправильная, и не понятно как её удалить, её нигде не видно.
Добавляем этот язык с раскладкой по умолчанию. Потом добавляем в него раскладку, которую видим но не можем удалить. Сразу же удаляем эту неправильную раскладку клавиатуры. Все.
Задаю региональные настройки:
en-US
ru-RU
ru-RU
ru-RU
ru-RU
Но при этом предопределённый язык для «метро апп» en-US.
если выполнить
$1=New-WinUserLanguageList ru
$1.Add("ru")
$1.Add("en-US")
Set-WinUserLanguageList $1 -Force
то меняет InputLocale на RU.
Как предопределить не ломая языковые настройки пользователя?
как то ломает содержимое.
InputLocale>en-USru-RUru-RUru-RUru-RU</UserLocale
code как то ломает содержимое.
InputLocale en-US InputLocale
SystemLocale ru-RU SystemLocale
UILanguage ru-RU UILanguage
UILanguageFallback ru-RU UILanguageFallback
UserLocale ru-RU UserLocale
Возможно имеет значение порядок выставления языков?
$1.Add("eu-US")
$1.Add("ru")
Да нет скрипт работает как надо. По крайней мере то что он делает, можно сделать вручную,
Нажав стрелку вниз на английском языке US/ Но даже это меняет InputLocale на русский.
Для тек. пользователя.
А при развёртывании через Autounattend.xml были заданны настройки:
InputLocale en-US InputLocale
SystemLocale ru-RU SystemLocale
UILanguage ru-RU UILanguage
UILanguageFallback ru-RU UILanguageFallback
UserLocale ru-RU UserLocale
И они распотсранились на всех пользователей.
В итоге или получаем английский в модерн апп заходим перемещяем US вниз и заново меняем ввод клавиатуры на US с русского. Какой то компот. Учитывая что с каждой редакцией MS перемещяет настройки.
В итоге сделал через реестр. единожды в автозагрузке.
[HKEY_CURRENT_USER\Control Panel\International\User Profile]
«Languages»=hex(7):72,00,75,00,00,00,65,00,6e,00,2d,00,55,00,53,00,00,00
«ShowAutoCorrection»=dword:00000001
«ShowTextPrediction»=dword:00000001
«ShowCasing»=dword:00000001
«ShowShiftLock»=dword:00000001
«HttpAcceptLanguageOptOut»=dword:00000001
«UserLocaleFromLanguageProfileOptOut»=dword:00000001
«InputMethodOverride»=»0409:00000409»
[HKEY_CURRENT_USER\Control Panel\International\User Profile]
"Languages"=hex(7):72,00,75,00,00,00,65,00,6e,00,2d,00,55,00,53,00,00,00
"ShowAutoCorrection"=dword:00000001
"ShowTextPrediction"=dword:00000001
"ShowCasing"=dword:00000001
"ShowShiftLock"=dword:00000001
"HttpAcceptLanguageOptOut"=dword:00000001
"UserLocaleFromLanguageProfileOptOut"=dword:00000001
"InputMethodOverride"="0409:00000409"
Cпасибо! Сейчас сделал по инструкции. Языки исчезли, добавил русский и теперь их всего два. Если вдруг снова объявится третий, попробую инструкцию из комментариев.
Не сработало. Снова появился en-GB. Нашел в комментариях решение от Leon, где надо раздел с третьим языком в KeyboardLayouts переименовать в *-no. Сделал, снова удалил язык по инструкции через PowerShell. Буду ждать. Если и это не поможет, я уже не знаю, что тут может помочь против этого. Я уже и синхронизацию выключал.
Помог способ из комментов, благодарю. С тех пор не повторилась проблема!
Спасибо, большое!!!! Все голову сломала, как исправить, столько сайтов обошла, прежде чем нашла вас!
Спасибо, добрый сеньоре-сисадмине! Единственный действенный способ, который позволил намертво убить все лишние раскладки!
грёбанная раскладка qwertz, столько мучался. Потом добавился третий английский и всё капут
удалил чёта в реестре, полазил в консоли. Смог решить проблему тупо добавив язык Немеции через настройки в «Предпочитаемые языки», а потом удалив
Спасибо большое!
У меня была лишняя раскладка English (Australia), помогло добавить этот язык в систему, а потом удалить
Друзья , не помню на каком сайте , но я прочитала простейший способ подсказал один очень умный человек и я ему благодарна , он посоветовал добавить в параметры тот язык который вы хотите удалить , если его там нет и потом сразу удалить и потом посмотрите его не будет на панели задач и ничего перезагружать не надо , я на всякий случай перезагрузила и ничего не добавилось
Не всегда работает. У меня перезагрузка снова добавляла
Большое спасибо. Помог только вариант с реестром. В PowerShell язык не отображался.
Спасибо большое. Единственный метод, который помог избавиться от добавленной при установке раскладки. Не было в списке языков и в списке раскладок, но en-GB появлялась только в раскладках после каждой перезагрузки. Избавился наконец
человеческое спасибо!
Автору спасибо огромное!!!!
помогло переименование в разделе реестра KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\
Последний абзац статьи!
Огромное спасибо, решили мою проблему. Поиграл со сменой языка региона, хотел посмотреть как выглядит формат часов в разных странах, в итоге сделал себе огромный список на смену языков через альт+шифт, которые никак не удалялись! Через ПаверШелл оставил только основной язык, потом докачал какой нужно и стало все снова как раньше. Позор Майкам — так косячить на ровном месте.
Информация очень помогла, до этого не как удалились лишние клавиатуры.
Хм… я сделал проще. У меня после какой-то обновы появился английский-ОАЭ и русский-Молдова. В итоге было 4 языка (2 русских и 2 английских). Я сделал следующее: установил стандартным инструментом ненужные языки (ОАЭ и Молдова), они появились в списке предпочитаемых. Затем там же их стандартными инструментами удалил — они исчезли и из языковой панели.
Спасибо большое!
Все получилось!!!
Теперь у меня в реестре на две раскладки меньше, а фактически всё столько же. Винда впечатляет
А можно список всех языковых пакетов? На подобии 00000419 – русская раскладка
Keyboard identifiers and input method editors for Windows
_https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-language-pack-default-values?view=windows-11
Мне не помогло, пока еще дополнительно не удалил запись в этом разделе
Компьютер\HKEY_CURRENT_USER\Keyboard Layout\Substitutes
И после этого пропал азербайджанский
Привет ребята. Если у вас не удаляется кривой ENGLISH UK (ST), просто добавьте его в списке в настройках и добавьте дополнительную клавиатуру, а потом британскую удалите и вуаля, раскладка нормализуется.