Add languages to Windows images

Note

To add a language to your personal PC, go to Settings > Time & Language > Language, and choose a language to install. Learn more.

You can add languages and regional support to Windows 10 (except for Windows 10 Home Single Language and Windows 10 Home Country Specific editions), and Windows Server.

Windows installations start with at least one language pack and its language components. You can add:

  • Language packs: Localization packages for Windows, delivered as a .cab file, for example, Microsoft-Windows-Client-Language-Pack_x64_es-es.cab. Includes UI elements like text for dialog boxes, menu items, and help files.
  • Language Interface Packs (LIPs): Partially-localized language pack. Requires a base language pack. In Windows 10, version 1809, LIPs are delivered as Local Experience Packs (LXPs) .appx files, for example, LanguageExperiencePack.am-et.neutral.appx. For previous versions of Windows 10, LIPs are delivered as .cab files, for example, C:\Languages\es-ES\lp.cab.
  • Language features: Language features include language basics (like spell checking), fonts, optical character recognition, handwriting, text-to-speech, and speech recognition. You can save disk space by choosing not to include some language components in your image. While this reduction in image size can be helpful when creating images for devices with limited storage, it does lead to an incomplete language experience. Delivered as .cab files, for example, Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package.cab.
  • Recovery languages: UI text for the Windows Recovery Environment (WinRE). Delivered as .cab files. Example: lp.cab, WinPE-Rejuv_fr-fr.cab, and more.

Get language resources: Language Pack ISO and Feature on Demand ISO

  • OEMs and System Builders with Microsoft Software License Terms can download the Language Pack ISO and Feature on Demand ISO from the Microsoft OEM site or the Device Partner Center.

    • For Windows 10, version 1809, LIP .appx files and their associated license files are in the LocalExperiencePack folder on the Language Pack ISO.
    • For previous versions of Windows, Language Interface Packs are available as a separate download.
    • WinRE language packs are distributed on the Language Pack ISO. Don't use the WinPE language packs that ship with the ADK.
  • IT Professionals can download language packs from the Microsoft Next Generation Volume Licensing Site.

  • After Windows is installed, users can download and install more languages by selecting Settings > Time & language > Language > Add a language.

Note

  • Language components must match the version of Windows. For example, you can't add a Windows 10, version 1809 language pack to Windows 10, version 1803.
  • Windows Server: Full language packs are not interchangeable with Windows 10.

Considerations

  • Install languages, then updates and apps. If you're adding languages to an image that already contains apps or updates (for example, servicing stack updates (SSU) or cumulative updates (CU), reinstall the apps and updates.

    Important

    After you install a language pack, you have to reinstall the latest cumulative update (LCU). If you do not reinstall the LCU, you may encounter errors. If the LCU is already installed, Windows Update does not offer it again. You have to manually install the LCU.

  • Care is required when installing languages to an image that includes FODs with satellite packages. When FODs have satellite packages, the localized text for the feature may be carried in a satellite package rather than the language pack or primary FOD package. Specific steps must be followed when adding languages to an image that includes these FODs.

    • Starting with Windows 10, version 2004, the default Windows 10 image includes several FODs with language resources in satellite packages. Before adding languages, you must first build a custom FOD and language repository to ensure that the appropriate satellite packages are pulled in when the language is added.
    • For versions of Windows 10 earlier than 2004, this is typically only a concern when you have added a FOD with satellite packages. A best practice here is to add languages first, then FODs.
  • Size and performance

    • You can install multiple languages and components onto the same Windows image. Having too many affects disk space, and can affect performance, especially while updating and servicing Windows.
    • LXP-backed language packs are smaller than their Lp.cab-backed counterparts.
    • When creating Windows images, you can remove English language components when deploying to non-English regions to save space. You'll need to uninstall them in the reverse order from how you add them.
    • After the Out-Of-Box-Experience (OOBE) is complete, the default language cannot be removed. The default UI language is selected either during the Out-Of-Box-Experience (OOBE), or can be preselected in the image using DISM or an unattended answer file.
    • Some time after OOBE, any pre-installed languages that haven't been used are removed automatically. The language-pack removal task does not remove LIPs.
  • Cross-language upgrades are not supported. This means that during upgrades or migrations, if you upgrade or migrate an operating system that has multiple language packs installed, you can upgrade or migrate to the system default UI language only. For example, if English is the default language, you can upgrade or migrate only to English.

