微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Symbian OS的本地化技术研究

基于Symbian OS的本地化技术研究

时间:03-23 来源:互联网 点击:

efine qtn_app_caption_string "BonjourLoc"

#define qtn_app_short_caption_string "BonjourL"

#define LABEL_TEXT "Bonjour Monde!"

同样道理,在HelloWorldLoc.l03中可以定义德语文本。

在HelloWorldLoc.loc文件中根据本地化需求包含相应的.lXX文件,例如包含定义英文字符串的HelloWorldLoc.l01文件。

#include "HelloWorldLoc.l01"

在.rss文件中包含HelloWorldLoc.loc文件,可以引用.lXX中的本地化资源。

#include “HelloWorldLoc.loc”

RESOURCE TBUF r_label_text{ buf = LABEL_TEXT;}

假如这里引用的LABEL_TEXT是HelloWorldLoc.l01中定义的英文文本:

#define LABEL_TEXT "Hello World!"

那么在Carbide C++集成开发环境下,资源编译器rcomp.exe对包含本地化资源的HelloWorldLoc.rss文件编译后,输出一个二进制资源文件 HelloWorldLoc.rsc和一个HelloWorldLoc.rsg头文件。HelloWorldLoc.rsg头文件中利用#define定义符号名R_LABEL_TEXT来引用本地化资源。如下定义:

#define R_LABEL_TEXT 0x2aa81006

在显示数据的View类的.cpp源文件中,包含HelloWorldLoc.rsg头文件,通过引用R_LABEL_TEXT就可以显示它所标识的"Hello World!"字符串。

3.4 实现应用程序的汉化技术

对于英语、法语、德语这些拉丁字符集均是通过Unicode标准进行编码,Symbian OS内置了Unicode编码,所以通过改变.loc文件中所包含的.lXX文件,可以很方便的生成不同语言文本的应用程序。在Symbian OS的\epoc32\Include\e32std.h头文件中我们可以看到定义了这些语言标识码,每种支持的语言都具有两位数字的标识码。例如英语是 01,法语是02,德语是03:

enum TLanguage

{ELangEnglish = 1, /** UK English. */

ELangFrench = 2, /** French. */

……

ELangHongKongChinese = 30, /** Hong Kong Chinese. */

ELangPrcChinese = 31, /** Peoples Republic of Chinas Chinese. */

……

}

在上面定义的标识代码中,我们可以看到对汉语的标识代码也有所定义,分别是30和31。但我们并不能简单地在.lXX文件中定义中文文本。中文文本属于非拉丁语系,对于非拉丁语言,文本的本地化要复杂一些。对于生产使用汉语、日语、朝鲜语等的应用程序,Symbian OS和Series60 SDK确实提供了一些支持,但我们需要做一些额外的工作。要解决汉字问题,必须转换我们的汉字编码。下面是实现中文本地化的具体实现方法,称之为静态方法。

首先,在.lXX文件中定义: #define LABEL_TEXT “字符串_中文”

然后将这个.lXX文件用WORD或记事本转换成UTF8编码。这里要注意,有时在转换时,会在转换生成后的文件头部添加上一个文本编辑器无法看到的标志字符,需要用edit编辑器将其打开,删除标志字符,否则编译将会出错。在.loc文件中包含.lXX文件:#include ".lXX"。在.RSS文件中定义字符串:RESOURCE TBUF r_label_text{buf=LABEL_TEXT;}

同时在.RSS文件头添加一行代码:CHARACTER_SET UTF8。在.cpp文件中,包含.rsg头文件,通过引用R_LABEL_TEXT就可以显示它所标识的"字符串_中文"字符串。

四、 Symbian OS在我国的发展前景

随着Symbian OS对本地化的进一步支持,基于Symbain OS的我国国产智能手机软件必将有所大力普及。作为一种面向未来无线通信的操作系统,一方面由于它所具有的强大功能,另一方面有世界各大移动设备商(包括其股东)的支持,还有像Intel、TI、IBM等各大公司都陆续宣布和Symbian公司合作开发无线通信设备软件应用程序,Symbian OS在我国国内将具有良好的发展前景。

参考文献

[1].Leigh Edwards Richard Barker,EMCC软件公司.Series60应用程序开发.北京.人民邮电出版社.2005年7月第1版.P29;

[2].何伟,杨宗德,张兵.Symbian OS的手机开发与应用.北京.人民邮电出版社.2006年8月第1版.P141;

[3].方银旺, 赵问道,李 欣.Symbian操作系统及其应用程序开发.计算机工程.2003年第29卷第1期.P277;

[4].王咸锋,赖斯全,吴隶章.基于NOKIA S60来电归属地查询系统的设计与实现.微计算机信息,2006:8-3,205-206;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top