×

实例分析Symbian OS的本地化技术研究

消耗积分:1 | 格式:rar | 大小:0.6 MB | 2017-11-06

分享资料个

 分享到:标签:symbian OS Series60开发平台 框架 汉化
  一、引言
  Symbian OS是一种开放、非常健壮的嵌入式操作系统,它由Symbian公司开发。Symbian OS是针对未来无线互联手持设备的新一代移动系统平台,其目标是把Symbian OS开发成为未来手机的产业标准。所以它对应用程序的本地化提供了便利的条件和强有力的支持。Symbian OS内置了Unicode编码,应用程序的开发架构也将源文件与资源文件相分离。因此对于拉丁字符集,使用不同的语言文本改编应用程序应该只需改变资源文件,因为用户可视文本不会嵌入到源文件当中。但对于非拉丁语言,比如生产使用汉语、日语、朝鲜语等的应用程序,文本的本地化要复杂一些,需要做一些额外的工作。下面以Symbian OS的应用开发平台Series 60为例,在重点讲述Symbian OS对本地化支持的基础上,对应用程序的汉化加以解决。
  二、 Symbian OS应用开发平台Series 60介绍
  由于各厂商之间在用户接口、硬件设计及互通性上存在的差别及其自身的革新,Symbian OS给移动设备制造商提供很大的灵活性。这种灵活性可以使用同一个内核的操作系统设计出不同的产品,而且给设备制造商提供了更新空间,从而使得其在移动市场上支持更多的设备。Series 60平台正是基于Symbian OS的这种灵活性,在其之上进行构建。如图1所示。
  
  Series60平台的内核是Symbian OS GT(Generic Technology,通用技术)层。提供了扩展的Avkon UI层、基于Avkon和Uikon库的完整应用程序套件以及第三方GUI应用程序所使用的用户接口和框架API。
  三、 Series 60开发平台下应用程序架构对本地化的支持
  3.1 应用程序的文件架构
  在开发应用程序之前必须了解Series60平台的应用程序文件架构。Carbide C++是当前诺基亚公司为自己的S60系列智能手机应用程序开发提供的新一款IDE工具。在利用Carbide C++创建一项工程后(例如工程名为HelloWorld,程序架构为单视图),我们能看到如下的应用程序文件架构:
  
  (1)data文件夹中的.rss 文件与src中的.cpp源文件相分离,为实现应用程序本地化提供了便利的条件。后面的内容将详细剖析它的具体实现机制。
  (2)Aif文件夹中包含可选的应用程序信息文件(.aif文件),用于指定应用程序的本地化图标、标题及系统特性(如可嵌入性)。
  (3)inc文件夹中包含的是定义程序骨架类的.h头文件,和实现本地化所定义的.loc和.lXX文件。
  (4)src文件夹中包含的是.cpp源文件,实现.h中定义的类。联编时各文件之间具体的关系如图2所示
  
  3.2 应用程序框架类的关系
  与编写普通的VC MFC程序一样,必须熟悉程序中各个类之间的关系。每一个应用程序必须定义4个对象:
  l Application类定义了应用程序的属性如UID、标题并创建一个新的文档。是应用程序的主入口,它也将应用程序相关信息传递回框架。应用程序类并不涉及应用程序的数据和算法。
  l Document类描述应用程序的数据模型。对一个基于文件的应用程序,它存储和刷新应用程序的数据,响应AppUI类产生对一个文档编辑的请求。
  l AppUI是主要的用户接口类,它是大量框架所发出通知的接受者,例如用户的按键或者重要的系统事件。AppUI将处理事件本身,或者在适当地情况下,将这些事件传递给它所拥有的视图,达到处理的目的。
  l View类用于在屏幕上显示应用程序数据并允许用户与之交互。对一个复杂的程序可能有多种方法显示其数据,因此包含多个视图类。它们之间的关系如图3所示。
  可以简单地归纳为:Application类创建一个文档,文档类创建AppUI,AppUI类创建视图。从图3我们可以看到应用程序还包括一个model类,model类用于封装应用程序数据和它的算法,给程序的其他部分提供良好的API。
  

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !