@OSLang -> Ländername und Ländercode / shortcuts herausfinden ...

  • vielleicht ist es für jmd nützlich, ich habs jedenfalls nicht gefunden und hab mir folgendes gebastelt:

    OSLang.au3

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; # $__OsLangToCode - Array for @OSLang - Conversion
    ; # ------------------------------------------------
    ; # ArrayItems: [0] = '@OSLangName' [1] = '@OSLangValueString' [2] = 'CountryCode1' [3] = 'WindowsCode1' [4] = 'CountryCode2' [5] = 'WindowsCode2'
    ; # Author: UPIA

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $__OsLangToCode[127][6] = [[126,0,0,0,0,0], _
    ['Afrikaans','0436','af','af-AF','',''], _
    ['Albanian','041c','sq','sq-SQ','',''], _
    ['Arabic_Saudi_Arabia','0401','ar','ar-AR','ar-sa','ar-SA'], _
    ['Arabic_Iraq','0801','ar','ar-AR','ar-iq','ar-IQ'], _
    ['Arabic_Egypt','0c01','ar','ar-AR','ar-eg','ar-EG'], _
    ['Arabic_Libya','1001','ar','ar-AR','ar-ly','ar-LY'], _
    ['Arabic_Algeria','1401','ar','ar-AR','ar-dz','ar-DZ'], _
    ['Arabic_Morocco','1801','ar','ar-AR','ar-ma','ar-MA'], _
    ['Arabic_Tunisia','1c01','ar','ar-AR','ar-tn','ar-TN'], _
    ['Arabic_Oman','2001','ar','ar-AR','ar-om','ar-OM'], _
    ['Arabic_Yemen','2401','ar','ar-AR','ar-ye','ar-YE'], _
    ['Arabic_Syria','2801','ar','ar-AR','ar-sy','ar-SY'], _
    ['Arabic_Jordan','2c01','ar','ar-AR','ar-jo','ar-JO'], _
    ['Arabic_Lebanon','3001','ar','ar-AR','ar-lb','ar-LB'], _
    ['Arabic_Kuwait','3401','ar','ar-AR','ar-kw','ar-KW'], _
    ['Arabic_UAE','3801','ar','ar-AR','ar-ae','ar-AE'], _
    ['Arabic_Bahrain','3c01','ar','ar-AR','ar-bh','ar-BH'], _
    ['Arabic_Qatar','4001','ar','ar-AR','ar-qa','ar-QA'], _
    ['Armenian','042b','hy','hy-HY','',''], _
    ['Azeri_Latin','042c','az','az-AZ','az-az','az-AZ'], _
    ['Azeri_Cyrillic','082c','az','az-AZ','az-az','az-AZ'], _
    ['Basque','042d','eu','eu-EU','',''], _
    ['Belarusian','0423','be','be-BE','',''], _
    ['Bulgarian','0402','bg','bg-BG','',''], _
    ['Catalan','0403','ca','ca-CA','',''], _
    ['Chinese_Taiwan','0404','zh','zh-ZH','zh-tw','zh-TW'], _
    ['Chinese_PRC','0804','zh','zh-ZH','zh-cn','zh-CN'], _
    ['Chinese_Hong_Kong','0c04','zh','zh-ZH','zh-hk','zh-HK'], _
    ['Chinese_Singapore','1004','zh','zh-ZH','zh-sg','zh-SG'], _
    ['Chinese_Macau','1404','zh','zh-ZH','zh-mo','zh-MO'], _
    ['Croatian','041a','hr','hr-HR','',''], _
    ['Czech','0405','cs','cs-CS','',''], _
    ['Danish','0406','da','da-DA','',''], _
    ['Dutch_Standard','0413','nl','nl-NL','nl-nl','nl-NL'], _
    ['Dutch_Belgian','0813','nl','nl-NL','nl-be','nl-BE'], _
    ['English_United_States','0409','en','en-EN','en-us','en-US'], _
    ['English_United_Kingdom','0809','en','en-EN','en-gb','en-GB'], _
    ['English_Australian','0c09','en','en-EN','en-au','en-AU'], _
    ['English_Canadian','1009','en','en-EN','en-ca','en-CA'], _
    ['English_New_Zealand','1409','en','en-EN','en-nz','en-NZ'], _
    ['English_Irish','1809','en','en-EN','en-ie','en-IE'], _
    ['English_South_Africa','1c09','en','en-EN','en-za','en-ZA'], _
    ['English_Jamaica','2009','en','en-EN','en-jm','en-JM'], _
    ['English_Caribbean','2409','en','en-EN','en-cb','en-CB'], _
    ['English_Belize','2809','en','en-EN','en-bz','en-BZ'], _
    ['English_Trinidad','2c09','en','en-EN','en-tt','en-TT'], _
    ['English_Zimbabwe','3009','en','en-EN','',''], _
    ['English_Philippines','3409','en','en-EN','en-ph','en-PH'], _
    ['Estonian','0425','et','et-ET','',''], _
    ['Faeroese','0438','fo','fo-FO','',''], _
    ['Farsi','0429','fa','fa-FA','',''], _
    ['Finnish','040b','fi','fi-FI','',''], _
    ['French_Standard','040c','fr','fr-FR','fr-fr','fr-FR'], _
    ['French_Belgian','080c','fr','fr-FR','fr-be','fr-BE'], _
    ['French_Canadian','0c0c','fr','fr-FR','fr-ca','fr-Ca'], _
    ['French_Swiss','100c','fr','fr-FR','fr-ch','fr-CH'], _
    ['French_Luxembourg','140c','fr','fr-FR','fr-lu','fr-LU'], _
    ['French_Monaco','180c','fr','fr-FR','',''], _
    ['Georgian','0437','ka','ka-KA','',''], _
    ['German_Standard (Deutsch)','0407','de','de-DE','de-de','de-DE'], _
    ['German_Swiss','0807','de','de-DE','de-ch','de-CH'], _
    ['German_Austrian','0c07','de','de-DE','de-at','de-AT'], _
    ['German_Luxembourg','1007','de','de-DE','de-lu','de-LU'], _
    ['German_Liechtenstei','1407','de','de-DE','de-li','de-LI'], _
    ['Greek','408','el','el-EL','',''], _
    ['Hebrew','040d','he','he-HE','',''], _
    ['Hindi','0439','hi','hi-HI','',''], _
    ['Hungarian','040e','hu','hu-HU','',''], _
    ['Icelandic','040f','is','is-IS','',''], _
    ['Indonesian','0421','id','id-ID','',''], _
    ['Italian_Standard','0410','it','it-IT','it-it','it-IT'], _
    ['Italian_Swiss','0810','it','it-IT','it-ch','it-CH'], _
    ['Japanese','0411','ja','ja-JA','',''], _
    ['Kazakh','043f','kk','kk-KK','',''], _
    ['Konkani','0457','','','',''], _
    ['Korean','0412','ko','ko-KO','',''], _
    ['Latvian','0426','lv','lv-LV','',''], _
    ['Lithuanian','0427','lt','lt-LT','',''], _
    ['Macedonian','042f','','','',''], _
    ['Malay_Malaysia','043e','ms','ms-MS','ms-my','ms-MY'], _
    ['Malay_Brunei_Darussalam','083e','','','',''], _
    ['Marathi','044e','mr','mr-MR','',''], _
    ['Norwegian_Bokmal','0414','nb','nb-NB','',''], _
    ['Norwegian_Nynorsk','0814','nn','nn-NN','no-no','no-NO'], _
    ['Polish','0415','pl','pl-PL','',''], _
    ['Portuguese_Brazilian','0416','pt','pt-PT','pt-br','pt-BR'], _
    ['Portuguese_Standard','0816','pt','pt-PT','pt-pt','pt-PT'], _
    ['Romanian','0418','ro','ro-RO','',''], _
    ['Russian','0419','ru','ru-RU','',''], _
    ['Sanskrit','044f','sa','sa-SA','',''], _
    ['Serbian_Latin','081a','sr','sr-SR','sr-sp','sr-SP'], _
    ['Serbian_Cyrillic','0c1a','sr','sr-SR','sr-sp','sr-SP'], _
    ['Slovak','041b','sk','sk-SK','',''], _
    ['Slovenian','0424','sl','sl-SL','',''], _
    ['Spanish_Traditional_Sort','040a','es','es-ES','es-es','es-ES'], _
    ['Spanish_Mexican','080a','es','es-ES','es-mx','es-MX'], _
    ['Spanish_Modern_Sort','0c0a','es','es-ES','es-es','es-ES'], _
    ['Spanish_Guatemala','100a','es','es-ES','es-gt','es-GT'], _
    ['Spanish_Costa_Rica','140a','es','es-ES','es-cr','es-CR'], _
    ['Spanish_Panama','180a','es','es-ES','es-pa','es-PA'], _
    ['Spanish_Dominican_Republic','1c0a','es','es-ES','es-do','es-DO'], _
    ['Spanish_Venezuela','200a','es','es-ES','es-ve','es-VE'], _
    ['Spanish_Colombia','240a','es','es-ES','es-co','es-CO'], _
    ['Spanish_Peru','280a','es','es-ES','es-pe','es-PE'], _
    ['Spanish_Argentina','2c0a','es','es-ES','es-ar','es-AR'], _
    ['Spanish_Ecuador','300a','es','es-ES','es-ec','es-EC'], _
    ['Spanish_Chile','340a','es','es-ES','es-cl','es-CL'], _
    ['Spanish_Uruguay','380a','es','es-ES','es-uy','es-UY'], _
    ['Spanish_Paraguay','3c0a','es','es-ES','es-py','es-PY'], _
    ['Spanish_Bolivia','400a','es','es-ES','es-bo','es-BO'], _
    ['Spanish_El_Salvador','440a','es','es-ES','es-sv','es-SV'], _
    ['Spanish_Honduras','480a','es','es-ES','es-hn','es-HN'], _
    ['Spanish_Nicaragua','4c0a','es','es-ES','es-ni','es-NI'], _
    ['Spanish_Puerto_Rico','500a','es','es-ES','es-pr','es-PR'], _
    ['Swahili','0441','sw','sw-SW','',''], _
    ['Swedish','041d','sv','sv-SV','sv-se','sv-SE'], _
    ['Swedish_Finland','081d','sv','sv-SV','sv-fi','sv-FI'], _
    ['Tamil','0449','ta','ta-TA','',''], _
    ['Tatar','0444','tt','tt-TT','',''], _
    ['Thai','041e','th','th-TH','',''], _
    ['Turkish','041f','tr','tr-TR','',''], _
    ['Ukrainian','0422','uk','uk-UK','',''], _
    ['Urdu','0420','ur','ur-UR','',''], _
    ['Uzbek_Latin','0443','uz','uz-UZ','uz-uz','uz-UZ'], _
    ['Uzbek_Cyrillic','0843','uz','uz-UZ','uz-uz','uz-UZ'], _
    ['Vietnamese','042a','vi','vi-VI','','']]

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; # __OsLangConvert($LangCode, $item)
    ; # ---------------------------------
    ; # $LangCode: Value from @OSLang
    ; # $item: 0 = '@OSLangName', 1 = '@OSLangValueAsString', 2 = 'CountryCode1', 3 = 'WindowsCode1', 4 = 'CountryCode2', 5 = 'WindowsCode2', 6 = AllInAnArray
    ; # Return: @Success: $item=1-5 => String, $item=6 => Array[5]
    ; # @Error: 0 .. Error=1 => not found, Error=2 => bad $item .. @extended: error description
    ; # Author: UPIA

    [/autoit] [autoit][/autoit] [autoit]

    Func __OsLangConvert($LangCode, $item)
    $LangCode = String($LangCode)
    ;Local $id = _ArraySearch($__OsLangToCode, $LangCode)
    Local $id = -1
    For $i = 1 To $__OsLangToCode[0][0]
    If $__OsLangToCode[$i][1] = $LangCode Then
    $id = $i
    ExitLoop
    EndIf
    Next
    If $id > -1 Then
    If $item < 0 Then
    Return SetError(2, "$item parameter must be 1-6", 0)
    ElseIf $item < 6 Then
    Return $__OsLangToCode[$id][$item]
    ElseIf $item = 6 Then
    Local $ret[6] = [$__OsLangToCode[$id][0],$__OsLangToCode[$id][1],$__OsLangToCode[$id][2],$__OsLangToCode[$id][3],$__OsLangToCode[$id][4],$__OsLangToCode[$id][5]]
    Else
    Return SetError(2, "$item parameter must be 1-6", 0)
    EndIf
    Else
    Return SetError(1, "language code not found", 0)
    EndIf
    EndFunc

    [/autoit]

    und hier noch 2 kleine Beispiele:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; # Example 1
    MsgBox(0, "Language Check", "Your OS Language is " & __OsLangConvert(@OSLang, 0))

    [/autoit] [autoit][/autoit] [autoit]

    ; # Example 2
    Local $ChkPath1 = @SystemDir & "\" & __OsLangConvert(@OSLang, 3) & "\"
    Local $ChkPath2 = @SystemDir & "\" & __OsLangConvert(@OSLang, 5) & "\"
    If FileExists($ChkPath1) Then
    MsgBox(0, "Language Files", "Location: " & $ChkPath1)
    ElseIf FileExists($ChkPath2) Then
    MsgBox(0, "Language Files", "Location: " & $ChkPath2)
    Else
    MsgBox(0, "Language Files", "Location was not found")
    EndIf

    [/autoit]

    :whistling: