|Language Group||System Locale||User Locale||Thread Locale||Input Locale||Geographic ID||UI Language: System||UI Language: User|
|Purpose||Provides all keyboard layouts, IMEs, TrueType fonts, font links, LPKs, bitmap fonts and code page translation tables needed by the system for a group of languages. Therefore impacts all other settings in this list.||Determines which bitmap fonts, and OEM, ANSI, and MAC code pages are defaults for the system.||Determines which settings are used for formatting dates, times, currency, and large numbers as a default for each user. Also determines the sort order for sorting text.||Determines which settings are used for formatting dates, times, currency, and large numbers for a thread. Also determines the sort order for sorting text.||A pair consisting of language and a method of input.||Defines the country or location where the user resides.||Determines the default language of menus and dialogs, messages, INF files, and help files of Windows 2000.|
Non-MUI: Same as System UI Language.
MUI: Determines the language of menus and dialogs, messages, and help files of Windows 2000.
|First Set||Installation||Installation||Installation||Default to user locale||Installation||Installation||Installation|
|Change||Regional Options (CP) (only administrators)||Regional Options (CP) (only administrator)||Regional Options (CP)||SetThread Locale||Regional Options (CP)||Regional Options (CP)||No|
MUI: Regional Options (CP)
|Default||Western Europe and United States and language group required to display language of a localized version.||Locale matching language of localized version.||Locale matching language of localized system.||User locale for Windows applications and system default locale for console applications.||Language of localized version with default input method.||Defined by the language of the OS||Language of localized version.||Language of localized version.|
The language group controls which system locale, user locales, input locales, and User Interface (UI) languages a person can select.
Windows 2000 installs with the Western Europe and United States language group. Installing the Western Europe and United States is not optional, and this default cannot be removed.
For each localized version the language group needed to display the system's UI language is also default and can't be removed. If the English version of Windows 2000 is installed in a non-English country, the user will typically install another language group.
When a person adds a language group 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. Adding a language group also adds registry values for Font Linking and installs scripting engines for Complex Script languages (Arabic, Hebrew, Indic, and Thai).
In addition to Western Europe and United States (default) there are sixteen language groups: Arabic, Armenian, Baltic, Central Europe, Cyrillic, Georgian, Greek, Hebrew, Indic, Japanese, Korean, Simplified Chinese, Thai, Traditional Chinese, Turkish, and Vietnamese. Any number and combination of language groups can be installed on any Windows 2000 version.
Example: A Spanish user is a translator for Russian. In order to type Russian texts he needs to install the Cyrillic language group. Note: The application, which is used to type the Russian documents needs to support this. Adding the appropriate language group will not automatically enable all application to accept text. If in doubt, try it out. Some legacy applications might require the system locale to be changed.
In Windows XP, Microsoft introduced Language Collections, which consolidate languages with similar properties into 3 collections that contains 3 or more language groups each. This is done to simplify installation, and improve user experience when working with multiple languages. On English Windows XP support for all European languages (including Baltic languages, Cyrillic languages, Greek, and Turkic languages) known as the Basic Language Collection is installed by default. Additional language collections (such as East Asian for Japanese, Chinese, and Korean, as well as complex scripts for Arabic, Hebrew, the Indic family of languages, and Thai) can also be installed. (After installing a language group or collection, the user will need to restart the computer.)
A locale is either a language or a language in combination with a country. More than 130 locales are supported in Windows XP and Windows 2000.
The system locale is not really a locale. It determines which codepages (ANSI, DOS, and Macintosh) are used on the system by default. Changing the system locale also installs the necessary bitmap font files to support legacy applications in the language you selected.
As the name suggest, it's a per system setting. It requires a reboot to change. You can only select a system locale, if the appropriate language group is installed, i.e., you need the script support to select a system locale.
Some times there is no noticeable difference between two system locales.For example, there is no difference between the German Standard and German - Austria system locale. In general system locales of one language group are very similar and might be only different in the OEM or MAC codepage.
If it weren't be so long the system locale should be called legacy applications compatibility setting, because that is really what it is. Setting the system locale to a certain language instructs Windows 2000 to emulate a legacy operating system (DOS, Windows 3.1, and Windows 9x) localized to this language. Only applications that are not fully Unicode are affected by this setting.
An ANSI application should check the system locale at least during installation.
Example: 1 - A German user wants to run a Japanese application, which was designed for Japanese Windows 95. The user has to select Japanese as system locale to do this . Note: German legacy 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 German legacy applications. The user has also to select Japanese as a system locale. Note: This will limit his ability to enter German text in legacy applications. German umlauts will not be displayed correctly.
3 - An Arabic user wants to type Arabic, French, and English in an Arabic legacy applications. The user has to select Arabic as a system locale. The Arabic ANSI codepage contains most of the characters used for French and all of the English characters.
The user locale determines, which default settings a user wants to use for formatting dates, times, currency, and large numbers. Although it's presented as a language (some in a combination with a country), it's not a language setting. That is, user locale Hebrew means that the user wants to use the standards of Israel, not really of the Hebrew language. The only language effect of the user locale is the names of the days and months. For example, if a person was using the long date format to display November 25, 1998,the November string would change based on user locale.
Changing the user locale, will automatically add an Input Locale with the default settings for the associated language.
An application should use these settings to present data to the user (and most applications do this), but in some cases it might make sense for an application to use a fixed locale for display of data. This can be done by setting the Thread Locale to a fixed value during initialization of the application.
Example: An English user using English Windows 2000 works in Rome, Italy. The user selects Italian (Italy) as user locale, because he wants to use the formatting standards for Italy in his day-to-day work.
The thread locale defaults to the user locale and determines the formatting dates, times, currency, and large numbers for the thread. It can be changed programmatically using the API SetThreadLocale. In most cases the thread locale should not be overwritten.
Example: A financial stock trading application for the New York Stock Exchange, which is used in a bank worldwide has to display the time, date, and stock prices in the US formats. This application uses SetThreadLocale to set the thread locale to English (United States) and can use the NLS APIs to format dates, times, and stock prices.
The input locale describes a language a user wants to input (not necessarily type) and the method of input. There can be multiple input locales installed and the user can switch between them.
The default input locale is the input locale, which is active when a new application is started (or in some applications a new window is opened). Switching to a different input locale is done on a per application basis, i.e., you can have two different input locales in two different applications.
Example: The user selected to type German using the International US keyboard layout, input English using voice input (with 3rd party software), and Chinese using an IME (Input Method Editor).
Languages are identified by a LANGID, which has a primary language (e.g., Chinese) and a sub-language (e.g., PRC).
The system language is the language of the localized version that was used to setup Windows 2000. All menus, dialog, error messages, and help files are in this language, except on Windows 2000 Multilanguage Version, where the user can select a different language.
Non-Multilingual-User Interface Windows 2000: The User UI language will be the System UI Language.
Multilingual-User Interface: Windows XP and Windows 2000 MUI: Multilingual-User Interface (MUI) allows a person to change the language of the user interface.When a person is using MUI Windows 2000, they have the ability to change their User Language within the Regional Options control panel.
If a person changes their user language to see the effect the person will have to log off and then log back on.
Example: A multinational corporation wants to deploy Windows 2000 in all its subsidiaries. The IT department creates a global install job, which installs the English language version of Windows 2000 on all clients, regardless of the location of the client. At the same time it installs a "MUI pack" depending on the organizational unit the computer is member of. When the end user logs on the first time to his newly installed system Windows 2000 will appear very much like a localized version.
This variable is available in Windows XP (and was also available in Microsoft Windows ME, though not in Windows 2000) to define the country or location where the user lives. Each user can change this variable on the fly by selecting changes from the Regional Options tab of the Regional and Language Options property sheet. Any changes made are also applied on the fly. By selecting a particular location, the user has set a variable that a Web service (such as one that deals with weather) can check, thus allowing the Web service to deliver information and services specific to the region or country the user has selected.
Example: A user traveling to Malaysia wants to get the weather forecast for that locale and sets the location to that country. The location is a user variable that cannot be changed programmatically. The only way to change it is for the user to do so manually.
In this document legacy application is used to describe applications, which are not completely Unicode. If you are not sure if an application is completely Unicode, it most likely isn't. Virtually all applications designed for Windows 3.1, Windows 95, and Windows 98 are not Unicode (the exception here is Office 2000).
A codepage is an ordered set of characters in which a numeric index (code point values) is associated with each character. The first 128 characters of each codepage are functionally the same and include all characters needed to type English text. The upper 128 characters of OEM and ANSI codepages contain characters used in a language or group of languages.