|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Вернуть ID языка OS |
|
Вернуть ID языка OS
|
![]() Ветеран Сообщения: 553 |
Написал функцию ... я правильно всё сделал, если язык OS английский эта функция правильно покажет ?
Global Const $aID_LAND[14] = [0419, 0409, 0809, "0c09", 1009, 1409, 1809, "1c09", 2009, 2409, 2809, "2c09", 3009, 3409] Global $aReturnValueIdLand[2] = ["Rus", "Eng"] MsgBox(64, Default, "LangOS - " & _Global_Lang_Sistem()) Func _Global_Lang_Sistem() For $i = 1 To UBound($aID_LAND) - 1 If $aID_LAND[0] = @OSLang Then Return($aReturnValueIdLand[0]) If $aID_LAND[$i] = @OSLang Then Return($aReturnValueIdLand[1]) Next Return($aReturnValueIdLand[1]) EndFunc |
|
Отправлено: 16:02, 15-01-2010 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата FlatX007:
|
|
------- Отправлено: 17:02, 15-01-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата beve:
Цитата beve:
У меня @OSLang это 0419 (рус.), а в реестре по указанному тобой адресу в первом параметре прописано 0409 (анг.), это у меня раскладка по умолчанию в системе. Я лично использую такую функцию: $sOSLang_Str = _OSGetLangString(-1) ConsoleWrite("+ [Get @OSLang string] (Default): " & $sOSLang_Str & @CRLF) $sOSLang_Str = _OSGetLangString("English_United_States") ConsoleWrite("> [Get lang code by specific string]: " & $sOSLang_Str & @CRLF) $sOSLang_Code = _OSGetLangString($sOSLang_Str) ConsoleWrite("! [Get string by specific lang code]: " & $sOSLang_Code & @CRLF) ; #FUNCTION# ==================================================================================================== ; Name...........: _OSGetLangString ; Description....: Retrieves Operating System language, or converts passed in parameter language code/string. ; Syntax.........: _OSGetLangString($sOSLang_Code=-1) ; Parameters.....: $sOSLang_Code - [Optional] If this parameter <> -1, ; then this function will return converted code <-> string language. ; ; Return values..: Success - Return language code/string depending on $sOSLang_Code parametr (see it's description). ; Failure - Returns 0 and set @error to 1 if invalid language code/string passed. ; Author.........: G.Sandler (a.k.a MrCreatoR) ; Modified.......: ; Remarks........: ; Related........: @OSLang ; Link...........: ; Example........: 1. $sOSLang_Str = _OSGetLangString(-1) ;Will return current OS language ; 2. $sOSLang_Str = _OSGetLangString("English_United_States") ;Will return 0409 ; 3. $sOSLang_Str = _OSGetLangString(0409) ;Will return "English_United_States" ; =============================================================================================================== Func _OSGetLangString($sOSLang_Code=-1) If $sOSLang_Code == 0 Then Return SetError(1, 0, 0) Local $aOSLang_Codes = StringSplit( _ "0436|41c|0401|0801|0c01|1001|1401|1801|1c01|2001|2401|2801|2c01|3001|3401|3801|3c01|4001|042b|042c|082c|" & _ "042d|0423|0402|0403|0404|0804|0c04|1004|1404|041a|0405|0406|0413|0813|0409|0809|0c09|1009|1409|1809|1c09|2009|2409|" & _ "2809|2c09|3009|3409|0425|0438|0429|040b|040c|080c|0c0c|100c|140c|180c|0437|407|0807|0c07|1007|1407|408|040d|0439|" & _ "040e|040f|0421|0410|0810|0411|043f|0457|0412|0426|0427|042f|043e|083e|044e|0414|0814|0415|0416|0816|0418|0419|044f|" & _ "081a|0c1a|041b|0424|040a|080a|0c0a|100a|140a|180a|1c0a|200a|240a|280a|2c0a|300a|340a|380a|3c0a|400a|440a|480a|4c0a|" & _ "500a|0441|041d|081d|0449|0444|041e|041f|0422|0420|0443|0843|042a", "|") Local $aOSLang_Strings = StringSplit( _ "Afrikaans|Albanian|Arabic_Saudi_Arabia|Arabic_Iraq|Arabic_Egypt|Arabic_Libya|Arabic_Algeria|Arabic_Morocco|" & _ "Arabic_Tunisia|Arabic_Oman|Arabic_Yemen|Arabic_Syria|Arabic_Jordan|Arabic_Lebanon|Arabic_Kuwait|Arabic_UAE|" & _ "Arabic_Bahrain|Arabic_Qatar|Armenian|Azeri_Latin|Azeri_Cyrillic|Basque|Belarusian|Bulgarian|Catalan|Chinese_Taiwan|" & _ "Chinese_PRC|Chinese_Hong_Kong|Chinese_Singapore|Chinese_Macau|Croatian|Czech|Danish|Dutch_Standard|Dutch_Belgian|" & _ "English_United_States|English_United_Kingdom|English_Australian|English_Canadian|English_New_Zealand|English_Irish|" & _ "English_South_Africa|English_Jamaica|English_Caribbean|English_Belize|English_Trinidad|English_Zimbabwe|" & _ "English_Philippines|Estonian|Faeroese|Farsi|Finnish|French_Standard|French_Belgian|French_Canadian|French_Swiss|" & _ "French_Luxembourg|French_Monaco|Georgian|German_Standard|German_Swiss|German_Austrian|German_Luxembourg|" & _ "German_Liechtenstei|Greek|Hebrew|Hindi|Hungarian|Icelandic|Indonesian|Italian_Standard|Italian_Swiss|Japanese|" & _ "Kazakh|Konkani|Korean|Latvian|Lithuanian|Macedonian|Malay_Malaysia|Malay_Brunei_Darussalam|Marathi|Norwegian_Bokmal|" & _ "Norwegian_Nynorsk|Polish|Portuguese_Brazilian|Portuguese_Standard|Romanian|Russian|Sanskrit|Serbian_Latin|" & _ "Serbian_Cyrillic|Slovak|Slovenian|Spanish_Traditional_Sort|Spanish_Mexican|Spanish_Modern_Sort|Spanish_Guatemala|" & _ "Spanish_Costa_Rica|Spanish_Panama|Spanish_Dominican_Republic|Spanish_Venezuela|Spanish_Colombia|Spanish_Peru|" & _ "Spanish_Argentina|Spanish_Ecuador|Spanish_Chile|Spanish_Uruguay|Spanish_Paraguay|Spanish_Bolivia|Spanish_El_Salvador|" & _ "Spanish_Honduras|Spanish_Nicaragua|Spanish_Puerto_Rico|Swahili|Swedish|Swedish_Finland|Tamil|Tatar|Thai|Turkish|" & _ "Ukrainian|Urdu|Uzbek_Latin|Uzbek_Cyrillic|Vietnamese", "|") For $i = 1 To $aOSLang_Codes[0] If $sOSLang_Code = -1 Then If @OSLang = $aOSLang_Codes[$i] Then Return $aOSLang_Strings[$i] Else If $sOSLang_Code = $aOSLang_Codes[$i] Then Return $aOSLang_Strings[$i] If $sOSLang_Code = $aOSLang_Strings[$i] Then Return $aOSLang_Codes[$i] EndIf Next Return SetError(1, 0, 0) EndFunc |
||
------- Отправлено: 17:47, 15-01-2010 | #3 |
![]() Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
![]() Мне все языки совершенно не нужны. |
|
Отправлено: 17:57, 15-01-2010 | #4 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата Creat0R:
|
|||
------- Отправлено: 18:16, 15-01-2010 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата FlatX007:
![]() Но зачем глобально объявлять переменные массива? beve, Ты путаешь язык раскладки клавиатуры с языком установленным в системе. |
|
------- Отправлено: 19:23, 15-01-2010 | #6 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
|
|
------- Отправлено: 23:11, 15-01-2010 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Переключения языка в XP | roots | Microsoft Windows 2000/XP | 1 | 23-01-2010 18:17 | |
Офис и Текст - Добавление языка в Windows XP | Thelearning | Microsoft Windows 2000/XP | 6 | 01-10-2009 13:44 | |
Интерфейс - Два Языка В UNICODE | CtrlSoft | Microsoft Windows Vista | 2 | 03-12-2007 15:07 | |
Индикатор языка | Flash Millennium | Microsoft Windows 2000/XP | 13 | 01-12-2004 11:06 | |
Переключение языка | Trojn | Хочу все знать | 3 | 21-06-2003 15:18 |
|