window国际化文案( 二 )


if(uage()==(,))
((,));
在 XP简体中文版下 , 非程序的语言为“中文(中国)” , 代码页转换表有包含“US-ASCII” , 在 7下未找到“代码页转换表” , 使用和(注:静态链接然后到XP下测试的)都能将用户界面语言设置成“英文(美国)” , 如下图所示:
改变“控制面板”里面的“区域选项”语言为“英语(美国)” , 则显示成问号 , 原因在于设置的语言与“区域选项”里面的语言一样 , 若是一样 , 则不操作 , 如下图所示:
在此中英文版本资源下 , 在中英文系统语言环境下 , 就会自动切换不同语言资源 , 然后在另外系统语言环境下(如:日语) , 就设定程序语言为英文(英文在大多数系统下都支持) , 代码如下:(未能完全测试)
if ((GetSystemDefaultLangID() != MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)) &&(GetSystemDefaultLangID() != MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US))){OSVERSIONINFO ovs;ovs.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);if (::GetVersionEx(&ovs)){if (ovs.dwPlatformId == VER_PLATFORM_WIN32_NT && ovs.dwMajorVersion >= 6 &&ovs.dwMinorVersion >= 0){SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));}elseSetThreadLocale(MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT));}}
参考资料:
1.编写 Win32 多语言用户界面应用程序
2.
%28VS.85%29.aspx
3.
%28VS.85%29.aspx
4.语言标识符常量和字符串
%28VS.85%29.aspx
5.的如何确定load哪个语言的资源?