Search notes:

Windows: language

Language id

A language is identified by a language id. The language id is a 16 bit value.
The language id calculated as a combination of a primary language id and a sublanguage id:
locale id = 1024 * sublanguage id  +  primary language id.
For example: the primary language id for German is 7. Windows supports 5 German speaking countries, hence the sublanguage ids range from 1 to 5. Thus, the respective language ids are:
The WinAPI header files provide the MAKELANGID macro to create a language id.
The language id is often used to store language related files in a directory whose name is the language id, such as %SYSTEMROOT%\System32\1033.
1033 (= 1*1024 + 9) is the language id for English (US) and the hexadecimal value of 1033 is 409 which is why these two numbers are seen quite often in the registry and in the file system.

Some languages and their ids

The data of the following table was extracted with Word's VBA application.language object:
sub lang prim lang lang id hex.
0 1 1024 400 (no proofing)
1 1 1025 401 Arabic (Saudi Arabia)
1 2 2049 801 Arabic (Iraq)
1 3 3073 c01 Arabic (Egypt)
1 4 4097 1001 Arabic (Libya)
1 5 5121 1401 Arabic (Algeria)
1 6 6145 1801 Arabic (Morocco)
1 7 7169 1c01 Arabic (Tunisia)
1 8 8193 2001 Arabic (Oman)
1 9 9217 2401 Arabic (Yemen)
1 10 10241 2801 Arabic (Syria)
1 11 11265 2c01 Arabic (Jordan)
1 12 12289 3001 Arabic (Lebanon)
1 13 13313 3401 Arabic (Kuwait)
1 14 14337 3801 Arabic (U.A.E.)
1 15 15361 3c01 Arabic (Bahrain)
1 16 16385 4001 Arabic (Qatar)
2 1 1026 402 Bulgarian
3 1 1027 403 Catalan
3 2 2051 803 Valencian
4 1 1028 404 Chinese (Taiwan)
4 2 2052 804 Chinese (PRC)
4 3 3076 c04 Chinese (Hong Kong SAR)
4 4 4100 1004 Chinese (Singapore)
4 5 5124 1404 Chinese (Macao SAR)
5 1 1029 405 Czech
6 1 1030 406 Danish
7 1 1031 407 German (Germany)
7 2 2055 807 German (Switzerland)
7 3 3079 c07 German (Austria)
7 4 4103 1007 German (Luxembourg)
7 5 5127 1407 German (Liechtenstein)
8 1 1032 408 Greek
9 1 1033 409 English (United States)
9 2 2057 809 English (United Kingdom)
9 3 3081 c09 English (Australia)
9 4 4105 1009 English (Canada)
9 5 5129 1409 English (New Zealand)
9 6 6153 1809 English (Ireland)
9 7 7177 1c09 English (South Africa)
9 8 8201 2009 English (Jamaica)
9 9 9225 2409 English (Caribbean)
9 10 10249 2809 English (Belize)
9 11 11273 2c09 English (Trinidad and Tobago)
9 12 12297 3009 English (Zimbabwe)
9 13 13321 3409 English (Philippines)
9 14 14345 3809 English (Indonesia)
9 15 15369 3c09 English (Hong Kong SAR)
9 16 16393 4009 English (India)
9 17 17417 4409 English (Malaysia)
9 18 18441 4809 English (Singapore)
10 1 1034 40a Spanish (Spain, Traditional Sort)
10 2 2058 80a Spanish (Mexico)
10 3 3082 c0a Spanish (Spain)
10 4 4106 100a Spanish (Guatemala)
10 5 5130 140a Spanish (Costa Rica)
10 6 6154 180a Spanish (Panama)
10 7 7178 1c0a Spanish (Dominican Republic)
10 8 8202 200a Spanish (Venezuela)
10 9 9226 240a Spanish (Colombia)
10 10 10250 280a Spanish (Peru)
10 11 11274 2c0a Spanish (Argentina)
10 12 12298 300a Spanish (Ecuador)
10 13 13322 340a Spanish (Chile)
10 14 14346 380a Spanish (Uruguay)
10 15 15370 3c0a Spanish (Paraguay)
10 16 16394 400a Spanish (Bolivia)
10 17 17418 440a Spanish (El Salvador)
10 18 18442 480a Spanish (Honduras)
10 19 19466 4c0a Spanish (Nicaragua)
10 20 20490 500a Spanish (Puerto Rico)
10 21 21514 540a Spanish (United States)
10 22 22538 580a Spanish (Latin America)
11 1 1035 40b Finnish
12 1 1036 40c French (France)
12 2 2060 80c French (Belgium)
12 3 3084 c0c French (Canada)
12 4 4108 100c French (Switzerland)
12 5 5132 140c French (Luxembourg)
12 6 6156 180c French (Monaco)
12 7 7180 1c0c French (Caribbean)
12 8 8204 200c French (Reunion)
12 9 9228 240c French (Congo (DRC))
12 10 10252 280c French (Senegal)
12 11 11276 2c0c French (Cameroon)
12 12 12300 300c French (Côte d'Ivoire)
12 13 13324 340c French (Mali)
12 14 14348 380c French (Morocco)
12 15 15372 3c0c French (Haiti)
13 1 1037 40d Hebrew
14 1 1038 40e Hungarian
15 1 1039 40f Icelandic
16 1 1040 410 Italian (Italy)
16 2 2064 810 Italian (Switzerland)
17 1 1041 411 Japanese
18 1 1042 412 Korean
19 1 1043 413 Dutch (Netherlands)
19 2 2067 813 Dutch (Belgium)
20 1 1044 414 Norwegian (Bokmål)
20 2 2068 814 Norwegian (Nynorsk)
21 1 1045 415 Polish
22 1 1046 416 Portuguese (Brazil)
22 2 2070 816 Portuguese (Portugal)
23 1 1047 417 Romansh
24 1 1048 418 Romanian
24 2 2072 818 Romanian (Moldova)
25 1 1049 419 Russian
25 2 2073 819 Russian (Moldova)
26 1 1050 41a Croatian (Croatia)
26 2 2074 81a Serbian (Latin, Serbia and Montenegro (Former))
26 3 3098 c1a Serbian (Cyrillic, Serbia and Montenegro (Former))
26 4 4122 101a Croatian (Bosnia and Herzegovina)
26 5 5146 141a Bosnian (Latin)
26 6 6170 181a Serbian (Latin, Bosnia and Herzegovina)
26 7 7194 1c1a Serbian (Cyrillic, Bosnia and Herzegovina)
26 8 8218 201a Bosnian (Cyrillic)
26 9 9242 241a Serbian (Latin, Serbia)
26 10 10266 281a Serbian (Cyrillic, Serbia)
26 11 11290 2c1a Serbian (Latin, Montenegro)
26 12 12314 301a Serbian (Cyrillic, Montenegro)
27 1 1051 41b Slovak
28 1 1052 41c Albanian
29 1 1053 41d Swedish (Sweden)
29 2 2077 81d Swedish (Finland)
30 1 1054 41e Thai
31 1 1055 41f Turkish
32 1 1056 420 Urdu (Pakistan)
32 2 2080 820 Urdu (India)
33 1 1057 421 Indonesian
34 1 1058 422 Ukrainian
35 1 1059 423 Belarusian
36 1 1060 424 Slovenian
37 1 1061 425 Estonian
38 1 1062 426 Latvian
39 1 1063 427 Lithuanian
40 1 1064 428 Tajik
41 1 1065 429 Persian
42 1 1066 42a Vietnamese
43 1 1067 42b Armenian
44 1 1068 42c Azerbaijani (Latin)
44 2 2092 82c Azerbaijani (Cyrillic)
45 1 1069 42d Basque
46 1 1070 42e Upper Sorbian
46 2 2094 82e Lower Sorbian
47 1 1071 42f Macedonian
48 1 1072 430 Sesotho (South Africa)
49 1 1073 431 Xitsonga
50 1 1074 432 Setswana (South Africa)
50 2 2098 832 Setswana (Botswana)
51 1 1075 433 Venda
52 1 1076 434 isiXhosa
53 1 1077 435 isiZulu
54 1 1078 436 Afrikaans
55 1 1079 437 Georgian
56 1 1080 438 Faroese
57 1 1081 439 Hindi
58 1 1082 43a Maltese
59 1 1083 43b Northern Sami (Norway)
59 2 2107 83b Northern Sami (Sweden)
59 3 3131 c3b Northern Sami (Finland)
59 4 4155 103b Lule Sami (Norway)
59 5 5179 143b Lule Sami (Sweden)
59 6 6203 183b Southern Sami (Norway)
59 7 7227 1c3b Southern Sami (Sweden)
59 8 8251 203b Skolt Sami (Finland)
59 9 9275 243b Inari Sami (Finland)
60 2 2108 83c Irish
61 1 1085 43d Yiddish
62 1 1086 43e Malay (Malaysia)
62 2 2110 83e Malay (Brunei Darussalam)
63 1 1087 43f Kazakh
64 1 1088 440 Kyrgyz
65 1 1089 441 Kiswahili
66 1 1090 442 Turkmen
67 1 1091 443 Uzbek (Latin)
67 2 2115 843 Uzbek (Cyrillic)
68 1 1092 444 Tatar
69 1 1093 445 Bangla (India)
69 2 2117 845 Bangla (Bangladesh)
70 1 1094 446 Punjabi (India)
70 2 2118 846 Punjabi (Pakistan)
71 1 1095 447 Gujarati
72 1 1096 448 Odia
73 1 1097 449 Tamil (India)
73 2 2121 849 Tamil (Sri Lanka)
74 1 1098 44a Telugu
75 1 1099 44b Kannada
76 1 1100 44c Malayalam
77 1 1101 44d Assamese
78 1 1102 44e Marathi
79 1 1103 44f Sanskrit
80 1 1104 450 Mongolian (Cyrillic)
80 2 2128 850 Mongolian (Traditional Mongolian, PRC)
80 3 3152 c50 Mongolian (Traditional Mongolian, Mongolia)
81 1 1105 451 Tibetan (PRC)
82 1 1106 452 Welsh
83 1 1107 453 Khmer
84 1 1108 454 Lao
85 1 1109 455 Burmese
86 1 1110 456 Galician
87 1 1111 457 Konkani
88 1 1112 458 Manipuri
89 1 1113 459 Sindhi (Devanagari)
89 2 2137 859 Sindhi (Arabic)
90 1 1114 45a Syriac
91 1 1115 45b Sinhala
92 1 1116 45c Cherokee (Cherokee)
93 1 1117 45d Inuktitut (Syllabics)
93 2 2141 85d Inuktitut (Latin)
94 1 1118 45e Amharic
95 1 1119 45f Tamazight (Arabic, Morocco)
95 2 2143 85f Tamazight (Latin, Algeria)
95 4 4191 105f Tamazight (Tifinagh, Morocco)
96 1 1120 460 Kashmiri (Arabic)
96 2 2144 860 Kashmiri
97 1 1121 461 Nepali
97 2 2145 861 Nepali (India)
98 1 1122 462 Frisian
99 1 1123 463 Pashto
100 1 1124 464 Filipino
101 1 1125 465 Divehi
102 1 1126 466 Edo
103 1 1127 467 Fulah (Nigeria)
103 2 2151 867 Fulah (Latin, Senegal)
104 1 1128 468 Hausa
105 1 1129 469 Ibibio (Nigeria)
106 1 1130 46a Yoruba
107 1 1131 46b Quechua (Bolivia)
107 2 2155 86b Quechua (Ecuador)
107 3 3179 c6b Quechua (Peru)
108 1 1132 46c Sesotho sa Leboa
109 1 1133 46d Bashkir
110 1 1134 46e Luxembourgish
111 1 1135 46f Greenlandic
112 1 1136 470 Igbo
113 1 1137 471 Kanuri
114 1 1138 472 Oromo
115 1 1139 473 Tigrinya (Ethiopia)
115 2 2163 873 Tigrinya (Eritrea)
116 1 1140 474 Guaraní
117 1 1141 475 Hawaiian
118 1 1142 476 Latin
119 1 1143 477 Somali
120 1 1144 478 Yi (PRC)
121 1 1145 479 Papiamentu
122 1 1146 47a Mapudungun
124 1 1148 47c Mohawk
126 1 1150 47e Breton
128 1 1152 480 Uyghur (PRC)
129 1 1153 481 Maori
130 1 1154 482 Occitan
131 1 1155 483 Corsican
132 1 1156 484 Alsatian
133 1 1157 485 Sakha
134 1 1158 486 K'iche'
135 1 1159 487 Kinyarwanda
136 1 1160 488 Wolof
140 1 1164 48c Dari
145 1 1169 491 Scottish Gaelic (United Kingdom)
146 1 1170 492 Central Kurdish (Iraq)
Some (all?) language ids are also found in the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes.

See also

Locales
The GetUserDefaultLanguageID() function in kernel32.dll and GetSystemDefaultLangID().
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language
The registry value Language, found under the registry key HKEY_CURRENT_USER\Control Panel\International.
The property InputMethodTips of the Microsoft.InternationalSettings.Commands.WinUserLanguage

Index