Language Identifiers and Locales
A version of this page is also available for
4/8/2010
The NLS tables describe the language identifiers available to an OS design. A language identifier is a sixteen bit value that consists of a primary language identifier and a sublanguage identifier. This differs slightly from a locale identifier (LCID), which is 32 bits and includes the primary language identifier, sublanguage identifier and a sort identifier.
Platform Builder uses the LCIDs in your NLS table to determine which locales to support in your OS design. You can modify the NLS table to add or remove locale information. Use the MAKELCID macro in your applications to create an LCID. Use the language identifier to set the LOCALE environment variable for a localized build of the OS.
The following table shows the worldwide languages and locales.
Language identifier | Language | Sublanguage - locale | Default code page | Language code |
---|---|---|---|---|
0x0436 |
Afrikaans |
South Africa |
1252 |
AFK |
0x041c |
Albanian |
Albania |
1250 |
SQI |
0x1401 |
Arabic |
Algeria |
1256 |
ARG |
0x3c01 |
Arabic |
Bahrain |
1256 |
ARH |
0x0c01 |
Arabic |
Egypt |
1256 |
ARE |
0x0801 |
Arabic |
Iraq |
1256 |
ARI |
0x2c01 |
Arabic |
Jordan |
1256 |
ARJ |
0x3401 |
Arabic |
Kuwait |
1256 |
ARK |
0x3001 |
Arabic |
Lebanon |
1256 |
ARB |
0x1001 |
Arabic |
Libya |
1256 |
ARL |
0x1801 |
Arabic |
Morocco |
1256 |
ARM |
0x2001 |
Arabic |
Oman |
1256 |
ARO |
0x4001 |
Arabic |
Qatar |
1256 |
ARQ |
0x0401 |
Arabic |
Saudi Arabia |
1256 |
ARA |
0x2801 |
Arabic |
Syria |
1256 |
ARS |
0x1c01 |
Arabic |
Tunisia |
1256 |
ART |
0x3801 |
Arabic |
U.A.E. |
1256 |
ARU |
0x2401 |
Arabic |
Yemen |
1256 |
ARY |
0x042b |
Armenian |
Armenia |
Unicode only |
HYE |
0x082c |
Azeri |
Azerbaijan (Cyrillic) |
1251 |
AZE |
0x042c |
Azeri |
Azerbaijan (Latin) |
1254 |
AZE |
0x042d |
Basque |
Spain |
1252 |
EUQ |
0x0423 |
Belarusian |
Belarus |
1251 |
BEL |
0x0402 |
Bulgarian |
Bulgaria |
1251 |
BGR |
0x0403 |
Catalan |
Spain |
1252 |
CAT |
0x0c04 |
Chinese |
Hong Kong SAR |
950 |
ZHH |
0x1404 |
Chinese |
Macao SAR |
950 |
ZHM |
0x0804 |
Chinese |
PRC |
936 |
CHS |
0x1004 |
Chinese |
Singapore |
936 |
ZHI |
0x0404 |
Chinese |
Taiwan |
950 |
CHT |
0x041a |
Croatian |
Croatia |
1250 |
HRV |
0x0405 |
Czech |
Czech Republic |
1250 |
CSY |
0x0406 |
Danish |
Denmark |
1252 |
DAN |
0x0465 |
Divehi |
Maldives |
Unicode only |
DIV |
0x0813 |
Dutch |
Belgium |
1252 |
NLB |
0x0413 |
Dutch |
Netherlands |
1252 |
NLD |
0x0c09 |
English |
Australia |
1252 |
ENA |
0x2809 |
English |
Belize |
1252 |
ENL |
0x1009 |
English |
Canada |
1252 |
ENC |
0x2409 |
English |
Caribbean |
1252 |
ENB |
0x1809 |
English |
Ireland |
1252 |
ENI |
0x2009 |
English |
Jamaica |
1252 |
ENJ |
0x1409 |
English |
New Zealand |
1252 |
ENZ |
0x3409 |
English |
Philippines |
1252 |
ENP |
0x1c09 |
English |
South Africa |
1252 |
ENS |
0x2c09 |
English |
Trinidad |
1252 |
ENT |
0x0809 |
English |
United Kingdom |
1252 |
ENG |
0x0409 |
English |
United States |
1252 |
USA |
0x3009 |
English |
Zimbabwe |
1252 |
ENW |
0x0425 |
Estonian |
Estonia |
1257 |
ETI |
0x0438 |
Faroese |
Faroe Islands |
1252 |
FOS |
0x0429 |
Farsi |
Iran |
1256 |
FAR |
0x040b |
Finnish |
Finland |
1252 |
FIN |
0x080c |
French |
Belgium |
1252 |
FRB |
0x0c0c |
French |
Canada |
1252 |
FRC |
0x040c |
French |
France |
1252 |
FRA |
0x140c |
French |
Luxembourg |
1252 |
FRL |
0x180c |
French |
Monaco |
1252 |
FRM |
0x100c |
French |
Switzerland |
1252 |
FRS |
0x042f |
F.Y.R.O. Macedonia |
F.Y.R.O. Macedonia |
1251 |
MKI |
0x0456 |
Galician |
Spain |
1252 |
GLC |
0x0437 |
Georgian |
Georgia |
Unicode only |
KAT |
0x0c07 |
German |
Austria |
1252 |
DEA |
0x0407 |
German |
Germany |
1252 |
DEU |
0x1407 |
German |
Liechtenstein |
1252 |
DEC |
0x1007 |
German |
Luxembourg |
1252 |
DEL |
0x0807 |
German |
Switzerland |
1252 |
DES |
0x0408 |
Greek |
Greece |
1253 |
ELL |
0x0447 |
Gujarati |
India |
Unicode only |
GUJ |
0x040d |
Hebrew |
Israel |
1255 |
HEB |
0x0439 |
Hindi |
India |
Unicode only |
HIN |
0x040e |
Hungarian |
Hungary |
1250 |
HUN |
0x040f |
Icelandic |
Iceland |
1252 |
ISL |
0x0421 |
Indonesian |
Indonesia (Bahasa) |
1252 |
IND |
0x0410 |
Italian |
Italy |
1252 |
ITA |
0x0810 |
Italian |
Switzerland |
1252 |
ITS |
0x0411 |
Japanese |
Japan |
932 |
JPN |
0x044b |
Kannada |
India (Kannada script) |
Unicode only |
KAN |
0x043f |
Kazakh |
Kazakstan |
1251 |
KKZ |
0x0457 |
Konkani |
India |
Unicode only |
KNK |
0x0412 |
Korean |
Korea |
949 |
KOR |
0x0440 |
Kyrgyz |
Kyrgyzstan |
1251 |
KYR |
0x0426 |
Latvian |
Latvia |
1257 |
LVI |
0x0427 |
Lithuanian |
Lithuania |
1257 |
LTH |
0x083e |
Malay |
Brunei Darussalam |
1252 |
MSB |
0x043e |
Malay |
Malaysia |
1252 |
MSL |
0x044e |
Marathi |
India |
Unicode only |
MAR |
0x0450 |
Mongolian (Cyrillic) |
Mongolia |
1251 |
MON |
0x0414 |
Norwegian |
Norway (Bokmål) |
1252 |
NOR |
0x0814 |
Norwegian |
Norway (Nynorsk) |
1252 |
NON |
0x0415 |
Polish |
Poland |
1250 |
PLK |
0x0416 |
Portuguese |
Brazil |
1252 |
PTB |
0x0816 |
Portuguese |
Portugal |
1252 |
PTG |
0x0446 |
Punjabi |
India (Gurmukhi script) |
Unicode only |
PAN |
0x0418 |
Romanian |
Romania |
1250 |
ROM |
0x0419 |
Russian |
Russia |
1251 |
RUS |
0x044f |
Sanskrit |
India |
Unicode only |
SAN |
0x0c1a |
Serbian |
Serbia (Cyrillic) |
1251 |
SRB |
0x081a |
Serbian |
Serbia (Latin) |
1250 |
SRL |
0x041b |
Slovak |
Slovakia |
1250 |
SKY |
0x0424 |
Slovenian |
Slovenia |
1250 |
SLV |
0x2c0a |
Spanish |
Argentina |
1252 |
ESS |
0x400a |
Spanish |
Bolivia |
1252 |
ESB |
0x340a |
Spanish |
Chile |
1252 |
ESL |
0x240a |
Spanish |
Colombia |
1252 |
ESO |
0x140a |
Spanish |
Costa Rica |
1252 |
ESC |
0x1c0a |
Spanish |
Dominican Republic |
1252 |
ESD |
0x300a |
Spanish |
Ecuador |
1252 |
ESF |
0x440a |
Spanish |
El Salvador |
1252 |
ESE |
0x100a |
Spanish |
Guatemala |
1252 |
ESG |
0x480a |
Spanish |
Honduras |
1252 |
ESH |
0x080a |
Spanish |
Mexico |
1252 |
ESM |
0x4c0a |
Spanish |
Nicaragua |
1252 |
ESI |
0x180a |
Spanish |
Panama |
1252 |
ESA |
0x3c0a |
Spanish |
Paraguay |
1252 |
ESZ |
0x280a |
Spanish |
Peru |
1252 |
ESR |
0x500a |
Spanish |
Puerto Rico |
1252 |
ESU |
0x040a |
Spanish |
Spain (Traditional sort) |
1252 |
ESP |
0x0c0a |
Spanish |
Spain (International sort) |
1252 |
ESN |
0x380a |
Spanish |
Uruguay |
1252 |
ESY |
0x200a |
Spanish |
Venezuela |
1252 |
ESV |
0x0441 |
Swahili |
Kenya |
1252 |
SWK |
0x081d |
Swedish |
Finland |
1252 |
SVF |
0x041d |
Swedish |
Sweden |
1252 |
SVE |
0x045a |
Syriac |
Syria |
Unicode only |
SYR |
0x0449 |
Tamil |
India |
Unicode only |
TAM |
0x0444 |
Tatar |
Tatarstan |
1251 |
TTT |
0x044a |
Telugu |
India (Telugu script) |
Unicode only |
TEL |
0x041e |
Thai |
Thailand |
874 |
THA |
0x041f |
Turkish |
Turkey |
1254 |
TRK |
0x0422 |
Ukrainian |
Ukraine |
1251 |
UKR |
0x0420 |
Urdu |
Pakistan |
1256 |
URP |
0x0843 |
Uzbek |
Uzbekistan (Cyrillic) |
1251 |
UZB |
0x0443 |
Uzbek |
Uzbekistan (Latin) |
1254 |
UZB |
0x042a |
Vietnamese |
Viet Nam |
1258 |
VIT |
The following special identifiers are also defined.
Identifier | Sublanguage/locale |
---|---|
0x0000 |
Language-Neutral |
0x0400 |
Process Default Language |