代码处理方法、设备、存储介质及程序产品技术

技术编号:38350306 阅读:7 留言:0更新日期:2023-08-05 17:23
本公开实施例提供一种代码处理方法、设备、存储介质及程序产品,该方法本实施例提供的代码处理方法,通过确定待处理的代码文件的类型,并通过与代码文件的类型对应的目标加载器,获取所述代码文件的语法树;根据预设的领域特定语言从语法树中提取数据单元,数据单元包括待翻译文案及属性信息;获取待翻译文案对应的目标语种的译文,并根据译文及属性信息生成待翻译文案对应的目标语句;将代码文件中的待翻译文案替换为待翻译文案对应的目标语句,获取国际化的代码文件。通过目标加载器自动获取待翻译文案、并自动生成对应的目标语句,进而在代码文件中进行替换,实现自动代码国际化过程,提高代码项目跨语种的国际化开发效能提升以及质量保障。升以及质量保障。升以及质量保障。

【技术实现步骤摘要】
代码处理方法、设备、存储介质及程序产品


[0001]本公开实施例涉及计算机与网络通信
,尤其涉及一种代码处理方法、设备、存储介质及程序产品。

技术介绍

[0002]目前制作多语言的网页或软件,需要在开发阶段配置国际化资源,即需要对代码进行目标语言种类的文案翻译。当网页渲染或者软件运行时,根据用户选择的语言环境,以对应的语言种类进行展示。
[0003]现有技术中,在对一个应用程序的代码进行国际化时,通常需要研发人员从代码中提取出文案,再由非研发人员(产品、翻译人员)维护文案、以及翻译文案,再由研发人员根据译文实现最终的代码国际化,整个过程耗时较长、效率低下,并且文案维护较为复杂,容易出错。

技术实现思路