Add language packs, LIPs, and Features on Demand

We'll check to see if the image includes FODs with language resources in satellite packages, build a custom and local FOD repository, add languages, and verify all language resources were pulled in for each FOD. Then we'll add a LIP language and the language Feature on Demand packages.

To save space, you can remove English language components when deploying to non-English regions by uninstalling the language components in the reverse order from how you add them.

Mount an image (install.wim) that you plan to deploy using Windows PE or Windows Setup

Mount the Windows image:

md C:\mount\windows
Dism /Mount-Image /ImageFile:install.wim /Index:1 /MountDir:"C:\mount\windows"

Check to see if the image includes FODs with language resources in satellite packages

First, check to see if the image includes FODs with language resources in satellite packages:

Dism /Image:"C:\mount\windows" /get-packages /format:table

Look for Feature on Demand packages, other than the Language Features, that include a language code in their name. For example, MSPaint:

Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~en-US~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~~10.0.19041.1

The two packages here with the en-us language code embedded in the name are satellite packages with language specific resources. If any such package is present in your image, you must build a custom FOD and language pack repository to add languages from. This custom repository needs to include all FODs with satellite packages in your image and all language packs you wish to add. This enables DISM to automatically pull in the right FOD satellite packages when a language is added.

Build a custom FOD and language pack repository

Important

If your image contains FODs with language resources in satellite packages you must build a custom FOD and language pack repository before adding language packs to ensure the language resources for each FOD are pulled in. If you fail to do this correctly, these features will not be localized. Starting with Windows 10, version 2004, this includes features such as Notepad, WordPad, MsPaint, and PowerShell ISE included in the image by default. If your image doesn't include any FODs with language resources in satellite packages you can skip this section and add the FODs and language packs directly from the respective ISOs.

The following methods are recommended for building a custom FOD and language pack repository:

  • If the size of the repository is not a concern, simply copy the contents of the FOD ISO and all language packs into the same directory.
  • For a minimally sized repository, use the /export-source switch with DISM to export just the FODs included in your image that have satellite packages and any other FODs you'd like to add. Copy all language packs of interest into the same directory.

In the following example, we'll build a minimally sized FOD and language pack repository. First, mount the Language Pack ISO and the Features on Demand ISO with File Explorer. This will assign them drive letters.

Next, export all FODs included in your image that have satellite packages, from the FOD ISO. If you know which languages you intend to add, you can include the associated language features too:

dism /image:"C:\mount\windows" /export-source /source:d: /target:c:\repository
/capabilityname:App.StepsRecorder~~~~0.0.1.0
/capabilityname:Microsoft.Windows.MSPaint~~~~0.0.1.0
/capabilityname:Microsoft.Windows.Notepad~~~~0.0.1.0
/capabilityname:Microsoft.Windows.PowerShell.ISE~~~~0.0.1.0
/capabilityname:Microsoft.Windows.WordPad~~~~0.0.1.0
/Capabilityname:Print.Fax.Scan~~~~0.0.1.0
/capabilityname:Print.Management.Console~~~~0.0.1.0
/capabilityname:Language.Basic~~~fr-FR~0.0.1.0
/capabilityname:Language.Handwriting~~~fr-FR~0.0.1.0
/capabilityname:Language.OCR~~~fr-FR~0.0.1.0
/capabilityname:Language.Speech~~~fr-FR~0.0.1.0
/capabilityname:Language.TextToSpeech~~~fr-FR~0.0.1.0
/capabilityname:Language.Basic~~~lb-LU~0.0.1.0
/capabilityname:Language.Handwriting~~~lb-LU~0.0.1.0

Where D:\ is the mount location for the Feature on Demand ISO

Next, copy the language packs of interest into the local repository. In this example, all language packs are copied.

