Several times in Windows 10 I noticed a strange bug when extra languages appear in the list of keyboard layouts of the language bar. For example, I had 2 languages installed on my laptop: German and English. But after installing the Windows 10 update, two additional languages appeared in the list of languages – English (United Kingdom) and English (Canada), although I’m sure that I didn’t add them. And Windows doesn’t allow you to delete extra input languages (the Remove button is grayed out). Now I have to switch between 4 keyboard layouts instead of 2, which is very inconvenient!
Let’s take a look at how to remove unwanted keyboard layouts in Windows 10 and Windows 11.
In Windows 10, you can usually remove any keyboard layout language that is not used as the default language. However, you may encounter a bug where some languages cannot be removed.
For example, if English (United States) is the current Windows interface language, then after adding English (United Kingdom) you can’t remove both languages from the list of preferred languages. And, of course, it is very inconvenient that an unnecessary keyboard language has appeared in the language pane in the system tray.
You cannot remove the additional languages in Windows using the lpksetup command, because these language packs are not installed:
lpksetup /u en-gb
lpksetup /u en-ca
Removing an Additional Language in Windows 10 Using PowerShell
You can remove the unnecessary extra input language in Windows 10 and 11 using PowerShell:
- Run Windows PowerShell as an administrator;
- Display the list of languages installed in Windows 10 with the command:
Get-WinUserLanguageList
- Remember the value of LanguageTag for your preferred language. For example, your preferred language is English (United States):
LanguageTag = en-US
. - Save the value of the preferred language to a variable:
$1=New-WinUserLanguageList en-US
- Now you can set this input language as the preferred language and remove all other additional languages:
Set-WinUserLanguageList $1
- Press the
Y
key to confirm the deletion of extra languages;
- Make sure that all additional keyboard languages are gone.
If you need to leave several keyboard layouts in Windows, you can remove only the extra languages you don’t need. For example, you want to remove languages with the following LanguageTag values: en-Gb
and zh-Hans-CN
.
$LanguageList = Get-WinUserLanguageList
$DeleteLang = $LanguageList | where LanguageTag -eq "en-Gb"
$LanguageList.Remove($DeleteLang)
Set-WinUserLanguageList $LanguageList –Force
To delete the Chinese keyboard language, replace the second line with:
$DeleteLang = $LanguageList | where LanguageTag -eq "zh-Hans-CN"
Or you can specify the list of languages to keep in Windows:
$1=New-WinUserLanguageList en-US
$1.Add("en-US")
$1.Add("de-DE")
Set-WinUserLanguageList $1
Close the PowerShell console and make sure that all extra input languages are removed correctly.
How to Remove Extra Language Keyboard Layout in Windows Registry?
If additional languages have been removed from the input languages list, but still appear in the keyboard layouts, you need to manually remove them from the registry.
- Run the
regedit.exe
as an administrator; - Go to the registry key:
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
. Here you can see a list of languages available on the login screen; - The active keyboard layouts of the current user are set under the
HKEY_CURRENT_USER\Keyboard Layout\Preload
registry key. For example, 0000409 – English layout, 00000407 – German layout, 00000410 – Italian, etc.; (check the list of Default Input Profiles/Input Locales in Windows: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs?view=windows-11 ); - Remove all unused language layouts from the registry if necessary, and change the numbering of the registry parameters (the parameter names should be consecutive and start from 1).
After that, the extra keyboard layout will disappear from the list of input languages.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v IgnoreRemoteKeyboardLayout /t REG_DWORD /d 1
If you are sure you don’t need a certain keyboard layout, you can disable it completely. The complete list of keyboard layouts is stored in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts registry key.
For example, you want to disable the following keyboard layout: 00000404 (Chinese (Traditional) - US Keyboard)
.
- First, remove extra languages using PowerShell (described above);
- Find subkey 00000404 in the specified registry key and rename it to 00000404-no;
- Reboot Windows;
- Check that the specified keyboard layout is no longer displayed in the language bar.
6 comments
Thank you! This indeed solved my problems. I’ve had 3 different English languages installed with no option to remove any.
Ohh man, thanks!!!
This was absolutely helpful.
Hi,
I eventually find out where the additional languages were coming from.
When installing Windows 10 and adding your own user custom languages, the ones Microsoft predefined to be used for the Welcome screen and new user accounts keep being displayed after a reboot (I would even say after a reboot and opening of the “Region & language” configuration window).
All you have to do is to configure the new user accounts with the same languages as your.
To do so, go to Windows Settings >> Time & Language >> Region & language,
then in the right panel, open “Administrative language settings”,
on the Administrative tab, click on “Copy settings…”,
at the bottom of the window, select both check boxes,
and validate clicking “OK”.
Reboot and your problem is probably fixed!
For a guest-user I had to add on Russian temporarely. Afterwards I deleted Russian, succesfully cause f.i. it is not shown anymore in the WinUserLanguageList . Only Dutch and Englisch are left over, like I want it. But still ….. in my Windows (menu, explorer, error- and status-messages) Russian keeps on appearing.
(Which is trouble, ’cause I cannot read Russian or even type it translate ….. ) ….
Thank you a lot. Your first method really helped me. I was looking for the solution of this problem for several days and all of the ways that I found didn’t work. But your solution to this problem through PowerShell gave me the freedom from three unwanted language keyboards in language bar.
I found a quicker solution. I added the extra language keyboard layouts that windows added unwantedly, leaving the voice to text, handwriting recognition and extra features unchecked. Then after adding it manually, it won’t add it twice, it will just show what’s already showing by mistake, but THIS time the “remove” option will appear. Click remove and that’s it.