[发明专利]源代码的多语言化方法及系统有效
| 申请号: | 201410076610.X | 申请日: | 2014-03-04 |
| 公开(公告)号: | CN104899010B | 公开(公告)日: | 2018-12-21 |
| 发明(设计)人: | 刘芳菲 | 申请(专利权)人: | 北京金山云网络技术有限公司;北京金山云科技有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/445 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 源代码 语言 方法 系统 | ||
本发明实施例提供的源代码的多语言化方法及系统,可以自动判断源代码的编程语言类型,根据不同的编程语言类型自动提取源代码中的原始语言文本串并获得对应的目标语言文本串,生成为目标语言版本的源代码。本发明不需要使用中间函数,因此数据的读取效率较高,也不需要编程技术人员掌握中间函数。本发明实现了多语言化的过程的自动化,处理速度较快,出错率低。自动改造完成后,根据错误提示,编程技术人员仅需要对未成功替换的原始语言文本串做修改处理即可,提高了多语言化的效率。本发明也使得编程技术人员不需要学习原来的单语言源代码,较少了工作量,加快了多语言化的工作的进程。
技术领域
本发明涉及源代码语言版本修改技术领域,特别是涉及源代码的多语言化方法及系统。
背景技术
随着电子设备的智能化和普及化,各种电子设备上的应用程序也越来越多。不同国家和地区的人通过同一款应用程序(如Facebook)进行交流的情况也越来越多。但由于不同国家和地区所使用的语言不尽相同,因此软件商还需要提供多种不同语言版本的应用程序供不同用户使用。尤其是在该国已经比较成熟和知名的软件,希望进行全球化销售时,软件厂商将面临着一个多语言化的难题,要么重新编写代码,要么对原来的源代码进行多语言化的改造。
现有的提供具有多种不同语言版本的应用程序的方法如下:
在源代码编写过程中,需要输出文本串时,使用中间函数实现多语言版本扩展。该中间函数需要首先获取当前语言类型(如中文),然后根据当前语言类型获取相应的语言文件(多语言库),从语言文件中提取匹配的文本串(如日文)以进行显示。
可见,上述方法需要编程技术人员在编程的时候就写入中间函数来获得文本串并进行显示,中间函数的写入降低了数据的读取效率,同时由于需要编程技术人员掌握中间函数并在编程过程中每遇到文本串就使用该中间函数,也造成了编写过程的缓慢和出错率高。大多数软件开始创建时,并不一定按照多语言化的长远需求进行编写,因此后期再进行多语言化时,需要编程技术人员学习原来的单语言源代码,然后在原来的单语言源代码基础上写入中间函数,进行多语言化的改造,这将造成工作量增加,拖延多语言化工作的进程。
发明内容
本发明实施例的目的在于提供一种源代码的多语言化方法及系统,以提高对源代码进行多语言化的工作效率。
为达到上述目的,本发明实施例公开了一种源代码的多语言化方法,包括:
获取原始源代码中的原始语言文本串;
获取与所述原始语言文本串对应的目标语言文本串;
生成对应存储有所述原始语言文本串和至少一个所述目标语言文本串的语言配置文件;
根据所述语言配置文件及所述原始源代码,生成目标语言版本的源代码。
优选的,还包括:将所述目标语言版本的源代码编译为所述目标语言版本的应用程序。
优选的,所述获取原始源代码中的原始语言文本串,包括:
确定原始源代码中的文本串分隔符;
获取所述原始源代码中相互对应的所述文本串分隔符之间的原始语言文本串。
优选的,所述确定原始源代码中的文本串分隔符,包括:
获得原始源代码的程序语言类型;
根据所述程序语言类型,将与所述程序语言类型匹配的文本串分隔符确定为所述原始源代码中的文本串分隔符。
优选的,所述获得原始源代码的程序语言类型,包括:
获得用户输入的原始源代码的程序语言类型;
或者,对原始源代码的程序语言类型进行识别,获得所述原始源代码的程序语言类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司;北京金山云科技有限公司,未经北京金山云网络技术有限公司;北京金山云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410076610.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带收音机功能的无线投票器
- 下一篇:一种随机数采集装置及密码芯片





