代码处理方法、装置、介质及电子设备与流程

文档序号:37467931发布日期:2024-03-28 18:50阅读:18来源:国知局
代码处理方法、装置、介质及电子设备与流程

本公开涉及数据处理领域,具体地,涉及一种代码处理方法、装置、介质及电子设备。


背景技术:

1、随着网络信息技术的发展,世界各地的人们的距离被迅速拉近,应用程序也逐渐从本土化走向国际化。为了方便世界各地的人们使用,目前的应用程序可以切换已搭载的语种,切换后应用程序中的文字会切换至相应语种,这样,使得一个应用程序可以通过切换语种来适应各国的用户。

2、目前的应用程序国际化的方法,通常需要技术人员手动从代码文件中提取文案资源,之后,将文案资源采用国际化函数替换(如图1所示,将只问中文文案“toast.error('请刷新重试~');”进行国际化函数包裹后所得的文案为“toast.error($t('retry~',{},'请刷新重试~'));”)。而一个应用程序通常涉及许多处文案资源,采用手动提取文案资源的方式不仅费时费力,还容易出错。


技术实现思路

1、提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

2、第一方面,本公开提供一种代码处理方法,包括:

3、获取待处理代码文件对应的抽象语法树;

4、前序遍历所述抽象语法树,若当前遍历节点的类型属于预设类型,则根据所述当前遍历节点的类型,确定所述当前遍历节点是否包含预设语种文案;若所述当前遍历节点包含所述预设语种文案,则从所述当前遍历节点中提取所述预设语种的文案资源。

5、第二方面,本公开提供一种代码处理装置,包括:

6、获取模块,用于获取待处理代码文件对应的抽象语法树;

7、第一确定模块,用于前序遍历所述抽象语法树,若当前遍历节点的类型属于预设类型,则根据所述当前遍历节点的类型,确定所述当前遍历节点是否包含预设语种文案;提取模块,用于若所述当前遍历节点包含所述预设语种文案,则从所述当前遍历节点中提取所述预设语种的文案资源。

8、第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面提供的所述代码处理方法的步骤。

9、第四方面,本公开提供一种电子设备,包括:

10、存储装置,其上存储有计算机程序;

11、处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面提供的所述代码处理方法的步骤。

12、在上述技术方案,首先获取待处理代码文件对应的抽象语法树;然后,前序遍历该抽象语法树,若当前遍历节点的类型属于预设类型,则根据当前遍历节点的类型,确定当前遍历节点是否包含预设语种文案;若当前遍历节点包含预设语种文案,则从当前遍历节点中提取预设语种的文案资源。由此,可以实现文案资源的自动提取,不但提取效率高,而且不易出错。另外,只对抽象语法树中属于预设类型的节点进行预设语种文案检索,而非检索抽象语法树的每一节点,可以进一步提升文案资源的提取效率。此外,使用抽象语法树进行文案检索,可以保证待处理代码文件的所有内容均被正确表达且检索不会发生遗漏,提高了本方案的可实施性。

13、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。



技术特征:

1.一种代码处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述当前遍历节点的类型,确定所述当前遍历节点是否包含预设语种文案,包括:

3.根据权利要求2所述的方法,其特征在于,所述当前遍历节点的类型属于函数调用类型,其中,所述第一类型包括所述函数调用类型;

4.根据权利要求3所述的方法,其特征在于,所述根据所述函数调用模式,确定所述当前遍历节点的调用函数名,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据所述函数调用模式和所述调用函数名,提取待处理代码文件中与所述当前遍历节点对应的目标代码段,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述函数调用模式和所述调用函数名,确定所述目标代码段在所述待处理代码文件中的起始位置,包括:

7.根据权利要求6所述的方法,其特征在于,所述起始字符坐标通过以下方式确定:

8.根据权利要求3所述的方法,其特征在于,所述根据所述调用函数名,从所述目标代码段中提取直接调用表达式,包括:

9.根据权利要求2所述的方法,其特征在于,所述当前遍历节点的类型属于字符串类型或jsx文本类型,其中,所述第一类型包括所述字符串类型和所述jsx文本类型;

10.根据权利要求2所述的方法,其特征在于,所述当前遍历节点的类型属于标签函数类型,其中,所述第二类型包括所述标签函数类型;

11.根据权利要求2所述的方法,其特征在于,所述当前遍历节点的类型属于jsx标签类型,其中,所述第二类型包括所述jsx标签类型;

12.根据权利要求1所述的方法,其特征在于,所述预设类型包括jsx文本类型;

13.根据权利要求12所述的方法,其特征在于,所述方法还包括:

14.一种代码处理装置,其特征在于,包括:

15.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-13中任一项所述方法的步骤。

16.一种电子设备,其特征在于,包括:


技术总结
本公开涉及一种代码处理方法、装置、介质及电子设备。方法包括:获取待处理代码文件对应的抽象语法树;前序遍历抽象语法树,若当前遍历节点的类型属于预设类型,则根据当前遍历节点的类型,确定当前遍历节点是否包含预设语种文案;若当前遍历节点包含预设语种文案,则从当前遍历节点中提取预设语种的文案资源。由此,可以实现文案资源的自动提取,不但提取效率高,而且不易出错。另外,只对抽象语法树中属于预设类型的节点进行预设语种文案检索,而非检索抽象语法树的每一节点,可以进一步提升文案资源的提取效率。此外,使用抽象语法树进行文案检索,可保证待处理代码文件的所有内容均被正确表达且检索不会发生遗漏,提高本方案的可实施性。

技术研发人员:杨杉
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1