Guide to Windows Vista Multilingual User Interface

In this guide

  • What is Multilingual User Interface?
  • Who should use Multilingual User Interface?
  • Benefits of MUI
  • Planning for Multilingual User Interface
  • Using Multilingual User Interface
  • Prerequisites for using Multilingual User Interface
  • Additional resources for Multilingual User Interface

What is Multilingual User Interface?

Providing for multiple languages during an operating system deployment has been a challenge in the past, often requiring delays until fully localized versions are released. The limited number of localized languages available presented a further challenge to organizations with a global presence. The Multilingual User Interface (MUI) in the Microsoft® Windows Vista® operating system provides a new approach to multiple languages.

In Windows® XP, the MUI pack was applied on top of an English version, and then language packs were installed to provide a localized user experience. The results were mixed; some languages had more complete support than others. And in each case, the language packs had to be installed over an English version of Windows XP.

In Windows Vista, the MUI architecture separates the language resources for the user interface from the binary code of the operating system. This separation makes it possible to change languages completely without changing the core binaries of Windows Vista, or to have multiple languages installed on the same computer. Languages are applied as language packs containing the resources required to localize part of, or the entire, user interface in Windows Vista.

Understanding language packs

Language packs contain the localized resources for the user interface in Windows Vista. All installations of Windows Vista contain at least one language pack and the language neutral binaries that make up the operating system. The types of language packs described below differ only in the amount of coverage that they provide to Windows Vista and whether they require another language pack to provide a complete interface.

Implementation of the Windows Vista MUI consists of two primary elements:

  • Language-neutral binaries  The files that make up Windows Vista do not contain any language specific resources and are described as language-neutral binaries. The benefit of a language neutral operating system is that it can be updated by a single software update anywhere in the world, rather than requiring a language-specific version of the update.
  • **Language packs  **Language packs provide the localized language resources for the user interface. This support is provided at varying levels:
    • **Fully localized language pack  **Localized interface resources for Windows Vista. Language packs contain 100 percent of the user interface text resources. Windows Vista using a language pack would appear to have a completely localized user interface with all elements appearing in the specified language. The English (United States) version of Windows Vista is a language neutral version with the en-US language pack applied. Language packs are also sometimes referred to as parent languages.
    • **Parent language pack  **A parent language pack is a fully localized language pack providing support for a language interface pack (LIP). An example would be a Windows Vista computer using French as a parent language and Lao to provide the most common portions of the language resources.
    • **Base language pack  **A base language pack is typically a fully localized language pack that is installed to provide the language resources that are absent in a partially localized language pack.
    • **Partially localized language pack  **A partially localized language pack contains most, but not all, of the language resources for the user interface in Windows Vista. To provide a full user interface, a partially localized language pack depends on a base language pack. For example, Arabic (Saudi Arabia) is a partially localized language pack and contains approximately 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 languages.
    • **Language interface pack  **A LIP depends upon a parent language pack to provide a complete user interface conversion. In countries/regions where there are commonly two languages, you can provide a greater degree of localization by applying a LIP over a language pack to provide a better user experience.

The following graphic shows how the various MUI components might be combined to provide a full user interface experience.

Who should use Multilingual User Interface?

The Windows Vista implementation of MUI should be employed by IT professionals and others who are performing a deployment of Windows Vista in a multilingual environment. MUI makes it possible for users with different language requirements to share a single computer, because each user's language preference is loaded as part of the profile.

