Windows CE 的多语言支持 MUI(Multilingual User Interface)

来源:互联网 发布:高晓松和罗振宇 知乎 编辑:程序博客网 时间:2024/06/06 04:43

Windows CE 的多语言支持 MUI(Multilingual User Interface)

Windows CE 提供了 MUI(Multilingual User Interface),用于开发多语言系统和程序

详细见 Wince帮助
Windows CE Features/International/Multilingual User Interface(MUI)

系统方面
———
PB 中创建一个工程后,菜单 Platform -> Settings,选择需要的 Locale 和 语言,
并设置默认语言,要注意的是,如果选择了东亚语言,需要把东亚语言设置为默认。

在 Catalog 窗口添加MUI、相关字体、输入法等等

sysgen 后,Open Release Directory,执行 createmui 0409 (创建英语语言的资源文
件,默认不是英语的情况下)。打开文件生成目录Emulator_X86Release,复制 multiui.bib 中的所有内容到 common.bib 的最后。然后,Make Run-Time Image

最后下载到模拟器中,记得在 Target Device Connectivity Options  中取消选中
Clear memory on soft reset。这样语言才能切换。

模拟器中wince起来以后,在控制面板的区域设置中设置语言和Locale,也可以自己调
用API,如下:

1
2
3
4
5
unsigned short SLANGID = MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED);
SetUserDefaultLCID(SLANGID);
SetSystemDefaultLCID(SLANGID);
SetUserDefaultUILanguage(SLANGID);
PostMessage(HWND_BROADCAST, WM_WININICHANGE,0, INI_INTL);
1
// EnumUILanguages 列出系统支持的语言

最后 Soft reset,系统界面的语言就改变了

应用程序方面
————
创建一个应用程序工程,把自带的资源改成中文,生成 Myapp.exe

创建一个dll工程,纯资源的。setting里link 选项加上 /NOENTRY,编译出dll文件,
改名为 Myapp.exe.0409.mui(以美国英语为例),放在myapp.exe同目录下。

这样就OK了,假设系统默认语言是中文,按前面的方法切换系统Locale和语言为英语
,soft reset后,Myapp.exe会变成英语界面,如果 Myapp.exe.0409.mui不存在,依然为中
文界面。

其他
—-
MUI的缺点是要重启程序才能改变界面,因为要重新加载资源

Soft reset 模拟器是可以,具体设备不知是否支持


http://www.zhanghu.org/2008/01/08/wince-mui/

原创粉丝点击