Answer
In fact, the update of Windows 10 1803 brought many surprises to the user (remember at least an extra recovery partition that appeared after the update).
In Windows 10 usually you can remove any language that is not used as the default language. In Windows 10 1803, there is a bug with additional languages. If you add an additional language in the system that uses the same base language as the current Windows display language, then this language can’t 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 in the language pane on the taskbar an unnecessary language has appeared.
With the following commands, you can’t remove additional languages from the system, because these language packs are not installed on Windows 10.
lpksetup /u en-gb
lpksetup /u en-ca
You can remove the unnecessary extra language only by using PowerShell.
- Run Windows PowerShell as administrator.
- List the languages installed in Windows 10 with the command:
Get-WinUserLanguageList
- Remember the value of LanguageTag for the preferred language. For example, your preferred language is English (United States), then
LanguageTag = en-US
. - Save the value of the preferred language to a variable:
$1=New-WinUserLanguageList en-US
- Now you can set this 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 all additional languages are gone.
If you need to leave multiple languages in the system, you can only delete unnecessary languages with the following commands. 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 Chinese, replace the second line with:
$DeleteLang = $LanguageList | where LanguageTag -eq "zh-Hans-CN"
Or you can specify the list of languages to be left:
$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 languages are removed correctly.
4 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 ….. ) ….