Possible return values (strings) of @KBLayout, @MUILang, @OSLang
List was generated from "Language Identifier Constants and Strings" in MSDN.
Note: Codes that contain letters could possible have the letters in uppercase.
Hex | Dec | Country code | Meaning |
---|---|---|---|
0401 | 1025 | ar-SA | Arabic - Saudi Arabia |
0402 | 1026 | bg-BG | Bulgarian - Bulgaria |
0403 | 1027 | ca-ES | Catalan - Spain |
0404 | 1028 | zh-TW | Chinese (Traditional) - Taiwan |
0405 | 1029 | cs-CZ | Czech - Czech Republic |
0406 | 1030 | da-DK | Danish - Denmark |
0407 | 1031 | de-DE | German - Germany |
0408 | 1032 | el-GR | Greek - Greece |
0409 | 1033 | en-US | English - United States |
040A | 1034 | es-ES_tradnl | Spanish - Spain |
040B | 1035 | fi-FI | Finnish - Finland |
040C | 1036 | fr-FR | French - France |
040D | 1037 | he-IL | Hebrew - Israel |
040E | 1038 | hu-HU | Hungarian - Hungary |
040F | 1039 | is-IS | Icelandic - Iceland |
0410 | 1040 | it-IT | Italian - Italy |
0411 | 1041 | ja-JP | Japanese - Japan |
0412 | 1042 | ko-KR | Korean - Korea |
0413 | 1043 | nl-NL | Dutch - Netherlands |
0414 | 1044 | nb-NO | Norwegian (Bokmal) - Norway |
0415 | 1045 | pl-PL | Polish - Poland |
0416 | 1046 | pt-BR | Portuguese - Brazil |
0417 | 1047 | rm-CH | Romansh - Switzerland |
0418 | 1048 | ro-RO | Romanian - Romania |
0419 | 1049 | ru-RU | Russian - Russia |
041A | 1050 | hr-HR | Croatian - Croatia |
041B | 1051 | sk-SK | Slovak - Slovakia |
041C | 1052 | sq-AL | Albanian - Albania |
041D | 1053 | sv-SE | Swedish - Sweden |
041E | 1054 | th-TH | Thai - Thailand |
041F | 1055 | tr-TR | Turkish - Turkey |
0420 | 1056 | ur-PK | Urdu - Islamic Republic of Pakistan |
0421 | 1057 | id-ID | Indonesian - Indonesia |
0422 | 1058 | uk-UA | Ukrainian - Ukraine |
0423 | 1059 | be-BY | Belarusian - Belarus |
0424 | 1060 | sl-SI | Slovenian - Slovenia |
0425 | 1061 | et-EE | Estonian - Estonia |
0426 | 1062 | lv-LV | Latvian - Latvia |
0427 | 1063 | lt-LT | Lithuanian - Lithuania |
0428 | 1064 | tg-Cyrl-TJ | Tajik (Cyrillic) - Tajikistan |
0429 | 1065 | fa-IR | Persian - Iran |
042A | 1066 | vi-VN | Vietnamese - Vietnam |
042B | 1067 | hy-AM | Armenian - Armenia |
042C | 1068 | az-Latn-AZ | Azerbaijani (Latin) - Azerbaijan |
042D | 1069 | eu-ES | Basque - Spain |
042E | 1070 | hsb-DE | Upper Sorbian - Germany |
042F | 1071 | mk-MK | Macedonian - North Macedonia |
0430 | 1072 | st-ZA | Sotho - South Africa |
0431 | 1073 | ts-ZA | Tsonga - South Africa |
0432 | 1074 | tn-ZA | Setswana - South Africa |
0433 | 1075 | ve-ZA | Venda - South Africa |
0434 | 1076 | xh-ZA | Xhosa - South Africa |
0435 | 1077 | zu-ZA | Zulu - South Africa |
0436 | 1078 | af-ZA | Afrikaans - South Africa |
0437 | 1079 | ka-GE | Georgian - Georgia |
0438 | 1080 | fo-FO | Faroese - Faroe Islands |
0439 | 1081 | hi-IN | Hindi - India |
043A | 1082 | mt-MT | Maltese - Malta |
043B | 1083 | se-NO | Sami (Northern) - Norway |
043D | 1085 | yi-001 | Yiddish - World |
043E | 1086 | ms-MY | Malay - Malaysia |
043F | 1087 | kk-KZ | Kazakh - Kazakhstan |
0440 | 1088 | ky-KG | Kyrgyz - Kyrgyzstan |
0441 | 1089 | sw-KE | Kiswahili - Kenya |
0442 | 1090 | tk-TM | Turkmen - Turkmenistan |
0443 | 1091 | uz-Latn-UZ | Uzbek (Latin) - Uzbekistan |
0444 | 1092 | tt-RU | Tatar - Russia |
0445 | 1093 | bn-IN | Bangla - India |
0446 | 1094 | pa-IN | Punjabi - India |
0447 | 1095 | gu-IN | Gujarati - India |
0448 | 1096 | or-IN | Odia - India |
0449 | 1097 | ta-IN | Tamil - India |
044A | 1098 | te-IN | Telugu - India |
044B | 1099 | kn-IN | Kannada - India |
044C | 1100 | ml-IN | Malayalam - India |
044D | 1101 | as-IN | Assamese - India |
044E | 1102 | mr-IN | Marathi - India |
044F | 1103 | sa-IN | Sanskrit - India |
0450 | 1104 | mn-MN | Mongolian (Cyrillic) - Mongolia |
0451 | 1105 | bo-CN | Tibetan - People's Republic of China |
0452 | 1106 | cy-GB | Welsh - United Kingdom |
0453 | 1107 | km-KH | Khmer - Cambodia |
0454 | 1108 | lo-LA | Lao - Lao P.D.R. |
0455 | 1109 | my-MM | Burmese - Myanmar |
0456 | 1110 | gl-ES | Galician - Spain |
0457 | 1111 | kok-IN | Konkani - India |
045A | 1114 | syr-SY | Syriac - Syria |
045B | 1115 | si-LK | Sinhala - Sri Lanka |
045C | 1116 | chr-Cher-US | Cherokee - United States |
045D | 1117 | iu-Cans-CA | Inuktitut (Syllabics) - Canada |
045E | 1118 | am-ET | Amharic - Ethiopia |
045F | 1119 | tzm-Arab-MA | Central Atlas Tamazight (Arabic) - Morocco |
0460 | 1120 | ks-Arab | Kashmiri - Perso-Arabic |
0461 | 1121 | ne-NP | Nepali - Nepal |
0462 | 1122 | fy-NL | Frisian - Netherlands |
0463 | 1123 | ps-AF | Pashto - Afghanistan |
0464 | 1124 | fil-PH | Filipino - Philippines |
0465 | 1125 | dv-MV | Divehi - Maldives |
0467 | 1127 | ff-Latn-NG | Fulah (Latin) - Nigeria |
0467 | 1127 | ff-NG | Fulah - Nigeria |
0468 | 1128 | ha-Latn-NG | Hausa (Latin) - Nigeria |
046A | 1130 | yo-NG | Yoruba - Nigeria |
046B | 1131 | quz-BO | Quechua - Bolivia |
046C | 1132 | nso-ZA | Sesotho sa Leboa - South Africa |
046D | 1133 | ba-RU | Bashkir - Russia |
046E | 1134 | lb-LU | Luxembourgish - Luxembourg |
046F | 1135 | kl-GL | Greenlandic - Greenland |
0470 | 1136 | ig-NG | Igbo - Nigeria |
0471 | 1137 | kr-Latn-NG | Kanuri (Latin) - Nigeria |
0472 | 1138 | om-ET | Oromo - Ethiopia |
0473 | 1139 | ti-ET | Tigrinya - Ethiopia |
0474 | 1140 | gn-PY | Guarani - Paraguay |
0475 | 1141 | haw-US | Hawaiian - United States |
0476 | 1142 | la-VA | Latin - Vatican City |
0477 | 1143 | so-SO | Somali - Somalia |
0478 | 1144 | ii-CN | Yi - People's Republic of China |
047A | 1146 | arn-CL | Mapudungun - Chile |
047C | 1148 | moh-CA | Mohawk - Canada |
047E | 1150 | br-FR | Breton - France |
0480 | 1152 | ug-CN | Uyghur - People's Republic of China |
0481 | 1153 | mi-NZ | Maori - New Zealand |
0482 | 1154 | oc-FR | Occitan - France |
0483 | 1155 | co-FR | Corsican - France |
0484 | 1156 | gsw-FR | Alsatian - France |
0485 | 1157 | sah-RU | Sakha - Russia |
0486 | 1158 | quc-Latn-GT | K'iche - Guatemala |
0487 | 1159 | rw-RW | Kinyarwanda - Rwanda |
0488 | 1160 | wo-SN | Wolof - Senegal |
048C | 1164 | prs-AF | Dari - Afghanistan |
0491 | 1169 | gd-GB | Scottish Gaelic - United Kingdom |
0492 | 1170 | ku-Arab-IQ | Central Kurdish - Iraq |
0501 | 1281 | qps-ploc | Pseudo Language - Pseudo locale used for localization testing |
05FE | 1534 | qps-ploca | Pseudo Language - Pseudo locale for east Asian/complex script localization testing |
0801 | 2049 | ar-IQ | Arabic - Iraq |
0803 | 2051 | ca-ES-valencia | Valencian - Spain |
0804 | 2052 | zh-CN | Chinese (Simplified) - People's Republic of China |
0807 | 2055 | de-CH | German - Switzerland |
0809 | 2057 | en-GB | English - United Kingdom |
080A | 2058 | es-MX | Spanish - Mexico |
080C | 2060 | fr-BE | French - Belgium |
0810 | 2064 | it-CH | Italian - Switzerland |
0813 | 2067 | nl-BE | Dutch - Belgium |
0814 | 2068 | nn-NO | Norwegian (Nynorsk) - Norway |
0816 | 2070 | pt-PT | Portuguese - Portugal |
0818 | 2072 | ro-MD | Romanian - Moldova |
0819 | 2073 | ru-MD | Russian - Moldova |
081A | 2074 | sr-Latn-CS | Serbian (Latin) - Serbia and Montenegro (Former) |
081D | 2077 | sv-FI | Swedish - Finland |
0820 | 2080 | ur-IN | Urdu - India |
082C | 2092 | az-Cyrl-AZ | Azerbaijani (Cyrillic) - Azerbaijan |
082E | 2094 | dsb-DE | Lower Sorbian - Germany |
0832 | 2098 | tn-BW | Setswana - Botswana |
083B | 2107 | se-SE | Sami (Northern) - Sweden |
083C | 2108 | ga-IE | Irish - Ireland |
083E | 2110 | ms-BN | Malay - Brunei Darussalam |
0843 | 2115 | uz-Cyrl-UZ | Uzbek (Cyrillic) - Uzbekistan |
0845 | 2117 | bn-BD | Bangla - Bangladesh |
0846 | 2118 | pa-Arab-PK | Punjabi - Islamic Republic of Pakistan |
0849 | 2121 | ta-LK | Tamil - Sri Lanka |
0850 | 2128 | mn-Mong-CN | Mongolian (Traditional Mongolian) - People's Republic of China |
0859 | 2137 | sd-Arab-PK | Sindhi - Islamic Republic of Pakistan |
085D | 2141 | iu-Latn-CA | Inuktitut (Latin) - Canada |
085F | 2143 | tzm-Latn-DZ | Tamazight (Latin) - Algeria |
0860 | 2144 | ks-Deva-IN | Kashmiri (Devanagari) - India |
0861 | 2145 | ne-IN | Nepali - India |
0867 | 2151 | ff-Latn-SN | Fulah - Senegal |
086B | 2155 | quz-EC | Quechua - Ecuador |
0873 | 2163 | ti-ER | Tigrinya - Eritrea |
09FF | 2559 | qps-plocm | Pseudo Language - Pseudo locale used for localization testing of mirrored locales |
0C01 | 3073 | ar-EG | Arabic - Egypt |
0C04 | 3076 | zh-HK | Chinese (Traditional) - Hong Kong S.A.R. |
0C07 | 3079 | de-AT | German - Austria |
0C09 | 3081 | en-AU | English - Australia |
0C0A | 3082 | es-ES | Spanish - Spain |
0C0C | 3084 | fr-CA | French - Canada |
0C1A | 3098 | sr-Cyrl-CS | Serbian (Cyrillic) - Serbia and Montenegro (Former) |
0C3B | 3131 | se-FI | Sami (Northern) - Finland |
0C50 | 3152 | mn-Mong-MN | Mongolian (Traditional Mongolian) - Mongolia |
0C51 | 3153 | dz-BT | Dzongkha - Bhutan |
0C6B | 3179 | quz-PE | Quechua - Peru |
1001 | 4097 | ar-LY | Arabic - Libya |
1004 | 4100 | zh-SG | Chinese (Simplified) - Singapore |
1007 | 4103 | de-LU | German - Luxembourg |
1009 | 4105 | en-CA | English - Canada |
100A | 4106 | es-GT | Spanish - Guatemala |
100C | 4108 | fr-CH | French - Switzerland |
101A | 4122 | hr-BA | Croatian (Latin) - Bosnia and Herzegovina |
103B | 4155 | smj-NO | Sami (Lule) - Norway |
1401 | 5121 | ar-DZ | Arabic - Algeria |
1404 | 5124 | zh-MO | Chinese (Traditional) - Macao S.A.R. |
1407 | 5127 | de-LI | German - Liechtenstein |
1409 | 5129 | en-NZ | English - New Zealand |
140A | 5130 | es-CR | Spanish - Costa Rica |
140C | 5132 | fr-LU | French - Luxembourg |
141A | 5146 | bs-Latn-BA | Bosnian (Latin) - Bosnia and Herzegovina |
143B | 5179 | smj-SE | Sami (Lule) - Sweden |
1801 | 6145 | ar-MA | Arabic - Morocco |
1809 | 6153 | en-IE | English - Ireland |
180A | 6154 | es-PA | Spanish - Panama |
180C | 6156 | fr-MC | French - Principality of Monaco |
181A | 6170 | sr-Latn-BA | Serbian (Latin) - Bosnia and Herzegovina |
183B | 6203 | sma-NO | Sami (Southern) - Norway |
1C01 | 7169 | ar-TN | Arabic - Tunisia |
1C09 | 7177 | en-ZA | English - South Africa |
1C0A | 7178 | es-DO | Spanish - Dominican Republic |
1C0C | 7180 | fr-029 | French - Caribbean |
1C1A | 7194 | sr-Cyrl-BA | Serbian (Cyrillic) - Bosnia and Herzegovina |
1C3B | 7227 | sma-SE | Sami (Southern) - Sweden |
2001 | 8193 | ar-OM | Arabic - Oman |
2009 | 8201 | en-JM | English - Jamaica |
200A | 8202 | es-VE | Spanish - Bolivarian Republic of Venezuela |
200C | 8204 | fr-RE | French - Reunion |
201A | 8218 | bs-Cyrl-BA | Bosnian (Cyrillic) - Bosnia and Herzegovina |
203B | 8251 | sms-FI | Sami (Skolt) - Finland |
2401 | 9217 | ar-YE | Arabic - Yemen |
2409 | 9225 | en-029 | English - Caribbean |
240A | 9226 | es-CO | Spanish - Colombia |
240C | 9228 | fr-CD | French - Congo, DRC |
241A | 9242 | sr-Latn-RS | Serbian (Latin) - Serbia |
243B | 9275 | smn-FI | Sami (Inari) - Finland |
2801 | 10241 | ar-SY | Arabic - Syria |
2809 | 10249 | en-BZ | English - Belize |
280A | 10250 | es-PE | Spanish - Peru |
280C | 10252 | fr-SN | French - Senegal |
281A | 10266 | sr-Cyrl-RS | Serbian (Cyrillic) - Serbia |
2C01 | 11265 | ar-JO | Arabic - Jordan |
2C09 | 11273 | en-TT | English - Trinidad and Tobago |
2C0A | 11274 | es-AR | Spanish - Argentina |
2C0C | 11276 | fr-CM | French - Cameroon |
2C1A | 11290 | sr-Latn-ME | Serbian (Latin) - Montenegro |
3001 | 12289 | ar-LB | Arabic - Lebanon |
3009 | 12297 | en-ZW | English - Zimbabwe |
300A | 12298 | es-EC | Spanish - Ecuador |
300C | 12300 | fr-CI | French - Côte d'Ivoire |
301A | 12314 | sr-Cyrl-ME | Serbian (Cyrillic) - Montenegro |
3401 | 13313 | ar-KW | Arabic - Kuwait |
3409 | 13321 | en-PH | English - Republic of the Philippines |
340A | 13322 | es-CL | Spanish - Chile |
340C | 13324 | fr-ML | French - Mali |
3801 | 14337 | ar-AE | Arabic - U.A.E. |
380A | 14346 | es-UY | Spanish - Uruguay |
380C | 14348 | fr-MA | French - Morocco |
3C01 | 15361 | ar-BH | Arabic - Bahrain |
3C09 | 15369 | en-HK | English - Hong Kong |
3C0A | 15370 | es-PY | Spanish - Paraguay |
3C0C | 15372 | fr-HT | French - Haiti |
4001 | 16385 | ar-QA | Arabic - Qatar |
4009 | 16393 | en-IN | English - India |
400A | 16394 | es-BO | Spanish - Bolivia |
4409 | 17417 | en-MY | English - Malaysia |
440A | 17418 | es-SV | Spanish - El Salvador |
4809 | 18441 | en-SG | English - Singapore |
480A | 18442 | es-HN | Spanish - Honduras |
4C09 | 19465 | en-AE | English - United Arab Emirates |
4C0A | 19466 | es-NI | Spanish - Nicaragua |
500A | 20490 | es-PR | Spanish - Puerto Rico |
540A | 21514 | es-US | Spanish - United States |
580A | 22538 | es-419 | Spanish - Latin America |
5C0A | 23562 | es-CU | Spanish - Cuba |
#include <MsgBoxConstants.au3>
MsgBox($MB_SYSTEMMODAL, "", "The language of the OS is: " & _GetLanguage(@OSLang) & " (" & _WinAPI_LCIDToLocaleName("0x" & @OSLang) & ")")
; Retrieve the language of the operating system.
Func _GetLanguage($sOSLang)
; @OSLang is four characters in length, the first two is the dialect and the remaining two are the language group.
; Therefore we only require the language group and therefore select the two right-most characters.
$sOSLang = StringRight($sOSLang, 2)
Local $aArray = [[131,""], _
["36", "Afrikaans"], ["1C", "Albanian"], ["84", "Alsatian"], ["5E", "Amharic"], ["01", "Arabic"], _
["2B", "Armenian"], ["4D", "Assamese"], ["2C", "Azerbaijani (*)"], ["45", "Bangla"], _
["6D", "Bashkir"], ["2D", "Basque"], ["23", "Belarusian"], ["7E", "Breton"], ["02", "Bulgarian"], _
["55", "Burmese"], ["03", "Catalan"], ["5F", "Central Atlas Tamazight (*)"], ["5C", "Cherokee"], _
["04", "Chinese (*)"], ["83", "Corsican"], ["05", "Czech"], ["06", "Danish"], ["8C", "Dari"], _
["65", "Divehi"], ["13", "Dutch"], ["09", "English"], ["25", "Estonian"], ["38", "Faroese"], _
["64", "Filipino"], ["0B", "Finnish"], ["0C", "French"], ["62", "Frisian"], ["67", "Fulah"], _
["56", "Galician"], ["37", "Georgian"], ["07", "German"], ["08", "Greek"], ["6F", "Greenlandic"], _
["74", "Guarani"], ["47", "Gujarati"], ["68", "Hausa (*)"], ["75", "Hawaiian"], ["0D", "Hebrew"], _
["39", "Hindi"], ["0E", "Hungarian"], ["0F", "Icelandic"], ["70", "Igbo"], ["21", "Indonesian"], _
["5D", "Inuktitut (*)"], ["3C", "Irish"], ["10", "Italian"], ["11", "Japanese"], ["4B", "Kannada"], _
["71", "Kanuri (*)"], ["60", "Kashmiri (*)"], ["3F", "Kazakh"], ["53", "Khmer"], ["86", "K'iche"], _
["87", "Kinyarwanda"], ["41", "Kiswahili"], ["57", "Konkani"], ["12", "Korean"], ["40", "Kyrgyz"], _
["54", "Lao"], ["76", "Latin"], ["26", "Latvian"], ["27", "Lithuanian"], ["2E", "Lower Sorbian"], _
["6E", "Luxembourgish"], ["2F", "Macedonian"], ["3E", "Malay"], ["4C", "Malayalam"], _
["3A", "Maltese"], ["81", "Maori"], ["7A", "Mapudungun"], ["4E", "Marathi"], ["7C", "Mohawk"], _
["50", "Mongolian (*)"], ["61", "Nepali"], ["14", "Norwegian (*)"], ["82", "Occitan"], _
["48", "Odia"], ["72", "Oromo"], ["63", "Pashto"], ["29", "Persian"], ["15", "Polish"], _
["16", "Portuguese"], ["46", "Punjabi"], ["6B", "Quechua"], ["18", "Romanian"], ["17", "Romansh"], _
["19", "Russian"], ["85", "Sakha"], ["3B", "Sami (*)"], ["4F", "Sanskrit"], ["91", "Scottish Gaelic"], _
["1A", "Serbian (*)"], ["6C", "Sesotho sa Leboa"], ["32", "Setswana"], ["59", "Sindhi"], _
["5B", "Sinhala"], ["1B", "Slovak"], ["24", "Slovenian"], ["77", "Somali"], ["30", "Sotho"], _
["0A", "Spanish"], ["1D", "Swedish"], ["5A", "Syriac"], ["28", "Tajik (*)"], ["49", "Tamil"], _
["44", "Tatar"], ["4A", "Telugu"], ["1E", "Thai"], ["51", "Tibetan"], ["73", "Tigrinya"], _
["31", "Tsonga"], ["1F", "Turkish"], ["42", "Turkmen"], ["22", "Ukrainian"], ["20", "Urdu"], _
["80", "Uyghur"], ["43", "Uzbek (*)"], ["33", "Venda"], ["2A", "Vietnamese"], ["52", "Welsh"], _
["88", "Wolof"], ["34", "Xhosa"], ["78", "Yi"], ["3D", "Yiddish"], ["6A", "Yoruba"]]
For $n = 1 To $aArray[0][0]
If $aArray[$n][0] = $sOSLang Then Return SetError(0, '0x' & $sOSLang, $aArray[$n][1])
Next
Return SetError(1, '0x' & $sOSLang, "Other (not included in this list)")
EndFunc ;==>_GetLanguage
Func _WinAPI_LCIDToLocaleName($iLCID)
Local $aRet = DllCall("kernel32.dll", "int", "LCIDToLocaleName", "int", $iLCID, "wstr", "", "int", 85, "dword", 0)
Return $aRet[2]
EndFunc ;==>LCIDToLocaleName