Locale
From Wikipedia, the free encyclopedia
In computing, locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier.
Locale identifiers can be defined in several ways:
- On Unix, Linux and other POSIX-type platforms, they are defined similar to the RFC 3066 definition, but the locale variant modifier is defined differently, and the charset is included as a part of the identifier. It is defined in this format:
-
- [language[_territory][.codeset][@modifier]].
Contents |
[edit] General locale settings
These settings usually include the following display (output) format settings
- Display language setting
- Number formats setting
- Date/Time formats setting
- Timezone setting
- Daylight saving time (DST) setting
- Currency formats setting
The above formats may or may not include also an input format setting. The latter, that is the input format setting, is also mostly defined on a per application basis. The daylight saving time setting (DST) is derived from the Timezone Setting.
An exception to the rule is the
- Keyboard layout setting
which declares only an input setting but not specifically an output setting, since most keyboards are not an output device.
[edit] Programming/markup language support
and other (nowadays) Unicode-based environments, they are defined in a format similar to RFC 3066 or one of its successors. They are usually defined with just ISO 639 and ISO 3166-1 alpha-2 codes.
[edit] Specifics for Microsoft platform(s)
- Locale identifier (LCID) for unmanaged code on Microsoft Windows, a number such as 1033 for English (United States) or 1041 for Japanese (Japan). These numbers consist of a language code (lower 10 bits) and culture code (upper bits) and are therefore often written in hexadecimal notation, such as 0x0409 or 0x0411. The list of those codesets are described in character encoding.
- Microsoft is beginning to introduce unmanaged code Application programming interfaces (APIs) for .NET that use this format. One of the first to be generally released is a function to mitigate issues with internationalized domain names [1], but more are in Windows Vista Beta 1.
- Beginning with Windows Vista, new functions that use RFC 4646 locale names have been introduced to replace nearly all LCID-based APIs.
[edit] See also
- Internationalization and localization
- ISO 639 language codes
- ISO 3166-1 alpha-2 country codes
- IETF language tag
- Common Locale Data Repository
- Date and time notation by country
- AppLocale
[edit] External links
- RFC 4646
- Language Subtag Registry
- Common Locale Data Repository
java.util.Locale
Javadoc API documentation- LCID information from Microsoft
- POSIX Environment Variables
- Low Level Technical details on defining a POSIX locale
- ICU Locale Explorer
- Debian Wiki on Locales
- Article "The Standard C++ Locale" by Nathan C. Myers
- Internationalization services - Python Library Reference
- locale(7): Description of multi-language support - Linux man page
- Apache C++ Standard Library Locale User's Guide
- Sort order charts for various operating system locales and database collations
- NATSPEC Library
- Description of locale-related UNIX environment variables in Debian Linux Reference Manual
- Guides to locales and locale creation on various platforms