一种软件系统国际化资源的处理方法

文档序号:8527998阅读:384来源:国知局
一种软件系统国际化资源的处理方法
【技术领域】
[0001]本发明涉及信息处理领域,尤其涉及一种软件系统国际化资源的处理方法。
【背景技术】
[0002]随着经济全球化程度的日益提高,软件行业逐渐采用国际统一的标准。在软件系统的设计和开发过程中,如何实现软件国际化,使软件系统能够处理多种语言和文化习俗,满足不同地区、不同客户的需求,成为软件行业亟待解决的一个问题。
[0003]目前,软件系统国际化一般都是通过properties文件存储不同语言的国际化资源,properties文件存储在服务器上。当客户端发起请求时,服务端根据客户端请求中的语言类型参数,提供对应的国家化资源文件给客户端下载;客户端将下载的资源恩见放在缓存中根据版本号判断是否需要更新资源文件。这种方法存在以下弊端=(I)Properties文件的数据格式为键-值对,与普通文本文件的内容格式差异很大,不易阅读,也不方便直接快速地查询、新增、修改、删除文件中的内容,对没有程序开发经验的人员来说,很难按照需求快速、准确地修改properties文件内容;(2)服务端的错误信息、验证信息以及日志信息一般都存放字properties文件中,而客户端脚本里面的国际化处理一般都放在客户端的脚本定义里,服务端和客户端是两套不同的国际化实现,从而存在国际化资源内容不能重用和重复定义、增加工作量以及后期维护难登问题;(3)资源文件的版本号和整个软件的版本号绑定,当软件版本升级时,即使properties文件内容没有任何改变,所有客户端也会从服务端重新下载资源文件,占用较多的网络宽带,影响用户的体验;(4)国际化资源文件存储在硬盘上,若需要备份,需以手动的方式或者编写比较复杂的程序完成。

【发明内容】

