WINCE设备采用系统默认语言启动,如果想切换为另一种语言,就先切换并且硬件重启或是软件重启之后才有效。因为不同显示语言的切换需要重新用新语言的资源文件来创建窗口、菜单和对话框。除此之外,为了保证支持多种语言,还要确保有对应的字体和特定于本地语言环境的信息(locale-specific information)
假设我们当前的系统要支持英文、中文简体、日语和俄语,下面就介绍具体的实现步骤:
1. 添加对应的字体
英语和俄语采用的字体如下图:
图1
中文简体对应的字库如下:
图2
日语对应的字库如下图所示:
图3
2. 添加对应的locale
WINCE系统支持多种不同的locale,对每种特定locale的支持包括字体、键盘及键盘驱动、输入法编辑器(Input Method Editors,IME)和输入法(Input Methods,IMs),WINCE支持的locale如下:
· Arabic
· Chinese (Simplified)
· Chinese (Traditional)
· English (U.S.)
· English (Worldwide)
· French
· German
· Hebrew
· Indic
· Japanese
· Korean
· Thai
到“Project->Properties”,会弹出一个对话框。左侧的列表中选择”Local”,在右侧选择所要支持的语言,这里我选择了英文、中文简体、日语和俄语四种语言。在”Default Locale:”中选择系统的默认语言,这里选择的是中文,
如下图:
图4
3. 添加MUI组件
MUI组件对应”Core OS”->”CEBASE”->”International”->”Multilingual User Interface(MUI)”,如下图:
图5
4. 编译并创建MUI资源文件
选择clean sysgen重新编译工程,编译成功后,打开工程的release目录,调用createmui命令来创建多种语言的资源文件,每种语言对应一个LCID(语言代码标示符),其中英语是0409,中文简体是0804(中文繁体是0404),日语是0411和俄语是0419,命令如下:
createmui 0409,0804,0419,0411
图6
运行成功后会生成一个MultiUI.bib文件,打开该文件,拷贝所有内容到platform.bib文件MODULES部分的末尾,MutiUI.bib文件中可能包含k.coredll.dll.DLL.mui,在platform.bib文件中删除所有的k.coredll.dll.DLL.mui项。
最后重新Makeimg就可以了。
5. 验证
下载并运行WinCE,选择”控制面板”->”区域设置”->”语言”,可以看到默认的语言是中文的,如下图:
图7
选择要切换的语言,在“区域”和“语言”这两栏中选择对应的语言,然后选择ok后重启就可以了。