代码文件生成方法、计算机设备及可读存储介质

文档序号:1936820 发布日期:2021-12-07 浏览:14次 >En<

阅读说明:本技术 代码文件生成方法、计算机设备及可读存储介质 (Code file generation method, computer device and readable storage medium ) 是由 安晓普 王雄斌 曹梦飞 原帅 王家尧 张磊 于 2021-08-17 设计创作,主要内容包括:本申请实施例提供一种代码文件生成方法、计算机设备及可读存储介质。该方法包括:获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串;根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本;对照文件用于指示目标项目相关的关键字的值在多种语言类型下的翻译文本;根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。能够降低国际化代码文件的生成成本,提高国际化代码文件的创建效率。(The embodiment of the application provides a code file generation method, computer equipment and a readable storage medium. The method comprises the following steps: acquiring an original code file of a target project; the original code file comprises a plurality of key value pairs, wherein each key value pair comprises a keyword and a value of the keyword, and the value of the keyword is a character string of a first language type; determining the translation text of each character string of the first language type in the original code file under multiple language types according to the comparison file; the comparison file is used for indicating the translated text of the values of the keywords related to the target project under multiple language types; and generating a code file corresponding to each language type in the multiple language types according to the translated text of each character string of the first language type under the multiple language types and the original code file. The generation cost of the internationalized code file can be reduced, and the creation efficiency of the internationalized code file can be improved.)

代码文件生成方法、计算机设备及可读存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种代码文件生成方法、计算机设备及可读存储介质。

背景技术

计算机运行所需要的一些脚本通常包括键值对,键值对包括key和value,其中,key可以是参数名称,value可以是参数值。当对接一些国际化项目时需要对脚本进行国际化适配处理,将脚本转化成国际化脚本(或国际化代码文件)。对脚本的国际化适配处理主要涉及value的翻译。例如,键值对中的value为“时间”,可以将“时间”翻译成“time”,生成国际化脚本。

目前,主要依靠编程人员人工手动编写国际化文件,将value编译成英文等其他国家的语言。但这种方式要投入大量的人力成本,花费较多的时间,效率很低。

发明内容

本申请实施例提供一种代码文件生成方法、计算机设备及可读存储介质,能够降低国际化代码文件的生成成本,提高国际化代码文件的创建效率。

第一方面,提供一种代码文件生成方法,该方法包括:

获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串;

根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本;对照文件用于指示目标项目相关的关键字的值在多种语言类型下的翻译文本;

根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。

本申请中,服务器获取项目的原始代码文件后可以自动加载对照文件确定原始代码文件中每一value的翻译值,进一步还可以自动根据value翻译值生成其它语言类型的代码文件(也可以称为国际化文件、国际化代码文件),实现国际化文件的自动生成,节省了国际化文件的生成成本,提高了国际化文件的创建效率。

结合第一方面,在第一方面的第一种可能的实现方式中,对照文件包括目标项目相关的关键字以及对照部分;对照部分包括关键字的值在多种语言类型下的翻译文本;

其中,关键字与关键字的对照部分之间包括第一字符,对照部分中不同语言类型下的翻译文本之间包括第二字符。

本申请中,通过限制对照文件的格式,使得服务器在读取对照文件后可以根据对照文件中特定的分隔字符,准确识别出各个语言类型的翻译文本。例如,根据第一字符可以准确识别对照文件中的对照部分,即翻译文本部分,还可以根据第二字符准确识别不同语言下的翻译文本。

结合第一方面,在第一方面的第一种可能的实现方式中,根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本,包括:

针对每一个第一语言类型的字符串,根据第一语言类型的字符串对应的关键字查找对照文件,从对照文件中确定与关键字对应的对照部分;

从关键字对应的对照部分中提取第一语言类型的字符串在多种语言类型下的翻译文本。

本申请中,提供了根据对照文件生成不同语言类型的代码文件的具体实现方式,通过识别关键字的对照部分,从关键字的对照部分中提取关键字的值在不同语言类型下的翻译文本,从而可以基于识别到的翻译文本生成不同语言类型下的代码文件,避免人工手动翻译,减少国际化代码文件的生成成本,自动化生成国际化代码文件,提高国际化代码的生成效率。

