@KBLayout, @MUILang, @OSLang values/codes

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
04011025ar-SAArabic - Saudi Arabia
04021026bg-BGBulgarian - Bulgaria
04031027ca-ESCatalan - Spain
04041028zh-TWChinese (Traditional) - Taiwan
04051029cs-CZCzech - Czech Republic
04061030da-DKDanish - Denmark
04071031de-DEGerman - Germany
04081032el-GRGreek - Greece
04091033en-USEnglish - United States
040A1034es-ES_tradnlSpanish - Spain
040B1035fi-FIFinnish - Finland
040C1036fr-FRFrench - France
040D1037he-ILHebrew - Israel
040E1038hu-HUHungarian - Hungary
040F1039is-ISIcelandic - Iceland
04101040it-ITItalian - Italy
04111041ja-JPJapanese - Japan
04121042ko-KRKorean - Korea
04131043nl-NLDutch - Netherlands
04141044nb-NONorwegian (Bokmal) - Norway
04151045pl-PLPolish - Poland
04161046pt-BRPortuguese - Brazil
04171047rm-CHRomansh - Switzerland
04181048ro-RORomanian - Romania
04191049ru-RURussian - Russia
041A1050hr-HRCroatian - Croatia
041B1051sk-SKSlovak - Slovakia
041C1052sq-ALAlbanian - Albania
041D1053sv-SESwedish - Sweden
041E1054th-THThai - Thailand
041F1055tr-TRTurkish - Turkey
04201056ur-PKUrdu - Islamic Republic of Pakistan
04211057id-IDIndonesian - Indonesia
04221058uk-UAUkrainian - Ukraine
04231059be-BYBelarusian - Belarus
04241060sl-SISlovenian - Slovenia
04251061et-EEEstonian - Estonia
04261062lv-LVLatvian - Latvia
04271063lt-LTLithuanian - Lithuania
04281064tg-Cyrl-TJTajik (Cyrillic) - Tajikistan
04291065fa-IRPersian - Iran
042A1066vi-VNVietnamese - Vietnam
042B1067hy-AMArmenian - Armenia
042C1068az-Latn-AZAzerbaijani (Latin) - Azerbaijan
042D1069eu-ESBasque - Spain
042E1070hsb-DEUpper Sorbian - Germany
042F1071mk-MKMacedonian - North Macedonia
04301072st-ZASotho - South Africa
04311073ts-ZATsonga - South Africa
04321074tn-ZASetswana - South Africa
04331075ve-ZAVenda - South Africa
04341076xh-ZAXhosa - South Africa
04351077zu-ZAZulu - South Africa
04361078af-ZAAfrikaans - South Africa
04371079ka-GEGeorgian - Georgia
04381080fo-FOFaroese - Faroe Islands
04391081hi-INHindi - India
043A1082mt-MTMaltese - Malta
043B1083se-NOSami (Northern) - Norway
043D1085yi-001Yiddish - World
043E1086ms-MYMalay - Malaysia
043F1087kk-KZKazakh - Kazakhstan
04401088ky-KGKyrgyz - Kyrgyzstan
04411089sw-KEKiswahili - Kenya
04421090tk-TMTurkmen - Turkmenistan
04431091uz-Latn-UZUzbek (Latin) - Uzbekistan
04441092tt-RUTatar - Russia
04451093bn-INBangla - India
04461094pa-INPunjabi - India
04471095gu-INGujarati - India
04481096or-INOdia - India
04491097ta-INTamil - India
044A1098te-INTelugu - India
044B1099kn-INKannada - India
044C1100ml-INMalayalam - India
044D1101as-INAssamese - India
044E1102mr-INMarathi - India
044F1103sa-INSanskrit - India
04501104mn-MNMongolian (Cyrillic) - Mongolia
04511105bo-CNTibetan - People's Republic of China
04521106cy-GBWelsh - United Kingdom
04531107km-KHKhmer - Cambodia
04541108lo-LALao - Lao P.D.R.
04551109my-MMBurmese - Myanmar
04561110gl-ESGalician - Spain
04571111kok-INKonkani - India
045A1114syr-SYSyriac - Syria
045B1115si-LKSinhala - Sri Lanka
045C1116chr-Cher-USCherokee - United States
045D1117iu-Cans-CAInuktitut (Syllabics) - Canada
045E1118am-ETAmharic - Ethiopia
045F1119tzm-Arab-MACentral Atlas Tamazight (Arabic) - Morocco
04601120ks-ArabKashmiri - Perso-Arabic
04611121ne-NPNepali - Nepal
04621122fy-NLFrisian - Netherlands
04631123ps-AFPashto - Afghanistan
04641124fil-PHFilipino - Philippines
04651125dv-MVDivehi - Maldives
04671127ff-Latn-NGFulah (Latin) - Nigeria
04671127ff-NGFulah - Nigeria
04681128ha-Latn-NGHausa (Latin) - Nigeria
046A1130yo-NGYoruba - Nigeria
046B1131quz-BOQuechua - Bolivia
046C1132nso-ZASesotho sa Leboa - South Africa
046D1133ba-RUBashkir - Russia
046E1134lb-LULuxembourgish - Luxembourg
046F1135kl-GLGreenlandic - Greenland
04701136ig-NGIgbo - Nigeria
04711137kr-Latn-NGKanuri (Latin) - Nigeria
04721138om-ETOromo - Ethiopia
04731139ti-ETTigrinya - Ethiopia
04741140gn-PYGuarani - Paraguay
04751141haw-USHawaiian - United States
04761142la-VALatin - Vatican City
04771143so-SOSomali - Somalia
04781144ii-CNYi - People's Republic of China
047A1146arn-CLMapudungun - Chile
047C1148moh-CAMohawk - Canada
047E1150br-FRBreton - France
04801152ug-CNUyghur - People's Republic of China
04811153mi-NZMaori - New Zealand
04821154oc-FROccitan - France
04831155co-FRCorsican - France
04841156gsw-FRAlsatian - France
04851157sah-RUSakha - Russia
04861158quc-Latn-GTK'iche - Guatemala
04871159rw-RWKinyarwanda - Rwanda
04881160wo-SNWolof - Senegal
048C1164prs-AFDari - Afghanistan
04911169gd-GBScottish Gaelic - United Kingdom
04921170ku-Arab-IQCentral Kurdish - Iraq
05011281qps-plocPseudo Language - Pseudo locale used for localization testing
05FE1534qps-plocaPseudo Language - Pseudo locale for east Asian/complex script localization testing
08012049ar-IQArabic - Iraq
08032051ca-ES-valenciaValencian - Spain
08042052zh-CNChinese (Simplified) - People's Republic of China
08072055de-CHGerman - Switzerland
08092057en-GBEnglish - United Kingdom
080A2058es-MXSpanish - Mexico
080C2060fr-BEFrench - Belgium
08102064it-CHItalian - Switzerland
08132067nl-BEDutch - Belgium
08142068nn-NONorwegian (Nynorsk) - Norway
08162070pt-PTPortuguese - Portugal
08182072ro-MDRomanian - Moldova
08192073ru-MDRussian - Moldova
081A2074sr-Latn-CSSerbian (Latin) - Serbia and Montenegro (Former)
081D2077sv-FISwedish - Finland
08202080ur-INUrdu - India
082C2092az-Cyrl-AZAzerbaijani (Cyrillic) - Azerbaijan
082E2094dsb-DELower Sorbian - Germany
08322098tn-BWSetswana - Botswana
083B2107se-SESami (Northern) - Sweden
083C2108ga-IEIrish - Ireland
083E2110ms-BNMalay - Brunei Darussalam
08432115uz-Cyrl-UZUzbek (Cyrillic) - Uzbekistan
08452117bn-BDBangla - Bangladesh
08462118pa-Arab-PKPunjabi - Islamic Republic of Pakistan
08492121ta-LKTamil - Sri Lanka
08502128mn-Mong-CNMongolian (Traditional Mongolian) - People's Republic of China
08592137sd-Arab-PKSindhi - Islamic Republic of Pakistan
085D2141iu-Latn-CAInuktitut (Latin) - Canada
085F2143tzm-Latn-DZTamazight (Latin) - Algeria
08602144ks-Deva-INKashmiri (Devanagari) - India
08612145ne-INNepali - India
08672151ff-Latn-SNFulah - Senegal
086B2155quz-ECQuechua - Ecuador
08732163ti-ERTigrinya - Eritrea
09FF2559qps-plocmPseudo Language - Pseudo locale used for localization testing of mirrored locales
0C013073ar-EGArabic - Egypt
0C043076zh-HKChinese (Traditional) - Hong Kong S.A.R.
0C073079de-ATGerman - Austria
0C093081en-AUEnglish - Australia
0C0A3082es-ESSpanish - Spain
0C0C3084fr-CAFrench - Canada
0C1A3098sr-Cyrl-CSSerbian (Cyrillic) - Serbia and Montenegro (Former)
0C3B3131se-FISami (Northern) - Finland
0C503152mn-Mong-MNMongolian (Traditional Mongolian) - Mongolia
0C513153dz-BTDzongkha - Bhutan
0C6B3179quz-PEQuechua - Peru
10014097ar-LYArabic - Libya
10044100zh-SGChinese (Simplified) - Singapore
10074103de-LUGerman - Luxembourg
10094105en-CAEnglish - Canada
100A4106es-GTSpanish - Guatemala
100C4108fr-CHFrench - Switzerland
101A4122hr-BACroatian (Latin) - Bosnia and Herzegovina
103B4155smj-NOSami (Lule) - Norway
14015121ar-DZArabic - Algeria
14045124zh-MOChinese (Traditional) - Macao S.A.R.
14075127de-LIGerman - Liechtenstein
14095129en-NZEnglish - New Zealand
140A5130es-CRSpanish - Costa Rica
140C5132fr-LUFrench - Luxembourg
141A5146bs-Latn-BABosnian (Latin) - Bosnia and Herzegovina
143B5179smj-SESami (Lule) - Sweden
18016145ar-MAArabic - Morocco
18096153en-IEEnglish - Ireland
180A6154es-PASpanish - Panama
180C6156fr-MCFrench - Principality of Monaco
181A6170sr-Latn-BASerbian (Latin) - Bosnia and Herzegovina
183B6203sma-NOSami (Southern) - Norway
1C017169ar-TNArabic - Tunisia
1C097177en-ZAEnglish - South Africa
1C0A7178es-DOSpanish - Dominican Republic
1C0C7180fr-029French - Caribbean
1C1A7194sr-Cyrl-BASerbian (Cyrillic) - Bosnia and Herzegovina
1C3B7227sma-SESami (Southern) - Sweden
20018193ar-OMArabic - Oman
20098201en-JMEnglish - Jamaica
200A8202es-VESpanish - Bolivarian Republic of Venezuela
200C8204fr-REFrench - Reunion
201A8218bs-Cyrl-BABosnian (Cyrillic) - Bosnia and Herzegovina
203B8251sms-FISami (Skolt) - Finland
24019217ar-YEArabic - Yemen
24099225en-029English - Caribbean
240A9226es-COSpanish - Colombia
240C9228fr-CDFrench - Congo, DRC
241A9242sr-Latn-RSSerbian (Latin) - Serbia
243B9275smn-FISami (Inari) - Finland
280110241ar-SYArabic - Syria
280910249en-BZEnglish - Belize
280A10250es-PESpanish - Peru
280C10252fr-SNFrench - Senegal
281A10266sr-Cyrl-RSSerbian (Cyrillic) - Serbia
2C0111265ar-JOArabic - Jordan
2C0911273en-TTEnglish - Trinidad and Tobago
2C0A11274es-ARSpanish - Argentina
2C0C11276fr-CMFrench - Cameroon
2C1A11290sr-Latn-MESerbian (Latin) - Montenegro
300112289ar-LBArabic - Lebanon
300912297en-ZWEnglish - Zimbabwe
300A12298es-ECSpanish - Ecuador
300C12300fr-CIFrench - Côte d'Ivoire
301A12314sr-Cyrl-MESerbian (Cyrillic) - Montenegro
340113313ar-KWArabic - Kuwait
340913321en-PHEnglish - Republic of the Philippines
340A13322es-CLSpanish - Chile
340C13324fr-MLFrench - Mali
380114337ar-AEArabic - U.A.E.
380A14346es-UYSpanish - Uruguay
380C14348fr-MAFrench - Morocco
3C0115361ar-BHArabic - Bahrain
3C0915369en-HKEnglish - Hong Kong
3C0A15370es-PYSpanish - Paraguay
3C0C15372fr-HTFrench - Haiti
400116385ar-QAArabic - Qatar
400916393en-INEnglish - India
400A16394es-BOSpanish - Bolivia
440917417en-MYEnglish - Malaysia
440A17418es-SVSpanish - El Salvador
480918441en-SGEnglish - Singapore
480A18442es-HNSpanish - Honduras
4C0919465en-AEEnglish - United Arab Emirates
4C0A19466es-NISpanish - Nicaragua
500A20490es-PRSpanish - Puerto Rico
540A21514es-USSpanish - United States
580A22538es-419Spanish - Latin America
5C0A23562es-CUSpanish - Cuba

Example

#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