操作系统的语言ID(Language Identifier)基本上等同于LCID(Locale Identifier,也叫做区域标识),可以认为两者是相同的。
一个LCID由主语言标识和子语言标识组成。这个如何理解呢,其实很简单:
例如:
Locale identifier | Language | Sublanguage - locale | Default code page | Language code |
---|
0x0c04 | Chinese | Hong Kong SAR | 950 | ZHH |
0x1404 | Chinese | Macao SAR | 950 | ZHM |
0x0804 | Chinese | PRC | 936 | CHS |
0x1004 | Chinese | Singapore | 936 | ZHI |
上面四个LCID,主语言标识都是0x04(Chinese),但子语言标识则各不相同,分别对应使用中文的不同地理区域(香港0x0c、澳门0x14、中国大陆0x08、新加坡0x10等等)。LCID就是这样把语言和区域同时用某个ID做了区分。
LCID有两个特殊的取值:
Identifier | Sublanguage/locale |
---|---|
0x0000 | Language-Neutral |
0x0400 | Process Default Language |
完整表格可以“Language Identifiers and Locales”为关键字在MSDN中查询浏览。
最后,如何获取当前系统的LCID呢?