Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Язык системы [D7, WinXP]


Seldon ©   (2004-01-07 14:07:00) 

Здрасьте!
Как узнать, какой язык используется в системе. Т.е. если русский получить 1049, если английский - 1033 и т.д.


Игорь Шевченко   (2004-01-08 14:21:00) [1]

Seldon   (07.01.04 18:46)


> определять какой язык интерфейса используется в самой ОС.


GetSystemDefaultUILanguage


> - определять какой язык выбран в 'Язык и региональные стандарты\Языковые
> стандарты и форматы'


GetUserDefaultUILanguage


Nomolos   (2004-01-08 00:00:00) [2]

В FAQ этот вопрос видел. Скачай из кладовки.


Seldon   (2004-01-07 18:46:00) [3]

Согласен, вопрос слишком размыт. Уточняю:
интерфейс моей программы изначально сделан на русском языке. Но есть возможность загружать другие языки интерфейса из внешних файлов. И я хочу, чтобы программа при первом старте определяла, использовать стандартный язык интерфейса (русский), либо загружать какой-нибудь внешний. Тут на мой взгляд два правильных пути:
- определять какой язык интерфейса используется в самой ОС.
- определять какой язык выбран в 'Язык и региональные стандарты\Языковые стандарты и форматы'
Хотелось бы узнать, как это сделать.


Юрий Зотов   (2004-01-07 16:33:00) [4]

"Система" есть совокупность драйверов, программ, библиотек и других файлов. В них зашиты меню, диалоговые сообщения и прочие ресурсы. На каком языке они сделаны - такой и используется в системе.

Запросто может получиться, что часть этих ресурсов выполнена на английском языке, а другие части - на русском, немецком или даже китайском. Скажем, вот прямо сейчас я пишу этот текст на машине, где именно так и сделано.

Один из этих языков назначен пользователем, как язык по умолчанию, но это вовсе не означает, что только он и используется в системе. Используются ВСЕ имеющиеся в ней языки, а назначенный пользователем язык по умолчанию всего лишь означает, что для ДАННОГО пользователя именно такая раскладка клавиатуры будет включаться для каждой программы при ее запуске. Но только при запуске - а для каждой УЖЕ запущенной программы действует последний включенный в ней язык. Причем совершенно не обязательно один из двух - современные Windows могут поддерживать хоть десяток языков одновременно.

Заметьте, что:
1. Язык по умолчанию может быть у каждого пользователя свой.
2. Каждая программа в каждый момент времени может использовать свой собственный язык.
3. Разные программы могут одновременно использовать разные языки
4. Количество поддерживаемых системой языков довольно велико.

Поэтому вопрос "какой язык используется в системе" надо бы уточнить. С учетом того, что в системе может одновременно использоваться несколько языков.


Наверх

Титульная страница Поиск, карта сайта Написать письмо