结合第一方面,在第一方面的第一种可能的实现方式中,根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件,包括:

根据第二语言类型对应的存储路径,写入第一语言类型的字符串在第二语言类型下的翻译文本以及第一语言类型的字符串对应的关键字,以生成第二语言类型的代码文件;第二语言类型为多种语言类型中的任意一种。

本申请中,提供了生成国际化代码文件的具体实现方式,在获取各个关键字的翻译文本后,可以根据语言类型在语言类型对应的存储路径下写入关键字及翻译文本,通过不同的存储路径隔离不同语言类型的代码文件,保证所生成的代码文件可以支持有效读写。

结合第一方面,在第一方面的第一种可能的实现方式中,对照文件的生成过程包括:

项目相确定目标关的关键字,确定目标项目相关的关键字的值在多个语言类型下的翻译文本;

若翻译文本中包括第一字符,则将翻译文件中的第一字符替换为预设的指示字符。

本申请中,避免翻译文本中的字符与KV之间的分隔字符发生冲突,例如,可以对翻译文本中与分隔字符相同的字符进行替换,避免在根据对照文件识别关键字、对照部分时出错,从而可以避免翻译文本识别出错的问题,提高自动化生成国际化代码文件的准确度。

结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:

针对多种语言类型中每一种语言类型对应的代码文件,若代码文件中关键字的值包括预设的指示字符,则将指示字符替换为第一字符。

本申请中,对原始的翻译文本中的分隔字符进行替换后,还可以在生成不同语言类型的代码文件后,将代码文件中的指示字符还原成分隔字符,保证代码文件中翻译文本的准确性。

结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:

针对原始代码文件中的每一关键字,若对照文件中不包括关键字,则向外部服务器发送翻译请求;翻译请求用于指示外部服务器确定关键字对应的第一语言类型字符串,在多种语言类型下的翻译文本;

从外部服务器获取关键字对应的第一语言类型字符串的翻译文本,将第一关键字对应的第一语言类型字符串的翻译文本,写入相应的语言类型的代码文件中。

本申请中,在对照文件未记录某些关键字的情况下,可以请求外部服务器翻译该关键字的value,从而可以基于外部服务器返回的翻译结果生成其它语言类型的代码文件,生成完整的代码文件,避免在最终的代码文件中遗漏某些关键字的value的翻译文本。

第二方面,提供了一种代码文件生成装置,包括:

获取单元,用于获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串;

确定单元,用于根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本;对照文件用于指示目标项目相关的关键字的值在多种语言类型下的翻译文本;

生成单元,用于根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。

第三方面,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,其特征在于,处理器执行计算机程序时实现如上述第一方面或第一方面任一项的所述方法。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如上述第一方面或第一方面任一项的所述方法。

本申请实施例提供的代码文件生成方法、计算机设备及可读存储介质,服务器获取项目的原始代码文件后可以自动加载对照文件,根据对照文件确定原始代码文件中每一value(值)的翻译值,进一步还可以自动根据value的翻译值生成其它语言类型的代码文件(也可以称为国际化文件、国际化代码文件),实现国际化文件的自动生成,节省了国际化文件的生成成本,提高了国际化文件的创建效率。

附图说明

图1为本申请实施例提供的系统架构的示意图;

图2为本申请实施例提供的代码文件生成方法的流程示意图;

图3为本申请实施例提供的代码文件生成方法的另一流程示意图;

图4为本申请实施例提供的代码文件生成方法的另一流程示意图;

图5为本申请实施例提供的代码生成装置的结构框图;

图6为本申请实施例提供的计算机设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

首先,为方便对本申请实施例所提供技术方法的理解,对本申请实施例涉及的术语进行解释说明:

(1)代码文件

本申请实施例中的代码文件可以称为脚本。脚本(Script)是包含多种程序命令的一个集合,通常以独立的可执行文件存储该集合中的程序命令。可执行文件(executablefile)指的是可以由操作系统加载并执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样,例如,在windows操作系统下,可执行文件可以是“.exe文件”、“.sys文件”、“.com文件”等类型。