Benefits of MUI

  • Language neutral binaries for the operating system. Windows Vista is developed and maintained as a single, language-neutral operating system.
  • Language support is installed by default. MUI is present in every version of Windows Vista without requiring a separate package (as in Windows XP).
  • Less time required to create a specific language version of the operating system. Once the language-neutral version is created, only the localized user interface resources have to be developed to create the new language version of Windows Vista.
  • Easy to deploy a single image containing multiple languages. You can combine multiple language packs with the language-neutral core files of Windows Vista to create a single deployment image. Your users can then choose the appropriate language during setup.
  • More languages are available for MUI. Because it takes less time and effort to create a language pack than to create a localized version of Windows Vista, Microsoft is able to provide more languages.
  • Software updates are available sooner. Microsoft needs only create a single software update for Windows Vista and distribute it worldwide. All language versions of Windows Vista can use the same update without having to wait for a localized version.
  • Enables ISVs to produce global software more efficiently. Software developers can take advantage of the MUI architecture to create language-neutral binaries for their products. These binaries have separate language packs that contain their user interface resources (similar to Windows Vista).

Limitations of language packs

  • Licensing requirements state that versions of the Windows Vista operating system can include only a single language, with the exception of the Windows Vista® Ultimate and the Windows Vista® Enterprise editions. 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 the Windows Welcome.
  • 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 upgrade scenarios, you cannot upgrade from one language to a different language. All upgrades must be performed in the same language.
  • 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.

Planning for Multilingual User Interface

To deploy the appropriate language configurations of Windows Vista and configure country/region support based on your organization's current geographic and IT infrastructure, you need to determine your language and country/region requirements, as well as your hardware requirements and limitations.

You will also need to:

  • Assess hardware requirements for multilingual support.
  • Determine the needs of roaming users in your organization.
  • Determine whether your organization will need to deploy a single global image or specific country/region builds for different offices in your organization.

Determining language and country/region requirements

If you do business in multiple languages or have multilingual office environments, you need to know which languages or dialects your organization must support and whether these languages require input method editors (IMEs) or alternative keyboards or input devices.

If you do business internationally, you need to know which countries/regions your organization must support and which languages or dialects are used in each. You must determine whether currency, time zone, or calendar formats vary between the different countries/regions. Additionally, you must determine which line-of-business applications you have that must accommodate such country/region differences.

