Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];

Вниз

Как опеределить язык GUI Windows!!! Не GetSystemDefaultLCID!!!   Найти похожие ветки 

 
Rav   (2007-12-26 10:20) [0]

Подскажите, как опеределить язык GUI Windows?
Именно язык GUI (Explorer-а), (т.е. грубо говоря кнопка "Пуск" или "Start").
Например: "заплаты" идут раздельно для русской и английской версии
(Windows2000-KB921503-x86-ENU.EXE и Windows2000-KB921503-x86-RUS.EXE).

WinAPI функции GetSystemDefaultLCID и GetSystemDefaultLangID
всегда возвращают код языка 1049 (RUS) даже для "английской" версии.
Как я понял GetSystemDefaultLCID возвращает РЕГИОН,
установленный в панели управления, соответственно для России это и будет 1049.
С  GetSystemDefaultLangID та же история.

Единственная зацепка: если "опеределить" наименование языка
GetLocaleInfo(LocaleLCID, LOCALE_SLANGUAGE, ...
то русская версия вернет "Русский", а английская "Russian".
Но использовать данный факт не совсем удобно и "красиво",
да и не факт что на всех ОС (у нас пока от NT4 до Server 2003)
это будет работать.

Как найти язык именно GUI в MSDN я не нашел.
Может кто сталкивался с подобной проблемой?


 
DVM ©   (2007-12-26 10:38) [1]

Не подойдет?


function GetSystemDefaultUILanguage: UINT; stdcall; external kernel32 name "GetSystemDefaultUILanguage";

function GetSysLang: integer;
begin
 result :=   Lo(GetSystemDefaultUILanguage);
end;

00 - LANG_NEUTRAL - Neutral
01 - LANG_ARABIC - Arabic
02 - LANG_BULGARIAN - Bulgarian
03 - LANG_CATALAN - Catalan
04 - LANG_CHINESE - Chinese
05 - LANG_CZECH - Czech
06 - LANG_DANISH - Danish
07 - LANG_GERMAN - German
08 - LANG_GREEK - Greek
09 - LANG_ENGLISH - English
0a - LANG_SPANISH - Spanish
0b - LANG_FINNISH - Finnish
0c - LANG_FRENCH - French
0d - LANG_HEBREW - Hebrew
0e - LANG_HUNGARIAN - Hungarian
0f - LANG_ICELANDIC - Icelandic
10 - LANG_ITALIAN - Italian
11 - LANG_JAPANESE - Japanese
12 - LANG_KOREAN - Korean
13 - LANG_DUTCH - Dutch
14 - LANG_NORWEGIAN - Norwegian
15 - LANG_POLISH - Polish
16 - LANG_PORTUGUESE - Portuguese
18 - LANG_ROMANIAN - Romanian
19 - LANG_RUSSIAN - Russian
1a - LANG_CROATIAN - Croatian
1a - LANG_SERBIAN - Serbian
1b - LANG_SLOVAK - Slovak
1c - LANG_ALBANIAN - Albanian
1d - LANG_SWEDISH - Swedish
1e - LANG_THAI - Thai
1f - LANG_TURKISH - Turkish
20 - LANG_URDU - Urdu
21 - LANG_INDONESIAN - Indonesian
22 - LANG_UKRAINIAN - Ukrainian
23 - LANG_BELARUSIAN - Belarusian
24 - LANG_SLOVENIAN - Slovenian
25 - LANG_ESTONIAN - Estonian
26 - LANG_LATVIAN - Latvian
27 - LANG_LITHUANIAN - Lithuanian
29 - LANG_FARSI - Farsi
2a - LANG_VIETNAMESE - Vietnamese
2b - LANG_ARMENIAN - Armenian
2c - LANG_AZERI - Azeri
2d - LANG_BASQUE - Basque
2f - LANG_MACEDONIAN - FYRO - Macedonian
36 - LANG_AFRIKAANS - Afrikaans
37 - LANG_GEORGIAN - Georgian
38 - LANG_FAEROESE - Faeroese
39 - LANG_HINDI - Hindi
3e - LANG_MALAY - Malay
3f - LANG_KAZAK - Kazak
40 - LANG_KYRGYZ - Kyrgyz
41 - LANG_SWAHILI - Swahili
43 - LANG_UZBEK - Uzbek
44 - LANG_TATAR - Tatar
45 - LANG_BENGALI - Not - supported.
46 - LANG_PUNJABI - Punjabi
47 - LANG_GUJARATI - Gujarati
48 - LANG_ORIYA - Not - supported.
49 - LANG_TAMIL - Tamil
4a - LANG_TELUGU - Telugu
4b - LANG_KANNADA - Kannada
4c - LANG_MALAYALAM - Not - supported.
4d - LANG_ASSAMESE - Not - supported.
4e - LANG_MARATHI - Marathi
4f - LANG_SANSKRIT - Sanskrit
50 - LANG_MONGOLIAN - Mongolian
56 - LANG_GALICIAN - Galician
57 - LANG_KONKANI - Konkani
58 - LANG_MANIPURI - Not - supported.
59 - LANG_SINDHI - Not - supported.
5a - LANG_SYRIAC - Syriac
60 - LANG_KASHMIRI - Not - supported.
61 - LANG_NEPALI - Not - supported.
65 - LANG_DIVEHI - Divehi


 
clickmaker ©   (2007-12-26 11:45) [2]

интересно, в каком случае эта функция вернет LANG_NEUTRAL?
:)


 
Rav   (2007-12-26 14:23) [3]


> function GetSystemDefaultUILanguage


Подойдет скорее всего... Где-то я уже встречал ссылку на эту функцию, но в модуле Windows ее нет, да и в справке я ее не нашел...

Спасибо!


 
Rav   (2007-12-26 14:26) [4]


> интересно, в каком случае эта функция вернет LANG_NEUTRAL

возвращает.... возвращает....
сколько софта с "кривыми" кодами языков.. ужас :-)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1220256734
Альф
2008-09-01 12:12
2008.10.26
Как работает оптимизатор размера проектов в Delphi ?


15-1220005532
ekto
2008-08-29 14:25
2008.10.26
Asus-Lamborgini ноутбук


15-1220332426
Василий Жогарев
2008-09-02 09:13
2008.10.26
DWL-2100AP


2-1221560393
ANB
2008-09-16 14:19
2008.10.26
Как изменить текст комбобокса после выбора из выпадающего списка


2-1221679625
SpinButton
2008-09-17 23:27
2008.10.26
SpinButton





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский