Я, может казаться, не нахожу способ преобразовать, или найти, локальный идентификатор от строки подъязыка. Этот сайт показывает отображения:
http://msdn.microsoft.com/en-us/library/dd318693 (v=VS.85) .aspx
Я хочу, чтобы пользователь ввел строку подъязыка, такую как "Франция (FR)" и получил локальный идентификатор от этого, которое в этом случае было бы 0x0484. Или наоборот, если пользователь вводит 0x0480 затем для возврата французского языка (FR).
Кто-либо встретился с этой проблемой прежде и может указать на меня в правильном направлении?
Иначе я собираюсь быть записью нескольких отображающихся операторов, чтобы трудно кодировать его и поддержать будущие выпуски, если что-нибудь изменяется.
BTW, я кодирую в C++ для платформы Windows.Удачи
Хорошей отправной точкой будет функция LCIDToLocaleName и ее противоположность - LocaleNameToLCID. Обратите внимание, что они позволяют конвертировать между LCID и именем локали RFC4646; чтобы получить человекочитаемые названия стран и языков, используйте GetLocaleInfoEx с флагами LOCALE_SENGLISH*. Если вам нужны локализованные названия вместо английских, используйте вместо них константы LOCALE_SLOCALIZED*.