Win32 Api将2个字母(中性)的标识符转换为语言
Win32 Api to convert 2-letter (neutral) identifiers to Language
我需要转换一些两个字母(中性)的标识符(比如英语的en
),这样对用户更友好,比如英语。
有没有使用Win32的Api?到目前为止,我只发现LCID函数族没有帮助。
您正在查找IsValidLocaleName
、GetLocaleInfoEx
和LOCALE_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把它复制粘贴,放到地图上就可以了。
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 未声明的标识符"QVariant"将旧版Qt 4转换为5
- 代码的错误答案是在Java Camel案件和C 下划线标识符之间转换的错误答案
- 如何将目录路径转换为唯一的数字标识符 (Linux/C++)
- Win32 Api将2个字母(中性)的标识符转换为语言
- 重新解释不带类型标识符的强制转换void
- 将字符串转换为日期:找不到strptime标识符