页面信息处理方法、装置及存储介质与流程

文档序号:18739849发布日期:2019-09-21 01:39阅读:126来源:国知局
页面信息处理方法、装置及存储介质与流程
本申请涉及金融科技(Fintech)领域,尤其涉及一种页面信息处理方法、装置及存储介质。
背景技术
:随着计算机技术的发展,越来越多的技术(互联网,大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,在互联网行业,Web(WorldWideWeb,万维网)前端开发的编程语言以及编程框架越来越丰富,为了满足不同用户的需求,在Web前端页面展示时需要进行多语言展示。在页面(Web)的开发中,现有的技术方案中通常包括页面开发阶段和页面运行阶段。在页面的开发过程中,通常需要用户人工从源代码中寻找的多语言化展示的语句。例如,寻找中文语句。然后,人工将该中文语句替换为需要语种的距离,例如英文语句。然而,一个大型Web应用的源代码往往涉及几百个源代码文件,涉及几千项需要多语言化展示的语句,采用人工从源代码文件中寻找需要多语言化展示的语句并进行修改,要耗费大量的人力,并且周期较长。技术实现要素:本申请实施例提供一种页面信息处理方法、装置及存储介质,用于解决现有技术中在页面开发阶段,采用人工从源代码文件中寻找需要多语言化展示的语句并进行修改,要耗费大量的人力,并且周期较长的问题。本申请实施例的第一方面公开了一种页面信息处理方式,所述方法包括:从页面的源代码文件中筛选出指定源文件,生成文件清单;所述指定源文件中包括目标文本,所述目标文本为采用第一语种编码方式进行字符编码的文本;遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典;将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符;以及,使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。可选的,所述方法还包括:分别为每种采用第二指定语种编码方式编码的字符生成对应的单语言字典。可选的,从页面的源代码文件中筛选出指定源文件,生成文件清单,包括:调用页面打包插件遍历当前项目使用的源文件名称列表,筛选出文件后缀为指定后缀的源文件集合;针对所述源文件集合中的各源文件,若确认该源文件中包含所述目标文本,则将该源文件标识添加到文件清单中。可选的,从页面的源代码文件中筛选出指定源文件,生成文件清单,包括:调用命令行工具响应于针对源文件夹的选定操作指令,确定选定的源文件夹;在所述选定的源文件夹中遍历源文件,获得所述指定源文件,并生成文件清单。可选的,分别为每种采用第二指定语种编码方式编码的字符生成对应的单语言字典之后,所述方法还包括:响应于合并指令,将所述合并指令中指定的至少两种编码方式编码的字符进行合并。可选的,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,还包括:确定未成功翻译的目标文本,输出提示信息,所述提示信息中包括未成功翻译的目标文本以及对应的未成功翻译的第二指定语种。可选的,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,所述方法还包括:确定目标文本中,被成功翻译的语句数量并显示,和/或,确定翻译进度并显示。可选的,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,所述方法还包括:将翻译结果填充到所述目标语言字典中。可选的,所述方法还包括:再次得到新目标文本后,根据所述目标语言字典确定该新目标文本是否已被翻译;若未被翻译,则翻译该新目标文本,并将翻译结果更新到所述目标语言字典中。可选的,将翻译结果填充到所述目标语言字典中之后,所述方法还包括:显示翻译结果校对界面;根据对所述校对界面的操作指令,更新所述目标语言字典中的翻译结果。在本申请实施例的第二方面公开了一种页面信息处理装置,所述装置:文件清单生成单元,用于从页面的源代码文件中筛选出指定源文件,生成文件清单;所述指定源文件中包括目标文本,所述目标文本为采用第一语种编码方式进行字符编码的文本;字典生成单元,用于遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典;翻译单元,用于将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符;替换单元,用于使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。可选的,所述装置还包括:单语言字典生成单元,用于分别为每种采用第二指定语种编码方式编码的字符生成对应的单语言字典。可选的,所述文件清单生成单元,用于:调用页面打包插件遍历当前项目使用的源文件名称列表,筛选出文件后缀为指定后缀的源文件集合;针对所述源文件集合中的各源文件,若确认该源文件中包含所述目标文本,则将该源文件标识添加到文件清单中。可选的,所述文件清单生成单元,用于:调用命令行工具响应于针对源文件夹的选定操作指令,确定选定的源文件夹;在所述选定的源文件夹中遍历源文件,获得所述指定源文件,并生成文件清单。可选的,所述装置还包括:合并单元,用于响应于合并指令,将所述合并指令中指定的至少两种编码方式编码的字符进行合并。可选的,所述装置还包括:提示单元,用于在将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,确定未成功翻译的目标文本,输出提示信息,所述提示信息中包括未成功翻译的目标文本以及对应的未成功翻译的第二指定语种。可选的,所述装置还包括:显示单元,用于在将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,确定目标文本中,被成功翻译的语句数量并显示,和/或,确定翻译进度并显示。可选的,所述装置还包括:填充单元,用于将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,将翻译结果填充到所述目标语言字典中。可选的,所述装置还包括:更新单元,用于再次得到新目标文本后,根据所述目标语言字典确定该新目标文本是否已被翻译;若未被翻译,则翻译该新目标文本,并将翻译结果更新到所述目标语言字典中。可选的,所述装置还包括:校对单元,用于将翻译结果填充到所述目标语言字典中之后,显示翻译结果校对界面;根据对所述校对界面的操作指令,更新所述目标语言字典中的翻译结果。本申请实施例的第三方面公开了一种计算机可读介质,存储有计算机可执行指令,该计算机可执行指令用于执行上述页面信息处理方法。本申请实施例的第四方面公开了一种计算机装置,该计算机装置包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述页面信息处理方法。本申请为了提高页面开发的效率,从页面的源代码文件中筛选出包含目标文本的指定源文件,生成文件清单;遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典;将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符;以及,使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。该方法使得在页面的开发阶段中,可以自动完成源代码中需要翻译的语句的搜索,并对这些语句自动进行翻译,并且可以自动的对目标文本进行替换处理,减少了人工介入的环节,能够有效提高页面开发的效率。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例中页面信息处理的方法流程示意图;图2为本申请实施例中提供的显示翻译进度的界面示意图;图3为本申请实施例中页面信息处理的方法的另一流程示意图;图4为本申请实施例中页面信息处理的方法的再一流程示意图;图5为本申请实施例中页面信息处理的装置的结构框图;图6为本申请实施例中提供的计算机装置的结构示意图。具体实施方式为解决现有技术中在页面开发阶段,采用人工从源代码文件中寻找需要多语言化展示的语句并进行修改,要耗费大量的人力,并且周期较长的问题。本申请实施例提供了一种页面信息处理方法、装置及存储介质。为了更好的理解本申请实施例提供的技术方法,这里对本方案的基本原理作一下简单说明:本申请为了提高页面开发的效率,可以先确定目标文本(例如中文字符文本),确定目标文本后,从页面的源代码文件中筛选出包含目标文本的指定源文件,生成文件清单;遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典;将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符;以及,使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。该方法使得在页面的开发阶段中,可以自动完成源代码中需要翻译的语句的搜索,并对这些语句自动进行翻译,并且可以自动的对目标文本进行替换处理,减少了人工介入的环节,能够有效提高页面开发的效率。此外,本申请中文件清单、目标语言字典以及源文件都是分步产出的。这样,便于用户在每个步骤之间进行人工介入,以便于人工修改生成的文件清单,字典和源代码文件。使得银行等金融机构的Web应用的开发运维更加高效,保证了银行各种业务运维平台正常使用,从而实现各种业务(如贷款业务、存款业务等)的正常开展。下面结合附图对本申请实施例提供的页面信息处理的方法做进一步说明。如图1所示,为该方法的流程示意图,包括以下步骤:步骤101,从页面的源代码文件中筛选出指定源文件,生成文件清单;所述指定源文件中包括目标文本,所述目标文本为采用第一语种编码方式进行字符编码的文本。在页面的开发阶段,可以使用插件或者命令行工具,通过一定的筛选规则从页面的源代码文件中自动筛选出指定源文件,生成文件清单,具体调用插件及命令行工具生成文件清单的过程在后文会有详细说明。步骤102,遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典。步骤103,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符。步骤104:使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。例如,可以将源代码文件中需要进行多语言展示的文本替换为包含翻译标识的文本。例如,源代码文件中需要进行多语言展示的文本对应的语言为中文,假设需要进行多语言展示的文本为‘中文语句’,则替换后的包含翻译标识的文本为_t(‘中文语句’)。关于如何确定目标文本,以及如何进行替换处理将在后文中详述,这里暂不赘述。在一个实施例中,从页面的源代码文件中筛选出指定源文件,生成文件清单可实施为两种方式,具体实施时,用户可根据实际需求选用相应的方式:方式一、具体实施时可包括步骤A1-步骤A2:步骤A1,调用页面打包插件遍历当前项目使用的源文件名称列表,筛选出文件后缀为指定后缀的源文件集合;步骤A2,针对所述源文件集合中的各源文件,若确认该源文件中包含所述目标文本,则将该源文件标识添加到文件清单中。在页面的开发阶段,可以调用页面打包插件遍历当前项目使用的源文件的名称列表,通过筛选获取指定后缀的源文件,得到源文件集合。然后,通过正则表达式判断筛选出的源文件中是否包含目标文本,目标文本可以是中文,还可以是日语等非拉丁字符语言的其他语种。如果筛选出的源文件中包含目标文本,那么就将该源文件的标识添加到文件清单中。调用页面打包插件可以自动获取文件清单,提高开发效率。方式二、具体实施时可包括步骤B1-步骤B2:步骤B1,调用命令行工具响应于针对源文件夹的选定操作指令,确定选定的源文件夹;步骤B2,在选定的文件夹中遍历源文件,获得指定源文件,并生成文件清单。在页面的开发阶段,该命令行工具可支持include和exclude两种操作指令。其中,include用于指定需要处理的文件夹,exclude用于指定不需要处理的文件夹或文件。include和exclude可分别支持多项文件路径,也可支持通配符。比如,include=src/*.js,dir/some.jsp,src/*.js,dir/bame.html表示支持两项文件路径,分别为src/*.js,dir/some.jsp和src/*.js,dir/bame.html,两项文件路径可用“,”区分开来。具体实施时,可以单独使用include和exclude两种操作指令,也可以嵌套使用两种操作指令。嵌套使用include和exclude的操作指令,例如是,在源文件夹A-E中,使用include操作指令筛选出include命令中的源文件夹A,假设该源文件夹A包括编号为1-100的100个子文件,然后再使用exclude操作命令将筛选出的100个子文件中不需要的文件进行剔除,比如使用exclude操作命令剔除掉编号为1-50的子文件,那么源文件夹A中编号51-100的子文件即为确定选定的源文件。在确定选定的源文件中进行遍历,筛选出指定文件类型且包含目标文本的源文件生成文件清单。比如选出后缀名分别为.veu、.js、.htlm、.jsp的源文件,然后通过正则表达式判断源文件中是否包含目标文本。如果筛选出的源文件中包含目标文本,那么就将该源文件的标识添加到文件清单中。调用命令行工具可以自动获取文件清单,也可以减少人工创建文件清单等重复开发的工作过程。在一个实施例中,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,该方法还包括:确定目标文本中,被成功翻译的语句数量并显示,和/或,确定翻译进度并显示。如图2所示,为以中文为目标文本进行翻译时,显示内容的界面示意图。该界面中表示共有2073项中文语句需要翻译,且持续更新当前进度并显示。在翻译完成后还可显示成功翻译的语句数,以及翻译结果保存的地址。当然,需要说明的是,翻译进度还可以进度条的形式显示,本申请实施例并不对显示翻译进度的具体方式进行限定。采用该实施方式显示翻译语句数和/或翻译进度,以便于用户了解翻译过程的进展情况。在一个实施例中,还可以在将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,将翻译结果填充到所述目标语言字典中。也即该目标语言字典中包括了需要翻译的目标文本以及各目标文本的翻译结果。实施时,填充后的目标语言字典可如表1所示:表1中,目标文本编号可以是全局的唯一标识,用于唯一表示一条需要翻译的目标文本。后两列的为两种语言的翻译结果。需要说明的是,表1仅用于示例性说明本申请实施例,并不用于限定本申请实施例。表1目标文本编号目标文本英文翻译结果日语翻译结果1语句1********……********n语句n********在替换处理后,待页面显示阶段,可以根据源文件从表1所示字典中查找到对应的翻译结果进行页面展示。此外,可选的,在得到翻译结果后,可以显示翻译结果校对界面供校对;然后根据对所述校对界面的操作指令,更新所述目标语言字典中的翻译结果。也即,可以将翻译结果展示出来,并提供校对界面。然后根据校对人员在校对界面中的操作,对翻译结果进行更新和维护。也即,可以将自动翻译结果交由专业的翻译人员进行校对,并由翻译人员对翻译结果进行修改。在一个实施例中,为了满足用户的不同需求,本申请实施例中还可以分别为每种采用第二指定语种编码方式编码的字符生成对应的单语言字典。也即,在将各指定源文件中包含的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符后,可以根据用户的需要将每种指定语种编码方式编码的字符生成的对应的单语言字典。比如,在得到表1所述的多语言的字典后,可以将该字典分割为分别包含各语言的源文件。包括含有英文编码字符的单语言字典、含有日文编码字符的单语言字典,也可进一步生成含有中文的单语言字典。将第二指定语种编码方式编码的字符按照语种类别分成不同的源文件,便于用户展开对不同语种的管理工作,同时也便于在校对时可以按照不同语种的进行校对。此外,为进一步满足实际的用户需求,本申请实施例中还可以响应于合并指令,将所述合并指令中指定的至少两种编码方式编码的字符进行合并,也即将不同语种翻译结果进行合并。其中,将哪些语种的翻译结果进行合并可以由用户指定。在一个实施例中,将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,还包括:确定未成功翻译的目标文本,输出提示信息,所述提示信息中包括未成功翻译的目标文本以及对应的未成功翻译的第二指定语种。为便于理解,这里继续以表1为例。针对每个目标文本,可遍历其英文翻译结果是否为空,若为空,则说明相应目标文本未成功翻译成英文,若假设语句1未成功翻译成英文,可以发出语句1未得到翻译结果的提示信息。以便于校对时可以根据提示人工翻译语句1,从而保证各需要翻译的目标文本都能有对应的翻译结果。在一个实施例中,为了便于增量更新如表1所述的字典,本申请实施例中,还可以再次得到新目标文本后,根据所述目标语言字典确定该新目标文本是否已被翻译;若未被翻译,则翻译该新目标文本,并将翻译结果更新到所述目标语言字典中。例如,初次生成含有多语种的目标语言字典之后,还可以按需采用本申请实施例提供的方案,采用前述的页面打包插件或命令行工具,并根据正则表达式获得新目标文本。获得的新目标文本如果已被翻译,则可以不进行翻译,避免重复翻译,如果未被翻译,则可以进行翻译,得到的翻译结果可增量更新到目标语言字典中。为便于理解,下文将对如何确定目标文本和如何进行替换处理做进一步说明。本申请实施例在指定源文件的文件类型不同时,从源代码文件中确定目标文本的方式也不相同,下面针对不同类型的源代码文件分别进行说明。一、源代码文件为JavaScript源代码文件。在指定源文件为JavaScript源代码文件时,根据下列方式从源代码文件中确定需要处理的目标文本:通过预设的正则表达式对所述指定源文件的内容进行匹配,确定备选的字符串;将所述备选的字符串中包含所述预设语言的字符串作为所述需要处理的目标文本。实施中,在指定源文件的文件名的后缀为.js时,确定指定源文件为JavaScript源代码文件;然后,通过预设的正则表达式对指定源文件的内容进行匹配,例如,预设的正则表达式可以是:newRegExp('/\\*[\\s\\S]*?\\*/|([^:]|^)//.*','gm')该正则表达式可以匹配.js文件里的单行注释和多行注释,各个注释块前后的代码块可视为独立的代码块,在各个独立的代码块中,用正则表达式匹配行内成对出现的单引号、双引号,得到单引号或双引号为起止的字符串,该字符串即为备选的字符串。在确定出备选的字符串之后,可以采用预设的正则表达式判断备选的字符串中是否包含预设语言,例如,在预设语言为中文简体时,用正则表达式判断备选字符串内是否包含中文简体的字符串。在确定备选的字符串中包含预设语言时,确定该备选字符串为需要处理的目标文本。需要说明的是,在从指定源文件中确定备选的字符串使用的预设的正则表达式、与判断备选的字符串中是否包含预设语言使用的预设的正则表达式为不同的正则表达式。另外,本申请实施例从指定源文件中可以确定出一个或多个需要处理的目标文本。从指定源文件确定出目标文本后,使用JavaScript源代码文件对应的替换规则对目标文本进行替换处理。一种可选的实施方式为,替换规则为将目标文本替换为包含翻译标识的文本。需要说明的是,在确定备选字符串中包含预设语言之后,还需要判断备选字符串的上下文中是否包含翻译标识或保留标识,在确定不包含翻译标识和保留标识之后,将备选字符串替换为包含翻译标识的文本;在确定包含翻译标识或保留标识之后,则保留该备选字符串。例如,预先设置翻译标识为_t(),预先设置保留标识为_r();示例的,.js文件对应的替换规则如下:以单引号或双引号为起止的字符串如‘张三’,则替换规则为添加_t()翻译标识,替换结果为_t(‘张三’);若字符串的上下文中包含了翻译标识的字符串,如_t(‘李四’),则该字符串保留;若字符串的上下文中包含了保留标识的字符串,如_r(‘王五’),则保留该字符串。如图3所示,本申请实施例在指定源文件为JavaScript源代码文件时文本替换的完整流程图。步骤S301:读入指定源文件;步骤S302:确定指定源文件的文件类型为预设类型后,通过预设的正则表达式对源代码文件的内容进行匹配,确定备选的字符串;其中,预设类型包括JavaScript源代码文件、Html源代码文件、jsp源代码文件、vue源代码文件;步骤S303:将备选的字符串中包含预设语言的字符串作为需要处理的目标文本;步骤S304:确定指定源文件的文件类型对应的替换规则;步骤S305:使用确定的替换规则对目标文本进行替换处理。二、指定源文件为Html源代码文件。在指定源文件为Html源代码文件时,根据下列方式从源代码文件中确定需要处理的目标文本:遍历所述指定源文件中的子节点,得到子节点的属性和/或内容;通过预设的正则表达式确定包含所述预设语言的子节点的属性和/或内容,并将确定出的包含所述预设语言的子节点的属性和/或内容作为所述需要处理的目标文本。实施中,在指定源文件的文件名的后缀为.html时,确定指定源文件为Html源代码文件;然后,通过htmlparser对指定源文件的内容进行解析,遍历并得到子节点的属性和内容;然后,通过预设的正则表达式找到子节点的属性和内容中包含预设语言的子节点的属性和内容,在确定子节点的属性和内容中包含预设语言时,确定该子节点的属性和内容为需要处理的目标文本。从指定源文件中确定出目标文本后,使用Html源代码文件对应的替换规则对目标文本进行替换处理。由于指定源文件中包含不同类型的子节点,本申请实施例中不同类型的子节点对应的替换规则可能不同;Html源代码文件对应的替换规则中包含不同子节点类型对应的子替换规则。例如,Html源代码文件对应的替换规则中包含第一子替换规则、第二子替换规则和第三子替换规则;其中常规节点对应的子替换规则为第一子替换规则,style节点和注释节点对应子替换规则为第二子替换规则,脚本节点对应的子替换规则为第三子替换规则。需要说明的是,本申请实施例的常规节点为Html树中除了style节点、注释节点和脚本节点之外的节点。在指定源文件为Html源代码文件时,根据下列方式对目标文本进行替换处理:根据预先设定的子节点类型和子替换规则的对应关系,确定所述源代码文件中的子节点对应的子替换规则;使用所述子节点对应的子替换规则对所述目标文本进行替换处理。例如,常规节点对应的第一子替换规则包括但不限于:1、若目标文本为子节点的内容,则使用{{}}变量表达式以及使用翻译标识(其中,翻译标识可以为_t()标识);假设目标文本为<i>张三</i>,则替换结果为<i>{{_t('张三')}}</i>。2、若目标文本为子节点的属性,则使用{{}}变量表达式以及使用_t()标识;假设目标文本为<iattr="李四"></i>,则替换结果为<iattr="{{_t('李四')}}"></i>。3、若目标文本为子节点的内容,且子节点的内容中含有预设语言和Html保留字,则按保留字断句之后,每一段按目标文本为子节点的内容的规则处理;假设目标文本为<i>王五&nbsp;包含保留字</i>,预设语言为中文简体,则替换结果为<i>{{_t('王五')}}&nbsp;{{_t('保留字')}}。4、若目标文本为子节点的内容,且子节点的内容中含有变量表达式,则将原变量替换为{n},并将变量表达式作为_t的参数传入;假设目标文本为<i>赵六{{msg}}包含变量</i>,则替换结果为<i>{{_t('赵六{0}包含变量',msg)}}</i>。5、若目标文本为子节点的属性,且子节点的属性中含有变量表达式,则将原变量替换为{n},并将变量表达式作为_t的参数传入;假设目标文本为<iprop="属性{{msg}}包含变量"></i>,则替换结果为<iprop="{{_t('属性{0}包含变量',msg)}}"></i>。6、若目标文本为子节点的属性,且子节点的属性中含有带单引号的字符串,则使用{{}}变量表达式且使用_t()标识;假设<iprop="'字符串属性'"></i>,则替换结果为<iprop="{{_t('字符串属性')}}"></i>。style节点和注释节点均对应第二子替换规则,针对style节点和注释节点中遍历得到的内容和属性,保持style节点和注释节点中的内容和属性不变。脚本节点对应第三子替换规则,第三子替换规则与JavaScript源代码文件对应的替换规则相同。三、指定源文件为jsp源代码文件。在指定源文件为jsp源代码文件时,根据下列方式从指定源文件中确定需要处理的目标文本:遍历所述源代码文件中的子节点,得到子节点的属性和/或内容;通过预设的正则表达式确定包含所述预设语言的子节点的属性和/或内容,并将确定出的包含所述预设语言的子节点的属性和/或内容作为所述需要处理的目标文本。实施中,在指定源文件的文件名的后缀为.jsp时,确定指定源文件为jsp源代码文件;然后将jsp源代码文件视为Html树来进行遍历,通过htmlparser对指定源文件的内容进行解析,遍历并得到子节点的属性和内容;然后,通过预设的正则表达式找到子节点的属性和内容中包含预设语言的子节点的属性和内容,在确定子节点的属性和内容中包含预设语言时,确定该子节点的属性和内容为需要处理的目标文本。从指定源文件中确定出目标文本后,使用jsp源代码文件对应的替换规则对目标文本进行替换处理。由于待处理源代码文件中包含不同类型的子节点,本申请实施例中不同类型的子节点对应的替换规则可能不同;jsp源代码文件对应的替换规则中包含不同子节点类型对应的子替换规则。例如,jsp源代码文件对应的替换规则中包含第一子替换规则、第二子替换规则和第三子替换规则;其中常规节点对应的子替换规则为第一子替换规则,style节点和注释节点对应子替换规则为第二子替换规则,脚本节点对应的子替换规则为第三子替换规则。需要说明的是,本申请实施例的常规节点为Html树中除了style节点、注释节点和脚本节点之外的节点。在指定源文件为jsp源代码文件时,根据下列方式对目标文本进行替换处理:根据预先设定的子节点类型和子替换规则的对应关系,确定所述源代码文件中的子节点对应的子替换规则;使用所述子节点对应的子替换规则对所述目标文本进行替换处理。指定源文件为jsp源代码文件时,预先设定的子节点类型和子替换规则的对应关系与源代码文件为Html源代码文件时的子节点类型和子替换规则的对应关系相同,在此不再赘述。四、指定源文件为vue源代码文件。在指定源文件为vue源代码文件时,根据下列方式从指定源文件中确定需要处理的目标文本:遍历所述源代码文件中的子节点,得到子节点的属性和/或内容;通过预设的正则表达式确定包含所述预设语言的子节点的属性和/或内容,并将确定出的包含所述预设语言的子节点的属性和/或内容作为所述需要处理的目标文本。实施中,在指定源文件的文件名的后缀为.vue时,确定指定源文件为vue源代码文件;然后将vue源代码文件视为Html树来进行遍历,通过htmlparser对指定源文件的内容进行解析,遍历并得到子节点的属性和内容;然后,通过预设的正则表达式找到子节点的属性和内容中包含预设语言的子节点的属性和内容,在确定子节点的属性和内容中包含预设语言时,确定该子节点的属性和内容为需要处理的目标文本。从指定源文件中确定出目标文本后,使用vue源代码文件对应的替换规则对目标文本进行替换处理。由于待处理源代码文件中包含不同类型的子节点,本申请实施例中不同类型的子节点对应的替换规则可能不同;vue源代码文件对应的替换规则中包含不同子节点类型对应的子替换规则。例如,vue源代码文件对应的替换规则中包含第一子替换规则、第二子替换规则和第三子替换规则;其中常规节点对应的子替换规则为第一子替换规则,style节点和注释节点对应子替换规则为第二子替换规则,脚本节点对应的子替换规则为第三子替换规则。需要说明的是,本申请实施例的常规节点为Html树中除了style节点、注释节点和脚本节点之外的节点。在指定源文件为vue源代码文件时,根据下列方式对目标文本进行替换处理:根据预先设定的子节点类型和子替换规则的对应关系,确定所述源代码文件中的子节点对应的子替换规则;使用所述子节点对应的子替换规则对所述目标文本进行替换处理。例如,常规节点对应的第一子替换规则包括但不限于:1、若目标文本为子节点的内容,则使用{{}}变量表达式以及使用翻译标识(其中,翻译标识可以为_t()标识);假设目标文本为<i>张三</i>,则替换结果为<i>{{_t('张三')}}</i>。2、若目标文本为子节点的属性,则使用{{}}变量表达式以及使用_t()标识;假设目标文本为<iattr="李四"></i>,则替换结果为<iattr="{{_t('李四')}}"></i>。3、若目标文本为子节点的属性,且子节点的属性以冒号开始,则使用_t()标识;假设目标文本为<i:attr="'王五'"></i>,则替换结果为<i:attr="_t('王五')"></i>4、若目标文本为子节点的属性,且子节点的属性以v-开始,则使用_t()标识;假设目标文本为<iv-if="'赵六'"></i>,则替换结果为<iv-if="_t('赵六')"></i>5、若目标文本为子节点的内容,且子节点的内容中含有预设语言和Html保留字,则按保留字断句之后,每一段按目标文本为子节点的内容的规则处理;假设目标文本为<i>钱七&nbsp;包含保留字</i>,预设语言为中文简体,则替换结果为<i>{{_t('钱七')}}&nbsp;{{_t('保留字')}}。6、若目标文本为子节点的内容,且子节点的内容中含有变量表达式,则将原变量替换为{n},并将变量表达式作为_t的参数传入;假设目标文本为<i>张三{{msg}}包含变量</i>,则替换结果为<i>{{_t('张三{0}包含变量',msg)}}</i>。style节点和注释节点均对应第二子替换规则,针对style节点和注释节点中遍历得到的内容和属性,保持style节点和注释节点中的内容和属性不变。脚本节点对应第三子替换规则,第三子替换规则与JavaScript源代码文件对应的替换规则相同。如图4所示,本申请实施例在指定源文件为Html源代码文件、jsp源代码文件或vue源代码文件时文本替换的完整流程图。步骤S401:读入指定源文件;步骤S402:确定指定源文件的文件类型为预设类型后,遍历源代码文件中的子节点,得到子节点的属性和/或内容;其中,预设类型包括JavaScript源代码文件、Html源代码文件、jsp源代码文件、vue源代码文件;步骤S403:通过预设的正则表达式确定包含所述预设语言的子节点的属性和/或内容;步骤S404:将确定出的包含预设语言的子节点的属性和/或内容作为需要处理的目标文本;步骤S405:根据预先设定的子节点类型和子替换规则的对应关系,确定指定源文件中的子节点对应的子替换规则;步骤S406:使用确定的子替换规则对目标文本进行替换处理。基于与页面信息处理方法相同的发明构思,本申请实施例还提供了一种页面信息处理装置,如图5所示,该装置包括;文件清单生成单元501,用于从页面的源代码文件中筛选出指定源文件,生成文件清单;所述指定源文件中包括目标文本,所述目标文本为采用第一语种编码方式进行字符编码的文本;字典生成单元502,用于遍历所述文件清单中包含的各指定源文件,查找各指定源文件中包含的目标文本,生成目标语言字典;翻译单元503,用于将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符;替换单元504,用于使用指定源文件的文件类型对应的替换规则,对所述指定源文件中包含的目标文本进行替换处理。可选的,所述装置还包括:单语言字典生成单元,用于分别为每种采用第二指定语种编码方式编码的字符生成对应的单语言字典。可选的,所述文件清单生成单元,用于:调用页面打包插件遍历当前项目使用的源文件名称列表,筛选出文件后缀为指定后缀的源文件集合;针对所述源文件集合中的各源文件,若确认该源文件中包含所述目标文本,则将该源文件标识添加到文件清单中。可选的,所述文件清单生成单元,用于:调用命令行工具响应于针对源文件夹的选定操作指令,确定选定的源文件夹;在所述选定的源文件夹中遍历源文件,获得所述指定源文件,并生成文件清单。可选的,所述装置还包括:合并单元,用于响应于合并指令,将所述合并指令中指定的至少两种编码方式编码的字符进行合并。可选的,所述装置还包括:提示单元,用于在将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,确定未成功翻译的目标文本,输出提示信息,所述提示信息中包括未成功翻译的目标文本以及对应的未成功翻译的第二指定语种。可选的,所述装置还包括:显示单元,用于在将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,确定目标文本中,被成功翻译的语句数量并显示,和/或,确定翻译进度并显示。可选的,所述装置还包括:填充单元,用于将目标语言字典中的目标文本翻译成至少一种采用第二指定语种编码方式编码的字符之后,将翻译结果填充到所述目标语言字典中。可选的,所述装置还包括:更新单元,用于再次得到新目标文本后,根据所述目标语言字典确定该新目标文本是否已被翻译;若未被翻译,则翻译该新目标文本,并将翻译结果更新到所述目标语言字典中。可选的,所述装置还包括:校对单元,用于将翻译结果填充到所述目标语言字典中之后,显示翻译结果校对界面;根据对所述校对界面的操作指令,更新所述目标语言字典中的翻译结果。在介绍了本申请示例性实施方式的页面信息处理方法及装置,接下来,介绍根据本申请的另一示例性实施方式的计算装置。所属
技术领域
的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。在一些可能的实施方式中,根据本申请的实施例,计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的页面信息处理方法中的步骤。下面参照图6来描述根据本申请的这种实施方式的计算装置60。图6显示的计算装置60仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。该计算装置例如可以是手机、平板电脑等。如图6所示,计算装置60以通用计算装置的形式表现。计算装置60的组件可以包括但不限于:上述至少一个处理器601、上述至少一个存储器602、连接不同系统组件(包括存储器602和处理器601)的总线603。总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。存储器602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器(ROM)3023。存储器602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。计算装置60也可以与一个或多个外部设备604(例如指向设备等)通信,还可与一个或者多个使得用户能与计算装置60交互的设备通信,和/或与使得该计算装置60能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算装置60还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器606通过总线603与用于计算装置60的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。在一些可能的实施方式中,本申请提供的页面信息处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的页面信息处理方法的步骤,执行如图1-4中所示的步骤。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。本申请实施方式的页面信息处理方法可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。此外,尽管在附图中以顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1