[0004]本公开实施例提供一种代码处理方法、设备、存储介质及程序产品,以实现自动代码国际化过程,提高代码项目跨语种的国际化开发效能提升以及质量保障。
[0005]第一方面,本公开实施例提供一种代码处理方法,包括:
[0006]确定待处理的代码文件的类型,并通过与所述代码文件的类型对应的目标加载器,获取所述代码文件的语法树;
[0007]根据预设的领域特定语言,从所述语法树中提取数据单元,所述数据单元包括待翻译文案以及属性信息;
[0008]获取待翻译文案对应的目标语种的译文,并根据所述译文以及所述属性信息生成所述待翻译文案对应的目标语句;
[0009]将所述代码文件中的待翻译文案替换为所述待翻译文案对应的目标语句,获取国际化的代码文件。
[0010]第二方面,本公开实施例提供一种代码处理设备,包括:
[0011]加载单元,用于确定待处理的代码文件的类型,并通过与所述代码文件的类型对应的目标加载器,获取所述代码文件的语法树;
[0012]提取单元,用于根据预设的领域特定语言,从所述语法树中提取数据单元,所述数据单元包括待翻译文案以及属性信息;
[0013]翻译单元,用于获取待翻译文案对应的目标语种的译文,并根据所述译文以及所述属性信息生成所述待翻译文案对应的目标语句;
[0014]还原单元,用于将所述代码文件中的待翻译文案替换为所述待翻译文案对应的目标语句,获取国际化的代码文件。
[0015]第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
[0016]所述存储器存储计算机执行指令;
[0017]所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的代码处理方法。
[0018]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的代码处理方法。
[0019]第五方面,本公开实施例提供一种计算机程序产品,包括计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的代码处理方法。
[0020]本公开实施例提供的代码处理方法、设备、存储介质及程序产品,该方法本实施例提供的代码处理方法,通过确定待处理的代码文件的类型,并通过与代码文件的类型对应的目标加载器,获取所述代码文件的语法树;根据预设的领域特定语言,从语法树中提取数据单元,数据单元包括待翻译文案以及属性信息;获取待翻译文案对应的目标语种的译文,并根据译文以及属性信息生成待翻译文案对应的目标语句;将代码文件中的待翻译文案替换为待翻译文案对应的目标语句,获取国际化的代码文件。本公开实施例通过目标加载器自动获取待翻译文案、并自动生成对应的目标语句,进而在代码文件中进行替换,实现自动代码国际化过程,提高代码项目跨语种的国际化开发效能提升以及质量保障。
附图说明
[0021]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本公开一实施例提供的一种代码处理方法的系统示例图;
[0023]图2为本公开一实施例提供的代码处理方法流程示意图;
[0024]图3为本公开一实施例提供的语法树及数据单元示意图;
[0025]图4为本公开另一实施例提供的代码处理方法流程示意图;
[0026]图5a为本公开一实施例提供的通用数据单元示意图;
[0027]图5b为本公开一实施例提供的数据单元以及国际化文案函数示意图;
[0028]图6a为本公开一实施例提供的代码处理方法的流水线代码示意图;
[0029]图6b为本公开一实施例提供的代码处理方法的流水线示意图;
[0030]图7为本公开一实施例提供的代码处理设备的结构框图;
[0031]图8为本公开一实施例提供的电子设备的硬件结构示意图。
具体实施方式
[0032]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0033]现有技术中,在对一个应用程序的代码进行国际化时,通常需要研发人员从代码
中提取出文案,再由非研发人员(产品、翻译人员)维护文案、以及翻译文案,再由研发人员根据译文实现最终的代码国际化,整个过程耗时较长、效率低下,并且文案维护较为复杂,容易出错。
[0034]针对上述技术问题,本公开提供一种代码处理方法,以实现自动代码国际化过程,不需要人工处理和维护,提高代码项目跨语种的国际化开发效能提升以及质量保障,具体的,可通过确定待处理的代码文件的类型,通过与代码文件的类型对应的目标加载器,获取代码文件中的待翻译文案;获取待翻译文案对应的目标语种的译文,并根据所述译文以及所述属性信息生成所述待翻译文案对应的目标语句,将代码文件中的待翻译文案替换为待翻译文案对应的目标语句,获取国际化的代码文件。
[0035]本公开提供的代码处理方法应用于如图1所示的系统,包括存储设备101和处理设备102,其中,存储设备101存储有待处理的代码文件夹(应用程序的代码文件夹),处理设备102可以对处理设备101的待处理的代码文件夹进行扫描获取待处理的代码文件,并确定待处理的代码文件的类型,通过与代码文件的类型对应的目标加载器,获取代码文件的语法树,根据预设的领域特定语言从语法树中提取数据单元,所述数据单元包括待翻译文案以及属性信息,获取待翻译文案对应的目标语种的译文,并生成所述待翻译文案对应的目标语句,将代码文件中的待翻译文案替换为待翻译文案对应的目标语句,得到国际化的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码处理方法,其特征在于,包括:确定待处理的代码文件的类型,并通过与所述代码文件的类型对应的目标加载器,获取所述代码文件的语法树;根据预设的领域特定语言,从所述语法树中提取数据单元,所述数据单元包括待翻译文案以及属性信息;获取待翻译文案对应的目标语种的译文,并根据所述译文以及所述属性信息生成所述待翻译文案对应的目标语句;将所述代码文件中的待翻译文案替换为所述待翻译文案对应的目标语句,获取国际化的代码文件。2.根据权利要求1所述的方法,其特征在于,在所述从所述语法树中提取数据单元后,还包括:对所述待翻译文案生成文案标识,并获取译文存储路径,将所述文案标识以及所述译文存储路径写入所述数据单元;在所述获取待翻译文案对应的目标语种的译文后,还包括:将所述译文根据所述译文存储路径进行存储,并与所述文案标识进行关联。3.根据权利要求2所述的方法,其特征在于,所述根据所述译文以及所述属性信息生成所述待翻译文案对应的目标语句,包括:根据所述数据单元中的属性信息、文案标识以及译文存储路径,生成国际化文案函数,将国际化文案函数作为所述待翻译文案对应的目标语句,其中所述国际化文案函数包括所述译文的索引信息,以用于在所述国际化文案函数运行时根据所述译文的索引信息获取所述译文。4.根据权利要求3所述的方法,其特征在于,所述根据所述数据单元中的属性信息、文案标识以及译文存储路径,生成国际化文案函数,包括:从所述属性信息中获取所述国际化文案函数中所需的目标参数;将所述目标参数、所述文案标识以及所述译文存储路径按照预设模板合成为所述国际化文案函数。5.根据权利要求1

4任一项所述的方法,其特征在于,所述将所述代码文件中的待翻译文案替换为所述待翻译文案对应的目标语句,包括:确定所述数据单元的类型,获取与所述数据单元的类型对应的预设还原策略;根据所述预设还原策略,将所述代码文...

【专利技术属性】
技术研发人员:邓敏捷
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

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

1