脚本包括键值对,键值对包括key、value。其中,key可以是代码文件中的参数名称,例如,时间、地点、循环次数等;value是参数具体的取值,例如,2021年6月28日10:33:10、西安市等。

(2)语言类型

本申请实施例中的语言类型可以是语言所属国别,不同类型的语言可以是中文、英文。

本申请实施例提供的方法适用于图1所示的系统架构。图1所示架构包括客户端10和服务器20,其中,客户端10可以向服务器提交代码文件的生成请求,服务器20可以响应于客户端10的请求生成代码文件并将代码文件发送给客户端10。

本申请实施例提供一种代码文件生成方法,适用于图1所示的系统架构,执行主体可以是图1所示架构中的服务器。如图2所示,所示方法包括以下步骤:

步骤201、获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串。

具体实现中,用户可以根据具体对接的项目编写原始的脚步,即上述原始代码文件。原始代码文件可以是目标项目的某些功能的实现代码,也可以是目标项目整体的运行代码,本申请对此不作限制,任何与目标项目相关的代码文件均可以认为是本申请实施例所述的原始代码文件。

此外,为了避免用户手动翻译原始代码文件中的值,生成各个语言类型的国际化代码,用户可以通过客户端提交原始代码文件,请求服务器根据原始代码文件自动生成不同的国家化代码文件。

一种可能的实现方式中,当客户端向服务器提交目标项目的原始代码文件后,服务器可以述获取目标项目的原始代码文件。

需要说明的是,关键字即为键值对中key,可以是与目标项目相关的一些参数;关键字的值可以是参数的实际取值。第一语言类型即一种语言类型,例如,键值对中关键字的值为中文字符串。

步骤202、根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本。

其中,对照文件可以根据目标项目的需求生成,可以指示目标项目相关的关键字的值在多种语言类型下的翻译文本,不同的翻译文本可以支持目标项目适配不同的开发需求。示例性的,对照文件可以指示与目标项目相关的一些关键字的值的多个翻译文本,例如,英文、韩文、意大利语等。

具体实现中,遍历原始代码文件中的每一个值,查找对照文件,确定与该值对应的一个或多个翻译文本。示例性的,可以根据对照文件确定中文版本的原始代码中每一个中文字符串对应的英文翻译字符串。

步骤203、根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。

具体实现中,针对原始代码中的每一个关键字,将该关键字与步骤202获取到的、与该关键字对应的翻译文本进行组合,生成另一种语言类型的代码文件。

例如,原始代码文件包括N个关键字,N个关键字的值为N个中文字符串,在步骤202中可以根据对照文件确定N个中文字符串对应的N个英文字符串,将N个关键字与N个英文字符串一一对应地组合,生成英文代码文件。

一种可能的实现方式中,本申请实施例图2所示的方法在Nodejs环境中执行。具体的,首先定义如下的文件目录:

Input

----need.json

Output

----need-en.js

----need-zh.js

其中,“Input”代表程序的输入,“need.json”即前文所述的对照文件,“Output”代表程序的输出,“need-Zh.js”是中文的代码文件,“need-en.js”是英文的代码文件。需要说明的是,输出的代码文件不局限于上述“need-en.js”、“need-Zh.js”,还可以是其他语言类型的代码文件,输出的代码文件的语言类型取决于对照文件中的翻译文本。

具体实现中,还定义了Index.js文件,Index.js文件中的程序代码用于执行图2所示的方法。当服务器运行node./index.js./output./input/need.json命令,可以在Nodejs环境中执行本申请实施例所述的方法,例如,调用need.json文件,need.json文件输出need-en.js、need-Zh.js。

本申请实施例提供的方法中,服务器获取项目的原始代码文件后可以自动加载对照文件确定原始代码文件中每一value的翻译值,进一步还可以自动根据value翻译值生成其它语言类型的代码文件(也可以称为国际化文件、国际化代码文件),实现国际化文件的自动生成,节省了国际化文件的生成成本,提高了国际化文件的创建效率。

一种可能的实现方式中,本申请实施例还提供了对照文件的具体格式,具体的,对照文件包括目标项目相关的关键字以及对照部分;对照部分包括关键字的值在多种语言类型下的翻译文本;

其中,关键字与关键字的对照部分之间包括第一字符,对照部分中不同语言类型下的翻译文本之间包括第二字符。

以Nodejs为例,在Nodejs环境执行本申请实施例所述的方法时,对照文件的格式也有如下几点限制:

(1)对照文件是json格式的文件;

(2)对照文件中关键字(Key)的值为目标项目中使用的值;

(3)对照文件中关键字和值使用字符进行分隔。例如,key和value之间使用逗号分隔。

本申请实施例提供的方法中,通过限制对照文件的格式,使得服务器在读取对照文件后可以根据对照文件中特定的分隔字符,准确识别出各个语言类型的翻译文本。例如,根据第一字符可以准确识别对照文件中的对照部分,即翻译文本部分,还可以根据第二字符准确识别不同语言下的翻译文本。

一种可能的实现方式中,本申请实施例提供的方法中,服务器可以遍历原始代码文件中的每一个关键字,确定每一个关键字的值的翻译文本,还可以根据每一个关键字的值的翻译文本构建不同语言类型的代码文件。

示例性的,前文涉及的根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本的具体实现步骤如图3所示:

步骤301、针对每一个第一语言类型的字符串,根据第一语言类型的字符串对应的关键字查找对照文件,从对照文件中确定与关键字对应的对照部分。

具体实现中,遍历原始代码文件中的每一个关键字,查找对比文件确定该关键字的值(即该关键字对应的第一语言类型的字符串)对应的对照部分。

示例性的,加载对照文件后,根据第一字符可以识别对照文件中的关键字以及对照部分,从而可以确定每一个关键字对应的对照部分。例如,对照文件包括的内容如下:

项目关键参数1(key1),中文字符串[email protected]英文字符串[email protected]韩文字符串1;

项目关键参数2(key2),中文字符串[email protected]英文字符串[email protected]韩文字符串2;

项目关键参数3(key3),中文字符串[email protected]英文字符串[email protected]韩文字符串3;

……

上述对照文件中,“,”即前文所述的第一字符,“@”即前文所述的第二字符,根据第一字符“,”可以识别key1的对照部分为“中文字符串[email protected]英文字符串[email protected]韩文字符串1”,key2对应的对照部分为“中文字符串[email protected]英文字符串[email protected]韩文字符串2”,key3对应的对照部分为“中文字符串[email protected]英文字符串[email protected]韩文字符串3”。

步骤302、从关键字对应的对照部分中提取第一语言类型的字符串在多种语言类型下的翻译文本。

具体实现中,根据第二字符从各个关键字对应的对照文本中识别出不同语言类型下的翻译文本。

参考步骤301的相关示例,根据第二字符“@”可以从key1的对照部分中提取三个语言类型的翻译文本,分别是“中文字符串1”、“英文字符串1”以及“韩文字符串1”。同样的,可以从key1的对照部分中提取三个语言类型的翻译文本,在此不做赘述。

本申请实施例提供了根据对照文件生成不同语言类型的代码文件的具体实现方式,通过识别关键字的对照部分,从关键字的对照部分中提取关键字的值在不同语言类型下的翻译文本,从而可以基于识别到的翻译文本生成不同语言类型下的代码文件,避免人工手动翻译,减少国际化代码文件的生成成本,自动化生成国际化代码文件,提高国际化代码的生成效率。

本申请实施例中,可以根据指定的路径写入关键字的值的翻译文本,以生成其它语言类型的代码文件。具体的,上述根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件的具体实现方式包括:

根据第二语言类型对应的存储路径,写入第一语言类型的字符串在第二语言类型下的翻译文本以及第一语言类型的字符串对应的关键字,以生成第二语言类型的代码文件;第二语言类型为对照文件所涉及的多种语言类型中的任意一种。

