一种实现国际化软件的方法和系统技术方案

技术编号:11787672 阅读:55 留言:0更新日期:2015-07-29 11:41
本发明专利技术实施例公开了一种实现国际化软件的方法和系统,该方法包括:收用户界面(UI)层传入的用户请求;获取语言标识,并根据所述语言标识所述请求参数进行译码,得到译码后的参数;将所述译码后的参数传输至业逻辑层;接收所述业务逻辑层根据所述译码后的参数进行业务逻辑处理后返的数据对象;将所述数据对象根据所述语言标识进行译码,得到译码后的数对象;将所述译码后的数据对象传输至所述UI层。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种实现国际化软件的方法和系统
技术介绍
国际化是设计和制造适应不同区域要求产品的一种方式。目前软件系统的国际化趋势越来越重要,许多软件系统都要求支持各种语言。但是,在国际化的设计中,通常是针对每种语言将软件系统进行分流开发,需要投入太大成本,且后期维护困难;而且,各种语言版本的软件系统使用风格不一样,也会造成多种不同语言版本的内容,甚至业务逻辑都会出现不同,使软件系统的通用性和扩展性都变得很差。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种实现国际化软件的方法和系统,不但能满足多语言版本之间风格和逻辑有差异的要求,而且能提高研发效率,降低维护成本,具有良好的扩展性和灵活度。为达到上述目的,本专利技术的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种实现国际化软件的方法,所述方法包括:接收用户界面(UI, User Interface)层传入的用户请求,所述用户请求包括请求参数;获取语言标识,根据所述语言标识对所述请求参数进行译码,得到译码后的参数;将所述译码后的参数传输至业务逻辑层;接收所述业务逻辑层根据所述译码后的参数进行业务逻辑处理后返回的数据对象;根据所述语言标识对所述数据对象进行译码,得到译码后的数据对象;将所述译码后的数据对象传输至所述π层。根据第一种可能的实现方式,结合第一方面,所述根据所述语言标识对所述请求参数进行译码,得到译码后的参数,包括:通过反射编程方法,获取所述请求参数的属性;其中,所述请求参数的属性包括所述请求参数的资源标识;根据所述语言标识以及所述请求参数的资源标识查询第一映射关系,获取所述请求参数的资源信息,并将所述请求参数的资源信息作为译码后的参数;其中,所述第一映射关系包括所述语言标识、所述请求参数的资源标识和所述请求参数的资源信息之间的对应关系。根据第二种可能的实现方式,结合第一方面,将所述数据对象根据所述语言标识进行译码,得到译码后的数据对象,包括:通过反射编程方法,获取所述数据对象的属性;其中,所述数据对象的属性包括所述数据对象的资源标识;根据所述语言标识以及所述数据对象的资源标识查询第二映射关系,获取所述数据对象的资源信息,并将所述数据对象的资源信息作为所述译码后的数据对象;其中,所述第二映射关系包括所述语言标识、所述数据对象的资源标识和所述数据对象的资源信息之间的对应关系。根据第三种可能的实现方式,结合第一方面,所述方法还包括:所述Π层接收到所述译码后的数据对象之后,将所述译码后的数据对象进行展/Jn ο第二方面,本专利技术实施例提供了一种计算机可读存储介质,所述存储介质包括一组指令,当执行所述指令时,引起至少一个处理器执行与第一方面中任一项所述方法对应的操作。第三方面,本专利技术实施例提供了一种实现国际化软件的系统,所述系统包括位于UI层和业务逻辑层之间的代理层所述代理层包括:接收单元、获取单元、译码单元和传输单元;其中,所述接收单元,用于接收Π层传入的用户请求,所述用户请求中包括请求参数;还用于接收所述业务逻辑层根据译码后的参数进行业务逻辑处理后返回的数据对象;所述获取单元,用于获取语言标识;所述译码单元,用于根据所述语言标识对所述请求参数进行译码,得到译码后的参数;还用于根据所述语言标识对所述数据对象进行译码,得到译码后的数据对象;所述传输单元,用于将所述译码后的参数传输至业务逻辑层;还用于将所述译码后的数据对象传输至所述Π层。根据第一种可能的实现方式,结合第三方面,所述译码单元用于,通过反射编程方法,获取所述请求参数的属性;其中,所述请求参数的属性包括所述请求参数的资源标识;根据所述语言标识以及所述请求参数的资源标识查询第一映射关系,获取所述请求参数的资源信息,并将所述请求参数的资源信息作为译码后的参数;其中,所述第一映射关系包括所述语言标识、所述请求参数的资源标识和所述请求参数的资源信息之间的对应关系。根据第二种可能的实现方式,结合第三方面,所述译码单元用于,通过反射编程方法,获取所述数据对象的属性;其中,所述数据对象的属性包括所述数据对象的资源标识;根据所述语言标识以及所述数据对象的资源标识查询第二映射关系,获取所述数据对象的资源信息,并将所述数据对象的资源信息作为所述译码后的数据对象;其中,所述第二映射关系包括所述语言标识、所述数据对象的资源标识和所述数据对象的资源信息之间的对应关系。根据第三种可能的实现方式,结合第三方面,所述系统还包括:展示单元,位于所述Π层,用于接收到所述译码后的数据对象之后,将所述译码后的数据对象进行展示。本专利技术实施例所提供的一种实现国际化软件的方法和系统,在软件系统的UI层和业务逻辑层之间设置代理层,将Π层向业务逻辑层传入的参数、以及业务逻辑层向Π层返回的数据对象进行统一的译码处理,不但能满足多语言版本之间风格和逻辑有差异的要求,而且能提高研发效率,降低维护成本,具有良好的扩展性、通用性和灵活度。【附图说明】图1为软件系统三层架构模型的示意图;图2为本专利技术实施例提出的软件系统的架构模型示意图;图3为本专利技术实施例提出的实现国际化软件的方法流程示意图;图4为本专利技术实施例提供的映射关系不意图;图5为本专利技术实施例提供的一种实现国际化软件的系统的结构示意图;图6为本专利技术实施例提供的另一种实现国际化软件的系统的结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。在软件系统架构中,通常使用如图1所示的三层架构模型,从上到下依包括:UI层11,业务逻辑层12和数据访问层13 ;其中,Π层11,主要是指与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据;业务逻辑层12,为Π层11和数据访问层13之间的桥梁,用于实现业务逻辑;所述业务逻辑可以包含:验证、计算、业务规则等等;数据访问层13,用于直接操作数据库,主要实现对数据的增、删、改、查等更新操作;可以理解的,数据访问层13不仅将存储在数据库中的数据提交给业务逻辑层12,同时也将业务逻辑层12处理后的数据保存到数据库中。在图1中,这三层下方的圆柱体可以表示各种类型的数据库,例如:微软(MS,Microsoft)的结构化查询语言(SQL, Structured Query Language)数据库(DB,Database)和甲骨文(Oracle)数据库等,各层的具体作用为本领域技术人员的常规技术手段,在此不再赘述。三层架构模型可以实现软件系统高内聚低耦合的要求,当面对软件国际化的要求时,本专利技术实施例在如图1所示架构的基础上,在π层11和业务逻辑层12之间增加设置了代理层14,如图2所示,代理层14可以用于将Π层11向业务逻辑层12传入的参数、以及业务逻辑层12向Π层11返回的数据对象进行统一的译码处理。参见图3,为本专利技术实施例提供的一种实现国际化软件的方法,结合图2所示的软件架构进行说明,该方法可以包括:S301:接收Π层传入的用户请求;示例性的,当软件的UI层接收到用户发送的用户请求时,例如:对控件的操作、对文本框的输当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种实现国际化软件的方法,其特征在于,所述方法包括:接收用户界面UI层传入的用户请求,所述用户请求包括请求参数;获取语言标识,根据所述语言标识对所述请求参数进行译码,得到译码后的参数;将所述译码后的参数传输至业务逻辑层;接收所述业务逻辑层根据所述译码后的参数进行业务逻辑处理后返回的数据对象;根据所述语言标识对所述数据对象进行译码,得到译码后的数据对象;将所述译码后的数据对象传输至所述UI层。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨帝海
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1