Difference between revisions of "Internationalization/locale"

(How to access to locale)
(Windows)
Line 52: Line 52:
 
In Eiffel there exist a "locale_id" in class WEL_COMPARE_ITEM_STRUCT that uses the macro MAKELCID to get the locale identifier (aka LCID).
 
In Eiffel there exist a "locale_id" in class WEL_COMPARE_ITEM_STRUCT that uses the macro MAKELCID to get the locale identifier (aka LCID).
 
Thus only a converter LCID - Language is needed.
 
Thus only a converter LCID - Language is needed.
 +
SUBLANGID takes a language id and returns a sublanguage id like SUBLANG_ITALIAN_SWISS.
 +
PRIMARYLANGID takes a language id and returns a primary language id like SUBLANG_ITALIAN.
 +
 +
Definition problem:
 +
The NLS tables describe the ''language identifiers'', or ''locale identifiers'' (LCIDs), available to an OS design.
 +
vs
 +
MAKELCID This macro creates a ''locale identifier'' from a ''language identifier''.
  
 
== References and useful links ==
 
== References and useful links ==

Revision as of 01:13, 22 June 2006


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.

Format of locale on OS's

  • windows (for unmanaged code): hexadecimal code consisting of a language code (lower 10 bits) and culture code (upper bits), aka Locale Identifier (LCID)
  • linux, unix: defined as [language[_territory][.codeset][@modifier]]

Where to find locale

Linux

the environment variable is LANG

here is a list for more specific variables:

Locale category Application
LC_COLLATE Collation of strings (sort order.)
LC_CTYPE Classification and conversion of characters.
LC_MESSAGES Translations of yes and no.
LC_MONETARY Format of monetary values.
LC_NUMERIC Format of non-monetary numeric values.
LC_TIME Date and time formats.
LC_ALL Sets all of the above (overrides all of them.)
LANG Sets all the categories, but can be overridden by the individual locale categories.

Windows

The LCID for "Language for non-Unicode programs" can be found in the windows registry.
The LCID of "standards and formats" doesn't seem to be in the registry nor in the environment variables of windows.

How to access to locale

Linux

Windows

In Eiffel there exist a "locale_id" in class WEL_COMPARE_ITEM_STRUCT that uses the macro MAKELCID to get the locale identifier (aka LCID). Thus only a converter LCID - Language is needed. SUBLANGID takes a language id and returns a sublanguage id like SUBLANG_ITALIAN_SWISS. PRIMARYLANGID takes a language id and returns a primary language id like SUBLANG_ITALIAN.

Definition problem: The NLS tables describe the language identifiers, or locale identifiers (LCIDs), available to an OS design. vs MAKELCID This macro creates a locale identifier from a language identifier.

References and useful links