INFO: The Difference Between the System Locale and the User Locale


Although the system locale and the user locale sometimes seem indistinguishable, they have many differences.

More Information

The system locale determines which code pages (ANSI, MS-DOS, and Macintosh) are used on the system by default. Changing the system locale also installs the necessary bitmap font files to support applications in the language you selected. This is a per-system setting, and requires that you restart your computer (reboot) to change the setting. You can select a system locale only if the appropriate language group is installed; for example, you can't change the system locale to Chinese if your operating system is English Windows NT with no Chinese support.

An application can retrieve the system locale by calling GetSystemDefaultLCID. The system locale can be changed from Control Panel. Double-click the Regional Settings icon, and then change the system locale value (and then restart your computer).

The user locale determines which default settings a user wants to use for formatting dates, times, currency, and large numbers. The user locale is not the language. The only influence the user locale has on the language is on the names of the days and months. For example, if you use the long date format to display "November 25, 1998," the "November" string will change based on the user locale.

Changing the user locale automatically adds 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); however, in some cases it might make sense for an application to use a fixed locale for displaying data. This can be accomplished by setting the Thread Locale to a fixed value during initialization of the application.

The user locale is retrieved by calling GetUserDefaultLCID. From Control Panel, double-click the Regional Settings icon.

NOTE: You do not need to restart your computer if you change the user locale.