CN112199962A - 代码处理方法、装置、计算机设备及存储介质 - Google Patents

代码处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112199962A
CN112199962A CN202011069118.1A CN202011069118A CN112199962A CN 112199962 A CN112199962 A CN 112199962A CN 202011069118 A CN202011069118 A CN 202011069118A CN 112199962 A CN112199962 A CN 112199962A
Authority
CN
China
Prior art keywords
text
code
code file
determining
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011069118.1A
Other languages
English (en)
Inventor
朱孟龙
温佳栋
彭展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202011069118.1A priority Critical patent/CN112199962A/zh
Publication of CN112199962A publication Critical patent/CN112199962A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明实施例涉及一种代码处理方法、装置、计算机设备及存储介质,包括:从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,降低人工处理的成本,提高代码处理的效率以及精准度。

Description

代码处理方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种代码处理方法、装置、计算机设备及存储介质。
背景技术
目前制作多语言的网页或软件,需要在开发阶段配置国际化资源,即需要支持语言种类的文案翻译。例如,网页上需要显示“你好”,如网页需要支持中文,英文,德文,法文,则开发阶段需要生成四个国际化资源文件。
开发阶段,对于代码的国际化通常需要人工处理,对于小规模的代码段工作量较小,对于代码量规模较大,人工替换的方式耗时耗力,而且容易出错,精准度不高。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种代码处理方法、装置、计算机设备及存储介质。
第一方面,本发明实施例提供一种代码处理方法,包括:
从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;
将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;
基于所述代码文件的代码类型确定对应的目标代码模板;
将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
在一个可能的实施方式中,所述从待处理的代码文件中确定第一文本,包括:
配置正则表达式,所述正则表达式基于所述第一语言类型确定;
从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
在一个可能的实施方式中,所述从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本,包括:
从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;
对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
在一个可能的实施方式中,所述从待处理的代码文件中确定第一文本,包括:
对待处理的所述代码文件进行字符检测;
按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
在一个可能的实施方式中,将所述第一文本转换为第二文本,包括:
将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段;
将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在一个可能的实施方式中,所述将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,包括:
根据所述代码文件中的所述第一文本确定对应的所述索引字段;
通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换;
将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
在一个可能的实施方式中,所述第一语言类型为:中文,所述辅助文本为拼音文本;
若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
在一个可能的实施方式中,所述方法还包括:
若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
在一个可能的实施方式中,所述方法还包括:
若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息。
在一个可能的实施方式中,所述方法还包括:
根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
在一个可能的实施方式中,所述方法还包括:
在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件;
若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功;
若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
在一个可能的实施方式中,所述基于所述代码文件的代码类型确定对应的目标代码模板,包括:
根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板;
所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
在一个可能的实施方式中,所述方法还包括:
配置路径信息;
采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
第二方面,本发明实施例提供一种代码处理装置,包括:
确定模块,用于从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;
转换模块,用于将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;
所述确定模块,还用于所述代码文件的代码类型确定对应的目标代码模板;
替换模块,用于将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
第三方面,本发明实施例提供一种计算机设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的代码处理程序,以实现上述第一方面中任一项所述的代码处理方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中任一项所述的代码处理方法。
本发明实施提供的代码处理方案,通过从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,降低人工处理的成本,提高代码处理的效率以及精准度。
附图说明
图1为本发明实施例提供的一种代码处理方法的流程示意图;
图2为本发明实施例涉及的一种从待处理的代码文件中确定第一文本的流程示意图;
图3为本发明实施例涉及的另一种从待处理的代码文件中确定第一文本的流程示意图;
图4为本发明实施例涉及的一种将所述第一文本转换为第二文本的流程示意图;
图5为本发明实施例提供的配置文件显示界面示意图;
图6为本发明实施例提供的另一种代码处理方法的流程示意图;
图7为本发明实施例提供的三种代码类型对应的国际化前后的示意图;
图8为本发明实施例提供的一种代码处理装置的结构示意图;
图9为本发明实施例提供的一种的计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种代码处理方法的流程示意图,如图1所示,该方法具体包括:
S11、从待处理的代码文件中确定第一文本。
本发明实施例提供的代码处理方法应用于代码国际化处理,例如,中文系统的国际化处理,通过代码处理可以将中文转换为任一设定的语言,例如,将中文转换为英文、日文、德文等,还可以将简体中文转换为繁体中文。
在本实施例中,将中文系统对应的文件中确定待处理的代码文件,该代码文件可以为预设类型的代码,例如,代码文件为java代码,在代码文件中包含有第一文本,第一文本为第一语言类型的文本,例如,第一文本为中文的简体汉字。
进一步地,从代码文件中确定第一文本的方式可以包括:基于所述第一文本的特征设置一匹配规则/条件,通过匹配规则/条件从代码文件中匹配出第一文本。
在本发明实施例的一可选方案中,第一文本除中文简体汉字外,还可以为其它类型的语言的文本,例如中文繁体汉字、英文、日文、韩文等。
S12、将所述第一文本转换为第二文本。
在本实施例中将从代码文件中提取出来的第一文本进行转换处理,转换处理的过程可以理解为翻译处理,也即,将第一文本翻译为第二文本,其中,所述第二文本为第二语言类型的文本。
进一步地,对于转换的步骤可以是:通过调用翻译接口,将第一文本通过翻译接口发送给外部系统,通过外部系统将第一文本翻译成第二文本,或者,基于第一文本将对应翻译的第二文本输入至本地,直接调用第二文本。
其中,第二文本对应的第二语言类型可以为:英文、中文繁体汉字、日文、韩文等。
S13、基于所述代码文件的代码类型确定对应的目标代码模板。
在本实施例中,预先根据代码文件的代码类型,设置对应的多个代码模板,第二文本按照对应的代码模板替换至代码文件中,代码文件可以是java代码、c++代码、c代码、python代码等,对应的代码类型可以是:普通类、枚举类、校验类或自定义类等,每种代码类型对应设置有一代码模板。
对代码文件的类型进行分析,确定代码文件的代码类型,并匹配出与该代码类型对应的目标代码模板,该目标代码模板为第二文本对应的模板。
S14、将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
在本实施例中,按照目标代码模板将代码文件中的第一文件替换为第二文本,可采用标识/标记的形式执行替换操作,在确定代码文件中的第一文本标识时,对第一文本设置一标识(例如,a1),在该第一文本转换为第二文本时,对该第二文本设置一标识(例如,a2),将a1和a2设置为关联标识,a1和a2可以表征第一文本和第二文本的对应关系。
在执行替换过程中,若在代码文件中确定包含有a1标识的第一文本时,确定对应的包含有a2标识的第二文本,则将按照目标代码模板将代码文件中的第一文本替换为第二文本。
本发明实施提供的代码处理方法,通过从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,降低人工处理的成本,提高代码处理的效率以及精准度。
本发明实施例提供的代码处理方法应用于代码国际化处理,涉及的代码文件可以是java代码,第一语音类型为中文简体汉字,以下将以代码文件为java代码,第一文本为中文简体汉字为例进行介绍。
图2为本发明实施例涉及的一种从待处理的代码文件中确定第一文本的流程示意图,如图2所示,具体包括:
S21、配置路径信息。
S22、采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
在本发明实施例中,将配置待国际化处理代码的路径信息,以使执行扫描代码的程序可以根据该路径信息对相应的文件进行扫描处理,文件中可以包含多种类型的代码,扫描的目的在于从文件中的多种类型的代码中扫描出java代码。
进一步地,可以采用递归的形式扫描路径信息对应的代码,确定以java代码为结尾的代码,并将java代码为结尾的代码作为代码文件,该代码文件用于后续的国际化处理。
java代码的类型可以包括:普通类、枚举类、校验类或者其它类型,其它类型可以是任意自定义的类型。
S23、配置正则表达式。
在本实施例中采用正则表达式的形式对代码文件进行匹配,正则表达式基于第一语言类型确定,对于代码文件为java代码、第一文本为中文简体汉字时,出现于java代码中的简体汉字通常出现于“”内,因此,将“”作为配置正则表达式的参数。
例如,将正则表达式配置为:【\"[^\"]*\"】。
S24、从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本,对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
进一步地,在通过配置的正则表达式从java代码中匹配出“”之间含有中文简体汉字的目标文本,以及对“”之间的文本进行语音类型检测,确定“”之间的文本是否全部为第一语言类型,若全部为第一语言类型,则将全部作为第一文本;若“”之间的文本含有非第一语言类型的文本,则删除“”之间的非第一语言类型的文本,以及将“”之间的第一语言类型的文本作为第一文本。
例如,目标文本为【“a中文ABC字,!符“】,对应的第一文本为:【“中文字符“】。
图3为本发明实施例涉及的另一种从待处理的代码文件中确定第一文本的流程示意图,如图3所示,具体包括:
S31、配置路径信息。
S32、采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
S31-S32与图2中的S21-S22的执行步骤类似,具体可参照图2的相关描述,为简洁描述,在此,不作赘述。
S33、对待处理的所述代码文件进行字符检测。
S34、按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
在本实施例中,对代码文件的起始字符开始进行字符检测,确定判断每个字符是否为第一语言类型的字符,若确定该字符为第一语言类型的字符,则将该字符作为第一文本。
进一步地,若首次确定一字符为第一语言类型的字符,则继续执行后续字符的检测直至检测到字符为非第一语言类型的字符,并将连续的一个或多个第一语音类型的字符作为第一文本。
例如,对java代码进行字符检测,判断该字符是否出现简体汉字,若某个字符出现简体汉字,则检测该字符的下一字符是否也有简体汉字,进而将连续的一个或多个简体汉字作为第一文本。
图4为本发明实施例涉及的一种将所述第一文本转换为第二文本的流程示意图,如图4所示,具体包括:
S41、将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段。
在本实施例中,通过调用第一语言转换工具和第二语言转换工作完成第一文本到第二文本的转换,第一语言转换工具用于将第一文本转换为辅助文本,并将辅助文本设置为索引字段,索引字段表用表征第一文本与第二文本之间的关联关系。
在第一文本为中文简体字时,第一文本(中文简体字)输入至第一语言转换工具,得到辅助文本,辅助文本可以是第一文本对应的拼音。
在本发明实施例的一可选方案中,若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
例如:
第一文本为:“编排接口”,对应的辅助文本为:“BianPaiJieKou”;
又如:
第一文本为:“是”,对应的辅助文本为:“Shi1”;
第一文本是:“时间”,对应的辅助文本为:“Shi2Jian”。
S42、将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在本实施例中第二语言转换工具可以将第一语言转换为非第一语言的任一语言,在第一语言为中文简体汉字时,第二语言可以是:中文繁体汉字、英文、日文、韩文等,具体可根据实际需求进行设置。
将辅助文本输入至第二第二语言转换工具中,得到第二文本,第二文本为第二语言类型的文本,并设置第二文本作为索引字段对应的索引内容。
例如:
辅助文本为:“BianPaiJieKou”,对应的第二文本为:“Flow Interface”;
索引字段为:“BianPaiJieKou”,对应的索引内容为:“Flow Interface”。
在本发明实施例的一可选方案中,还可以将通过设置配置文件的形式对辅助文本和第二文本进行展示。
将对应的辅助文本和第二文本在配置界面中的两个独立界面进行对比显示,除显示的功能外,还在配置文件的界面提供编辑窗口,以对辅助文本和第二文本进行编辑修改(即,校对过程)。
进一步地,将第一文本对应的辅助文本写入配置文件(例如,messages_zh_CN.properties),并在第一独立界面中显示,将辅助文本对应的第二文本写入配置文件(例如,messages_en_US.properties),并在第二独立界面中显示。
参照图5,左侧的第一独立界面中显示:第一文本对应的辅助文本,右侧的第二独立界面中显示:辅助文本对应的第二文本。
具体地,在第一独立界面和第二独立界面中,第一文本对应的辅助文本与辅助文本对应的第二文本是对应显示的,并且在独立界面中设置有光标,通过外部设备(例如,键盘)和控制光标的位置,完成对第二文本进行编辑和校对。
图6为本发明实施例提供的另一种代码处理方法的流程示意图,如图6所示,该方法具体包括:
本发明实施例涉及的代码文件可以是java代码,第一语音类型为中文简体汉字,以下将以代码文件为java代码,第一文本为中文简体汉字为例进行介绍。
S61、配置路径信息。
S62、采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
S63、配置正则表达式,所述正则表达式基于所述第一语言类型确定。
S64、从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
S65、将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段。
若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
S66、将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在本发明实施例的一可选方案中,若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息;根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
S67、根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板。
其中,所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
在本发明实施例的一可选方案中,可根据代码文件的类型实时对模板库中的模板进行实时更新。
例如,当出现新java文件的代码类型时,同时生成对应代码类型的代码模板,并将该代码模板,更新至模板库中。
S68、根据所述代码文件中的所述第一文本确定对应的所述索引字段。
S69、通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换。
S610、将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
S611、在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件。
S612、若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功。
S613、若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
参照图7示出了,本发明实施例提供的三种代码类型对应的国际化前后的示意图。
本发明实施提供的代码处理方法,通过从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,通过正则表达式可以从代码文件中精确识别中文简体汉字,通过第一语言转换工具和第二语言转换工具可实现对中文简体汉字的转换,降低人工处理的成本,提高代码处理的效率以及精准度。
图8为本发明实施例提供的一种代码处理装置的结构示意图,如图8所示,该装置具体包括:
确定模块801,用于从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;
转换模块802,用于将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;
所述确定模块801,还用于所述代码文件的代码类型确定对应的目标代码模板;
替换模块803,用于将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
在一个可能的实施方式中,所述确定模块801,用于配置正则表达式,所述正则表达式基于所述第一语言类型确定;从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
在一个可能的实施方式中,所述确定模块801,用于从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
在一个可能的实施方式中所述确定模块801,用于对待处理的所述代码文件进行字符检测;按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
在一个可能的实施方式中,所述转换模块802,用于将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段;将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在一个可能的实施方式中,所述替换模块803,用于根据所述代码文件中的所述第一文本确定对应的所述索引字段;通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换;将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
在一个可能的实施方式中,所述第一语言类型为:中文,所述辅助文本为拼音文本;所述确定模块801,还用于若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
在一个可能的实施方式中,所述确定模块801,还用于若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
在一个可能的实施方式中,确定模块801,还用于若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息。
在一个可能的实施方式中,所述转换模块802,还用于根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
在一个可能的实施方式中,所述装置,还包括:运行模块804,用于在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件;若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功;若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
在一个可能的实施方式中,所述确定模块801,还用于根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板;
所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
在一个可能的实施方式中,所述装置还包括:
配置模块805,用于配置路径信息;
所述确定模块801,还用于采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
本实施例提供的代码处理装置可以是如图8中所示的代码处理装置,可执行如图1-6中代码处理方法的所有步骤,进而实现图1-6所示代码处理方法的技术效果,具体请参照图1-6相关描述,为简洁描述,在此不作赘述。
图9为本发明实施例提供的一种的计算机设备的结构示意图,图9所示的计算机设备900包括:至少一个处理器901、存储器902、至少一个网络接口904和其他用户接口903。计算机设备900中的各个组件通过总线系统905耦合在一起。可理解,总线系统905用于实现这些组件之间的连接通信。总线系统905除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统905。
其中,用户接口903可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器902存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统9021和应用程序9022。
其中,操作系统9021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序9022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序9022中。
在本发明实施例中,通过调用存储器902存储的程序或指令,具体的,可以是应用程序9022中存储的程序或指令,处理器901用于执行各方法实施例所提供的方法步骤,例如包括:
从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
在一个可能的实施方式中,配置正则表达式,所述正则表达式基于所述第一语言类型确定;从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
在一个可能的实施方式中,从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
在一个可能的实施方式中,对待处理的所述代码文件进行字符检测;按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
在一个可能的实施方式中,将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段;将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在一个可能的实施方式中,根据所述代码文件中的所述第一文本确定对应的所述索引字段;通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换;将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
在一个可能的实施方式中,所述第一语言类型为:中文,所述辅助文本为拼音文本;
若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
在一个可能的实施方式中,若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
在一个可能的实施方式中,若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息。
在一个可能的实施方式中,根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
在一个可能的实施方式中,在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件;若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功;若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
在一个可能的实施方式中,根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板;
所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
在一个可能的实施方式中,配置路径信息;采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的计算机设备可以是如图9中所示的计算机设备,可执行如图1-6中代码处理方法的所有步骤,进而实现图1-6所示代码处理方法的技术效果,具体请参照图1-6相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在代码处理设备侧执行的代码处理方法。
所述处理器用于执行存储器中存储的代码处理程序,以实现以下在代码处理设备侧执行的代码处理方法的步骤:
从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;基于所述代码文件的代码类型确定对应的目标代码模板;将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
在一个可能的实施方式中,配置正则表达式,所述正则表达式基于所述第一语言类型确定;从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
在一个可能的实施方式中,从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
在一个可能的实施方式中,对待处理的所述代码文件进行字符检测;按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
在一个可能的实施方式中,将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段;将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
在一个可能的实施方式中,根据所述代码文件中的所述第一文本确定对应的所述索引字段;通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换;将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
在一个可能的实施方式中,所述第一语言类型为:中文,所述辅助文本为拼音文本;
若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
在一个可能的实施方式中,若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
在一个可能的实施方式中,若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息。
在一个可能的实施方式中,根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
在一个可能的实施方式中,在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件;若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功;若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
在一个可能的实施方式中,根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板;
所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
在一个可能的实施方式中,配置路径信息;采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种代码处理方法,其特征在于,包括:
从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;
将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;
基于所述代码文件的代码类型确定对应的目标代码模板;
将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
2.根据权利要求1所述的方法,其特征在于,所述从待处理的代码文件中确定第一文本,包括:
配置正则表达式,所述正则表达式基于所述第一语言类型确定;
从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本。
3.根据权利要求2所述的方法,其特征在于,所述从待处理的所述代码文件中匹配出与所述正则表达式对应的第一文本,包括:
从待处理的所述代码文件中匹配出与所述正则表达式对应目标文本;
对所述目标文本进行语言类型检测,将所述第一语言类型的所述目标文本作为所述第一文本。
4.根据权利要求1所述的方法,其特征在于,所述从待处理的代码文件中确定第一文本,包括:
对待处理的所述代码文件进行字符检测;
按照检测顺序将语言类型为第一语言类型的字符对应的代码作为第一文本。
5.根据权利要求1-4任一所述的方法,其特征在于,将所述第一文本转换为第二文本,包括:
将所述第一文本输入至第一语言转换工具中,得到辅助文本,以及将所述辅助文本作为索引字段;
将所述辅助文本输入至第二语言转换工具中,得到第二文本,以及将所述第二文本作为所述索引字段对应的索引内容。
6.根据权利要求5所述的方法,其特征在于,所述将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作,包括:
根据所述代码文件中的所述第一文本确定对应的所述索引字段;
通过所述索引字段确定对应的所述索引内容,按照所述目标代码模板对所述索引内容进行格式转换;
将所述代码文件中的第一文本替换为格式转换后的所述索引内容。
7.根据权利要求5所述的方法,其特征在于,所述第一语言类型为:中文,所述辅助文本为拼音文本;
若所述第一文本中出现同音汉字或拼音相同的汉字,则所述辅助文本包括所述汉字的拼音以及所述汉字的编号,所述编号由所述汉字在所述代码文件中出现的顺序确定。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第一文本中包含汉字部分与非汉字部分,则将所述第一文本中所述非汉字部分删除后,执行得到所述辅助文本的步骤。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述第一文本中包含非汉字,则确定所述非汉字部分处于所述第一文本中的位置信息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述位置信息将所述第一文本中的所述非汉字部分添加至所述第二文本中。
11.根据权利要求1或10所述的方法,其特征在于,所述方法还包括:
在完成所述第二文本对所述第一文本的替换操作后,运行包含有所述第二文本的所述代码文件;
若包含有所述第二文本的所述代码文件运行成功,则确定所述代码文件国际化成功;
若包含有所述第二文本的所述代码文件运行失败,则确定所述代码文件国际化失败。
12.根据权利要求1所述的方法,其特征在于,所述基于所述代码文件的代码类型确定对应的目标代码模板,包括:
根据所述代码文件的代码类型,从模板库中匹配出与所述代码类型对应的目标代码模板;
所述模板库至少存储有以下之一:
普通模板、枚举模板、校验模板或自定义模板。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
配置路径信息;
采用递归的形式扫描所述路径信息中的代码,将以java代码为结尾的代码作为代码文件,以及确定所述代码文件的代码类型。
14.一种代码处理装置,其特征在于,包括:
确定模块,用于从待处理的代码文件中确定第一文本,所述第一文本为第一语言类型的文本;
转换模块,用于将所述第一文本转换为第二文本,所述第二文本为第二语言类型的文本;
所述确定模块,还用于所述代码文件的代码类型确定对应的目标代码模板;
替换模块,用于将所述第二文本按照所述目标代码模板的格式对所述代码文件中的所述第一文本执行替换操作。
15.一种计算机设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的代码处理程序,以实现权利要求1~13中任一项所述的代码处理方法。
16.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~13中任一项所述的代码处理方法。
CN202011069118.1A 2020-09-30 2020-09-30 代码处理方法、装置、计算机设备及存储介质 Pending CN112199962A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011069118.1A CN112199962A (zh) 2020-09-30 2020-09-30 代码处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011069118.1A CN112199962A (zh) 2020-09-30 2020-09-30 代码处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112199962A true CN112199962A (zh) 2021-01-08

Family

ID=74014092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011069118.1A Pending CN112199962A (zh) 2020-09-30 2020-09-30 代码处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112199962A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986211A (zh) * 2021-10-29 2022-01-28 苏州万店掌网络科技有限公司 一种基于代码编辑器的快速代码国际化的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121337A1 (en) * 2013-10-31 2015-04-30 Red Hat, Inc. Regular expression support in instrumentation languages using kernel-mode executable code
CN106648819A (zh) * 2016-12-27 2017-05-10 竞技世界(北京)网络技术有限公司 一种基于编辑器的国际化代码转换方法
CN107402746A (zh) * 2016-05-20 2017-11-28 阿里巴巴集团控股有限公司 一种自动生成代码文件的方法及装置
CN110275712A (zh) * 2019-06-27 2019-09-24 深圳前海微众银行股份有限公司 一种文本替换方法、装置及设备
CN110413574A (zh) * 2019-07-30 2019-11-05 深圳市携众通科技有限公司 一种自动生成代码国际化资源的方法
CN111708539A (zh) * 2020-06-17 2020-09-25 腾讯科技(深圳)有限公司 一种应用程序代码转换方法、装置、电子设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121337A1 (en) * 2013-10-31 2015-04-30 Red Hat, Inc. Regular expression support in instrumentation languages using kernel-mode executable code
CN107402746A (zh) * 2016-05-20 2017-11-28 阿里巴巴集团控股有限公司 一种自动生成代码文件的方法及装置
CN106648819A (zh) * 2016-12-27 2017-05-10 竞技世界(北京)网络技术有限公司 一种基于编辑器的国际化代码转换方法
CN110275712A (zh) * 2019-06-27 2019-09-24 深圳前海微众银行股份有限公司 一种文本替换方法、装置及设备
CN110413574A (zh) * 2019-07-30 2019-11-05 深圳市携众通科技有限公司 一种自动生成代码国际化资源的方法
CN111708539A (zh) * 2020-06-17 2020-09-25 腾讯科技(深圳)有限公司 一种应用程序代码转换方法、装置、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986211A (zh) * 2021-10-29 2022-01-28 苏州万店掌网络科技有限公司 一种基于代码编辑器的快速代码国际化的方法及系统

Similar Documents

Publication Publication Date Title
KR101149982B1 (ko) 키보드를 사용한 아시아 언어 입력
JP4888071B2 (ja) プログラム、コピーアンドペースト処理方法、装置及び記録媒体
KR101150031B1 (ko) 자동화된 수학식 작성 방법 및 시스템
US20060080082A1 (en) System and method for product migration in multiple languages
WO2000029964A1 (en) Software language translation system and method
US11029981B2 (en) Text resources processing in an application
US20070276650A1 (en) Techniques for customization of phonetic schemes
US20150193410A1 (en) System for editing a text of a portable terminal and method thereof
CN113139390A (zh) 一种应用于代码字符串的语言转换方法和装置
JP5723472B1 (ja) データリンク生成装置、データリンク生成方法、データリンク構造および電子ファイル
CN110968997A (zh) 强可控型文档生成方法、装置、存储介质、电子设备
TW200842662A (en) Stroke number input
CN112199962A (zh) 代码处理方法、装置、计算机设备及存储介质
KR101921333B1 (ko) 사용자 특정 구 입력 학습
CN116595967A (zh) 一种基于文本的自然语言规则编写方法及相关装置
CN111460809A (zh) 阿拉伯语地名专名音译方法、装置、翻译设备和存储介质
CN111443979B (zh) 文档处理方法、装置、计算机设备及存储介质
US20020052749A1 (en) Method and system for case conversion
US20220198127A1 (en) Enhancement aware text transition
CN113761171A (zh) 一种辅助编程方法、装置、电子设备及存储介质
CN115618887B (zh) 动态长文本国际化方法、装置、设备及存储介质
CN114168189A (zh) 一种Vue项目代码的翻译方法、设备及介质
JP6419902B1 (ja) プログラム比較方法、プログラム比較装置およびプログラム比較プログラム
CN114048175A (zh) 多语言文件生成方法及装置
CN114416035A (zh) 一种数据处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40037405

Country of ref document: HK

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co., Ltd