[0004]本发明解决的问题是提供方法一种软件系统国际化资源的处理方法,不仅提供可视化的界面操作资源文件,自动备份国际化资源内容,还实现服务端和客户端国际化信息的共享和互用。
[0005]为了解决上述问题,本发明提供了一种软件系统国际化资源的处理方法,包括如下步骤:
[0006](I)客户端向服务端发起处理所述国际化资源的请求;
[0007](2)所述服务端接收所述请求,并将所述国际化资源的文件在所述服务端中的哈希值与所述国际化资源的文件在所述客户端的哈希值进行比较;
[0008](3)若所述国际化资源文件在所述客户端和服务端中的哈希值不相等,则从所述服务端中下载所述国际化资源文件到所述客户端;若所述国际化资源文件在所述客户端和服务端中的哈希值相等,则从所述客户端的缓存中加载所述国际化资源文件;
[0009](4)所述客户端将所述下载的国际化资源文件进行解析,并缓存在所述客户端。
[0010]上述所述一种软件系统国际化资源的处理方法,其中,客户端向服务端发起请求之前,确定所述国际化资源的哈希值,其过程为:
[0011](I)建立资源数据表,所述资源数据表用于存储所述国际化资源的内容;
[0012](2)将所述资源数据表中的所有所述国际化资源的内容进行可视化;
[0013](3)按照语言分类规则,查询所述请求的国际化资源内容,并将其写入资源文件;
[0014](4)计算所述资源文件的哈希值,并将所述哈希值存入数据库中。
[0015]上述所述一种软件系统国际化资源的处理方法,其中,所述国际化资源的内容为语言类别、资源代码以及国际化资源值。
[0016]上述所述一种软件系统国际化资源的处理方法,其中,对所述资源数据表中的所有所述国际化资源的内容进行可视化的过程为:通过数据库查询语句查询出所述资源数据表中所有的内容;将所述所有内容与可视化界面上的元素绑定,并在所述可视化界面上显示所述所有内容。
[0017]上述所述一种软件系统国际化资源的处理方法,其中,所述哈希值为MD5哈希值。
[0018]上述所述一种软件系统国际化资源的处理方法,其中,根据定义的规则,定时备份所述国际化资源的资源文件内容。
[0019]上述所述一种软件系统国际化资源的处理方法,其中,所述服务端接收所述请求时,读取所述国际化资源的资源文件内容,并缓存在所述服务端中,以及用国际化资源文件中的内容替换所述服务端中对应的需国际化的内容。
[0020]上述所述一种软件系统国际化资源的处理方法,其中,所述服务端中需国际化的内容为所述服务端中的日志信息,提示信息、警告信息、错误信息以及所述服务端页面中的字符串常量。
[0021]上述所述一种软件系统国际化资源的处理方法,其中,根据所述解析的国际化资源的内容,所述客户端替换所述客户端界面中需国际化显示的内容。
[0022]与现有技术相比,本发明通过比较客户端和服务端的国际化资源文件的哈希值,判断国际化资源文件是否有更新,避免客户端重复下载国际化资源,释放了网络宽带,提升了用户的体验;
[0023]进一步地,引入资源数据表,保存了语言类别、资源代码和国际化资源值,并采用可视化界面,方便新增、修改、删除和检索国际化资源文件内容,方便用户快速地配置国际化内容;
[0024]进一步地,服务端和客户端共享相同的资源文件,达到服务端和客户端资源文件的统一定义、公用,减少重复工作,节省维护成本;
[0025]进一步地,采用数据库方式存储国际化资源文件内容,通过数据库的策略,定期自动备份。
【附图说明】
[0026]图1所示为本发明实施例一种软件系统国际化资源的处理方法的流程示意图;
[0027]图2所示为本发明实施例确定国际化资源的哈希值的流程示意图。
【具体实施方式】
[0028]在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
[0029]其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
[0030]下面结合附图和实施例对本发明一种软件系统国际化资源的处理方法进行详细地描述。本发明实施例软件系统国际化资源处理方法如图1所示,首先,执行步骤Si,客户端向服务端发起处理所述国际化资源的请求。其中,所述客户端向所述服务端发起请求之前,确定所述国际化资源的哈希值,如图2所示,首先,执行步骤S201,建立资源数据表,所述资源数据表用于存储所述国际化资源的内容。其中,所述国际化资源的内容为语言类另O、资源代码以及国际化资源值。具体地,在本实施例中,将所述语言类别、资源代码以及国际化资源值进行一一对应,比如:语言类别为zh-CN,资源代号和资源值分别为Country.China和中国;语言类别为en_US,资源代号和资源值分别为Country.China和China ;语言类别为zh-CN,资源代号和资源值分别为Country.America和美国;语言类别为en_US,资源代号和资源值分别为Country.America和America。
[0031]接着,执行步骤S202,将所述资源数据表中的所有所述国际化资源的内容进行可视化。具体地,对所述资源数据表中的所有所述国际化资源的内容进行可视化的过程为:通过数据库查询语句查询出所述资源数据表中所有的内容;将所述所有内容与可视化界面上的元素绑定,并在所述可视化界面上显示所述所有内容。在本实施例中,通过数据库的SQL (Structure Query Language,结构化查询语言)查询出所述步骤S201中所定义的资源数据表中所有的内容,将所述查询中的资源数据表中的所有内容和可视化界面上的元素(资源代号,资源值,语言类别)绑定,在所述可视化界面上展现出在所述资源数据表中查询出的内容。然后,对所述界面上表格中的每条数据,根据实际的需要,点击编辑按钮和删除按钮,编辑和删除展现在所述界面上展现的资源数据表中的数据。所述可视化界面上的表格的右边设置有三个文本输入框,在所述文本输入框中可以输入用户所需要录入的资源代号、资源值和语言类别,点击保存按钮,将上述输入在文本输入框中的数据保存到资源数据表中;点击重置按钮,清空所述文本输入框中的所有的值。
[0032]接着,执行步骤S203,按照语言分类规则,查询所述请求的国际化资源内容,并将其写入资源文件。具体地,在本实施例中,运用结构化查询语言语句,按照语言类别分组查询出所述请求的国际化资源内容。然后,通过C#操作文件的输入输出接口的方法,将上述查询出的结果(所述结果的格式为“资源代号=资源值”)写入资源文件。所述资源文件为一种文本文件,按照键-值对的方式存储内容,后缀名为.properties,文件命名方式为“语言.properties”。在本实施例中,基于上述的资源数据表中的内容,导出生成“en_US.properties” 和 “zh_CN.properties” 两个资源文件。
[0033]接着,执行步骤S204,计算所述资源文件的哈希值,并将所述哈希值存入数据库中。其中,所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1