Understanding Language Packs
Language packs are used to enable support for specific languages and locales.
The Windows operating system is language-neutral. All the locales, fonts, and language-enabling resources are a part of the language-neutral image. Language packs contain specific resources for a particular language and region.
Language packs are available as .cab files and are named Lp.cab.
International settings are settings in Windows that control various language settings, including the default user interface (UI), keyboard input, and the fallback language.
Language Pack Types
There are several different types of language packs:
- Fully localized language pack
Contains 100 percent of the resources for a language and locale.
- Partially localized language pack
Contains 100 percent of the resources for a language and locale, but not all of the resources are localized in the language pack. Partially localized languages are installed on top of a fully localized language pack. When a partially localized language pack is installed on a fully localized language pack, the fully localized language pack is known as a base language pack. For example, Arabic (Saudi Arabia) is a partially localized language pack and contains 80 percent of the language resources localized in Arabic. The remaining 20 percent of the language resources can be in either English or French. Both English and French are fully localized, base language packs.
- Language Interface Pack (LIP)
A partially localized language pack that includes less than 100 percent of the localized resources. LIPs can be installed only on top of a fully localized language pack. LIPs can also be installed on a partially localized language. The language that a LIP is installed to is called the parent language. The parent language can be in either a fully localized language pack or a partially localized language pack.
The procedures for adding language packs and specifying language settings are the same for LIPs.
The following figure shows the different types of language packs and language pack configurations.
Windows Deployment types
There are different ways to install language packs for Windows deployments.
You can install a language pack directly to a Windows image, or you can copy a language pack to a Windows distribution.
A Windows image is the Install.wim file or custom .wim file that contains one or more Windows images.
A Windows distribution is the collection of files that are used to install Windows. This includes Setup.exe, the /Sources folder, the /Efi folder, the Install.wim file, and other files and folders. The Windows distribution is typically all the files included on the Windows product DVD.
You can install a language pack to Windows in one of the following ways:
- Install language packs directly to a mounted Windows image by using Package Manager. This scenario is useful if you create a single image that you can deploy across your organization. This is the typical OEM scenario. For more information, see Install a Language Pack to an Offline Image.
- Copy language packs to the \Langpacks directory of a Windows distribution. During Windows Setup, the language packs will be installed to the computer. This scenario is useful if you do not intend to edit the Windows image and intend to provide support for multiple language packs where necessary. This is the typical corporate scenario. For more information, see Copy a Language Pack to the Windows Distribution.
- Use the Language Pack Setup tool to install a language pack. The Lpksetup.exe tool must run on a running Windows operating system. This scenario is useful if you change the installed language of a running Windows operating system. This is the typical end-user scenario. You should only use this scenario for language packs that are stored outside of the Windows image. For more information, see Use the Language Pack Setup Tool to Install a Language Pack.
Changing Language and Locale Settings
There are several ways to change the language and locale settings for Windows operating systems:
- Specify the settings in an offline image by using the Intlcfg.exe tool. The Intlcfg.exe tool can be used to report the list of installed and available languages, set the default language and locale settings, to report the list of languages installed to a Windows image or languages available in a Windows distribution, and recreate the Lang.ini file when the languages in an image or distribution change. You can change the default values before deploying a Windows image by using Intlcfg.exe. For more information, see Configure International Settings with Intlcfg.exe.
- Specify the settings by using an answer file with Windows Setup. You can change the language and locale settings during an unattended installation. You can specify different language and locale settings in different configuration passes of Windows Setup. If a language and locale setting is specified in an answer file, that setting overwrites any previous default. For example, if you change the default
UILanguagesetting to FR-FR by using Intlcfg and then specify EN-US as the UILanguage setting in the Microsoft-Windows-International-Core component, Windows Setup will apply EN-US as the default value. For more information, see Configure International Settings in an Answer File.
By default, Windows Welcome displays a Regional Settings user interface (UI) for the end user to select default language and input settings. You can preconfigure the settings on this UI page by specifying language and locale settings in the oobeSystem configuration pass in the Microsoft-Windows-International-Core component. If settings are set in oobeSystem, the Regional Settings page is skipped.
Choosing the Configuration Pass to Apply International Settings
International settings are available in multiple configuration passes to enable you to customize the Windows image based on the customer requirements and different deployment scenarios.
For example, if you build a computer in the United States (en-US), you might want to perform all of your tests in English. You can do in different ways:
- Configure all of the International settings to en-US during the windowsPE pass so that Windows starts in English when you boot the computer.
- Configure the International setting to en-US during the specialize pass, so that when the computer boots to audit mode, Windows starts in English.
Because some languages require a reboot, Microsoft recommends that you configure your language settings during the windowsPE pass. This is because the computer will always reboot after windowsPE pass completes. If you configure language settings during the specialize or oobeSystem pass, the computer may require an additional reboot and may affect the end user experience.
However, if you intend to ship the computer to France and you would like Windows to boot in French, you would add the fr-FR language pack if the language pack is not already installed, and then configure the Microsoft-Windows-International-Core to apply fr-FR settings during the specialize configuration pass. When a customer boots the computer, the specialize pass runs and Windows starts in French.
By default, Windows Welcome displays a Regional Settings UI for the end user to select default language, locale and input settings. You can preconfigure the settings on this UI page by specifying language and locale settings in the oobeSystem configuration pass in the Microsoft-Windows-International-Core component. If settings are set in oobeSystem, the Regional Settings page is skipped.
For more information, see How Configuration Passes Work.
Using Lang.ini and Intlcfg.exe
The Lang.ini file is used during Windows Setup to specify the languages installed to the Windows image and the languages that are available in a distribution. Additionally, Lang.ini specifies the default language to use during setup when booting from the Windows product DVD.
The Lang.ini file is located in the sources folder in a Windows distribution.
The International Settings and Configuration tool (Intlcfg.exe) is used to edit the Lang.ini file. Do not modify the Lang.ini file manually. For more information about using Intlcfg, see Intlcfg Command-Line Options.
You can use Intlcfg to obtain the available and installed languages in a Windows distribution (for example, the Windows product DVD), a Windows image (for example, Install.wim) or a Windows Vista® operating system. Intlcfg recreates the Lang.ini file based on any language pack updates. For example, if you add additional language packs to your .wim file or distribution, you must recreate the Lang.ini file. Before installing Windows, you must recreate the Lang.ini file by using the -genlangini option of Intlcfg to include the updated languages.
By using Intlcfg, you can specify the default language and locale settings to use. For example, you can add German (Germany) support to a .wim file, and then specify DE-DE as the default language and locale to use. Additionally, Intlcfg reports a list of all the languages in a Windows image and a Windows distribution.
Language Pack Removal Timer
Licensing requirements state that editions of the Windows Vista operating system can include only a single language, with the exception of Windows Vista Ultimate and Windows Vista Enterprise. For editions other than Windows Vista Ultimate and Windows Vista Enterprise, Windows will automatically remove all non-default languages from the computer after the end user completes Windows Welcome. Language pack removal only applies to Windows Vista. For Windows Server® 2008, you can install multiple language packs on all editions.
All non-default language packs will be deleted from the computer 24 hours after booting to Windows Welcome.
Running Sysprep resets the language pack removal timer so that the timer will not start again until the next time Windows Welcome runs.
When you customize your Windows installation, consider booting to Audit mode, make your customizations within the 24-hour time period, or use Sysprep to reset the timer. For more information about Audit mode, see Customize Windows in Audit Mode.
SkipMachineOobe setting in the Microsoft-Windows-Shell-Setup component does not skip the language pack removal timer. The language pack removal timer starts immediately after booting to Windows Welcome.
Limitations of Language Packs
- Windows Vista RTM language packs will not work in Windows Vista Service Pack 1 (SP1) images. You must use the SP1 version of the language pack. For multilingual deployments, language packs can be included in the Windows image or on a distribution share. Do not use different versions of language packs inside the image or on a distribution share. If you use Windows Vista SP1, you must always use the Windows Vista SP1 version of the language pack.
Windows Setup will not block the installation of RTM language packs from a distribution share to a Windows Vista SP1 image. However, the Windows image will be corrupt if you apply an RTM language pack to an SP1 image.
The Lpksetup tool will block installation of RTM language packs on a Windows Vista SP1 installation.
Package Manager will not block an installation of RTM language packs. However, the Windows image will be corrupt if you do not apply the correct SP1 language pack.
For more information about deploying Windows Vista SP1, see Install Windows Vista Service Pack 1.
- Microsoft recommends that you do not install more than ten language packs at a time.
- After installing a language pack, you must recreate the Lang.ini file in your Windows distribution. Lang.ini specifies the languages available in a Windows image. The Lang.ini file specifies the default language to use during Windows Setup. To update the Lang.ini file, use the Intlcfg.exe tool.
- In Windows XP to Windows Vista upgrade or migration scenarios, if you are upgrading or migrating Windows XP with multiple MUI packs installed, you can only upgrade or migrate to the system default user interface (UI) language. For example, if you have a Windows XP English installation with a Spanish MUI pack installed, you can only upgrade or migrate to Windows Vista English.
If you are using a single-language Windows Vista installation that matches the system default UI language of your multilingual Windows Vista operating system, you will need to reinstall the language packs after the upgrade completes.
- All Windows distributions are released with a preinstalled default language. This default language cannot be removed. The default language is used to generate computer security identifiers (SIDs) and language-specific directories
- If you are adding a Language Pack to a Windows image in a Windows PE environment, you must add pagefile support to Windows PE. For more information, see Best Practices for Servicing.