$Lang="en-US" # Make sure English (US) language pack is installed (UI needs "Language.Basic") Add-WindowsCapability -Online -Name "Language.Basic~~~$Lang~0.0.1.0" # Add en-US to your existing language list without removing anything (keeps keyboards/layouts) $list = Get-WinUserLanguageList if ($list.LanguageTag -notcontains $Lang) { $list.Add($Lang) } # Put en-US first (Windows uses first entry as primary for UI/input preferences) $en = $list | Where-Object LanguageTag -eq $Lang $rest = $list | Where-Object LanguageTag -ne $Lang $list = New-Object System.Collections.Generic.List[Microsoft.InternationalSettings.Commands.WinUserLanguage] $list.Add($en); $rest | ForEach-Object { $list.Add($_) } Set-WinUserLanguageList $list -Force # Force Windows display language override Set-WinUILanguageOverride -Language $Lang "Done. Sign out/in (or reboot) to apply."