7

This question has been asked before for Windows 10, however, the solution provided for Windows 10 does not appear to be working for Windows 11.

The problem is simple. I bought a new Laptop in Thailand. It came with Windows 11 Home Single Language Edition. 21H2. 22000.708. It is installed with English US (en-US, 0409). When I tried the procedure as described for Windows 10 and changed the language from English-US (en-US, 0809) to English-UK (en-UK, 0409) and restarted my laptop the display language had changed from English-US (en-US, 0809) to Thai (th-TH, 041E).

Does someone know of a solution for Windows 11 or is it possible that it is not possible to change the language to English-UK, and that it can only be changed from Thai to English-US and Vice Versa?

5 Answers5

5

for those seeking to switch to en-us, i've been able to do it without downloading anything, as it seems preinstalled. in powershell:

reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage /t REG_SZ /d 0409 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v Default /t REG_SZ /d 1033 /f

then reboot.

3

I've recently managed to change language on Windows 11 Home SL from English to German, which required a combination of instructions from different answers, so describing what I did here in case anyone struggles with it too later.

  1. Download the large "Language and Optional Features ISO" file with Windows 11 language packs here (I used Windows 11, version 22H2 and 23H2 Language and Optional Features ISO, at the moment of writing there is also Windows 11, version 24H2 Language and Optional Features ISO).
  2. Open it like any archive file using WinRAR or something.
  3. In LanguagesAndOptionalFeatures subfolder look for a file named Microsoft-Windows-Client-Language-Pack_x64_[language_code].cab and extract it.
  4. Open a terminal as administrator and install the pack
    dism /online /Add-Package /PackagePath:C:\Path\To\Microsoft-Windows-Client-Language-Pack_x64_[language_code].cab
    
  5. Look up the hex Language ID for your language. There is this convenient table or spec files from Microsoft here (in the PDF spec look for a "Language ID (2 bytes)" table under the "LCID structure" section). For example, for en-US the code is 0409 and for German (de-DE) it is 0407.
  6. Open registry editor (Win+R and type regedit) and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language.
  7. Change values of both keys (Default and InstallLanguage) to the code from step 5.
    • Alternatively, you can edit the fields in registry using these commands in terminal (replace 0407 with your language code).
      reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage /t REG_SZ /d 0407 /f
      reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v Default /t REG_SZ /d 0407 /f
      
  8. Restart the computer.

Now most of the interface should be in your new language. For me, however, the dates and the settings UI were still in English.

  1. Go to Windows settings (Win+I) -> Time and Language -> Language and Region
  2. To fix dates, change "Regional format" setting.
  3. To fix the language of settings UI, near "Preferred languages" press "Add language" (the button usually used to add new keyboard layouts). Find your language, tick the "Language pack" and "Use as display language" options. These should be available for the language you installed earlier even though the system is Windows SL.
  4. After the download completes, you can remove the language from preferred ones to get rid of the keyboard layout, but the settings UI should be translated after restarting.

Before doing the last steps, I also performed the instructions from this answer, they may have helped as well.

jabuj
  • 171
0

The code for en-UK is 0809, not 0409. Try changing both Default and InstallLanguage to this number.

montw
  • 31
0

The first thing you need to do is obtain the language pack cab for the language you want to switch to. For example, for en-gb language, you'll need a file called "Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab".

The Microsoft Learn website shows a few official ways to obtain the file if you're an OEM or an IT Professional. Microsoft doesn't seem to provide a public link to those cab files. You can also try to find it across the internet as some people have been hosting them.

Once you have the file, you'll need to find the language code for the desired language. This document from Microsoft lists all supported language codes. Opening the pdf and doing a quick search for "en-GB" gives me the "0x0809" value. Note down the part after the 0x.

Having the file and the code, here's how you would install it through the DISM tool from Windows:

dism /online /Add-Package /PackagePath:<file>
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage /t REG_SZ /d <code> /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v Default /t REG_SZ /d <code> /f

For the en-gb language:

dism /online /Add-Package /PackagePath:Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage /t REG_SZ /d 0809 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v Default /t REG_SZ /d 2057 /f

I haven't found official documentation for the modified reg keys, but that's how most sources suggest modifying the value of system language.

-1

Arthur's answer worked for me, just had to change %TEMP% in given commands to full path to Temp folder like this:

curl -o C:\Users\<userName>\AppData\Local\Temp\Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab "https://filedn.com/lOX1R8Sv7vhpEG9Q77kMbn0/Windows11/LanguagePacks/Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab"
dism /online /Add-Package /PackagePath:C:\Users\<userName>\AppData\Local\Temp\Microsoft-Windows-Client-Language-Pack_x64_en-gb.cab
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage /t REG_SZ /d 0809 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v Default /t REG_SZ /d 2057 /f
cd

Be sure to run the command in administrator mode