Thank you very much! Can you add support for Office langs as well?I've written a PowerShell GUI to download Language Packs for most versions of Windows 10 & 11.
This replaces searching UUP dump or rg-adguard for the correct version, downloading the links and renaming files.
We're still using UUP dump to generate the expiring download links. The script will skip files with identical names in the current folder.
View attachment 15124
Code:Downloading "Microsoft-Windows-Client-LanguagePack-Package_cs-cz-amd64-cs-cz.esd" Downloading "Microsoft-Windows-LanguageFeatures-Basic-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-Handwriting-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-OCR-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-TextToSpeech-cs-cz-Package-amd64.cab" SHA-1 Hash: e7b2986577196a4dd08693327a7209dae02545e5 Microsoft-Windows-Client-LanguagePack-Package_cs-cz-amd64-cs-cz.esd 4e6b61b4e3654d03d765bbf59ab6fc45eb5b4c2f Microsoft-Windows-LanguageFeatures-Basic-cs-cz-Package-amd64.cab 4ef0b346760bb818b830b218296c5bfd7b11d38d Microsoft-Windows-LanguageFeatures-Handwriting-cs-cz-Package-amd64.cab 702a8eddbc454768efabb4c04ea540b464a6b7de Microsoft-Windows-LanguageFeatures-OCR-cs-cz-Package-amd64.cab f980392aca2b3d424c8ca73446beb7e8026bb14f Microsoft-Windows-LanguageFeatures-TextToSpeech-cs-cz-Package-amd64.cab
What versions are supported?
Win 10 below 1809 isn't supported (why are you still using it?). Server 2022 isn't here, because the language selection is severely limited.
- Win 11 26H1
- Win 11 24H2 & 25H2 are the same
- Win 11 22H2 & 23H2 are the same
- Win 11 21H2
- Win 10 2004, 20H2, 21H1 & 21H2 are the same
- Win 10 1903 & 1909 are the same
- Win 10 1809
Do I need ESD2CAB?
Yes, click on the GUI's download link to open abbodi's GitHub.
This script will download and run ESD2CAB for you, converting all *.esd files to CAB format.
Why do I get a PowerShell execution policy error?
Your default execution policy prevents unsigned scripts from running. Run the W10_11LP.bat instead.
How do I check if the downloaded packages are the correct version?
After files are downloaded, the script will report the packages' SHA-1 values.
You can compare the SHA-1 against UUPdump (select a Windows build, under Browse Files / Search enter "language").
ie. https://uupdump.net/findfiles.php?id=a84eaaea-f57c-4271-a642-4abf996a7101&q=language
Why do you use a different UUP than abbodi's W10MUI?
Language Packs are some of the first Windows packages built, and they're shared across later versions in the same family. While my source builds may be different, all packages have identical SHA-1 values to abbodi's lists. There's no functional difference btw them.
If you're interested, my source builds are listed in the script.
What about Win 7 & 8 versions?
There's a different script for you (included in the ZIP), because the languages list isn't the same as W10/11.
While you could just copy the URL from pastebin or other sources, I already wrote a GUI.
Why don't I see new languages in my user account?
Windows doesn't automatically add every installed language to your user profile. A system might have multiple languages, but you don't need every one of them. Instead you can specify your own list of displayed languages.
Run this PowerShell command from Post-Setup (After logon):
powershell -nop Set-WinUserLanguageList -LanguageList "en-US, en-GB" -Force
Replace the -LanguageList "en-US, en-GB" with your ordered list of keyboard languages.
How hard was it writing the GUI?
When you find a good WinForms code example, it's easy to modify and make your own layout. I moved and sized the visual elements by hand.
If you noticed, the OK button isn't active until the user selects from all menu boxes. And W11 doesn't have a x86 version, checking that option will always uncheck the button.
The script uses the Windows native ZIP library to extract abbodi's ESD2CAB. Otherwise I'd have to bundle 7z.exe.Do not run this script on a system where the "zip and cab folders" component has been removed. It will cause errors and crashes during the final stage of converting esd to cab.
Right now, the script works for me. Do you see output similar to this?I guess there is a problem with the script. Downloading the language files for en-US 25H2 just aborts after 1-2 minutes without an error. Is someone else having the same issue? (used it on two different computers)
PS C:\Users\GARLIN\Downloads\W10_11LangPack> .\W10_11LangPack.ps1
Downloading "Microsoft-Windows-Client-LanguagePack-Package-amd64-en-us.esd"
Downloading "Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64.cab"
Downloading "Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64.cab"
Downloading "Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64.cab"
Downloading "Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64.cab"
Downloading "Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64.cab"
Package SHA-1
------- -----
Microsoft-Windows-Client-LanguagePack-Package-amd64-en-us.esd 29cd661e07e0fc670590577f8b51e982a6f3e77b
Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64.cab 75c9004e1c26fafe58e5b0edfe1cf54210d8efe5
Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package-amd64.cab aa7f92c061a2117d0a240030b70a71d73729af63
Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64.cab 163f54fb4bea9228a06373369a83d92a6a0ea60b
Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64.cab 11524fd75511396f81a33ff251f446ee2e9720ea
Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64.cab a5f2dd065b4adc32dbbd867ac6cf28bd09fe2870
Running ESD2CAB script.
Script exited.
No, the previous "base" version of 26H1 (x64) has disappeared from WU and needs to be updated.26h1 : the remote server returned an error: (500 internal server error)
Since the arm version is downloaded well, did the address change?
Wouahhhhhhhh !!!!!!!! Very nice script !!!!!!!! Working1000% !!!!!! Without any trouble !!!!!!!! Congratulations garlin.I've written a PowerShell GUI to download Language Packs for most versions of Windows 10 & 11.
This replaces searching UUP dump or rg-adguard for the correct version, downloading the links and renaming files.
We're still using UUP dump to generate the expiring download links. The script will skip files with identical names in the current folder.
View attachment 15124
Code:Downloading "Microsoft-Windows-Client-LanguagePack-Package_cs-cz-amd64-cs-cz.esd" Downloading "Microsoft-Windows-LanguageFeatures-Basic-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-Handwriting-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-OCR-cs-cz-Package-amd64.cab" Downloading "Microsoft-Windows-LanguageFeatures-TextToSpeech-cs-cz-Package-amd64.cab" SHA-1 Hash: e7b2986577196a4dd08693327a7209dae02545e5 Microsoft-Windows-Client-LanguagePack-Package_cs-cz-amd64-cs-cz.esd 4e6b61b4e3654d03d765bbf59ab6fc45eb5b4c2f Microsoft-Windows-LanguageFeatures-Basic-cs-cz-Package-amd64.cab 4ef0b346760bb818b830b218296c5bfd7b11d38d Microsoft-Windows-LanguageFeatures-Handwriting-cs-cz-Package-amd64.cab 702a8eddbc454768efabb4c04ea540b464a6b7de Microsoft-Windows-LanguageFeatures-OCR-cs-cz-Package-amd64.cab f980392aca2b3d424c8ca73446beb7e8026bb14f Microsoft-Windows-LanguageFeatures-TextToSpeech-cs-cz-Package-amd64.cab
What versions are supported?
Win 10 below 1809 isn't supported (why are you still using it?). Server 2022 isn't here, because the language selection is severely limited.
- Win 11 26H1
- Win 11 24H2 & 25H2 are the same
- Win 11 22H2 & 23H2 are the same
- Win 11 21H2
- Win 10 2004, 20H2, 21H1 & 21H2 are the same
- Win 10 1903 & 1909 are the same
- Win 10 1809
Do I need ESD2CAB?
Yes, click on the GUI's download link to open abbodi's GitHub.
This script will download and run ESD2CAB for you, converting all *.esd files to CAB format.
Why do I get a PowerShell execution policy error?
Your default execution policy prevents unsigned scripts from running. Run the W10_11LP.bat instead.
How do I check if the downloaded packages are the correct version?
After files are downloaded, the script will report the packages' SHA-1 values.
You can compare the SHA-1 against UUPdump (select a Windows build, under Browse Files / Search enter "language").
ie. https://uupdump.net/findfiles.php?id=a84eaaea-f57c-4271-a642-4abf996a7101&q=language
Why do you use a different UUP than abbodi's W10MUI?
Language Packs are some of the first Windows packages built, and they're shared across later versions in the same family. While my source builds may be different, all packages have identical SHA-1 values to abbodi's lists. There's no functional difference btw them.
If you're interested, my source builds are listed in the script.
What about Win 7 & 8 versions?
There's a different script for you (included in the ZIP), because the languages list isn't the same as W10/11.
While you could just copy the URL from pastebin or other sources, I already wrote a GUI.
Why don't I see new languages in my user account?
Windows doesn't automatically add every installed language to your user profile. A system might have multiple languages, but you don't need every one of them. Instead you can specify your own list of displayed languages.
Run this PowerShell command from Post-Setup (After logon):
powershell -nop Set-WinUserLanguageList -LanguageList "en-US, en-GB" -Force
Replace the -LanguageList "en-US, en-GB" with your ordered list of keyboard languages.
How hard was it writing the GUI?
When you find a good WinForms code example, it's easy to modify and make your own layout. I moved and sized the visual elements by hand.
If you noticed, the OK button isn't active until the user selects from all menu boxes. And W11 doesn't have a x86 version, checking that option will always uncheck the button.
ar-sa, ar-SA Arabic
bg-bg, bg-BG Bulgarian
cs-cz, cs-CZ Czech
da-dk, da-DK Danish
de-de, de-DE German
el-gr, el-GR Greek
en-gb, en-GB English (United Kingdom)
en-us, en-US English (United States)
es-es, es-ES Spanish
es-mx, es-MX Spanish (Mexico)
et-ee, et-EE Estonian
fi-fi, fi-FI Finnish
fr-ca, fr-CA French (Canada)
fr-fr, fr-FR French
he-il, he-IL Hebrew
hr-hr, hr-HR Croatian
hu-hu, hu-HU Hungarian
it-it, it-IT Italian
ja-jp, ja-JP Japanese
ko-kr, ko-KR Korean
lt-lt, lt-LT Lithuanian
lv-lv, lv-LV Latvian
nb-no, nb-NO Norwegian
nl-nl, nl-NL Dutch
pl-pl, pl-PL Polish
pt-br, pt-BR Portuguese (Brazil)
pt-pt, pt-PT Portuguese
ro-ro, ro-RO Romanian
ru-ru, ru-RU Russian
sk-sk, sk-SK Slovak
sl-si, sl-SI Slovenian
sr-latn-rs, sr-latn-rs Serbian (Latin)
sv-se, sv-SE Swedish
th-th, th-TH Thai
tr-tr, tr-TR Turkish
uk-ua, uk-UA Ukrainian
zh-cn, zh-CN Chinese (Simplified)
zh-tw, zh-TW Chinese (Traditional)
af-za, af-ZA Afrikaans
am-et, am-ET Amharic
as-in, as-IN Assamese (India)
az-latn, az-latn Azerbaijan
be-by, be-BY Belarusian
bn-bd, bn-BD Bangla (Bangladesh)
bn-in, bn-IN Bangla (India)
bs-latn, bs-latn Bosnian
ca-es, ca-ES Catalan
cy-gb, cy-GB Welsh
de-ch, de-CH German (Switzerland)
en-au, en-AU English (Australia)
en-ca, en-CA English (Canada)
en-in, en-IN English (India)
es-us, es-us Spanish (US)
eu-es, eu-ES Basque
fa-ir, fa-IR Persian
fil-ph, fil-PH Filipino
fr-be, fr-BE French (Belgium)
fr-ch, fr-CH French (Switzerland)
ga-ie, ga-IE Irish
gd-gb, gd-GB Scottish Gaelic
gl-es, gl-ES Galician
gu-in, gu-IN Gujarati (India)
hi-in, hi-IN Hindi (India)
hy-am, hy-AM Armenian
id-id, id-ID Indonesian
is-is, is-IS Icelandic
ka-ge, ka-GE Georgian
kk-kz, kk-KZ Kazakh
km-kh, km-KH Khmer
kn-in, kn-IN Kannada (India)
ky-kg, ky-KG Kyrgyz (Kyrgyzstan)
lb-lu, lb-LU Luxembourgish
lo-la, lo-LA Lao
mi-nz, mi-NZ Maori
mk-mk, mk-MK Macedonian
ml-in, ml-IN Malayalam (India)
mn-mn, mn-MN Mongolian
mr-in, mr-IN Marathi (India)
ms-my, ms-MY Malay
mt-mt, mt-MT Maltese
my-mm, my-mm Burmese (Myanmar)
ne-np, ne-NP Nepali
nn-no, nn-NO Nynorsk (Norway)
nso-za, nso-ZA Sesotho (South Africa)
or-in, or-IN Odia (India)
pa-in, pa-IN Punjabi (India)
ps-af, ps-AF Pashto (Afghanistan)
rw-rw, rw-RW Kinyarwanda (Rwanda)
si-lk, si-LK Sinhala
so-so, so-SO Somali (Somalia)
sq-al, sq-AL Albanian
sr-cyrl, sr-cyrl Serbian (Cyrillic)
sr-latn, sr-Latn Serbian (Latin)
sw-ke, sw-KE Kiswahili (Kenya)
ta-in, ta-IN Tamil (India)
te-in, te-IN Telugu (India)
tg-cyrl, tg-Cyrl Tajik (Tajikistan)
tt-ru, tt-RU Tatar
ug-cn, ug-CN Uyghur
ur-pk, ur-PK Urdu
uz-latn, uz-latn Uzbek
vi-vn, vi-VN Vietnamese
zh-hk, zh-HK Chinese (Hong Kong)
zu-za, zu-ZA Zulu (South Africa)