Ніколи не траплялося ситуації, що встановили собі Українську та Англійську розкладку, починаєте перемикатися, а там тобі і Українська, і Англійська США, і Англійська Канада, і Англійська Австралія? Рідко, але так трапляється. І що ж робити щоб прибрати “зайві й непотрібні” розкладки? Давайте розбиратися покроково.
По-перше, видалити “зайву” мову можна спробувати через PowerShell. Запускаємо його з правами адміністратора. Після чого вводимо команду Get-WinUserLanguageList:
Таким чином ми отримали список всіх встановлених в системі мов. Запам’ятаємо параметр LanguageTag = en-US та зберігаємо його у змінну $1=New-WinUserLanguageList en-US. Після цього можна встановити цю мову у якості основної, при цьому видаливши всі інші Set-WinUserLanguageList $1:
Якщо ж треба залишити декілька мов, можна видалити лише зайві мови. Наприклад, видалимо мови з 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 і переконуємося, що всі “зайві мови” зникли з панелі переключення мов. У випадку віддаленого rdp-сеансу можна спробувати перезайти в систему, якщо мови раптом не зникли.
Для олдскулів існує інший шлях – видалення через реєстр.
Запускаємо regedit з правами адміністратора та переходимо в гілку HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
. Тут має відобразитися список кодів мов, що доступні при вході в систему. А от в гілці HKEY_CURRENT_USER\Keyboard Layout\Preload
буде список розкладок клавіатури для поточного користувача системи.
Видаляємо всі “зайві розкладки”. За необхідності треба змінити параметр Name, бо всі розкладки мають йти послудовно – 1, 2, 3… Нумерація має починатися з 1.
Окреме зауваження для Windows-користувачів щодо віддалених rdp-сеансів з Windows (Linux-користувасі можуть за це не перейматися). Якщо раптод додаткові розкладки клавіатури з’являються на віддаленому робочому столі rdp-сесії, можна спробувати заблокувати передачу локальних розкладок клавіатури на віддаленому хості за допомогою наступного “заклинання”:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v IgnoreRemoteKeyboardLayout /t REG_DWORD /d 1
Якщо ж раптово маєте забобони щодо якоїсь мови чи просто переконані, що вона ніколи не знадобиться, можна її повністю заблокувати.
Повний перелік мов можна знайти в розділі реєстру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
. Наприклад, якщо хочемо заблокувати розкладку
то знаходимо розділ 00000404 та переназиваємо його в 00000404-no:00000404 (Chinese (Traditional) - US Keyboard)
Після того як таким чином всі зайві мови буде заблоковано – перезавантажуємо Windows, заблоковані мови більше не будуть відображатися в системі.
На цьому сьогодні все.