CN114398912A - 语言处理方法、装置、设备及存储介质 - Google Patents

语言处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114398912A
CN114398912A CN202210068653.8A CN202210068653A CN114398912A CN 114398912 A CN114398912 A CN 114398912A CN 202210068653 A CN202210068653 A CN 202210068653A CN 114398912 A CN114398912 A CN 114398912A
Authority
CN
China
Prior art keywords
translated
key value
file
language text
language
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
CN202210068653.8A
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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202210068653.8A priority Critical patent/CN114398912A/zh
Publication of CN114398912A publication Critical patent/CN114398912A/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
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本申请涉及语义解析领域,具体公开了一种语言处理方法、装置、设备及存储介质,该方法包括:创建Babel插件,Babel插件包括多个存储文件和转换函数;利用Babel插件,获取源代码中的语言文本,通过加密算法加密语言文本,得到key值;将key值对应的语言文本替换成包含key值的调用代码,调用代码用于调用转换函数;确定待翻译key值,获取待翻译key值对应的语言文本,生成待翻译文件;根据目标语言类型对待翻译文件进行翻译得到已翻译文件,已翻译文件包括目标语言文本;编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中。根据上述方法,能够减少语言配置国际化过程对浏览器性能的占用,提高网页加载速度。

Description

语言处理方法、装置、设备及存储介质
技术领域
本申请涉及语义解析领域,尤其涉及一种语言处理方法、装置、设备及存储介质。
背景技术
目前,基于WEB端,行业内实现语言处理的常用方法是:在DOM树模型上获取语言元素,根据用户的语言需求,将语言元素中的需要国际化的语言元素进行转换,最后将转换后的语言数据返回DOM树模型,进行渲染显示。根据上述做法,存在以下缺点:占用浏览器的性能,影响网页的加载速度,造成网页卡顿,导致用户的使用体验不佳。
发明内容
本申请提供一种语言处理方法、装置、设备及存储介质,用于减少语言处理过程中对浏览器性能的占用,提高网页的加载速度。
第一方面,本申请提供一种语言处理方法,所述方法包括:
创建Babel插件,所述Babel插件包括多个存储文件和转换函数;
利用所述Babel插件,获取源代码中包括语言标签的语言文本字符串,提取所述语言文本字符串中的语言文本,通过加密算法加密所述语言文本,得到key值;
将所述key值对应的语言文本替换成包含所述key值的调用代码,所述调用代码用于调用所述转换函数;
根据所述存储文件确定所述key值是否为待翻译key值,若所述key值为所述待翻译key值,获取所述待翻译key值对应的所述语言文本,生成待翻译文件;
获取目标语言类型,根据所述目标语言类型对所述待翻译文件进行翻译得到已翻译文件,并根据所述已翻译文件更新所述存储文件,所述已翻译文件包括目标语言文本;
编译所述调用代码,通过所述转换函数获取所述目标语言文本,将所述目标语言文本更新至编译代码中。
第二方面,本申请提供一种语言处理装置,所述装置包括:插件构建模块、代码加密模块、代码替换模块、文件生成模块、文件获取模块和代码编译模块;
插件构建模块,用于创建Babel插件,所述Babel插件包括多个存储文件和转换函数;
代码加密模块,用于利用所述Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密所述语言文本,得到key值;
代码替换模块,用于将所述key值对应的语言文本替换成包含所述key值的调用代码,所述调用代码用于调用所述转换函数;
文件生成模块,用于根据所述存储文件确定所述key值是否为待翻译key值,若所述key值为待翻译key值,获取所述待翻译key值对应的所述语言文本,生成待翻译文件;
文件获取模块,获取目标语言类型,用于根据所述目标语言类型对所述待翻译文件进行翻译得到已翻译文件,并根据所述已翻译文件更新所述存储文件,所述已翻译文件包括目标语言文本;
代码编译模块,用于编译所述调用代码,通过所述转换函数获取所述目标语言文本,将所述目标语言文本更新至编译代码中。
第三方面,本申请提供一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现本申请实施例中提供的任一种语言处理方法。
第四方面,本申请提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如本申请实施例中提供的任一种的语言处理方法。
本申请公开了一种语言处理方法、装置、设备及存储介质,该方法包括:创建Babel插件,Babel插件包括多个存储文件和转换函数;利用Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密语言文本,得到key值;将key值对应的语言文本替换成包含key值的调用代码,调用代码用于调用转换函数;根据存储文件确定key值是否为待翻译key值,若key值为待翻译key值,获取待翻译key值对应的语言文本,生成待翻译文件;获取目标语言类型,根据目标语言类型对待翻译文件进行翻译得到已翻译文件,并根据已翻译文件更新存储文件,已翻译文件包括目标语言文本;编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中。基于本申请提供的语言处理方法,能够在编译过程中完成语言处理,减少浏览器性能占用,提升网页加载速度和用户使用体验。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种语言处理方法应用场景的示意图;
图2是本申请实施例提供的一种语言处理方法的示意流程图;
图3是本申请实施例提供的一种待翻译文件生成方法的示意性流程图;
图4是本申请实施例提供的一种已翻译文件的示意性框图;
图5是本申请实施例提供的一种语言处理装置的示意性框图;
图6是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了减少语言处理过程中对浏览器性能的占用,提升用户使用体验,本申请提供了语言处理方法、装置、设备及存储介质。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1示出了本申请实施例提供的一种网页生成方法的流程示意图。如图1所示,网页生成过程包括:编译源代码、生成目标代码、生成DOM树和网页渲染显示。本申请实施例提供的一种语言处理方法,通过Babel插件作用于编译源代码至生成目标代码的过程中,这样,由于编译过程使用的是CPU的性能,所以能够减少对浏览器性能的占用,提升网页加载的速度。
请参阅图2,图2是本申请实施例提供的一种语言处理方法的示意流程图。该语言处理方法主要是通过Babel插件实现语言处理,能够减少对浏览器性能的占用,进而提升网页加载的速度和用户使用体验。
如图2所示,该语言处理方法,具体包括:步骤S101至步骤S106。
S101、创建Babel插件,Babel插件包括多个存储文件和转换函数。
具体地,新建或者获取Babel插件,在Babel插件的文件夹目录中创建多个存储文件,并向Babel插件中植入用于根据目标语言类型和Key值获取语言文本的转换函数。
示例性的,按照Babel官方文档,编辑babel插件,包括定义运行环境和设置根语言,在Babel插件的文件夹目录中创建多个存储文件和转换函数。
需要说明的是本申请实施例提供的Babel插件使用react+webpack作为开发工具,用于将采用ECMAScript2015+语法编写的代码转换为向后兼容的JavaScript语法,以便能够运行在当前和旧版本的浏览器或其他环境中。react是用于构建用户界面的JavaScript库。webpack是代码编译工具,有入口,出口、loader和插件。webpack是一个用于现代JavaScript应用程序的静态模块打包工具。当webpack处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个bundle。
还需要说明的是,运行环境,用于判断当前调用插件是在开发中,还是在项目打包中;根语言是代码开发时的文本语言,所有其它语言将以它的键为基准进行翻译。
在一些实施例中,存储文件包括:已翻译文件、待转移文件、待翻译文件。已翻译文件用于存储已完成翻译的语言数据,待转移文件用于临时存储已完成翻译的语言数据,待翻译文件用于存储待翻译的语言数据。
需要说明的是,已翻译文件、待转移文件和待翻译文件的格式为json(JavaScriptObject Notation,JS对象简谱)格式,其内容均为格式为{"key0":"value0","key1":"value1"}键值对的json字符串。
在一些实施例中,通过转换函数,根据目标语言类型查询对应的存储文件,该存储文件是已翻译文件,从存储文件中获取与key值对应的目标语言文本。
在另一些实施例中,转换函数读取目标语言类型,加载目标语言类型指向的目标存储文件,返回key值对应的目标语言文本,如果获取key值未配到相应语言配置文件,则返回默认值。
需要说明的是,通过转换函数输出的目标语言文本所需要的变量为:key值和目标语言类型,转换函数实现一个函数transform(key:string,def:string),入参key为语言配置文件键名,def为语言文本默认值。
S102、利用Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密语言文本,得到key值。
具体地,利用Babel插件,遍历源代码的AST语法树对象中的语言文本字符串,当语言文本字符串中包括预设的语言标签时,获取语言文本字符串,去除语言标签得到语言文本字符串的语言文本。使用加密算法,例如MD5信息摘要算法,对语言文本进行加密,生成具有规格统一的key值。
需要说明的是,在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
还需要说明的是,MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
在一些实施例中,为了便于检索,在获取源代码中包括语言标签的语言文本字符串之前,使用语言标签将源代码中准备国际化的语言文本包裹起来。这样,也有利于有多人开发的项目中统一标准,即开发人员用规定的语言标签包裹起来的语言文本为需要国际化的内容。
具体地,获取语言标签;向源代码中的语言文本中添加语言标签,生成语言文本字符串。
需要说明的是,本申请实施例可以基于人工智能技术对相关的数据进行获取和处理,比如获取源代码中包括语言标签的语言文本字符串。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
示例性的,准备国际化的语言文本为“话梅”,语言标签为“@^@$”,生成的语言文本字符串为“@^话梅@$”。
示例性的,语言标签可以是“@^@$”,其中“@^”代表开始标签,“@$”代表结束标签,被“@^@$”包裹的字段即为准备国际化的字段。其中,语言标签还包括:/@\^([\s\S]*)@\$/g。因此可以通过“@^@$”识别源代码中包括语言标签的语言文本字符串。
S103、将key值对应的语言文本串替换成包含key值的调用代码,调用代码用于调用转换函数。
具体地,使用key值和调用转换函数的代码生成调用代码,调用代码的输入变量为目标语言类型,在源代码中,将key值对应的语言文本串替换成包含key值的调用代码。
调用代码用于根据目标语言类型调用转换函数,使服务器加载目标语言类型对应的存储文件中的已翻译文件,使转换函数根据调用指令输出key值,获取目标语言配置文件夹中Value值(即语言文本)。这样,在国际化时,无需变更源代码中语言文本处的代码,仅需要获取目标语言,即可提前准备国际化所需的语言文本。
示例性的,获取目标语言类型,执行调用代码,向转换函数输入key值和目标语言类型,加载目标语言类型对应的存储文件中的已翻译文件,获取key值对应的唯一的目标语言文本。
S104、根据存储文件确定key值是否为待翻译key值,若key值为待翻译key值,获取待翻译key值对应的语言文本,生成待翻译文件。
具体地,获取加密算法生成的key值,遍历存储文件中的key值,若加密算法生成的key值在存储文件中不存在,将未包含在存储文件中的加密算法生成的key值设置为待翻译key值,获取待翻译key值对应的语言文本,生成key值和语言文本具有唯一映射关系的json文件,该json文件即为待翻译文件。
在一些实施例中,获取加密算法生成的key值,遍历存储文件中的key值,若加密算法生成的key值在存储文件中已存在,将加密算法生成的key值设置为已翻译key值,输出标示信息,并删除该已翻译key值。
示例性的,如图3所示,获取语言文本“开”、“心”、“快”、“乐”,利用加密算法加密上述4个语言文本得到的key值分别为A11、A12、A13和A14,遍历存储文件,检测到存储文件中已包含的key值为A11和A13,则删除经过加密算法得到的A11和A13,将A12和A14设置为待翻译key值。将“A12”、“A14”、“心”、“乐”保存至json文件中,生成待翻译文件,其中,“A12和心”,“A14和乐”是两个映射关系对,在该映射关系对中,key值和语言文本具有唯一的映射关系。
S105、获取目标语言类型,根据目标语言类型对待翻译文件进行翻译得到已翻译文件,并根据已翻译文件更新存储文件,已翻译文件包括目标语言文本。
具体地,获取待翻译文件,提取待翻译文件中语言文本,根据目标语言类型,对语言文本进行翻译,生成目标语言文本,将目标语言文本替换待翻译文件中对应的语言文本,生成已翻译文件,将已翻译文件存储至存储文件中。
在一些实施例中,目标语言类型可以是一种或多种,根据目标语言类型进行翻译得到的目标语言文本也是一种或多种。完成翻译后,将目标语言文本存储至对应目标语言类型的已翻译文件中。
在一些实施例中,根据目标语言类型给已翻译文件设置对应的标签,或者将已翻译文件保存至目标语言类型对应的存储文件中。
示例性的,如图4所示,待翻译的语言文本为“幸运”,根据“幸运”加密得到的key值为“L77”,目标语言类型包括:英语、法语和德语,则目标语言文本分别为“lucky”、“Chanceux”和“Glück”,根据目标语言类型生成3个已翻译文件,包括:英语的EN.json文件,法语的FR.json文件,德语的GM.json文件,在上述3个json文件中,“lucky”、“Chanceux”和“Glück”对应的key值都是“L77”。
在一些实施例中,对语言文本进行翻译,该过程可以是机器翻译,也可以是人工翻译。
在一些实施例中,生成已翻译文件后,将待翻译文件删除,这样能够避免同一文件被重复翻译的情况发生。
在一些实施例中,已翻译文件可以暂时保存在待转移文件中,待人工核验该已翻译文件没有安全性问题后,再保存至存储文件中,同时将待转移文件清除,这样能够减少外部利用语言处理过程对系统进行攻击的可能。
S106、编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中。
具体地,接收用户输入的语言类型信息,启动Babel插件,获取目标语言类型,编译调用代码,获取调用代码中包含的key值,通过转换函数加载目标语言类型对应的已翻译文件,以及获取已翻译文件中key值对应的目标语言文本值,并将目标语言文本值更新至编译代码中。
需要说明的是,编译代码是Babel插件对源代码进行编译生成的,包括网页的语言元素的代码,还包括网页其他功能元素的代码,例如图片元素。通过Babel插件编译生成的编译代码,可以构建网页的DOM树(Document Object Model,文档对象模型)。
还需要说明的是,Babel插件编译源代码的过程中,使用了CPU(centralprocessing unit,中央处理器,简称CPU)的空闲性能,语言处理在构建DOM树之前已经完成,不占用浏览器的性能去处理DOM树,因此,可以提升网页的加载速度,提高用户的使用体验。
示例性的,用户根据自身语言使用需求,选择了英语作为网页的目标语言类型,服务器接收到包含该语言目标类型的信息,控制Babel插件启动,编译调用代码,获取目标语言文本,将目标语言文本输出在网页上。
在一些实施例中,启动网页时,根据历史记录获取目标语言类型,该过程包括:(1)将使用次数最多的语言类型设置为目标语言类型;(2)将网页最近一次应用的语言类型设置为目标语言类型;(3)将用户指定的语言类型设置为目标语言类型。
请参阅图5,图5是本申请的实施例还提供一种语言处理装置的示意性框图,该语言处理装置300用于执行前述的语言处理方法。其中,该语言处理装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图5所示,语言处理装置300包括:插件构建模块301、代码加密模块302、代码替换模块303、文件生成模块304、文件获取模块305和代码编译模块306。
插件构建模块301,用于创建Babel插件,Babel插件包括多个存储文件和转换函数。
代码加密模块302,用于利用Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密语言文本,得到key值。
在一些实施例中,代码加密模块302还用于根据目标语言类型查询对应的存储文件;从存储文件中获取与key值对应的目标语言文本。
代码替换模块303,用于将key值对应的语言文本替换成包含key值的调用代码,调用代码用于调用转换函数;
文件生成模块304,用于根据存储文件确定key值是否为待翻译key值,若key值为待翻译key值,获取待翻译key值对应的语言文本,生成待翻译文件;
在一些实施例中,文件生成模块304还用于根据存储文件确定key值是否为待翻译key值,若key值不是待翻译key值,删除key值。
在一些实施例中,文件生成模块304还具体用于遍历存储文件;若key值在存储文件中不存在,则确定key值为待翻译key值;若key值在存储文件中已存在,确定key值为已翻译key值。
文件获取模块305,获取目标语言类型,用于根据目标语言类型对待翻译文件进行翻译得到已翻译文件,并根据已翻译文件更新存储文件,已翻译文件包括目标语言文本;
在一些实施例中,文件获取模块305还具体用于获取待翻译文件中的语言文本;根据目标语言类型,对语言文本进行翻译,生成目标语言文本;将目标语言文本替换待翻译文件中对应的语言文本,生成已翻译文件。
代码编译模块306,用于编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中。
在一些实施例中,代码编译模块306还具体用于启动Babel插件,编译调用代码;通过转换函数加载目标语言类型对应的已翻译文件,获取已翻译文件中的key值对应的目标语言文本值,并将目标语言文本值更新至编译代码中。
在一些实施例中,代码编译模块306还具体用于根据目标语言类型查询对应的存储文件;从存储文件中获取与key值对应的目标语言文本。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的语言处理装置和各模块的具体工作过程,可以参考前述语言处理方法实施例中的对应过程,在此不再赘述。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的模型训练装置和各模块的具体工作过程,可以参考前述语言处理方法实施例中的对应过程,在此不再赘述。
上述的语言处理装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
参阅图6,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行本申请实施例提供的任意一种语言处理方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种语言处理方法或者NLP分类模型训练方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
示例性的,在一个实施例中,处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
创建Babel插件,Babel插件包括多个存储文件和转换函数;
利用Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密语言文本,得到key值;
将key值对应的语言文本替换成包含key值的调用代码,调用代码用于调用转换函数;
根据存储文件确定key值是否为待翻译key值,若key值为待翻译key值,获取待翻译key值对应的语言文本,生成待翻译文件;
获取目标语言类型,根据目标语言类型对待翻译文件进行翻译得到已翻译文件,并根据已翻译文件更新存储文件,已翻译文件包括目标语言文本;
编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中。
在一些实施例中,处理器在实现根据目标语言类型对待翻译文件进行翻译得到已翻译文件,更新存储文件时,还具体用于实现:
获取待翻译文件中的语言文本;
根据目标语言类型,对语言文本进行翻译,生成目标语言文本;
将目标语言文本替换待翻译文件中对应的语言文本,生成已翻译文件。
在一些实施例中,处理器在实现编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中时,还具体用于实现:
启动Babel插件,编译调用代码;
通过转换函数加载目标语言类型对应的已翻译文件,获取已翻译文件中的key值对应的目标语言文本值,并将目标语言文本值更新至编译代码中。
在一些实施例中,处理器还具体用于实现:根据存储文件确定key值是否为待翻译key值,若key值不是待翻译key值,删除key值。
在一些实施例中,处理器在实现根据存储文件确定key值是否为待翻译key值时,还具体用于实现:
遍历存储文件;
若key值在存储文件中不存在,则确定key值为待翻译key值;
若key值在存储文件中已存在,确定key值为已翻译key值。
在一些实施例中,处理器在实现通过转换函数获取目标语言文本时,还具体用于实现:
根据目标语言类型查询对应的存储文件;
从存储文件中获取与key值对应的目标语言文本。
在一些实施例中,处理器在实现获取源代码中包括语言标签的语言文本字符串之前,还具体用于实现:
获取语言标签;
向源代码中的语言文本中添加语言标签,生成语言文本字符串。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘、智能存储卡(SmartMedia Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种语言处理方法,其特征在于,所述方法包括:
创建Babel插件,所述Babel插件包括多个存储文件和转换函数;
利用所述Babel插件,获取源代码中包括语言标签的语言文本字符串,提取所述语言文本字符串中的语言文本,通过加密算法加密所述语言文本,得到key值;
将所述key值对应的语言文本替换成包含所述key值的调用代码,所述调用代码用于调用所述转换函数;
根据所述存储文件确定所述key值是否为待翻译key值,若所述key值为所述待翻译key值,获取所述待翻译key值对应的所述语言文本,生成待翻译文件;
获取目标语言类型,根据所述目标语言类型对所述待翻译文件进行翻译得到已翻译文件,并根据所述已翻译文件更新所述存储文件,所述已翻译文件包括目标语言文本;
编译所述调用代码,通过所述转换函数获取所述目标语言文本,将所述目标语言文本更新至编译代码中。
2.根据权利要求1所述的方法,其特征在于,所述根据目标语言类型对所述待翻译文件进行翻译得到已翻译文件,更新所述存储文件,包括:
获取所述待翻译文件中的所述语言文本;
根据所述目标语言类型,对所述语言文本进行翻译,生成所述目标语言文本;
将所述目标语言文本替换所述待翻译文件中对应的所述语言文本,生成所述已翻译文件。
3.根据权利要求1所述的方法,其特征在于,所述编译调用代码,通过转换函数获取目标语言文本,将目标语言文本更新至编译代码中,包括:
启动所述Babel插件,编译所述调用代码;
通过所述转换函数加载所述目标语言类型对应的所述已翻译文件,获取所述已翻译文件中的所述key值对应的所述目标语言文本值,并将所述目标语言文本值更新至编译代码中。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述存储文件确定所述key值是否为待翻译key值之后,包括:
若所述key值不是所述待翻译key值,删除所述key值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述存储文件确定所述key值是否为待翻译key值,包括:
遍历所述存储文件;
若所述key值在所述存储文件中不存在,则确定所述key值为所述待翻译key值;
若所述key值在所述存储文件中已存在,确定所述key值为已翻译key值。
6.根据权利要求1所述的方法,其特征在于,所述通过所述转换函数获取所述目标语言文本,包括:
根据所述目标语言类型查询对应的所述存储文件;
从所述存储文件中获取与所述key值对应的所述目标语言文本。
7.根据权利要求1所述的方法,其特征在于,在所述获取源代码中包括语言标签的语言文本字符串之前,所述方法还包括:
获取所述语言标签;
向源代码中的所述语言文本中添加所述语言标签,生成所述语言文本字符串。
8.一种语言处理装置,其特征在于,包括:
插件构建模块,用于创建Babel插件,所述Babel插件包括多个存储文件和转换函数;
代码加密模块,用于利用所述Babel插件,获取源代码中包括语言标签的语言文本字符串,提取语言文本字符串中的语言文本,通过加密算法加密所述语言文本,得到key值;
代码替换模块,用于将所述key值对应的语言文本替换成包含所述key值的调用代码,所述调用代码用于调用所述转换函数;
文件生成模块,用于根据所述存储文件确定所述key值是否为待翻译key值,若所述key值为待翻译key值,获取所述待翻译key值对应的所述语言文本,生成待翻译文件;
文件获取模块,获取目标语言类型,用于根据所述目标语言类型对所述待翻译文件进行翻译得到已翻译文件,并根据所述已翻译文件更新所述存储文件,所述已翻译文件包括目标语言文本;
代码编译模块,用于编译所述调用代码,通过所述转换函数获取所述目标语言文本,将所述目标语言文本更新至编译代码中。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一种所述的语言处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一种所述的语言处理方法。
CN202210068653.8A 2022-01-20 2022-01-20 语言处理方法、装置、设备及存储介质 Pending CN114398912A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210068653.8A CN114398912A (zh) 2022-01-20 2022-01-20 语言处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210068653.8A CN114398912A (zh) 2022-01-20 2022-01-20 语言处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114398912A true CN114398912A (zh) 2022-04-26

Family

ID=81232836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210068653.8A Pending CN114398912A (zh) 2022-01-20 2022-01-20 语言处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114398912A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796190A (zh) * 2023-01-10 2023-03-14 杭州比智科技有限公司 基于vue和webpack的前端国际化多语言转换方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796190A (zh) * 2023-01-10 2023-03-14 杭州比智科技有限公司 基于vue和webpack的前端国际化多语言转换方法及系统
CN115796190B (zh) * 2023-01-10 2023-05-16 杭州比智科技有限公司 基于vue和webpack的前端国际化多语言转换方法及系统

Similar Documents

Publication Publication Date Title
US6470349B1 (en) Server-side scripting language and programming tool
Daelemans et al. Mbt: memory-based tagger
US20140156282A1 (en) Method and system for controlling target applications based upon a natural language command string
US7784026B1 (en) Web application internationalization
CN109062925B (zh) 自动生成insert语句的方法、装置、计算机设备及存储介质
TW200821928A (en) Parsing unstructured resources
CN112527415A (zh) 小程序跨平台迁移方法、装置、设备和介质
CN113704706B (zh) 代码加固方法、装置
CN110780860A (zh) 建表脚本的生成方法、装置、计算机设备及存储介质
CN116069325B (zh) 前端项目构建方法、装置、设备及计算机可读存储介质
US20220284371A1 (en) Method, device and medium for a business function page
CN114153459A (zh) 接口文档生成方法及装置
CN114398912A (zh) 语言处理方法、装置、设备及存储介质
CN112000334A (zh) 页面开发方法、装置、服务器及存储介质
CN111046636B (zh) 筛选pdf文件信息的方法、装置、计算机设备及存储介质
CN106897052A (zh) Apk文件压缩方法及装置
CN107643892B (zh) 接口处理方法、装置、存储介质和处理器
CN114356507A (zh) 基于浏览器处理文档的方法、装置、设备及存储介质
WO2022099913A1 (zh) 界面配置方法、装置、设备及介质
CN113568678A (zh) 一种动态加载资源的方法、装置及电子设备
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
CN113741900B (zh) 一种前端页面应用的开发方法、装置及相关设备
US20150324333A1 (en) Systems and methods for automatically generating hyperlinks
CN112181398A (zh) 配置文件处理装置、方法及存储介质
CN114579135B (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