也就是说,针对对照文件所涉及的每一个语言类型,预先设置该语言类型对应的代码文件的存储路径,例如,前文所述的need-en.js的存储路径是英文代码文件的存储路径。从对照文件中获取原始代码中各个关键字对应的翻译文本后,以语言类型区分不同的存储路径,在不同的存储路径下写入不同语言类型的翻译文本以及对应的关键字,以生成不同语言类型的代码文件。

例如,在对照文件中识别key对应的英文翻译后,将key与对应的英文翻译写入need-en.js的存储路径下,生成英文代码文件。

本申请实施例提供的方法中,提供了生成国际化代码文件的具体实现方式,在获取各个关键字的翻译文本后,可以根据语言类型在语言类型对应的存储路径下写入关键字及翻译文本,通过不同的存储路径隔离不同语言类型的代码文件,保证所生成的代码文件可以支持有效读写。

一种可能的实现方式中,在生成对照文件时,若关键字的值的翻译文本包括关键字和值之间的分隔字符,可以将翻译文本中的该字符替换成其他字符,以免获取对照文件后识别关键字、对照部分出错,从而无法识别正确的翻译文本。需要说明的是,分隔字符用于分隔关键字和关键字的对照部分,有利于服务器准确识别关键字和对照部分。

示例性的,图2所示的方法包括:确定所述目标项目相关的关键字,确定其中每一个关键字的值在所述多个语言类型下的翻译文本;若翻译文本中包括第一字符,则将翻译文件中的第一字符替换为预设的指示字符。

例如,对照文件中key和对照部分使用“,”分隔,“,”前是key,“,”后是对照部分。若对照部分中某个语言类型下的翻译文本包括“,”,则将翻译文本中的“,”替换成其他字符,以免在识别对照部分时出错。

本申请实施例提供的方法中,避免翻译文本中的字符与KV之间的分隔字符发生冲突,例如,可以对翻译文本中与分隔字符相同的字符进行替换,避免在根据对照文件识别关键字、对照部分时出错,从而可以避免翻译文本识别出错的问题,提高自动化生成国际化代码文件的准确度。

一种可能的实现方式中,若代码文件的翻译文本中存在上述预设的指示字符,表明原始的翻译文本中包括第一字符,为了确保翻译文本的准确性,可以将代码文件中的翻译文本还原成第一字符。

示例性的,在生成多种语言类型对应的代码文件后,针对多种语言类型中每一种语言类型对应的代码文件,若代码文件中关键字的值包括预设的指示字符,则将指示字符替换为第一字符。

本申请实施例提供的方法中,对原始的翻译文本中的分隔字符进行替换后,还可以在生成不同语言类型的代码文件后,将代码文件中的指示字符还原成分隔字符,保证代码文件中翻译文本的准确性。

一种可能的实现方式中,若对照文件中未记录某个关键字的对照部分,则可以请求外部的翻译服务器,对原始代码文件中该关键字的值进行翻译,以获取该关键字的值的翻译文本。

示例性的,针对原始代码文件中的每一关键字,若对照文件中不包括该关键字,则向外部服务器发送翻译请求。该翻译请求用于指示外部服务器确定关键字对应的第一语言类型字符串,在多种语言类型下的翻译文本;

从外部服务器获取关键字对应的第一语言类型字符串的翻译文本,将第一关键字对应的第一语言类型字符串的翻译文本,写入相应的语言类型的代码文件中。

需要说明的是,所请求的翻译文本的类型取决于对照文件涉及的语言类型。示例性的,若对照文件包括关键字对应的韩文值以及英文值,针对对照文件中未记录的关键字,请求外部服务器将原始文件中该关键字的值翻译为韩文、英文。

具体实现中,上述外部服务器可以是web服务器,借助web服务实现对value的翻译。

本申请实施例提供的方法中,在对照文件未记录某些关键字的情况下,可以请求外部服务器翻译该关键字的value,从而可以基于外部服务器返回的翻译结果生成其它语言类型的代码文件,生成完整的代码文件,避免在最终的代码文件中遗漏某些关键字的value的翻译文本。

