Подъязыковая строка Microsoft для идентификатора локали - PullRequest
1 голос
/ 11 июня 2010

Кажется, я не могу найти способ конвертировать или найти локальный идентификатор из строки подъязыка.На этом сайте отображаются сопоставления:

http://msdn.microsoft.com/en-us/library/dd318693(v=VS.85).aspx

Я хочу, чтобы пользователь ввел строку подъязыка, например, "Франция (FR)", и получил из нее локальный идентификатор, который вэтот случай будет 0x0484.Или наоборот, если пользователь вводит 0x0480, чтобы вернуть французский (FR).

Кто-нибудь сталкивался с этой проблемой раньше и может указать мне правильное направление?

В противном случае яЯ собираюсь написать несколько операторов сопоставления, чтобы жестко запрограммировать его и поддерживать будущие выпуски, если что-то изменится.

Кстати, я пишу код на C ++ для платформы Windows.Приветствия

1 Ответ

2 голосов
/ 11 июня 2010

Хорошей отправной точкой будет функция LCIDToLocaleName , а напротив - LocaleNameToLCID.Обратите внимание, что они позволяют преобразовывать LCID в имя локали RFC4646;чтобы получить понятные названия стран и языков, используйте GetLocaleInfoEx с флагами LOCALE_SENGLISH *.Если вам нужны локализованные имена вместо английского, используйте вместо этого константы LOCALE_SLOCALIZED *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...