| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Определить родной язык юзера |
| Автор: Limonadni Joe 26.1.2005, 20:06 | ||
Задача такая: надо определить с наибольшей вероятностью, является ли английский (без разобщения частного случая на другие языки) родным языком юзера. Всё, что смог придумать - определить установлено ли в системе больше одной раскладки клавиатуры. Если раскладок больше одной, значит юзер не англичанин. Согласно не до конца понятому мной хелпу, выглядит это так:
Может у кого-то есть ещё какие-нибудь идеи? И правильно ли я делаю то, что делаю? |
| Автор: Snowy 27.1.2005, 12:03 |
| GetLocaleStr(LOCALE_USER_DEFAULT,LOCALE_SABBREVCTRYNAME,'RUS'); Можно получить полное название или телефонный код страны... Смотри Хелп по SDK - "LCTYPE Constants" GetLocaleStr находится в SysUtils но если не хочешь его подключать - просто скопируй его оттуда - он всего строчки 4. |
| Автор: Limonadni Joe 27.1.2005, 12:56 | ||
Как я понял, в моём случае это может выглядеть так:
Locale нам задавать не обязательно - результат от этого не зависит, да и Default тоже можно опустить. |
| Автор: Snowy 27.1.2005, 14:41 |
| Точно не скажу, но скорее всего не EN, а USA. Здесь не язык, а страна. Для языка используй LOCALE_SABBREVLANGNAME. Какие должны быть точно не скажу. Но результат получается 2 буквы, так что для русского и английского должны быть RU и EN. |