Global Development and Computing Portal Global Development and Computing Portal

Frequently Asked Questions

Locales & Languages

*

What is a locale?

In the Windows operating systems, a locale is a set of user preference information related to the user's language, environment and/or cultural conventions. This information is represented as a list of values used to determine the correct input language, keyboard layout, sorting order, and the formats used for numbers, dates, currencies and time. In order for a particular locale to be available for selection, the appropriate language group must be installed.

Windows 2000 and Windows XP includes support for 126 and 136 different locales, respectively, ensuring that users around the world can configure their systems to use the correct formats for their own language and region.

Locale support in Windows is provided through a number of different locale settings: the user locale, input locales, and the system locale. Taken together, these settings offer users a great deal of flexibility when setting up a machine.

What is a language group?

A language group is a set of all the keyboard layouts, IMEs, fonts (TrueType or bitmap), font links, language packs (LPKs) and codepage translation tables needed by the system to support the given group of languages. The list of installed language groups thus controls which user, input, and system locales that can be selected by a user.

Installation of a language group on Windows 2000 copies (but does not activate) the necessary keyboard files, Input Method Editors (IMEs), TrueType font files, bitmap font files, and National Language Support (.nls) files to the system. Adding a language group also adds registry values for Font Linking and installs scripting engines for Complex Script languages (Arabic, Hebrew, Indic, and Thai).

How many language groups are there?

There are seventeen language groups including the Western Europe and United States language group, which always installs as the default for Windows 2000 and cannot be removed. The seventeen groups are:

Arabic; Armenian; Baltic; Central Europe; Cyrillic; Georgian; Greek; Hebrew; Indic; Japanese; Korean; Simplified Chinese; Thai; Traditional Chinese; Turkish; Vietnamese; and Western Europe and United States.

Any number and combination of language groups can be installed on any Windows 2000 version. Our List of Language Group IDs gives the ID values of each language group for use in unattended mode installations of Windows 2000 and the Windows 2000 MultiLanguage Version.

How to add language groups in Windows 2000?

From Start menu, select Settings then Control Panel.

Start Regional Options.

In the Language settings for the system list box, check the check boxes of desired language groups and click OK.

Additonal files will be copied to your machine. You may need to provide the Windows 2000 CD or the network share name.

After reboot, support for new languages will become available.

What is a language collection?

In Windows XP, Microsoft has consolidated the 17 language groups to 3 collections that contains 3 or more language groups. This is done to simplify installation, and improve user experience when working with multiple languages.

For more information about Language Collections, see New Locale and Language Features in Windows XP.

How to add a language collection in Windows XP?

From Start menu, select Settings then Control Panel.

Start Regional Options.

Click on Languages tab.

In Supplemental language support box, check the checkboxes of desired language collection(s) and click OK.

Additional files will be copied to your machine. You may need to provide the Windows XP CD or the network share name.

After reboot, support for new languages will become available.

Which language groups support which locales?

See our List of Language Group IDs and Supported Locales.

What is the User Locale?

The user locale, implemented in Windows 9x, NT4, Windows 2000, and Windows XP is a per user setting which determines the formats used by default to display dates, times, currency, and numbers, and the sorting order of text. A user locale is specified for each and every account created on a machine.

Although available user locales are often listed as a language (sometimes in combination with a country), a user locale is NOT a language setting, and has nothing to do with input languages, keyboard layouts, codepages or user interface languages. The Hebrew user locale, for example, only contains data related to the standard regional settings of Israel, not to the Hebrew language.

Note, however, that changing the user locale will change the language used to display the names of days and months. If the long date format is used to display 'November 25, 1998,' the language used in the 'November' string is dependent on the selected user locale.

Changing the user locale has an immediate effect (i.e a reboot is not required), and all running processes are notified of the change via a WININI change message.

An English user using English Windows 2000 works in Rome, Italy. The user selects Italian (Italy) as the user locale, because he wants to use the formatting standards for Italy in his day-to-day work.

What is the Default User Locale?

The default user locale is the user locale setting applied by default to each new account created on a machine. Note that an account's user locale can be changed once the account has been created.

What are Input Locales?

Input locales, implemented in Win9x, NT4, Windows 2000, and Windows XP are pairings of an input language with an input method (which might be a particular keyboard layout, an Input Method Editor, or speech-to-text converter, for example). Specifically, an input locale describes the language being entered, and how it is being entered.

Input locales are added on a per user basis. For each account it is possible to install multiple input locales and switch between them when entering text, allowing for the composition of multilanguage documents.

Adding or removing input locales has an immediate effect (i.e a reboot is not required). Note that only those input locales for which appropriate language groups have been installed will be available to choose from.

An Arabic user using Arabic Windows 2000 wants to type an email message in a mixture of Arabic and Russian. The user already has an Arabic input locale, and installs a second input locale for the Russian language (with an Arabic keyboard layout). When entering text, the user is able to switch between the Arabic input locale and the Russian input locale.

Click here for how to add an input locale.

What is the System Locale?

The system locale (sometimes referred to as the system default locale), determines which ANSI, OEM and MAC codepages and associated bitmap font files are used as defaults for the system. These codepages and fonts enable non-Unicode applications to run as they would on a system localized to the language of the system locale.

These codepages and fonts are used by non-Unicode applications to emulate operation on a system localized to the language selected as the system locale. Note that only non-Unicode applications are affected by this setting.

The system locale is implemented in Windows 9x, NT4, Windows 2000, and Windows XP. (Under Windows 9x, the system locale is fixed based on the language version and cannot be changed. Under NT4, the system locale is pre-selected by the language version, but can later be modified in the Regional Settings Control Panel.)

Windows 2000 supports system locales for any supported locale on all language versions. As the name 'system locale' implies, this is a system-wide setting that affects all users, and therefore requires administrator privileges to change.

Changing the system locale requires a reboot. Note that only those system locales for which appropriate language groups have been installed will be available to choose from.

Examples of system locale usage:

1.

A German user wants to run a non-Unicode Japanese application, which was designed for Japanese Windows 95. The user has to select Japanese as the system locale to do this. Note: non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.

2.

The same German user wants to type Japanese text in a non-Unicode German application. The user selects Japanese as the system locale. Note: non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.

3.

An Arabic user wants to type Arabic, French, and English in an non-Unicode Arabic application. The user should choose one of the Arabic system locales.

Which of the Windows 2000 locales do not have codepages?

These 7 locales do not have codepages, and are supported in Windows 2000 solely through Unicode:

Armenian (Armenia)

Georgian (Georgia)

Hindi (India)

Tamil (India)

Marathi (India)

Sanskrit (India)

Konkani (India)

Which of the Windows XP locales do not have codepage support?

In addition to the 7 locales from the previous question, the following 6 new locales are solely supported in Windows XP through Unicode:

Divehi (Maldives)

Gujarati (India)

Kannada (India)

Punjabi (Gurmukhi - India)

Syriac (Syria)

Telugu (India)


**
**