Language Identifiers and Locales (Windows Embedded CE 6.0)
1/6/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 (United Arab Emirates) |
1256 |
ARU |
0x2401 |
Arabic (Yemen) |
1256 |
ARY |
0x042b |
Armenian (Armenia) |
Unicode only |
HYE |
0x082c |
Azeri (Cyrillic, Azerbaijan) |
1251 |
AZE |
0x042c |
Azeri (Latin, Azerbaijan) |
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 |
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 (Principality of Monaco) |
1252 |
FRM |
0x100c |
French (Switzerland) |
1252 |
FRS |
0x042f |
Macedonian (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) |
1252 |
IND |
0x0410 |
Italian (Italy) |
1252 |
ITA |
0x0810 |
Italian (Switzerland) |
1252 |
ITS |
0x0411 |
Japanese (Japan) |
932 |
JPN |
0x044b |
Kannada (India) |
Unicode only |
KAN |
0x043f |
Kazakh (Kazakhstan) |
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) |
1252 |
MSB |
0x043e |
Malay (Malaysia) |
1252 |
MSL |
0x044e |
Marathi (India) |
Unicode only |
MAR |
0x0450 |
Mongolian (Cyrillic, Mongolia) |
1251 |
MON |
0x0414 |
Norwegian (Bokmål, Norway) |
1252 |
NOR |
0x0814 |
Norwegian (Nynorsk, Norway) |
1252 |
NON |
0x0429 |
Persian (Iran) |
1256 |
FAR |
0x0415 |
Polish (Poland) |
1250 |
PLK |
0x0416 |
Portuguese (Brazil) |
1252 |
PTB |
0x0816 |
Portuguese (Portugal) |
1252 |
PTG |
0x0446 |
Punjabi (Gurmukhi, India) |
Unicode only |
PAN |
0x0418 |
Romanian (Romanian) |
1250 |
ROM |
0x0419 |
Russian (Russia) |
1251 |
RUS |
0x044f |
Sanskrit (India) |
Unicode only |
SAN |
0x0c1a |
Serbian (Cyrillic, Serbia) |
1251 |
SRB |
0x081a |
Serbian (Latin, Serbia) |
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 list sorting) |
1252 |
ESP |
0x0c0a |
Spanish (Spain, international list sorting) |
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 (Russia) |
1251 |
TTT |
0x044a |
Telugu (India) |
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 (Cyrillic, Uzbekistan) |
1251 |
UZB |
0x0443 |
Uzbek (Latin, Uzbekistan) |
1254 |
UZB |
0x042a |
Vietnamese (Vietnam) |
1258 |
VIT |
The following special identifiers are also defined.
Identifier | Sublanguage/locale |
---|---|
0x0000 |
Language-Neutral |
0x0400 |
Process Default Language |