For testing purposes I need to install all languages on Windows 10 and it would be nice if we have a batch script out there or bunde installer from Microsoft?
2 Answers
To download all the language packs you need to have the Windows Language Pack ISO. If you have the MSDN, you can get it there. If not, here is one that I found via Google - link.
Once you have the ISO, open it up and copy to one folder all the language packs,
whose file-names are like lp*.cab.
You can install all the packs via the lpksetup command that comes with Windows:
lpksetup.exe /i * /p <path>
Some language packs require the computer to be rebooted. For some others you do not have the right keyboard. And I suspect that with so many packs installed, you will encounter some new problems.
For more information :
- 498,455
You can use the Install-Language PowerShell cmdlet to install some or all of the available language packs for your version of Windows. It will automatically fetch the language pack files over the Internet from Microsoft's servers without you having to click around in Settings hundreds of times or manually download an ISO file that is only available to OEMs, device partners, and volume license holders.
# for Windows 10, see https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/available-language-packs-for-windows?view=windows-10
# all Windows 11 language packs:
$allLanguages = @("af-ZA", "am-ET", "ar-SA", "as-IN", "az-Latn-AZ", "be-BY",
"bg-BG", "bn-IN", "bs-Latn-BA", "ca-ES", "ca-ES-valencia", "chr-CHER-US",
"cs-CZ", "cy-GB", "da-DK", "de-DE", "el-GR", "en-GB", "en-US", "es-ES",
"es-MX", "et-EE", "eu-ES", "fa-IR", "fi-FI", "fil-PH", "fr-CA", "fr-FR",
"ga-IE", "gd-GB", "gl-ES", "gu-IN", "he-IL", "hi-IN", "hr-HR", "hu-HU",
"hy-AM", "id-ID", "is-IS", "it-IT", "ja-JP", "ka-GE", "kk-KZ", "km-KH",
"kn-IN", "kok-IN", "ko-KR", "lb-LU", "lo-LA", "lt-LT", "lv-LV", "mi-NZ",
"mk-MK", "ml-IN", "mr-IN", "ms-MY", "mt-MT", "nb-NO", "ne-NP", "nl-NL",
"nn-NO", "or-IN", "pa-IN", "pl-PL", "pt-BR", "pt-PT", "quz-PE", "ro-RO",
"ru-RU", "sk-SK", "sl-SI", "sq-AL", "sr-Cyrl-BA", "sr-Cyrl-RS", "sr-Latn-RS",
"sv-SE", "ta-IN", "te-IN", "th-TH", "tr-TR", "tt-RU", "ug-CN", "uk-UA",
"ur-PK", "uz-Latn-UZ", "vi-VN", "zh-CN", "zh-TW")
echo "Installing $($allLanguages.Count) languages"
foreach ($language in $allLanguages) {
if ((Get-InstalledLanguage $language).Count -eq 0) {
echo "Installing language $language"
Install-Language $language -ExcludeFeatures
} else {
echo "Skipping language $language because it is already installed"
}
}
echo "There are $((Get-InstalledLanguage).Count) languages installed"
To see which language packs are installed, you can run Get-InstalledLanguage:
PS> Get-InstalledLanguage
Language Language Packs Language Features
af-ZA LXP BasicTyping
am-ET LXP BasicTyping
ar-SA LpCab BasicTyping, OCR
...
You can also count how many language packs are currently installed:
PS> (Get-InstalledLanguage).Count
108
Installing every language pack takes dozens of gigabytes of drive space and dozens of hours, even with a fast internet connection, CPU, and SSD.
The Valencia language interface pack (ca-ES-valencia) never seems to install successfully.
- 960