Add languages to Windows images
This topic covers how to add one or more languages to a Windows 11 image by adding a language pack and associated language components.
Note
To add a language to your personal PC, go to Settings > Time & Language > Language & Region, and choose a language to install. Learn more.
Add language packs, LIPs, and Features on Demand
In this section, we'll cover how to add languages to an image. We'll:
- Add languages and verify all language resources were pulled in for each FOD.
- Add a LIP language and its associated language Feature on Demand packages.
After you've added a language, you can save space by removing English language components if you're deploying to non-English regions. When you remove a language, uninstall the language components in the reverse order from how you add them.
Mount your image
Use DISM to mount your Windows image:
md C:\mount\windows
Dism /Mount-Image /ImageFile:install.wim /Index:1 /MountDir:"C:\mount\windows"
Add language packs, LIPs (LXPs), and language features
Pre-install languages by adding the language packs and their corresponding Feature on Demand packages. If you're adding a LIP language, make sure to also include any associated base languages:
In Windows Explorer, double-click the Languages and Optional Features ISO. This mounts the ISO and assigns it a drive letter, for example F:\
Add a language pack:
Use DISM to add language packs to a mounted image:
Dism /Image:"C:\mount\windows" /Add-Package /PackagePath="F:\LanguagesAndOptionalFeatures\Microsoft-Windows-Client-Language-Pack_x64_es-es.cab"
PackagePath
can be the mounted Languages and Optional Features ISO or a custom FOD and language repository. This example is using a mounted Languages and Optional Features ISO.Check to ensure that both the language pack(s) and language satellite packages for already installed FODs were added:
Dism /Image:"C:\mount\windows" /Get-Packages /format:table
You should see something like this in the output:
Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~es-es~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~es-es~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~en-US~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~es-es~10.0.19041.1 Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~~10.0.19041.1
In addition to the es-es language pack now appearing in the image, note that the MSPaint Feature on Demand has satellite packages containing both the en-us and es-es language codes. Make sure this is the case for every FOD with language specific satellite packages, for each language you added.
Note
FODs with satellites have to be added using
DISM /add-capability
so that satellite packages are correctly added.(Optional) Add LIP languages
In Windows 11, only language packs, including LIPs, distributed as .cab files can be used for imaging. Five LIP languages (ca-ES, eu-ES, gl-ES, id-ID, vi-VN) are available as a .cab. LIP languages that aren't distributed as .cab files will only be available as .appx packages acquired through the Settings app after logging in.
In this example, we add Catalan which requires the es-ES base language:
Dism /Image:"C:\mount\windows" /Add-Package /PackagePath="F:\LanguagesAndOptionalFeatures\Microsoft-Windows-Lip-Language-Pack_x64_ca-es.cab"
Add language and region Features on Demand to support your language packs and LIPs. We recommend including the Basic, Fonts, OCR, Text-to-speech, and Speech recognition FODs if they're available for the languages you're pre-installing. Additionally, include the handwriting language component FOD if you're shipping a device with a pen.
Not all LIP languages have all language components. Catalan (ca-es), for example, only has basic and handwriting FODs. You can learn which FODs are available for languages in the LP to FOD mapping spreadsheet
Example: adding Basic, OCR, Text-to-Speech, and Speech Recognition to es-ES:
Dism /Image:"C:\mount\windows" /Add-Capability /capabilityname:Language.Basic~~~es-es~0.0.1.0 /capabilityname:Language.Handwriting~~~es-es~0.0.1.0 /capabilityname:Language.OCR~~~es-es~0.0.1.0 /capabilityname:Language.Speech~~~es-es~0.0.1.0 /capabilityname:Language.TextToSpeech~~~es-es~0.0.1.0 /source:C:\repository
Example: adding Basic and Handwriting to ca-es:
Dism /Image:"C:\mount\windows" /Add-Capability /capabilityname:Language.Basic~~~ca-es~0.0.1.0 /capabilityname:Language.Handwriting~~~ca-es~0.0.1.0 /source:C:\repository
Verify that these packages are in the image:
Dism /Image:"C:\mount\windows" /Get-Packages /format:table Dism /Image:"C:\mount\windows" /Get-Capabilities /format:table | findstr /i "installed"
Note
Changes are restricted to administrator accounts. Standard users will get a limited experience. For more information, see Language features aren't displayed in Windows 10.
If you added an update package (LCU) to your image prior to adding languages, reinstall the update package to ensure all of the language resources for the update are in your image. See Add updates to a Windows image for more information.
Remove languages, LIPs, LXPs, and Features on Demand
Important
You can't remove a language pack from an offline Windows image if there are pending online actions. The Windows image should be a recently installed and captured image. This will guarantee that the Windows image does not have any pending online actions that require a reboot.
Get a list of packages and features installed in your image:
Dism /Image:"C:\mount\windows" /Get-Packages /format:table Dism /Image:"C:\mount\windows" /Get-Capabilities /format:table | findstr /i "installed"
Remove languages, .cab-based LIPs, and Features On Demand:
Dism /Image:"C:\mount\windows" /Remove-Package /PackageName:<language pack name> /PackageName:<feature on demand name> ...
Remove LIPs added through LXPs:
Dism /remove-provisionedappxpackage /packagename:Microsoft.LanguageExperiencePack<lang_version>_neutral__8wekyb3d8bbwe
Verify that they're no longer in your image:
Dism /Image:"C:\mount\windows" /Get-Packages /format:table Dism /Image:"C:\mount\windows" /Get-Capabilities /format:table | findstr /i "installed"
Change your default language, locale, and other international settings
Starting Windows 11, the default System UI Language set by DISM is left unaltered on all editions except for Home edition. For all commercial editions the language chosen during the Out-of-Box Experience (OOBE) is set as the System Preferred UI language and Windows will be displayed in this language and for Home edition the language chosen at OOBE will continue to be the default System UI Language.
As of Windows 10, version 2004, if an .appx-based Language Experience Pack (LXP) backed language is passed as an argument then the language will be set as the System Preferred UI language and its parent language will be set as the Default System UI language. In prior versions only .cab based language packs were supported.
Dism /Image:"C:\mount\windows" /Set-AllIntl:es-es
See which language settings are available:
Dism /Image:"C:\mount\windows" /Get-Intl
For online images, use Control Panel, or the International Settings PowerShell cmdlets:
Get-WinSystemLocale
andSet-WinSystemLocale <language>
. This works with languages delivered as LXPs.
For more options, see
- Default input profiles (input locales)
- Keyboard identifiers and input method editors (IME)
- Time zones
- DISM Languages and International Servicing Command-Line Options.
Add languages to the recovery environment (Windows RE)
For any language you add to Windows, add the language to the Windows Recovery Environment (WinRE), whenever possible.
Not all languages or LIPs have localized recovery images.
Use languages from the Languages and Optional Features ISO, not from the Windows 10 ADK, to localize WinRE.
Note
Known issue: Windows RE included with Windows 10 October 2018 Update Thai language image (en-US base language + th-th language pack) shipped with an issue in which an end user will only see UI components (or English) without Thai language text in the Windows Recovery Environment, the text displayed during recovery (Push-button reset), and/or certain screens during the reboot process of feature updates. To fix this issue pre-install the 2018.11D Quality Update.
Mount the recovery image.
Offline: the recovery image is inside the Windows image:
md C:\mount\winre Dism /Mount-Image /ImageFile:"C:\mount\windows\Windows\System32\Recovery\winre.wim" /index:1 /MountDir:"C:\mount\winre"
Online:
md C:\mount\winre Dism /Mount-Image /ImageFile:"C:\Windows\System32\Recovery\winre.wim" /index:1 /MountDir:"C:\mount\winre"
Note, Windows RE is inside the Windows image until the Out of Box Experience, after which it is moved to a separate recovery partition.
Add languages:
D: cd D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\ Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\lp.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-Rejuv_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-EnhancedStorage_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-Scripting_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-SecureStartup_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-SRT_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-WDS-Tools_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-WMI_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-StorageWMI_es-es.cab" Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\es-es\WinPE-HTA_es-es.cab"
Where D:\ is the Languages and Optional Features ISO.
Verify that they're in the image:
Dism /Get-Packages /Image:"C:\mount\winre"
Example output from /Get-Packages:
Package Identity : Microsoft-Windows-WinPE-Rejuv_es-es ... es-es~10.0.9926.0 State : Installed
Commit changes to the recovery image:
Dism /Commit-Image /MountDir:"C:\mount\winre"
For online images, also remove the mount folder:
rmdir /s "C:\mount\winre"
Capture the changes
Offline: For Windows images (install.wim)
Commit changes to the Windows image:
Dism /Commit-Image /MountDir:"C:\mount\windows"
Online: Modify a running Windows installation
Generalize and capture the image:
%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe
To learn more, see generalize.
Next steps
Localize more of Windows
- Out of Box Experience (OOBE): Create localized end user license agreements (EULA), registration pages, and instructions for pairing keyboards and mice.
- Retail demo experience: Showcase your new devices on the retail sales floor with localized content.
Localize the installation process
Add languages to Windows Setup: Now that you've added languages to your Windows image, make sure they appear in Windows Setup. You can also create Windows installation media that works in the user's preferred language.
Add languages to WinPE to help your technicians install Windows in their preferred language.
Add languages to a Windows distribution share to help users on a corporate network select Windows in their preferred language
Related topics
Add languages to Windows Recovery Environment (WinRE)
Service a Windows Image Using DISM
DISM - Deployment Image Servicing and Management Technical Reference for Windows
DISM Languages and International Servicing Command-Line Options