guide · static export
PC · language

Install a Display Language and Remove the Old One

A new display language is three separate settings: the interface, the formats and the system locale for non-Unicode programs. Only the last one needs a reboot and fixes garbled old apps.

by@guidox updated:10/31/26 time:30 min level:Intermediate tested on:Windows 11 24H2 works on:Windows 10, Windows 11 tools:PowerShell as administrator
TL;DR

Install the pack with **Install-Language**, set the interface with **Set-WinUILanguageOverride** and the non-Unicode code page with **Set-WinSystemLocale**. Removing the old language is a separate step.

Before you start

Requirements

  • Admin rights
  • Windows update access for the language pack
  • 30 minutes
Step by step

Instructions

01

Install the language pack

On a current build **Install-Language** pulls the whole pack. Without it only the keyboard layout and formats get added, and the interface stays English.

Install-Language -Language de-DE
Get-WinUserLanguageList | Select-Object LanguageTag,Autonym,InputMethodTips
02

Make it the display language

**Set-WinUILanguageOverride** changes the interface for the current user. It takes effect at the next sign-in, not immediately.

Set-WinUILanguageOverride -Language de-DE
Get-WinUILanguageOverride
tip**Set-WinUserLanguageList** orders the keyboards and the preferred UI language in one go, which is what Settings writes underneath.
03

Set the system locale separately

This is the setting behind **Region > Administrative > Language for non-Unicode programs**. Old installers and legacy apps use it; nothing else fixes their garbled text.

Set-WinSystemLocale -SystemLocale de-DE
Get-WinSystemLocale
:: requires a reboot
04

Fix the formats while you are here

Dates and numbers follow **Set-Culture**, which is per user. A machine with German UI and US date format is this setting, not the display language.

Set-Culture -CultureInfo de-DE
Get-Culture | Select-Object Name,DateTimeFormat,NumberFormat
Set-WinHomeLocation -GeoId 94
⚠ warningChanging the culture affects exported CSVs and Excel imports. If you share files with a US team, keep the culture and change only the UI language.
05

Reboot and verify all three

Read back the override, the system locale and the culture. Three green values are the whole check; a sign-in screen in the old language means one of them did not apply.

Get-WinUILanguageOverride
Get-WinSystemLocale
Get-Culture | Select-Object Name
Get-WinUserLanguageList
06

Remove the old language properly

Deleting the pack while it is still the fallback leaves a half-translated interface. Set the new language as the only entry, then uninstall the old capability.

$l = New-WinUserLanguageList de-DE
Set-WinUserLanguageList $l -Force
Uninstall-Language -Language en-US
Get-InstalledLanguage
⚠ warningKeep at least one complete language installed. Removing the last full pack leaves the interface with missing strings and no way back except a repair install.
Troubleshooting

Common issues

The interface is partly translated

The language pack is installed but its features are not. Install the full pack again, and check Get-InstalledLanguage for the LanguageFeatures entry.

Install-Language fails on a metered connection

Language packs come from Windows Update. Mark the connection as unmetered or use an ISO as the source for the optional features.

Old programs still show garbage characters

That is the system locale, not the display language. Set it with Set-WinSystemLocale and reboot.

The sign-in screen stays in the old language

The default account and the welcome screen keep their own language. Set it in the copy settings of the regional settings dialog.

FAQ

Frequently asked

Does this change my keyboard?

Only if you add the layout to the user language list. The physical layout stays until you switch it, with the layout indicator in the taskbar.

Can I mix UI language and formats?

Yes, and it is often the better choice: English interface with German number and date formats is one setting apart.

How to undo this

Set-WinUILanguageOverride and -WinSystemLocale back to the previous values, restore the culture with Set-Culture, then reinstall the old language pack and sign out.

Changelog · 1 entry
  1. 2026-10-31
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress