Windows OS Hub
  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu
  • Home
  • About

Windows OS Hub

  • Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2008 R2
    • SCCM
  • Active Directory
    • Active Directory Domain Services (AD DS)
    • Group Policies
  • Windows Clients
    • Windows 11
    • Windows 10
    • Windows 8
    • Windows 7
    • Windows XP
    • MS Office
    • Outlook
  • Virtualization
    • VMWare
    • Hyper-V
    • KVM
  • PowerShell
  • Exchange
  • Cloud
    • Azure
    • Microsoft 365
    • Office 365
  • Linux
    • CentOS
    • RHEL
    • Ubuntu

 Windows OS Hub / Windows 10 / Can’t Remove Language Keyboard Layout in Windows 10

April 12, 2023 Windows 10Windows 11

Can’t Remove Language Keyboard Layout in Windows 10

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 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!


Can't remove language in language preferences after windows 10 1803 april update
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.

The bug with the non-removable keyboard layout first appeared after upgrading to Windows 10 1803 (there were many other bugs in that build, such as the extra OEM recovery partition that appeared after the upgrade). The bug occurs if you add an extra language that uses the same base language as the current Windows display language. Such an additional language 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:

  1. Run Windows PowerShell as an administrator;
  2. Display the list of languages installed in Windows 10 with the command: Get-WinUserLanguageList
    Get-WinUserLanguageList - list installed languages in windows 10
  3. Remember the value of LanguageTag for your preferred language. For example, your preferred language is English (United States): LanguageTag = en-US.
  4. Save the value of the preferred language to a variable: $1=New-WinUserLanguageList en-US
  5. Now you can set this input language as the preferred language and remove all other additional languages: Set-WinUserLanguageList $1
  6. Press the Y key to confirm the deletion of extra languages;
    remoce an exrta preferred languages after windows 10 1803 april update
  7. 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.

  1. Run the regedit.exe as an administrator;
  2. Go to the registry key: HKEY_USERS\.DEFAULT\Keyboard Layout\Preload. Here you can see a list of languages available on the login screen;
  3. 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 );delete language keyboard layouts preload in registry
  4. 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.

If additional keyboard layouts appear on the user’s desktop in a remote RDP/RDS session, you can prevent local keyboard layouts from being redirected to a user’s Remote Desktop session using the registry parameter:

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).

  1. First, remove extra languages using PowerShell (described above);
  2. Find subkey 00000404 in the specified registry key and rename it to 00000404-no;disable keyboard language through the Windows registry
  3. Reboot Windows;
  4. Check that the specified keyboard layout is no longer displayed in the language bar.

6 comments
7
Facebook Twitter Google + Pinterest
previous post
How to Change or Disable Session Timeout in VMware vSphere (ESXi) Client
next post
How to Delete or Rename Default Mailbox Database in Exchange Server

Related Reading

Zabbix: How to Get Data from PowerShell Scripts

October 27, 2023

Tracking Printer Usage with Windows Event Viewer Logs

October 19, 2023

How to Use Ansible to Manage Windows Machines

September 25, 2023

Installing Language Pack in Windows 10/11 with PowerShell

September 15, 2023

How to View and Change BIOS (UEFI) Settings...

September 13, 2023

6 comments

Michael May 27, 2018 - 4:02 am

Thank you! This indeed solved my problems. I’ve had 3 different English languages installed with no option to remove any.

Reply
Otto Sierra June 23, 2018 - 11:32 pm

Ohh man, thanks!!!
This was absolutely helpful.

Reply
yecundha June 25, 2018 - 8:29 pm

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!

Reply
Jan Nijhof August 6, 2019 - 1:30 pm

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 ….. ) ….

Reply
Vladimir June 1, 2022 - 12:59 pm

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.

Reply
Claudio February 20, 2023 - 4:16 am

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.

Reply

Leave a Comment Cancel Reply

Categories

  • Active Directory
  • Group Policies
  • Exchange Server
  • Microsoft 365
  • Azure
  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • PowerShell
  • VMWare
  • Hyper-V
  • Linux
  • MS Office

Recent Posts

  • Zabbix: How to Get Data from PowerShell Scripts

    October 27, 2023
  • Tracking Printer Usage with Windows Event Viewer Logs

    October 19, 2023
  • PowerShell: Configure Certificate-Based Authentication for Exchange Online (Azure)

    October 15, 2023
  • Reset Root Password in VMware ESXi

    October 12, 2023
  • How to Query and Change Teams User Presence Status with PowerShell

    October 8, 2023
  • How to Increase Size of Disk Partition in Ubuntu

    October 5, 2023
  • How to Use Ansible to Manage Windows Machines

    September 25, 2023
  • Installing Language Pack in Windows 10/11 with PowerShell

    September 15, 2023
  • Configure Email Forwarding for Mailbox on Exchange Server/Microsoft 365

    September 14, 2023
  • How to View and Change BIOS (UEFI) Settings with PowerShell

    September 13, 2023

Follow us

  • Facebook
  • Twitter
  • Telegram
Popular Posts
  • How to Allow Multiple RDP Sessions on Windows 10 and 11
  • How to Repair EFI/GPT Bootloader on Windows 10 or 11
  • How to Restore Deleted EFI System Partition in Windows
  • Network Computers are not Showing Up in Windows 10/11
  • How to Run Program without Admin Privileges and Bypass UAC Prompt
  • Fix: BSOD Error 0x0000007B (INACCESSABLE_BOOT_DEVICE) on Windows
  • Fixing ‘The Network Path Was Not Found’ 0x80070035 Error Code on Windows
Footer Logo

@2014 - 2023 - Windows OS Hub. All about operating systems for sysadmins


Back To Top