A four-column planning table can help you determine your language and country/region needs. You can organize the table as follows:

  • In column one, list your offices or divisions.
  • In column two, list the languages or dialects used in those offices or divisions.
  • In column three, note the corresponding Windows Vista language collections and locales that support those languages or dialects. For tables listing Windows Vista language collections and locales, see the Locale and Language Identifier Constants and Strings link (https://go.microsoft.com/fwlink/?LinkId=82393).
  • In column four, note special standards and format settings, input language support, or default languages for non-Unicode programs required for your offices or divisions.

Note

You can use the resulting worksheet to plan your physical deployment and complete the country/region section of your answer files.

Assessing hardware requirements for multilingual support

Supporting multiple languages can impact your hardware requirements in two areas:

  • Hard disk space. Some languages require more hard-disk storage space than others. The more languages installed on a computer, the more hard-disk space consumed. In addition, the Windows XP Professional MUI Pack requires more disk space for each user interface language installed or supported.
  • Specialized hardware devices. Some languages or users require special keyboards, IMEs, or alternative input devices.

Note

Installing a language collection enables you to view text in those languages in documents, on a Web page, and so on. However, to input text in a given language, you must also add that language as an input language.

Determining the needs of roaming users

If you have many roaming users who need to log on from different locations and edit documents in several languages, you must ensure that the appropriate language files are either installed or installable on demand on those users' computers. You can also install Terminal Services so that users can sign on to unique Terminal Services sessions in different languages.

If your roaming users need to log on from different locations in their native language user interface version of the operating system, you must install the appropriate language packs.

Deploying a single global image

The Windows Vista operating system enables a global organization's IT department to deploy and maintain a single global desktop image. In this way, your company can create a single build that includes user interface language support for all of the languages in which you do business. The build can also include world-ready applications such as Office 2007.

For example, if your company supports user interfaces in English, French, Italian, Spanish, Japanese, Simplified Chinese, and Traditional Chinese, you can create a single global image that includes user interface support for those languages. You can support on-demand installation of additional languages after deployment by using Windows Installer packages.

Note

Deploying and maintaining a single global image can significantly improve IT efficiency and help lower costs. It enables single code-base application development and testing, simplifies releasing hotfixes and service patches, and reduces end-user support calls.

Deploying a country/region image

You can further customize Windows Vista deployments by creating specific country/region builds tailored to each office's multilingual and international needs. For each office or site, you can create a country/region build that specifies the appropriate language version of the operating system, the default input language, and the standards and formats appropriate to that country/region.

You can also include the appropriate localized language versions of third-party applications, such as virus checking utilities, as well as other specialized drivers and applications required by that office.

For example, you might create the following four unique country/region builds for North America:

  • Two Canadian builds for the Vancouver, B.C. and Montreal offices to deploy the International English version of Windows Vista, with English and French (Canada) set as the default input languages, and Canada set as the default for standards and formats. (English is the default input language in Vancouver, and French is the default input language in Montreal.)
  • A U.S. English build so that users in Seattle and other U.S. locations can install the International English version of Windows Vista, with English (U.S.) set as the default input language, and optional support for the East Asian Language Collection, which includes the font files, font linking, and registry settings needed for Simplified and Traditional Chinese, Japanese, and Korean language support.
  • A Boston build that installs the U.S. English build along with optional support for the East Asian Language Collection.

The country/region build for the Tokyo office, by contrast, might install the Japanese localized language version of Windows Vista as well as the Japanese localized language versions of virus checking and accounting applications.

Using Windows Vista, global organizations can take a hybrid approach. They can combine a single global core image, which contains the baseline operating system and applications, with additional country/region core images that include localized language applications, settings, and so on. The global IT department develops and maintains the global core, and individual countries/regions are responsible for building and maintaining their own country/region cores. Local offices can also add a third-tier customization core image for custom stationery or templates, printer drivers, and so on.

Using Multilingual User Interface

MUI is used either in a Windows Vista deployment scenario or on a local computer when the user changes language support. The benefits of MUI are more significant in the Windows Vista deployment phase, particularly in multinational organizations.

Configuring country/region and language options

You can use the Regional and Language Options settings in Control Panel to configure input languages for user accounts. For the MUI Pack, use these settings to specify or change the default user interface language or to install or remove user interface language packs.

To change the language for non-Unicode programs

  1. Log on as an Administrator.
  2. In Control Panel, click Regional and Language Options.
  3. Click the Advanced tab, and then under Language for non-Unicode programs, select the language for which the application was developed.

Simplifying multiple language usage on desktops

Administrators can configure desktops to simplify working in multiple languages. For example, you can add a language toolbar to the desktop or a language icon to the taskbar, making it easier for users to change between different input languages when they need to compose documents in multiple languages. You can also enable specific key sequences that let users quickly change between installed input languages and alternative keyboard layouts and IMEs.

To add the Language bar to the desktop or taskbar

  1. In Control Panel, under Clock, Language, and Region, click Change keyboards or other input methods.
  2. Click Change keyboards, and then click the Language Bar tab.
  3. In the Text Services and Input Languages dialog box, under Preferences, click Language Bar.
  4. In the Language Bar tab, select the check boxes that correspond to the language bar and taskbar options that you want to enable.

To enable or change key sequences for switching input languages or keyboard layouts and IMEs

  1. In Control Panel, under Clock, Language, and Region, click Change keyboards or other input methods.
  2. Click Change keyboards, and then click the Advanced key Settings tab.
  3. In the Advanced Key Settings tab, highlight the key setting to modify, and then click Change Key Sequence.
  4. In the Change Key Sequence dialog box, select the options that correspond to the key sequences and actions that you want to use to enable a user to change between installed input languages or keyboard layouts and IMEs.

If you want to use the On-Screen Keyboard to input text in a different language, change to the appropriate input language before enabling the On-Screen Keyboard.

To display the On-Screen Keyboard

  1. From the Start menu, point to All Programs, point to Accessories, and then point to Ease of Access.
  2. Click On-Screen Keyboard.

Entering special characters or code points

Users can input characters that are not on the keyboard by pressing and holding the ALT key, and then typing the appropriate decimal code value for that character on the numeric keypad.

  • If the first digit typed is 0, the value is recognized as a code point in the current input language. For example, pressing and holding the ALT key while typing 0163 produces £ (the pound sign: U+00A3 in the format for Unicode encoding) if the default input language is English (U.S.).
  • If the first digit typed is any number between 1 and 9, the value is represented as a code point in the operating system's OEM code page. For example, pressing and holding the ALT key while typing 163 produces ú (U+00FA) if the code page is 437 (MS-DOS Latin US).

For a complete list of OEM code pages and their associated code points for numeric keypad input, see the Microsoft OEM Code Reference link on the Microsoft.com Web Resources page (https://go.microsoft.com/fwlink/?LinkId=82396).

Controlling desktops by using Group Policy settings

Windows Vista enables administrators to automate different users' country/region and language options (such as the default input language or standards and formats) by using a Group Policy logon script. When a given user logs on to a computer, the Group Policy logon script silently calls the Regional and Language Options in Control Panel to specify the correct settings for that user.

Using silent configurations

You might want to change a computer's country/region and language options silently after the initial installation. For example, if your organization locks down the desktop to prevent a group of users from accessing the Control Panel, you can update that group's country/region and language options by using a Group Policy–applied logon script.

Important

The following procedures must be performed from an elevated command prompt.

Make an unattended change to the current user's language settings

  1. Create an xml configuration file similar to the following example:

    <gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">  <!-- User List-->  <gs:UserList>    <gs:User UserID="Current" />   </gs:UserList> 
      <!-- MUI-->    <gs:MUILanguagePreferences>    <gs:MUILanguage Value="ar-DZ" />     <gs:MUIFallback Value="es-ES" />    </gs:MUILanguagePreferences></gs:GlobalizationServices>
    
  2. Open a Command Prompt window. Click Start, click All Programs, click Accessories, and then click Command Prompt.

  3. Apply the XML file by using the following command:

    control intl.cpl,, /f:“filename.xml”
    

Note

In this example, "filename.xml" represents the full path and file name of the XML file containing your configuration settings.

Make an unattended change to the system user UI Language

  1. Create an xml configuration file similar to the following example:

    <gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">  <!-- User List -->   <gs:UserList>    <gs:User UserID="Current" CopySettingsToSystemAcct="true" />   </gs:UserList>  <!-- MUI-->   <gs:MUILanguagePreferences>    <gs:MUILanguage Value="ar-DZ" />     <gs:MUIFallback Value="es-ES" />   </gs:MUILanguagePreferences></gs:GlobalizationServices> 
    
  2. Open a Command Prompt window. Click Start, click All Programs, click Accessories, and then click Command Prompt.

  3. Apply the XML file by using the following command:

    control intl.cpl,, /f:“filename.xml”
    

Note

In this example, "filename.xml" represents the full path and file name of the XML file containing your configuration settings.

Make an unattended change to the default UI Language for new accounts

  1. Create an xml configuration file similar to the following example:

    <gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">  <!-- User List -->   <gs:UserList>   <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" />   </gs:UserList>  <!-- MUI-->   <gs:MUILanguagePreferences>    <gs:MUILanguage Value="ar-DZ" />     <gs:MUIFallback Value="es-ES" />   </gs:MUILanguagePreferences></gs:GlobalizationServices> 
    
  2. Open a Command Prompt window. Click Start, click All Programs, click Accessories, and then click Command Prompt.

  3. Apply the XML file by using the following command:

    control intl.cpl,, /f:“filename.xml”
    

Note

In this example, "filename.xml" represents the full path and file name of the XML file containing your configuration settings.

XML entity descriptions

<gs:UserList>

Required

A list of users who will be affected by the unattended configuration file. Unattended Regional and Language Options can only change settings for the current user. Only the username “Current” is supported in this version.

Optional

Two optional attributes may be used: CopySettingsToDefaultUserAcct and CopySettingsToSystemAcct. These two optional attributes allow all settings changed in the Unattended Regional and Language Options file to also be applied to the default user account and to the system accounts (Local Service, Network Service and Local System). You must be an administrator to apply settings using these two attributes.

<gs:LocationPreferences>

Optional

Supports setting the GeoID for the current user. Set by using a child element <gs:GeoID>, with an attribute containing the GeoID.

<gs:MUILanguagePreferences>

Optional

Supports setting the display language and, if appropriate, the display language fallbacks for the system. Set by using a child element <gs:MUILanguage> with an attribute containing the language string.

To set the fallback language of the language set using <gs:MUILanguage>, use the element <gs:MUIFallback>. Using this XML entity does NOT install the display languages. It should only be used for selecting display languages after they have been installed.

<gs:SystemLocale>

Optional

Changes the language for non-Unicode programs (system locale) for the system. You must be an administrator to change this setting.

<gs:InputPreferences>

Optional

Allows the user to add or remove keyboards to the system without changing the user locale. The default keyboard can be selected by using the Default="true" attribute.

<gs:UserLocale>

Optional

Supports changing the user locale, changes the settings for the current user locale, and resets all settings back to their default values. The <gs:UserLocale> entity has a required child element: <gs:Locale>. This child element supports two optional attributes: SetAsCurrent and ResetAllSettings.

If the format specified is not the current default format (user locale), SetAsCurrent has to be set to True.

The <gs:Locale> entity has an optional child element that can be specified as either <gs:Win32> or <gs:Framework>. These elements contain a list of child elements that represent the list of settings to be changed. One or many may be changed simultaneously.

If you are specifying custom properties, you cannot use localized notation. For example, if you are customizing the German long date format in Win32, you must use dddd MMMM yyyy as the format.

Either Win32 or .NET Framework names can be used in the list of options to set, but one or the other must be chosen. The list of names is outlined in the table below. The schema does not support a mixture of these names.

Win32 Name .NET Framework Name NLS Identifier (LCTYPE)

sSort

AlternateSort

LOCALE_SSORTNAME

Only supported on formats with alternate sort order, such as German (Germany).

sList

ListSeparator

LOCALE_SLIST

sDecimal

NumberDecimalSeparator

LOCALE_SDECIMAL

sThousand

NumberGroupSeparator

LOCALE_STHOUSAND

sGrouping

NumberGroupSizes

LOCALE_SGROUPING

iDigits

NumberDecimalDigits

LOCALE_IDIGITS

iNegNumber

NegativeNumberPattern

LOCALE_INEGNUMBER

sNegativeSign

NegativeSign

LOCALE_SNEGATIVESIGN

sPositiveSign

PositiveSign

LOCALE_SPOSITIVESIGN

sCurrency

CurrencySymbol

LOCALE_SCURRENCY

sMonDecimalSep

CurrencyDecimalSeparator

LOCALE_SMONDECIMALSEP

sMonThousandSep

CurrencyGroupSeparator

LOCALE_SMONTHOUSANDSEP

sMonGrouping

CurrencyGroupSizes

LOCALE_SMONGROUPING

iCurrDigits

CurrencyDecimalDigits

LOCALE_ICURRDIGITS

iCurrency

CurrencyPositivePattern

LOCALE_ICURRENCY

iNegCurr

CurrencyNegativePattern

LOCALE_INEGCURR

iLZero

LeadingZero

LOCALE_ILZERO

sTimeFormat

TimePattern

LOCALE_STIMEFORMAT

s1159

AMDesignator

LOCALE_S1159

s2359

PMDesignator

LOCALE_S2359

sShortDate

ShortDatePattern

LOCALE_SSHORTDATE

sLongDate

LongDatePattern

LOCALE_SLONGDATE

iCalendarType

Calendar

LOCALE_ICALENDARTYPE

iFirstDayOfWeek

FirstDayOfWeek

LOCALE_IFIRSTDAYOFWEEK

iFirstWeekOfYear

CalendarWeekRule

LOCALE_IFIRSTWEEKOFYEAR

sNativeDigits

NativeDigits

LOCALE_SNATIVEDIGITS

iDigitSubstitution

DigitSubstitution

LOCALE_IDIGITSUBSTITUTION

iMeasure

IsMetric

LOCALE_IMEASURE

For a full explanation of the terminology used, see Locale Information (MSDN) (https://go.microsoft.com/fwlink/?LinkId=82398).

Changing country/region and language options

The format of the answer file specified in a silent configuration is exactly the same as that used during setup. This means that all of the country/region setting options can be changed silently after the initial installation. The following is an example of a silent configuration that:

  • Adds the "German to German" input language for the current user.
  • Adds the "German to Swiss German" input language to the list of input languages for the default user.
  • Configures the language for non-Unicode programs to German.
[RegionalSettings]
InputLocale="0407:00000407"
InputLocale_DefaultUser="0407:00000807"
SystemLocale="0407"

If you specify multiple input languages for the InputLocale and InputLocale_DefaultUser keys, the first value specified will be set as the default for that particular user. In the following example, the InputLocale will set "German to German" as the default input language for the current user while making "German to Swiss German" available as an input language.

[RegionalSettings]
InputLocale="0407:00000407", "0407:00000807"

Using Windows Installer packages for on-demand installations

The Windows Vista operating system includes Windows Installer packages that allow users to install user interface languages on demand. For companies that support one global image, on-demand installation enables smaller and faster setups and images. If you do country/region builds or CD-based deployments, include (on a CD or network share) the Windows Installer package for each specific user interface language your company needs to support.

To enable on-demand installations, you can publish a Windows Installer (.msi) package for each user interface language that your company supports in the appropriate Active Directory Domain Services. The Windows Installer packages are then listed as additional user interface languages in the appropriate users' Add or Remove Programs Control Panel.

If you publish the .msi packages with the Maximum UI option, users can choose whether to install and set a specific user interface language for the current user, the default user, or both. Alternatively, to set the user account settings automatically, you can publish the .msi packages with the Basic UI option and then apply transforms to the packages.

For example, assume that your company supports 12 different languages worldwide. Your IT department publishes those 12 Windows Installer user interface language packages in the global Active Directory Domain Services. A clerk in the Boston office (with Windows Vista with English (U.S.) as the default user interface language) can then install Italian and Japanese user interface language support when it is needed. All that the user needs to do is open the Add or Remove Programs Control Panel and select the Italian and Japanese user interface language support packages.

For more information about Windows Installer packages and parameters for using the msiexec.exe command, see the Software Development Kit (SDK) information in the MSDN Library link on the Web Resources page (https://go.microsoft.com/fwlink/?LinkID=82396).

Using MUI in Windows Vista deployment

Taking advantage of MUI in your Windows Vista deployments can decrease development and testing time for multilingual environments. Because Windows Vista uses a single language neutral core image and language packs, you can easily configure a single core image to be deployed throughout your global organization, letting your users decide which language to configure during setup. MUI settings can also be configured in the unattend.xml file to deploy a specific set of languages in a particular location.

The methods to use MUI in a Windows Vista deployment are described in:

Prerequisites for using Multilingual User Interface

Using MUI in Windows Vista requires:

  • The Windows Vista operating system
  • The Windows Vista language packs for each language you plan to install. In the case of partially localized language packs or LIPs, you must also provide the parent language pack.

Note

Licensing requirements state that versions of the Windows Vista operating system can include only a single language, with the exception of the Windows Vista® Ultimate and the Windows Vista® Enterprise editions. 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 the Windows Welcome.

Additional resources for Multilingual User Interface

You can find more information about using MUI in Windows Vista deployments in the Windows Automated Installation Kit Help (https://go.microsoft.com/fwlink/?LinkID=70684).