简体转多语言程序开发
第一、概述
单语言的简体中文版程序要转成多语言版本的程序在酷派WinCE手机上运行,需要改造程序代码,并且需要相关手机硬件支持。
可转成的语言版本有:英文、繁体中文、简体中文。
第二、升级手机
普通的7**CE手机暂不支持多语言版本,普通的8**CE手机也暂不支持多语言版本,只有
普通7**手机升级成
1、7**手机送硬件部门升级BIOS
2、运行引导程序
3、运行
4、运行
如果是支持多语言版本的机器,则直接从第2步开始。
第三、 改造编写程序
改造成支持英文版的程序,步骤如下:
步骤一:改造程序源码
程序源码中出现有汉字的地方,全部用字符串资源实现。(如果程序中没有汉字,则原应用
程序可以不用修改!),经过改造后,编译生成的执行文件就是多语言版本的执行程序。
范例:
如代码中出现了
::MessageBox(NULL, TEXT("请选择文件"), TEXT("提示"), MB_OK);
则需要把“选择文件”和“提示”汉字在ResourceàString TableàString TableàNew String
里加入字符串资源。
然后改造代码为:
TCHAR SZ1[80];
TCHAR SZ2[80];
LoadString(AfxGetInstanceHandle(),MESSAGE_CHOOSE_FILE,SZ1,sizeof(SZ1)/sizeof(TCHAR));
LoadString(AfxGetInstanceHandle(),MESSAGE_HINT,SZ2,sizeof(SZ2)/sizeof(TCHAR));
::MessageBox(NULL, SZ1, SZ2), MB_OK);
以上为伪码。
步骤二:创建英文资源动态库
1、用EVC新建一个纯资源DLL(不要使用MFC的DLL)。具体为:NewàWCE Dynamic-Link Library àa simple Window CE DLL Projectàfinish。
2、把原有简体程序中的*.rc和resource.h和newres.h拷贝到资源DLL的工程目录,为了区分两个资源文件,可以把*.rc文件重命名为*_ENU.rc。
3、把*_ENU.rc和resource.h和newres.h加入到这个DLL工程中。具体为:FileViewà右键*.filesàAdd Files to Projectà然后依次选择三个文件
4、编译动态连接库。一开始编译会报错误,这个时候需要删除如下地方:
//#include "res\App_Sync728.rc2" // non-Microsoft eMbedded Visual C++ edited resources
// Bitmap
//IDR_MAINFRAME BITMAP MOVEABLE PURE "res\\Cmdbar.bmp"
//IDB_TAB_NORMAL BITMAP DISCARDABLE "res\\TabN.bmp"
//IDB_TAB_SELECT BITMAP DISCARDABLE "res\\TabS.bmp"
//IDB_TAB_REPEAT_NORMAL BITMAP DISCARDABLE "res\\RepeatTabN.bmp"
//IDB_TAB_REPEAT_SELECT BITMAP DISCARDABLE "res\\RepeatTabS.bmp"
总之一个原则,哪里提示报错就把哪里的代码注释掉再继续编译,直到最后编译通过。
步骤三:中文转英文资源
在动态库源程序中,编辑*_ENU.rc文件,将所有出现中文的地方翻译成英文,最后保存。
注意:
英文一般都是首字母大写。
如果是Button按纽等控件,可能出现英文太长,则直接修改*_ENU.rc中改控件的属性。不要从简体中文版将资源改过来了。Button的属性描述为:Left Top Width Height
步骤四:编译DLL成*.exe.0409.mui
编译资源DLL,修改资源DLL生成文件的名字为*.exe.0409.mui。如果是原简体版本是动态库则为*.dll.0409.mui。
如APP_Address.exe的资源DLL名为APP_Address.exe.0409.mui。
第三、上载程序
1、上载多语言程序,
将“第二”中改造编译后的多语言版本程序,上载到手机目录。
2、上载动态库资源文件
把*.exe.0409.mui放到SystemData\app目录下或把*.dll.0409.mui放到
SystemData\Dll目录下。
注意:
这个时候如果出现目录不可写,则将“使手机目录可写”下的程序上载到手机并运行,从而开启目录可写。
第四、执行程序
在桌面直接点击执行程序或者在文件浏览下执行程序。如需选择语言则:
在手机的桌面:本机设置à本机设置à区域设定 ,选择所需语言。然后重新开启手机。
第五、说明
1、繁体的做法和英文做法一样,0409改为0404。
2、“使手机目录可写”下的程序上载到手机并运行,可以开启目录可写。
3、英文版本下控件长度位置属性,直接在英文Dll资源文件里面调整,不必修改中文简体资源。
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}