Подъязык Microsoft представляет в виде строки к идентификатору локали

Я, может казаться, не нахожу способ преобразовать, или найти, локальный идентификатор от строки подъязыка. Этот сайт показывает отображения:

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

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

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

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

BTW, я кодирую в C++ для платформы Windows.Удачи

1
задан pnuts 10 November 2015 в 00:48
поделиться

1 ответ

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

2
ответ дан 2 September 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: