本申请涉及数据处理,尤其涉及一种代码的国际化处理方法、装置、电子设备和存储介质。
背景技术:
1、在软件开发中,特别是涉及到多语言支持的项目开发,开发者在开发时文本的使用语言与前端需要展示的语言不同(例如文本使用中文,但需要展示英文或韩文等),因此在开发过程中对代码文件进行国际化处理(例如i18n,internationalization的首末字符i和n,18为中间的字符数)是一个非常重要的环节。
2、目前,传统的国际化处理方法是在代码开发过程中,开发者手动对代码文件中的中文文本进行国际化处理,在代码量大、更新频繁的项目中,这种方式效率低且容易出错。
技术实现思路
1、本申请提供一种代码的国际化处理方法、装置、电子设备和存储介质,用以解决代码文件中的部分文本需要手动进行国际化处理,操作繁琐、效率低、易出错的问题。
2、第一方面,本申请实施例提供一种代码的国际化处理方法,包括遍历源代码文件,查找所述源代码文件中的待国际化处理部分;
3、确定所述待国际化处理部分对应的翻译标识信息;
4、创建所述翻译标识信息的国际化函数;
5、将所述源代码文件中的所述待国际化处理部分替换为所述国际化函数。
6、在一种可能的实现方式中,所述遍历源代码文件,查找所述源代码文件中的待国际化处理部分,包括:
7、基于babel解析器获取所述源代码文件中的源代码的抽象语法树表达;
8、遍历源代码的抽象语法树的各个节点,通过所述抽象语法树的各个节点查找所述待国际化处理部分。
9、在一种可能的实现方式中,所述将所述源代码文件中的所述待国际化处理部分替换为所述国际化函数之后,还包括:
10、基于babel解析器获取所述国际化函数的抽象语法树表达;
11、基于所述国际化函数的抽象语法树表达,更新所述抽象语法树;
12、将更新后的所述抽象语法树转换为目标代码,输出所述目标代码。
13、在一种可能的实现方式中,所述确定所述待国际化处理部分对应的翻译标识信息之前,还包括:
14、基于正侧表达式检测所述源代码文件的待国际化处理部分,提取所有检测到的所述待国际化处理部分;
15、形成所述待国际化处理部分的翻译json文件,所述翻译json文件包括所述待国际化处理部分以及所述待国际化处理部分对应的翻译标识信息;
16、所述确定所述待国际化处理部分对应的翻译标识信息的步骤包括:
17、从所述翻译json文件中确定所述待国际化处理部分对应的翻译标识信息。
18、在一种可能的实现方式中,所述遍历源代码文件,查找所述源代码文件中的待国际化处理部分之前,还包括:
19、通过webpack获取配置文件,并基于所述配置文件构建代码的国际化处理项目,所述配置文件包括源代码文件的文件路径以及翻译json文件的指定路径;
20、根据所述配置文件中源代码文件的文件路径获取所述源代码文件。
21、在一种可能的实现方式中,
22、在webpack中添加所述国际化函数对应的国际化插件。
23、第二方面,本申请实施例还提供一种代码的国际化处理装置,所述装置包括:
24、查找模块,用于遍历源代码的抽象语法树节点,查找所述源代码中的待国际化处理部分;
25、确定模块,用于确定所述待国际化处理部分对应的翻译标识信息;
26、创建模块,用于创建所述翻译标识信息的国际化函数;
27、处理模块,用于将所述待国际化处理部分替换为所述国际化函数。
28、第三方面,本申请实施例还提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
29、所述存储器用于存储计算机执行指令;
30、所述处理器执行所述存储器存储的计算机执行指令,实现如上第一方面和/或第一方面各种可能的实施方式。
31、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上第一方面和/或第一方面各种可能的实施方式。
32、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面和/或第一方面各种可能的实施方式。
33、本申请提供的代码的国际化处理方法、装置、电子设备和存储介质,通过遍历源代码文件,查找到源代码文件中的待国际化处理部分;再根据待国际化处理部分对应的翻译标识信息,创建翻译标识信息的国际化函数;将源代码文件中的待国际化处理部分替换为国际化函数,实现在源代码文件中的待国际化处理部分自动插入国际化函数,无需在编写代码过程中,在待国际化处理部分手动插入国际化函数,适用于代码量大、更新频繁的软件开发项目中,国际化处理效率高,且不易于出错。
1.一种代码的国际化处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的国际化处理方法,其特征在于,所述遍历源代码文件,查找所述源代码文件中的待国际化处理部分,包括:
3.根据权利要求2所述的国际化处理方法,其特征在于,将所述源代码文件中的所述待国际化处理部分替换为所述国际化函数之后,还包括:
4.根据权利要求1所述的国际化处理方法,其特征在于,所述确定所述待国际化处理部分对应的翻译标识信息之前,还包括:
5.根据权利要求1至4任一项所述的国际化处理方法,其特征在于,所述遍历源代码文件,查找所述源代码文件中的待国际化处理部分之前,还包括:
6.根据权利要求1至4任一项所述的国际化处理方法,其特征在于,
7.一种代码的国际化处理装置,其特征在于,所述装置包括:
8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机执行指令,所述计算机执行指令被处理器执行时实现如权利要求1至6任一项所述的方法。
