Views Locale Support
Although locale names are system-dependent, and each system has its own way of identifying the locale information, Views supports a system-independent scheme for localization.
Views Locale Names
For Views to use locale-dependent information in a system-independent way, Views defines the concept of a Views locale, whose name is system-independent. This locale has the following format:
ll_TT.encoding
where:
ll is a two-letter, lowercase abbreviation of the Language Name Specification.
TT is a two-letter, uppercase abbreviation of the Territory Name Specification.
encoding is a string that identifies the Encoding Specification used.
For example, in the Views locale name fr_FR.ISO‑8859‑1, the fr represents the language name, French; the FR represents the territory name, France; ISO‑8859‑1 represents the encoding method used for the language, which is ISO 8859‑1.
The following examples show several Views locale names on UNIX platforms:
-
fr_FR.ISO-8859-1
-
de_DE.ISO-8859-1
-
ja_JP.EUC-JP
-
ja_JP.Shift_JIS
The following examples show several Views locale names on Windows platforms:
-
fr_FR.windows-1252
-
de_DE.windows-1252
-
ja_JP.Shift_JIS
Language Name Specification
In the Views locale, the language names are specified using the abbreviations from the ISO 639 Code for the Representation of Names of Languages. Here are several examples:
-
en (English)
-
fr (French)
-
de (German, from “Deutsch”)
-
ja (Japanese)
The ISO 639 standard can be consulted on the following Web sites:
http://www.loc.gov/standards/iso639-2/ascii_8bits.html
or ftp://std.dkuug.dk/i18n/iso-639-2.txt
More generally, ISO codes can be consulted on the following Web site:
http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_639.html
Territory Name Specification
In the Views locale, the territory names are specified using the abbreviations from the ISO 3166 Codes for the Representation of Names of Countries.
The ISO 3166 standard can be consulted on the following Web site:
http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm
Here are several examples:
-
US (United States)
-
NL (the Netherlands)
-
FR (France)
-
DE (Germany, from “Deutschland”)
-
JP (Japan)
Encoding Specification
In the Views locale, the encoding identifies the code set or encoding method used for the language. Examples of encoding methods are:
-
ISO-8859-1 (ISO 8859/1)
-
Shift_JIS (Shift Japanese Industrial Standard)
Any character encoding registered by IANA could be used. Currently only character sets listed in Reference: Encoding Listings are supported by Views, which tends to use the preferred MIME notation.
For more information, you can consult the following Web site:
http://www.iana.org/assignments/character-sets
Determining Views Support for the Locale
To determine if Views supports the desired locale, you can run the following program:
Note
This example uses private code that you should not use in a real application. |
#include <ilviews/ilv.h> #include <ilviews/base/locale.h>
int main(int argc, char* argv[]) { if (!IlvSetLocale()) { exit(1); }
char* stdLocale = IlLocale::GetStdLocaleName(setlocale(LC_CTYPE, NULL)); if (stdLocale) IlvPrint("Standard Views locale name: %s\n", stdLocale); else IlvPrint("Views does not support this locale.\n");
return 0; } |
For example, on an HP-UX system with your LANG set to fr_FR.iso88591 or on a Solaris system with your LANG set to fr, you get the following result:
Standard Views locale name: fr_FR.ISO-8859-1
On a Windows system set to Japanese, you get:
Standard Views locale name: ja_JP.Shift_JIS