Win32 Api将2个字母(中性)的标识符转换为语言

Win32 Api to convert 2-letter (neutral) identifiers to Language

本文关键字:标识符 转换 语言 中性 Api 2个 Win32      更新时间:2023-10-16

我需要转换一些两个字母(中性)的标识符(比如英语的en),这样对用户更友好,比如英语。

有没有使用Win32的Api?到目前为止,我只发现LCID函数族没有帮助。

您正在查找IsValidLocaleNameGetLocaleInfoExLOCALE_SLANGUAGE/LOCALE_SLOCALIZEDLANGUAGENAME/LOCALE_SENGLISHLANGUAGENAME,它们在WinNls.h中定义为:

#define LOCALE_SLOCALIZEDDISPLAYNAME  0x00000002   // localized name of locale, eg "German (Germany)" in UI language
#if (WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006f   // Language Display Name for a language, eg "German" in UI language
#endif //(WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SENGLISHLANGUAGENAME   0x00001001   // English name of language, eg "German"
#define LOCALE_SNATIVELANGUAGENAME    0x00000004   // native name of language, eg "Deutsch"

(取决于操作系统版本和您的要求)。

注意:XP只使用LCID

这里有一个表:http://www.lingoes.net/en/translator/langcode.htm把它复制粘贴,放到地图上就可以了。