copy E:\x64\langpacks\* c:\repository\

Where E:\ is the mount location for the Language Pack ISO

Add language packs, LIPs (LXPs), and language features

Pre-install languages by adding the language packs and their corresponding Feature on Demand packages, including the base languages if you're adding a LIP language.

  1. Add a language pack:

    Add the language pack(s) of interest. Note how the language pack is sourced from the custom repository:

    Dism /Image:"C:\mount\windows" /Add-Package /PackagePath="C:\repository\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab"
    

    Check to see that both the language pack(s) and FOD satellite packages containing language resources 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~fr-fr~10.0.19041.1
    Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.19041.1
    Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~fr-fr~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~fr-fr~10.0.19041.1
    Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~~10.0.19041.1
    

    In addition to the fr-fr language pack now appearing in the image, note how the MSPaint Feature on Demand has satellite packages containing both the en-us and fr-fr language codes present. Make sure this is the case for every FOD with language specific satellite packages, for each language you added.

    Note

    Satellite FOD packages cannot be added manually, you must allow DISM to automatically pull them in.

    Note

    If satellite FOD packages are not correctly included during image customization, they won't be automatically pulled in immediately after the image boots.

  2. Add LIP languages. In this example, we add Luxembourgish, which requires the fr-FR base language:

    • For Windows 10, version 1809 and later, LIP languages are delivered as LXPs:

      DISM /Image:"C:\mount\windows" /Add-ProvisionedAppxPackage /PackagePath="E:\LocalExperiencePack\lb-lu\LanguageExperiencePack.lb-LU.Neutral.appx /LicensePath:"D:\LocalExperiencePack\lb-lu\License.xml"
      

      Where E:\ is the Language Pack ISO

      Verify that it's in the image:

      DISM /Image:"C:\mount\windows" get-provisionedappxpackages
      
    • For earlier versions of Windows 10, LIP languages are delivered as .cab files:

      Dism /Image:C:\mount\windows /add-package /packagepath:C:\LanguagePack\LIPs\ca-ES\LIP_ca-ES64bit.cab
      
  3. 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. Luxembourgish (lb-LU), 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 fr-fr:

    Dism /Image:"C:\mount\windows" /Add-Capability
    /capabilityname:Language.Basic~~~fr-FR~0.0.1.0
    /capabilityname:Language.Handwriting~~~fr-FR~0.0.1.0
    /capabilityname:Language.OCR~~~fr-FR~0.0.1.0
    /capabilityname:Language.Speech~~~fr-FR~0.0.1.0
    /capabilityname:Language.TextToSpeech~~~fr-FR~0.0.1.0
    /source:C:\repository
    

    Example: adding Basic and Handwriting to lb-LU:

    Dism /Image:"C:\mount\windows" /Add-Capability
    /capabilityname:Language.Basic~~~lb-LU~0.0.1.0
    /capabilityname:Language.Handwriting~~~lb-LU~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"
    
  4. Remove languages, LIPs, LXPs, and Features on Demand.

    Important

    You cannot 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"
    
  5. Change your default language, locale, and other international settings:

    • As of Windows 10, version 2004, if a .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:fr-fr
      

      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 and Set-WinSystemLocale <language>. This works with languages delivered as LXPs.

    For more options, see

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 Language Pack 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.

  1. 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.

  2. Add languages:

    D:
    cd D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\lp.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-Rejuv_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-EnhancedStorage_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-Scripting_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-SecureStartup_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-SRT_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-WDS-Tools_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-WMI_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-StorageWMI_fr-fr.cab"
    Dism /Image:"C:\mount\winre" /Add-Package /PackagePath:"D:\Windows Preinstallation Environment\x64\WinPE_OCs\fr-fr\WinPE-HTA_fr-fr.cab"
    

    Where D:\ is the Language Pack ISO.

  3. 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_fr-fr ... fr-FR~10.0.9926.0 State : Installed
    
  4. 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:

Localize Windows

Features On Demand

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

DISM Unattended Servicing Command-Line Options

Windows System Image Manager Technical Reference