一种实现多语言的方法及装置的制造方法

文档序号:9375330阅读:175来源:国知局
一种实现多语言的方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件多语言化技术领域,特别是涉及一种实现多语言的方法及装置。
【背景技术】
[0002]基于微软Visual Stud1.NET平台软件开发环境开发的软件要实现多语言,基本上需要经历以下阶段:
[0003]将应用程序的可执行代码与应用程序的可本地化资源分开;
[0004]对于可本地化的资源进行整理,分离出需要翻译成其他地区的语言;
[0005]程序运行时根据不同的语言与区域设置加载不同的本地化资源。
[0006]很多软件刚开始设计的时候并没有考虑多语言,在完成以后(或即将完成时),出于种种考虑,可能又需要考虑实现多种语言。此时完成多语言势必要对已有的架构设计进行修改,很多代码要进行修改,工作量需要增加。此阶段属于以上多语言化第一阶段,通常的做法是人工遍历所有代码,从中查找出需要本地化的资源,修改现有的代码逐条保存到资源文件或数据库中,此过程将是一个耗时耗力的过程。
[0007]因此,提供一种能够简化代码查找与修改的过程,提高软件多语言化过程的效率的方法及装置是非常有必要的。

【发明内容】

[0008]本发明的目的是提供一种实现多语言的方法及装置,目的在于提高软件多语言化过程的效率。
[0009]为解决上述技术问题,本发明提供一种实现多语言的方法,包括:
[0010]读取源代码文件;
[0011]遍历所述源代码文件,在所述源代码文件中查找出源语言;
[0012]对所述源语言进行标记,生成新的源代码;
[0013]编译所述新的源代码,直到编译通过为止;
[0014]根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中。
[0015]可选地,所述读取源代码文件包括:
[0016]所述源代码文件以流的方式读入内存。
[0017]可选地,所述对所述源语言进行标记,生成新的源代码包括:
[0018]判断所述源语言是否为字符串变量,如果是,则对所述字符串变量的变量名进行标记;
[0019]如果否,则判定所述源语言为字符串常量,对所述字符串常量进行标记;
[0020]生成新的源代码。
[0021]可选地,所述判断所述源语言是否为字符串变量,如果是,则对所述字符串变量的变量名进行标记包括:
[0022]根据赋值符号判断所述源语言是否为字符串变量,如果是,则将所述字符串变量的变量名修改为以“xml_”为开头。
[0023]可选地,所述如果否,则判定所述源语言为字符串常量,对所述字符串常量进行标记包括:
[0024]如果否,则判定所述源语言为字符串常量,直接声明一个类的私有变量以“xml_”开头,将所述字符串常量替换。
[0025]可选地,所述对所述源语言进行标记,生成新的源代码进一步包括:
[0026]查找所有“xml_”开头的字符串片段,判断所述字符串片段是否为方法或属性的私有变量,如果是,则将所述字符串片段移到类的私有变量。
[0027]可选地,判断所述字符串片段是否为方法的私有变量包括:
[0028]根据关键字、代码块标记以及方法声明开始符号判断所述字符串片段是否为方法的私有变量。
[0029]可选地,所述根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中包括:
[0030]读取所述新的源代码中的字段和属性;
[0031]根据“xml_”字段,将字段名称和值按照目录结构写入资源文件。
[0032]可选地,所述根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中包括:
[0033]资源文件以命名空间为文件夹递归保存,每个文件夹保存一个资源文件。
[0034]本发明还提供了一种实现多语言的装置,包括:
[0035]读取模块,用于读取源代码文件;
[0036]查找模块,用于遍历所述源代码文件,在所述源代码文件中查找出源语言;
[0037]标记模块,用于对所述源语言进行标记,生成新的源代码;
[0038]编译模块,用于编译所述新的源代码,直到编译通过为止;
[0039]提取模块,用于根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中。
[0040]本发明所提供的实现多语言的方法及装置,通过读取源代码文件,在源代码文件中查找出源语言,进行标记后生成新的源代码,对新的源代码进行编译直到编译通过,然后根据标记的信息提取出源语言,并按照目录结构保存在资源文件中。本发明所提供的实现多语言的方法及装置,能够快速对任何需要多语言的软件进行本地化,能够减少人工查找与修改的过程,从而提高了软件多语言化过程的效率。
【附图说明】
[0041]图1为本发明所提供的实现多语言的方法的一种【具体实施方式】的流程图;
[0042]图2为本发明所提供的实现多语言的方法的另一种【具体实施方式】的流程图;
[0043]图3为本发明所提供的实现多语言的装置的一种【具体实施方式】的结构框图。
【具体实施方式】
[0044]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]本发明所提供的实现多语言的方法的一种【具体实施方式】的流程图如图1所示,该方法包括:
[0046]步骤SlOl:读取源代码文件;
[0047]步骤S102:遍历所述源代码文件,在所述源代码文件中查找出源语言;
[0048]步骤S103:对所述源语言进行标记,生成新的源代码;
[0049]步骤S104:编译所述新的源代码,直到编译通过为止;
[0050]步骤S105:根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中。
[0051]本发明所提供的实现多语言的方法,通过读取源代码文件,在源代码文件中查找出源语言,进行标记后生成新的源代码,对新的源代码进行编译直到编译通过,然后根据标记的信息提取出源语言,并按照目录结构保存在资源文件中。本发明所提供的实现多语言的方法,能够快速对任何需要多语言的软件进行本地化,能够减少人工查找与修改的过程,从而提高了软件多语言化过程的效率。
[0052]本发明所提供的实现多语言的方法的另一种【具体实施方式】的流程图如图2所示,该方法包括:
[0053]步骤S201:读取源代码文件;
[0054]在本实施例中,上述读取源代码文件的过程可以具体为:源代码文件以流的方式读入内存。
[0055]步骤S202:遍历所述源代码文件,在所述源代码中查找出源语言;
[0056]步骤S203:判断所述源语言是否为字符串变量,如果是,则对所述字符串变量的变量名进行标记;
[0057]具体地,可以根据赋值符号判断所述源语言是否为字符串变量,如果是,则将所述字符串变量的变量名修改为以“xml_”为开头。
[0058]步骤S204:如果否,则判定所述源语言为字符串常量,对所述字符串常量进行标记;
[0059]具体地,可以在判定源语言为字符串常量后,直接声明一个类的私有变量以“xml_”开头,将该字符串常量替换。
[0060]步骤S205:生成新的源代码;
[0061]步骤S206:编译所述新的源代码,直到编译通过为止;
[0062]步骤S207:根据对所述源语言进行标记的标记信息提取出源语言,并按照目录结构保存在资源文件中。
[0063]作为一种优选实施方式,本发明在对所述源语言进行标记,生成新的源代码的过程中还可以进一步包括:
[0064]查找所有“xml_”开头的字符串片段,判断所述字符串片段是否为方法或属性的私有变量,如果是,则将所述字符串片段移到类的私有变量。
[0065]其中,可以具体根据关键字、代码块标记以及方法声明开始符号判断所述字符串片段是否为方法的私有变量。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1