What is 1033
1033
is the locale identifier for "English (United States)", whose
hexadecimal value is 0x0409. Locale identifier tells about the the
language that is used in a particular region. The purpose of
the document is to help developers who are defining NLS services
(sorting, time/date formatting, and keyboards/IMEs) for locales that do
not yet have native support in Windows to avoid conflict. here is a list of LCID (Locale identifier)
Afrikaans - South Africa 0436 1078 Albanian - Albania 041c 1052 Amharic - Ethiopia 045e 1118 Arabic - Saudi Arabia 0401 1025 Arabic - Algeria 1401 5121 Arabic - Bahrain 3c01 15361 Arabic - Egypt 0c01 3073 Arabic - Iraq 0801 2049 Arabic - Jordan 2c01 11265 Arabic - Kuwait 3401 13313 Arabic - Lebanon 3001 12289 Arabic - Libya 1001 4097 Arabic - Morocco 1801 6145 Arabic - Oman 2001 8193 Arabic - Qatar 4001 16385 Arabic - Syria 2801 10241 Arabic - Tunisia 1c01 7169 Arabic - U.A.E. 3801 14337 Arabic - Yemen 2401 9217 Armenian - Armenia 042b 1067 Assamese 044d 1101 Azeri (Cyrillic) 082c 2092 Azeri (Latin) 042c 1068 Basque 042d 1069 Belarusian 0423 1059 Bengali (India) 0445 1093 Bengali (Bangladesh) 0845 2117 Bosnian (Bosnia/Herzegovina) 141A 5146 Bulgarian 0402 1026 Burmese 0455 1109 Catalan 0403 1027 Cherokee - United States 045c 1116 Chinese - People's Republic of China 0804 2052 Chinese - Singapore 1004 4100 Chinese - Taiwan 0404 1028 Chinese - Hong Kong SAR 0c04 3076 Chinese - Macao SAR 1404 5124 Croatian 041a 1050 Croatian (Bosnia/Herzegovina) 101a 4122 Czech 0405 1029 Danish 0406 1030 Divehi 0465 1125 Dutch - Netherlands 0413 1043 Dutch - Belgium 0813 2067 Edo 0466 1126 English - United States 0409 1033 English - United Kingdom 0809 2057 English - Australia 0c09 3081 English - Belize 2809 10249 English - Canada 1009 4105 English - Caribbean 2409 9225 English - Hong Kong SAR 3c09 15369 English - India 4009 16393 English - Indonesia 3809 14345 English - Ireland 1809 6153 English - Jamaica 2009 8201 English - Malaysia 4409 17417 English - New Zealand 1409 5129 English - Philippines 3409 13321 English - Singapore 4809 18441 English - South Africa 1c09 7177 English - Trinidad 2c09 11273 English - Zimbabwe 3009 12297 Estonian 0425 1061 Faroese 0438 1080 Farsi 0429 1065 Filipino 0464 1124 Finnish 040b 1035 French - France 040c 1036 French - Belgium 080c 2060 French - Cameroon 2c0c 11276 French - Canada 0c0c 3084 French - Democratic Rep. of Congo 240c 9228 French - Cote d'Ivoire 300c 12300 French - Haiti 3c0c 15372 French - Luxembourg 140c 5132 French - Mali 340c 13324 French - Monaco 180c 6156 French - Morocco 380c 14348 French - North Africa e40c 58380 French - Reunion 200c 8204 French - Senegal 280c 10252 French - Switzerland 100c 4108 French - West Indies 1c0c 7180 Frisian - Netherlands 0462 1122 Fulfulde - Nigeria 0467 1127 FYRO Macedonian 042f 1071 Gaelic (Ireland) 083c 2108 Gaelic (Scotland) 043c 1084 Galician 0456 1110 Georgian 0437 1079 German - Germany 0407 1031 German - Austria 0c07 3079 German - Liechtenstein 1407 5127 German - Luxembourg 1007 4103 German - Switzerland 0807 2055 Greek 0408 1032 Guarani - Paraguay 0474 1140 Gujarati 0447 1095 Hausa - Nigeria 0468 1128 Hawaiian - United States 0475 1141 Hebrew 040d 1037 Hindi 0439 1081 Hungarian 040e 1038 Ibibio - Nigeria 0469 1129 Icelandic 040f 1039 Igbo - Nigeria 0470 1136 Indonesian 0421 1057 Inuktitut 045d 1117 Italian - Italy 0410 1040 Italian - Switzerland 0810 2064 Japanese 0411 1041 Kannada 044b 1099 Kanuri - Nigeria 0471 1137 Kashmiri 0860 2144 Kashmiri (Arabic) 0460 1120 Kazakh 043f 1087 Khmer 0453 1107 Konkani 0457 1111 Korean 0412 1042 Kyrgyz (Cyrillic) 0440 1088 Lao 0454 1108 Latin 0476 1142 Latvian 0426 1062 Lithuanian 0427 1063 Malay - Malaysia 043e 1086 Malay - Brunei Darussalam 083e 2110 Malayalam 044c 1100 Maltese 043a 1082 Manipuri 0458 1112 Maori - New Zealand 0481 1153 Marathi 044e 1102 Mongolian (Cyrillic) 0450 1104 Mongolian (Mongolian) 0850 2128 Nepali 0461 1121 Nepali - India 0861 2145 Norwegian (Bokmål) 0414 1044 Norwegian (Nynorsk) 0814 2068 Oriya 0448 1096 Oromo 0472 1138 Papiamentu 0479 1145 Pashto 0463 1123 Polish 0415 1045 Portuguese - Brazil 0416 1046 Portuguese - Portugal 0816 2070 Punjabi 0446 1094 Punjabi (Pakistan) 0846 2118 Quecha - Bolivia 046B 1131 Quecha - Ecuador 086B 2155 Quecha - Peru 0C6B 3179 Rhaeto-Romanic 0417 1047 Romanian 0418 1048 Romanian - Moldava 0818 2072 Russian 0419 1049 Russian - Moldava 0819 2073 Sami (Lappish) 043b 1083 Sanskrit 044f 1103 Sepedi 046c 1132 Serbian (Cyrillic) 0c1a 3098 Serbian (Latin) 081a 2074 Sindhi - India 0459 1113 Sindhi - Pakistan 0859 2137 Sinhalese - Sri Lanka 045b 1115 Slovak 041b 1051 Slovenian 0424 1060 Somali 0477 1143 Sorbian 042e 1070 Spanish - Spain (Modern Sort) 0c0a 3082 Spanish - Spain (Traditional Sort) 040a 1034 Spanish - Argentina 2c0a 11274 Spanish - Bolivia 400a 16394 Spanish - Chile 340a 13322 Spanish - Colombia 240a 9226 Spanish - Costa Rica 140a 5130 Spanish - Dominican Republic 1c0a 7178 Spanish - Ecuador 300a 12298 Spanish - El Salvador 440a 17418 Spanish - Guatemala 100a 4106 Spanish - Honduras 480a 18442 Spanish - Latin America e40a 58378 Spanish - Mexico 080a 2058 Spanish - Nicaragua 4c0a 19466 Spanish - Panama 180a 6154 Spanish - Paraguay 3c0a 15370 Spanish - Peru 280a 10250 Spanish - Puerto Rico 500a 20490 Spanish - United States 540a 21514 Spanish - Uruguay 380a 14346 Spanish - Venezuela 200a 8202 Sutu 0430 1072 Swahili 0441 1089 Swedish 041d 1053 Swedish - Finland 081d 2077 Syriac 045a 1114 Tajik 0428 1064 Tamazight (Arabic) 045f 1119 Tamazight (Latin) 085f 2143 Tamil 0449 1097 Tatar 0444 1092 Telugu 044a 1098 Thai 041e 1054 Tibetan - Bhutan 0851 2129 Tibetan - People's Republic of China 0451 1105 Tigrigna - Eritrea 0873 2163 Tigrigna - Ethiopia 0473 1139 Tsonga 0431 1073 Tswana 0432 1074 Turkish 041f 1055 Turkmen 0442 1090 Uighur - China 0480 1152 Ukrainian 0422 1058 Urdu 0420 1056 Urdu - India 0820 2080 Uzbek (Cyrillic) 0843 2115 Uzbek (Latin) 0443 1091 Venda 0433 1075 Vietnamese 042a 1066 Welsh 0452 1106 Xhosa 0434 1076 Yi 0478 1144 Yiddish 043d 1085 Yoruba 046a 1130 Zulu 0435 1077 HID (Human Interface Device) 04ff 1279 The value of a locale identifier is given by the formula (read more.......) primary language + 1024 * sub-language For example, Swiss German is LANG_GERMAN + 1024 * SUBLANG_GERMAN_SWISS = 7 + 1024 * 2 = 2055. list of primary language and sub language The following are the primary language identifiers. They can be
combined with secondary language identifiers to form language
identifiers.
Language - Country/Region
LCID Hex
LCID Dec
Primary Language Identifiers
Identifier Prefined Symbol Language
0x00
LANG_NEUTRAL
Neutral
0x01
LANG_ARABIC
Arabic
0x02
LANG_BULGARIAN
Bulgarian
0x03
LANG_CATALAN
Catalan
0x04
LANG_CHINESE
Chinese
0x05
LANG_CZECH
Czech
0x06
LANG_DANISH
Danish
0x07
LANG_GERMAN
German
0x08
LANG_GREEK
Greek
0x09
LANG_ENGLISH
English
0x0a
LANG_SPANISH
Spanish
0x0b
LANG_FINNISH
Finnish
0x0c
LANG_FRENCH
French
0x0d
LANG_HEBREW
Hebrew
0x0e
LANG_HUNGARIAN
Hungarian
0x0f
LANG_ICELANDIC
Icelandic
0x10
LANG_ITALIAN
Italian
0x11
LANG_JAPANESE
Japanese
0x12
LANG_KOREAN
Korean
0x13
LANG_DUTCH
Dutch
0x14
LANG_NORWEGIAN
Norwegian
0x15
LANG_POLISH
Polish
0x16
LANG_PORTUGUESE
Portuguese
0x18
LANG_ROMANIAN
Romanian
0x19
LANG_RUSSIAN
Russian
0x1a
LANG_CROATIAN
Croatian
0x1a
LANG_SERBIAN
Serbian
0x1b
LANG_SLOVAK
Slovak
0x1c
LANG_ALBANIAN
Albanian
0x1d
LANG_SWEDISH
Swedish
0x1e
LANG_THAI
Thai
0x1f
LANG_TURKISH
Turkish
0x20
LANG_URDU
Urdu
0x21
LANG_INDONESIAN
Indonesian
0x22
LANG_UKRANIAN
Ukrainian
0x23
LANG_BELARUSIAN
Belarusian
0x24
LANG_SLOVENIAN
Slovenian
0x25
LANG_ESTONIAN
Estonian
0x26
LANG_LATVIAN
Latvian
0x27
LANG_LITHUANIAN
Lithuanian
0x29
LANG_FARSI
Farsi
0x2a
LANG_VIETNAMESE
Vietnamese
0x2b
LANG_ARMENIAN
Armenian
0x2c
LANG_AZERI
Azeri
0x2d
LANG_BASQUE
Basque
0x2f
LANG_MACEDONIAN
Macedonian
0x36
LANG_AFRIKAANS
Afrikaans
0x37
LANG_GEORGIAN
Georgian
0x38
LANG_FAEROESE
Faeroese
0x39
LANG_HINDI
Hindi
0x3e
LANG_MALAY
Malay
0x3f
LANG_KAZAK
Kazak
0x41
LANG_SWAHILI
Swahili
0x43
LANG_UZBEK
Uzbek
0x44
LANG_TATAR
Tatar
0x45
LANG_BENGALI
Bengali
0x46
LANG_PUNJABI
Punjabi
0x47
LANG_GUJARATI
Gujarati
0x48
LANG_ORIYA
Oriya
0x49
LANG_TAMIL
Tamil
0x4a
LANG_TELUGU
Telugu
0x4b
LANG_KANNADA
Kannada
0x4c
LANG_MALAYALAM
Malayalam
0x4d
LANG_ASSAMESE
Assamese
0x4e
LANG_MARATHI
Marathi
0x4f
LANG_SANSKRIT
Sanskrit
0x57
LANG_KONKANI
Konkani
0x58
LANG_MANIPURI
Manipuri
0x59
LANG_SINDHI
Sindhi
0x60
LANG_KASHMIRI
Kashmiri
0x61
LANG_NEPALI
Nepali
Secondary Language Identifiers
The following are secondary language identifiers. They can be combined with primary language identifiers to form language identifiers.
| Identifier | Predefined Symbol | Language |
|---|---|---|
| 0x00 | SUBLANG_NEUTRAL | Neutral |
| 0x01 | SUBLANG_DEFAULT | Default |
| 0x02 | SUBLANG_SYS_DEFAULT | System Default |
| 0x01 | SUBLANG_ARABIC_SAUDI_ARABIA | Arabic (Saudi Arabia) |
| 0x02 | SUBLANG_ARABIC_IRAQ | Arabic (Iraq) |
| 0x03 | SUBLANG_ARABIC_EGYPT | Arabic (Egypt) |
| 0x04 | SUBLANG_ARABIC_LIBYA | Arabic (Libya) |
| 0x05 | SUBLANG_ARABIC_ALGERIA | Arabic (Algeria) |
| 0x06 | SUBLANG_ARABIC_MOROCCO | Arabic (Morocco) |
| 0x07 | SUBLANG_ARABIC_TUNISIA | Arabic (Tunisia) |
| 0x08 | SUBLANG_ARABIC_OMAN | Arabic (Oman) |
| 0x09 | SUBLANG_ARABIC_YEMEN | Arabic (Yemen) |
| 0x10 | SUBLANG_ARABIC_SYRIA | Arabic (Syria) |
| 0x11 | SUBLANG_ARABIC_JORDAN | Arabic (Jordan) |
| 0x12 | SUBLANG_ARABIC_LEBANON | Arabic (Lebanon) |
| 0x13 | SUBLANG_ARABIC_KUWAIT | Arabic (Kuwait) |
| 0x14 | SUBLANG_ARABIC_UAE | Arabic (U.A.E.) |
| 0x15 | SUBLANG_ARABIC_BAHRAIN | Arabic (Bahrain) |
| 0x16 | SUBLANG_ARABIC_QATAR | Arabic (Qatar) |
| 0x01 | SUBLANG_AZERI_CYRILLIC | Azeri (Latin) |
| 0x02 | SUBLANG_AZERI_LATIN | Azeri (Cyrillic) |
| 0x01 | SUBLANG_CHINESE_TRADITIONAL | Chinese (Traditional) |
| 0x02 | SUBLANG_CHINESE_SIMPLIFIED | Chinese (Simplified) |
| 0x03 | SUBLANG_CHINESE_HONGKONG | Chinese (Hong Kong SAR, PRC) |
| 0x04 | SUBLANG_CHINESE_SINGAPORE | Chinese (Singapore) |
| 0x05 | SUBLANG_CHINESE_MACAU | Chinese (Macau) |
| 0x01 | SUBLANG_DUTCH | Dutch |
| 0x02 | SUBLANG_DUTCH_BELGIAN | Dutch (Belgian) |
| 0x01 | SUBLANG_ENGLISH_US | English (US) |
| 0x02 | SUBLANG_ENGLISH_UK | English (UK) |
| 0x03 | SUBLANG_ENGLISH_AUS | English (Australian) |
| 0x04 | SUBLANG_ENGLISH_CAN | English (Canadian) |
| 0x05 | SUBLANG_ENGLISH_NZ | English (New Zealand) |
| 0x06 | SUBLANG_ENGLISH_EIRE | English (Ireland) |
| 0x07 | SUBLANG_ENGLISH_SOUTH_AFRICA | English (South Africa) |
| 0x08 | SUBLANG_ENGLISH_JAMAICA | English (Jamaica) |
| 0x09 | SUBLANG_ENGLISH_CARIBBEAN | English (Caribbean) |
| 0x0a | SUBLANG_ENGLISH_BELIZE | English (Belize) |
| 0x0b | SUBLANG_ENGLISH_TRINIDAD | English (Trinidad) |
| 0x0c | SUBLANG_ENGLISH_PHILIPPINES | English (Zimbabwe) |
| 0x0d | SUBLANG_ENGLISH_ZIMBABWE | English (Philippines) |
| 0x01 | SUBLANG_FRENCH | French |
| 0x02 | SUBLANG_FRENCH_BELGIAN | French (Belgian) |
| 0x03 | SUBLANG_FRENCH_CANADIAN | French (Canadian) |
| 0x04 | SUBLANG_FRENCH_SWISS | French (Swiss) |
| 0x05 | SUBLANG_FRENCH_LUXEMBOURG | French (Luxembourg) |
| 0x06 | SUBLANG_FRENCH_MONACO | French (Monaco) |
| 0x01 | SUBLANG_GERMAN | German |
| 0x02 | SUBLANG_GERMAN_SWISS | German (Swiss) |
| 0x03 | SUBLANG_GERMAN_AUSTRIAN | German (Austrian) |
| 0x04 | SUBLANG_GERMAN_LUXEMBOURG | German (Luxembourg) |
| 0x05 | SUBLANG_GERMAN_LIECHTENSTEIN | German (Liechtenstein) |
| 0x01 | SUBLANG_ITALIAN | Italian |
| 0x02 | SUBLANG_ITALIAN_SWISS | Italian (Swiss) |
| 0x02 | SUBLANG_KASHMIRI_INDIA | Kashmiri (India) |
| 0x01 | SUBLANG_KOREAN | Korean |
| 0x01 | SUBLANG_LITHUANIAN | Lithuanian |
| 0x02 | SUBLANG_LITHUANIAN_CLASSIC | Lithuanian (Classic) |
| 0x01 | SUBLANG_MALAY_MALAYSIA | Malay (Malaysia) |
| 0x02 | SUBLANG_MALAY_BRUNEI_DARUSSALAM | Malay (Brunei Darassalam) |
| 0x02 | SUBLANG_NEPALI_INDIA | Nepali (India) |
| 0x01 | SUBLANG_NORWEGIAN_BOKMAL | Norwegian (Bokmal) |
| 0x02 | SUBLANG_NORWEGIAN_NYNORSK | Norwegian (Nynorsk) |
| 0x01 | SUBLANG_PORTUGUESE | Portuguese (Brazilian) |
| 0x02 | SUBLANG_PORTUGUESE_BRAZILIAN | Portuguese |
| 0x02 | SUBLANG_SERBIAN_LATIN | Serbian (Latin) |
| 0x03 | SUBLANG_SERBIAN_CYRILLIC | Serbian (Cyrillic) |
| 0x01 | SUBLANG_SPANISH | Spanish (Castilian) |
| 0x02 | SUBLANG_SPANISH_MEXICAN | Spanish (Mexican) |
| 0x03 | SUBLANG_SPANISH_MODERN | Spanish (Modern) |
| 0x04 | SUBLANG_SPANISH_GUATEMALA | Spanish (Guatemala) |
| 0x05 | SUBLANG_SPANISH_COSTA_RICA | Spanish (Costa Rica) |
| 0x06 | SUBLANG_SPANISH_PANAMA | Spanish (Panama) |
| 0x07 | SUBLANG_SPANISH_DOMINICAN_REPUBLIC | Spanish (Dominican Republic) |
| 0x08 | SUBLANG_SPANISH_VENEZUELA | Spanish (Venezuela) |
| 0x09 | SUBLANG_SPANISH_COLOMBIA | Spanish (Colombia) |
| 0x0a | SUBLANG_SPANISH_PERU | Spanish (Peru) |
| 0x0b | SUBLANG_SPANISH_ARGENTINA | Spanish (Argentina) |
| 0x0c | SUBLANG_SPANISH_ECUADOR | Spanish (Ecuador) |
| 0x0d | SUBLANG_SPANISH_CHILE | Spanish (Chile) |
| 0x0e | SUBLANG_SPANISH_URUGUAY | Spanish (Uruguay) |
| 0x0f | SUBLANG_SPANISH_PARAGUAY | Spanish (Paraguay) |
| 0x10 | SUBLANG_SPANISH_BOLIVIA | Spanish (Bolivia) |
| 0x11 | SUBLANG_SPANISH_EL_SALVADOR | Spanish (El Salvador) |
| 0x12 | SUBLANG_SPANISH_HONDURAS | Spanish (Honduras) |
| 0x13 | SUBLANG_SPANISH_NICARAGUA | Spanish (Nicaragua) |
| 0x14 | SUBLANG_SPANISH_PUERTO_RICO | Spanish (Puerto Rico) |
| 0x01 | SUBLANG_SWEDISH | Swedish |
| 0x02 | SUBLANG_SWEDISH_FINLAND | Swedish (Finland) |
| 0x01 | SUBLANG_URDU_PAKISTAN | Urdu (Pakistan) |
| 0x02 | SUBLANG_URDU_INDIA | Urdu (India) |
| 0x01 | SUBLANG_UZBEK_LATIN | Uzbek (Latin) |
| 0x02 | SUBLANG_UZBEK_CYRILLIC | Uzbek (Cyrillic) |
So why would a program create a directory named after a language code?
Many Microsoft products support a multilingual user interface. This means that the same program can be used to display its user interface in multiple languages. Office and Windows are the two biggest examples. Language-specific resources need to be broken out into their own directories so they won't conflict with resources corresponding to some other language.
Some terms you must know
Locale ID: A 32-bit value defined by Microsoft Windows that consists of a language ID, sort ID, and reserved bits that identify a particular language.
Primary language: The primary language is the language that is installed on the system as the default language used to display and print information. The IBM® licensed program distribution media contains the primary language files. The distribution media you create at the central system copies the primary language files so you can install them at your target systems.
Secondary language: The distribution of secondary language files is more complicated than that of primary language files. Secondary language files are saved to the distribution media as described in Checklist: Create central site distribution media and are restored at the target systems using the user-defined installation program as described in Installation tasks for the target systems.
Referrences:
- http://www.liquidninja.com/metapad/translations/language_ids.html
- http://blogs.msdn.com/oldnewthing/archive/2004/06/09/151689.aspx
- http://www.microsoft.com/globaldev/reference/lcid-all.mspx