以下以nodejs环境为例,详细介绍本申请实施例提供的代码文件生成方法。如图4所示,所述方法包括以下步骤:

步骤401、获取目标项目的原始代码文件,原始代码文件中各个关键字的值为中文字符串。

具体实现中,服务器可以获取客户端提交的原始代码文件,以根据原始代码文件自动生成各个语言类型的代码文件。

步骤402、通过fs.readFile方法读取need.json文件,从need.json文件中获取原始代码文件中每一个关键字对应的N个目标字符串。

具体实现中,在nodejs环境下加载need.json文件,还可以利用fs.readFile方法从need.json文件(即本申请实施例所述的对照文件)识别出各个关键字的翻译文本,即本申请实施例所述的目标字符串,目标字符串可以是英文字符串。N为need.json文件涉及的语言类型的数量,例如,need.json文件包括value的英文翻译文本以及韩文翻译文本,则上述N等于2。

步骤403、将每一个关键字对应的N个目标字符串通过nodejs的JSON.parse功能转成对象。

其中,对象可以是代码循环执行的一个最小单元,将目标字符串转化成对象,即对目标字符串进行数据结构转化,使得后续可以基于对象执行作业,生成每一种语言类型的代码文件。

步骤404、启动N个作业读取对象,生成N种语言类型的代码文件。

具体实现中,N个作业与N种语言类型对应,分别用于读取相应的对象,将对象写入对相应的路径下,生成代码文件。

例如,步骤402获取到了key1对应的2个字符串,分别是中文字符串1和英文字符串1;key2对应的2个字符串,分别是中文字符串2和英文字符串2;key3对应的2个字符串,分别是中文字符串3和英文字符串3。

将中文字符串1和英文字符串1分别转化成对象11和对象12,将中文字符串2和英文字符串2分别转化成对象21和对象22,将中文字符串3和英文字符串3分别转化成对象31和对象32。

启动作业1和作业2,分别用于生成need-zh.js(中文代码文件)、need-en.js(英文代码文件)。具体的,启动作业1将对象11、对象21以及对象31写入need-zh.js,生成中文代码文件。启动作业2将对象12、对象22以及对象32写入need-en.js,生成英文代码文件。

一种可能的实现方式中,可以不借助need.json文件,仅根据客户端提交的原始代码文件生成不同语言类型的代码文件。示例性的,步骤402可以替换为:向web服务器请求各个关键字的中文字符串的翻译文本,获取原始代码文件中每一个关键字对应的N个目标字符串。其中,N个目标字符串即value在不同语言类型下的翻译文本。

具体实现中,nodejs环境中启动koa服务,通过web翻译网页的接口向web服务器发送翻译请求,请求web翻译各个关键字的中文字符串,以获得每一个关键字对应的N个目标字符串。

需要说明的是,在这种方式中除了步骤402可以被替换成上述实现方式,其余步骤仍然适用,可以借助web服务器的翻译功能生成不同语言类型的代码文件。

图4所示的方法中,服务器可以根据预先配置的need.json文件确定原始代码中各个关键字的value的翻译文本,或者,请求web服务器对原始代码文件中的value进行翻译,从而可以根据原始代码文件中value的翻译文本生成不同语言类型的代码文件,实现了国际化代码文件的自动生成。

本申请实施例提供一种代码文件生成装置,如图5所示,该装置包括获取单元501、确定单元502以及生成单元503。

一种可能的实现方式中,获取单元501,用于获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串;

确定单元502,用于根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本;对照文件用于指示目标项目相关的关键字的值在多种语言类型下的翻译文本;

生成单元503,用于根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。

一种可能的实现方式中,对照文件包括目标项目相关的关键字以及对照部分;对照部分包括关键字的值在多种语言类型下的翻译文本;

其中,关键字与关键字的对照部分之间包括第一字符,对照部分中不同语言类型下的翻译文本之间包括第二字符。

一种可能的实现方式中,确定单元502具体用于,针对每一个第一语言类型的字符串,根据第一语言类型的字符串对应的关键字查找对照文件,从对照文件中确定与关键字对应的对照部分;

从关键字对应的对照部分中提取第一语言类型的字符串在多种语言类型下的翻译文本。

一种可能的实现方式中,生成单元503具体用于,根据第二语言类型对应的存储路径,写入第一语言类型的字符串在第二语言类型下的翻译文本以及第一语言类型的字符串对应的关键字,以生成第二语言类型的代码文件;第二语言类型为多种语言类型中的任意一种。

一种可能的实现方式中,对照文件的生成过程包括:确定目标项目相关的关键字,确定目标项目相关的关键字的值在多个语言类型下的翻译文本;

若翻译文本中包括第一字符,则将翻译文件中的第一字符替换为预设的指示字符。

一种可能的实现方式中,生成单元503还用于,针对多种语言类型中每一种语言类型对应的代码文件,若代码文件中关键字的值包括预设的指示字符,则将指示字符替换为第一字符。

一种可能的实现方式中,确定单元502还用于,针对原始代码文件中的每一关键字,若对照文件中不包括关键字,则向外部服务器发送翻译请求;翻译请求用于指示外部服务器确定关键字对应的第一语言类型字符串,在多种语言类型下的翻译文本;从外部服务器获取关键字对应的第一语言类型字符串的翻译文本;

生成单元还用于,将第一关键字对应的第一语言类型字符串的翻译文本,写入相应的语言类型的代码文件中。

本申请实施例还提供了一种计算机设备,该计算机设备可以是前文所述的数据源设备。其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库可以存储配置信息、权限信息等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本申请实施例图6所示的方法中由服务器执行的步骤。

示例的,该计算机程序被处理器执行时以实现:

获取目标项目的原始代码文件;原始代码文件包括多个键值对,键值对包括关键字和关键字的值,关键字的值为第一语言类型的字符串;

根据对照文件,确定原始代码文件中每一个第一语言类型的字符串在多种语言类型下的翻译文本;对照文件用于指示目标项目相关的关键字的值在多种语言类型下的翻译文本;

根据每一个第一语言类型的字符串在多种语言类型下的翻译文本以及原始代码文件,生成多种语言类型中每一种语言类型对应的代码文件。

一种可能的实现方式中,对照文件包括目标项目相关的关键字以及对照部分;对照部分包括关键字的值在多种语言类型下的翻译文本;

其中,关键字与关键字的对照部分之间包括第一字符,对照部分中不同语言类型下的翻译文本之间包括第二字符。

一种可能的实现方式中,该计算机程序被处理器执行时以实现:针对每一个第一语言类型的字符串,根据第一语言类型的字符串对应的关键字查找对照文件,从对照文件中确定与关键字对应的对照部分;

从关键字对应的对照部分中提取第一语言类型的字符串在多种语言类型下的翻译文本。

一种可能的实现方式中,该计算机程序被处理器执行时以实现:根据第二语言类型对应的存储路径,写入第一语言类型的字符串在第二语言类型下的翻译文本以及第一语言类型的字符串对应的关键字,以生成第二语言类型的代码文件;第二语言类型为多种语言类型中的任意一种。

一种可能的实现方式中,对照文件的生成过程包括:确定目标项目相关的关键字,确定目标项目相关的关键字的值在多个语言类型下的翻译文本;

若翻译文本中包括第一字符,则将翻译文件中的第一字符替换为预设的指示字符。

一种可能的实现方式中,该计算机程序被处理器执行时以实现:针对多种语言类型中每一种语言类型对应的代码文件,若代码文件中关键字的值包括预设的指示字符,则将指示字符替换为第一字符。

一种可能的实现方式中,该计算机程序被处理器执行时以实现:针对原始代码文件中的每一关键字,若对照文件中不包括关键字,则向外部服务器发送翻译请求;翻译请求用于指示外部服务器确定关键字对应的第一语言类型字符串,在多种语言类型下的翻译文本;从外部服务器获取关键字对应的第一语言类型字符串的翻译文本;

将第一关键字对应的第一语言类型字符串的翻译文本,写入相应的语言类型的代码文件中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:应用程序的移植方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!