Microsoft子语言字符串到区域设置标识符

时间:2010-06-11 03:14:26

标签: c++ translation

我似乎找不到从子语言字符串转换或查找本地标识符的方法。该站点显示了映射:

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

我希望用户输入一个子语言字符串,例如“France(FR)”并从中获取本地标识符,在本例中为0x0484。或者反过来说,如果用户输入0x0480然后返回法语(FR)。

之前有没有人遇到过这个问题,可以指出我正确的方向吗?

否则,我将编写一些映射语句来对其进行硬编码,并在发生任何变化时维护未来版本。

BTW,我用C ++编写的Windows平台编码。 干杯

1 个答案:

答案 0 :(得分:2)

一个很好的起点是LCIDToLocaleName函数,它是相反的 - LocaleNameToLCID。请注意,这些允许在LCID和RFC4646区域设置名称之间进行转换;要获取人类可读的国家/地区和语言名称,请使用带有GetLocaleInfoEx标记的LOCALE_SENGLISH*。如果您需要本地化名称而不是英语,请改用LOCALE_SLOCALIZED *常量。