[发明专利]一种自动生成键值的代码国际化方法及装置有效
申请号: | 201611229623.1 | 申请日: | 2016-12-27 |
公开(公告)号: | CN106775914B | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 贾秩秋 | 申请(专利权)人: | 竞技世界(北京)网络技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京冠和权律师事务所11399 | 代理人: | 朱健,陈国军 |
地址: | 100085 北京市怀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动 生成 键值 代码 国际化 方法 装置 | ||
技术领域
本发明属于计算机网络技术领域,具体涉及一种自动生成键值的代码国际化方法及装置。
背景技术
随着软件在世界各国的广泛应用,软件处理语言的单一性给软件的普及和用户的应用带来了不便。如何使软件能够处理多种语言已成为人们关注的问题,软件的国际化是解决这一问题的有效途径。这需要每个程序员将自己开发的软件部分的源代码和资源文件分离,按照语言的不同,分成若干个资源文件,软件中一般使用Properties来存储国际化数据。Properties文件是一种用于存储Key-Value(键-值)对的属性存储文件,其中格式为:每个Key-Value对独立占一行,Key与Value之间使用等号(=)分隔;文件一般以.properties作为后缀。
一般一个Properties的文件对应于一种语言。由于Properties文件是使用Key-Value对的方式存储数据,所以一般Key用于软件程序中使用,而Value则用于对应的显示。
现有技术中公开了一种实现软件国际化的方法和装置,提取中文软件源代码中的中文字符串,并在相关位置添加调用函数;针对所提取的各个中文字符串,采用哈希算法生成所述中文字符串的哈希值;生成至少一个资源文件,所述资源文件中包括所述哈希值以及所述中文字符串对应的翻译文本串;当该中文软件执行时,根据通过调用函数获取到的中文字符串,生成所述中文字符串的哈希值,根据所述哈希值从资源文件中获取相应的翻译文本串;在该中文软件界面显示所述翻译文本串。
上述实现方式是通过中文字符串哈希值作为键进行代码国际化操作的。没有对整段文字被分割成多段的情况提供解决方案,这样就造成了翻译人员拿到的都是断句,不能结合上下文进行准确的翻译。
发明内容
为克服上述现有技术的不足,本发明提供了一种自动生成键值的代码国际化方法,包含以下步骤:
S101、获取需要进行国际代码化的内容;
S102、使用正则表达式,对中文连续字段和非中文连续字段进行分组,得到第一分组;记录第一分组中哪些是中文哪些是非中文;
S103、将第一分组通过汉字转拼音API转换为字母加声调形式,得到第二分组;
S104、将第二分组中的标点符号都替换为第一符号得到第三分组;
S105、将第三分组中的非中文区替换为第二符号,得到第四分组;
S106、连接第四分组得到该段文字的国际化键Key;
S107、将第一分组中的中文替换为国际化代码和国际化键Key的形式,并按照替换的中文的位置,分别对国际化键Key叠加中线和序号,序号从0开始,每次加1;得到第五分组;
S108、使用第五分组连接得到国际化后的代码;
S109、将第一分组中的非中文分组替换为第二符号,得到第六分组;
S110、连接第六分组得到翻译前的本国语言值Value1;
S111、将本国语言值Value1进行翻译,获得相应的国际化语言值Value2;
S112、根据翻译的国际化语言值Value2生成或修改国际化键值信息。
本发明还提供了一种自动生成键值的代码国际化装置,包括以下模块:
获取模块,用于获取需要进行国际代码化的内容;
第一分组模块,用于使用正则表达式,对中文连续字段和非中文连续字段进行分组,得到第一分组;并记录第一分组中哪些是中文哪些是非中文;
第二分组模块,用于将第一分组通过汉字转拼音API转换为字母加声调形式,得到第二分组;
第三分组模块,用于将第二分组中的标点符号都替换为第一符号得到第三分组;根据本发明的一个优选实施方式,第一符号为~,替换的标点符号包含中文的所有标点符号;
第四分组模块,用于将第三分组中的非中文区替换为第二符号,得到第四分组;
第一连接模块,用于连接第四分组得到该段文字的国际化键Key;
第五分组模块,用于将第一分组中的中文替换为国际化代码和国际化键Key的形式,并按照替换的中文的位置,分别对国际化键Key叠加中线和序号,序号从0开始,每次加1;
第二连接模块,用于使用第五分组连接得到国际化后的代码;
第六分组模块,用于将第一分组中的非中文分组替换为第二符号,得到第六分组;
第三连接模块,用于连接第六分组得到翻译前的本国语言值Value1;
翻译模块,用于将本国语言值Value1进行翻译,获得相应的国际化语言值Value2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于竞技世界(北京)网络技术有限公司,未经竞技世界(北京)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611229623.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种目标代码控制流图生成方法
- 下一篇:一种虚拟机启动的方法及系统