一种基于多语言的页面翻译方法与流程

文档序号:24406010发布日期:2021-03-26 17:08阅读:137来源:国知局
一种基于多语言的页面翻译方法与流程

1.本公开的实施例一般涉及轨道交通领域,并且更具体地,涉及一种基于多语言的页面翻译方法、装置、设备和计算机可读存储介质。


背景技术:

2.目前比较流行的web(万维网)国际化方案是i18n(国际化),需要针对每种语言写一个properties文件,指定好key和value,程序通过判断当前系统语言环境来动态获取哪个properties文件中的词典,这种方式与程序耦合度高,需要开发人员事先把所有要翻译的词典都准备好,并且程序需要读取指定的key来获取对应的value。
3.在轨道交通领域中,由于需要翻译的词汇量大,专业性强。当用户觉得某个词汇翻译的不准确或在开发软件时没有考虑全面,漏了一些词汇没有翻译,要进行修改时,则需进行重新编码,不利于长期维护。


技术实现要素:

4.根据本公开的实施例,提供了一种基于多语言的页面翻译方案。
5.在本公开的第一方面,提供了一种基于多语言的页面翻译方法。该方法包括:
6.接收前端页面发送的请求后台业务接口信息;其中,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的;
7.根据所述请求后台业务接口信息中的业务接口url进行匹配;
8.若匹配成功,则调用对应的业务接口方法,对数据库中的数据进行查询;
9.对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译;
10.将翻译后的返回值返回所述前端页面进行显示。
11.进一步地,所述根据所述请求后台业务接口信息中的业务接口url进行匹配包括:
12.若匹配不成功,则调用对应的业务接口方法,对数据库中的数据进行查询;所述数据库将根据所述查询生成的返回值直接发送至前端页面。
13.进一步地,所述调用对应的业务接口方法,对数据库中的数据进行查询包括:
14.通过反射技术调用对应的业务接口方法,对数据库中的数据进行查询。
15.进一步地,所述对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译包括:
16.拦截所述数据库根据所述查询生成的返回值,确定所述返回值的类型;
17.根据所述返回值的类型,将所述返回值中的词条翻译为目标语言。
18.进一步地,所述根据所述返回值的类型,将所述返回值中的词条翻译为目标语言包括:
19.若所述返回值的类型为字符串,则直接从多语言库中的多语言库表中查询所述返回值中的词条对应的目标语言并进行替换;
20.若所述返回值的类型包含嵌套属性,则对所述返回值进行递归处理,递归遍历所述返回值中的每个属性值,直到遍历的属性值中不包含嵌套属性为止,然后从所述多语言库中的多语言库表中查询所述返回值中的词条对应的目标语言并进行替换;所述多语言库表包含所述返回值中的词条对应的所有目标语言。
21.进一步地,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的包括:
22.所述业务接口接收前端页面通过http请求发送的请求后台业务接口信息,并转发至翻译切面。
23.进一步地,还包括:
24.根据用户操作,对所述多语言库表中的词条进行增加、删除、查找、修改、批量导入和/或批量导出。
25.在本公开的第二方面,提供了一种基于多语言的页面翻译装置。该装置包括:
26.接收模块,用于接收前端页面发送的请求后台业务接口信息;其中,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的;
27.匹配模块,用于根据所述请求后台业务接口信息中的业务接口url进行匹配;
28.查询模块,用于若匹配成功,则调用对应的业务接口方法,对数据库中的数据进行查询;
29.翻译模块,用于对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译;
30.处理模块,用于将翻译后的返回值返回所述前端页面进行显示。
31.在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
32.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
33.本申请实施例提供的基于多语言的页面翻译方法,通过接收前端页面发送的请求后台业务接口信息;其中,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的;根据所述请求后台业务接口信息中的业务接口url进行匹配;若匹配成功,则调用对应的业务接口方法,对数据库中的数据进行查询;对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译;将翻译后的返回值返回所述前端页面进行显示,实现了在对页面进行翻译的同时不对程序进行改动(不需从新编码),即可根据自身需求随时添加、修改词汇的功能。
34.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
35.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
36.图1示出了根据本公开的实施例的基于多语言的轨道交通综合监测方法的流程
图;
37.图2a

b示出了根据本公开的实施例的基于多语言的页面翻译方法的数据处理逻辑图;
38.图3示出了根据本公开的实施例的基于多语言的页面翻译方法的翻译效果图;
39.图4示出了根据本公开的实施例的基于多语言的页面翻译方法的翻译管理界面示意图。
40.图5示出了根据本公开的实施例的基于多语言的页面翻译方法的一个具体实施例的逻辑图;
41.图6示出了根据本公开的实施例的基于多语言的页面翻译装置的方框图;
42.图7示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
43.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
44.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
45.图1示出了根据本公开实施例的基于多语言的页面翻译方法100的流程图。方法100包括:
46.s110,接收前端页面发送的请求后台业务接口信息。
47.其中,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的。
48.进一步地,所述业务接口可接收前端页面通过http请求发送的请求后台业务接口信息,并转发至翻译切面。
49.可选地,所述前端页面可以为h5界面等。即,符合html5标准实现的页面。
50.可选地,所述翻译切面可以通过aop技术编写。所述翻译切面中包含需拦截的业务接口的url,即,需对多语言库进行操作的业务接口的url。例如,增加业务数据(词条)接口、删除业务数据(词条)接口等。
51.可选地,所述请求后台业务接口信息包含与其对应的业务接口url。
52.s120,根据所述请求后台业务接口信息中的业务接口url进行匹配。
53.将所述请求后台业务接口信息中的业务接口url和所述翻译切面中预存的url进行匹配。
54.s130,若匹配成功,则调用对应的业务接口方法,对数据库中的数据进行查询。
55.若匹配成功,即所述翻译切面中包含所述业务接口的url,则通过反射技术(.net中的重要机制)调用对应的业务接口方法,对数据库中的数据进行查询。
56.s140,对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译。
57.可选地,如图2a所示:
58.拦截所述数据库根据所述查询生成的返回值(业务数据),确定所述返回值的类型;
59.若所述返回值的类型为字符串,则直接从多语言库中的多语言库表中查询所述返回值中的词条对应的目标语言并进行替换;
60.若所述返回值的类型包含嵌套属性,例如jsonarray、jsonobject类型等,则对所述返回值进行递归处理,递归遍历所述返回值中的每个属性值,直到遍历的属性值中不包含嵌套属性为止。然后从所述多语言库中的多语言库表中查询所述返回值中的词条对应的目标语言并进行替换。即,将包含嵌套属性的数据(json格式数据)进行递归替换。
61.s150,将翻译后的返回值返回所述前端页面进行显示。
62.可选地,将翻译后的返回值返回所述前端页面进行显示。即,将所有业务数据翻译为目标语言后返回前端页面进行显示,如图3所示(目标语言为越南语)。
63.本公开的实施例还包括:
64.可选地,如图2b所示:
65.根据所述请求后台业务接口信息中的业务接口url进行匹配,若匹配不成功,即所述翻译切面中不包含所述业务接口的url(例如登录业务接口),则通过反射技术调用对应的业务接口方法,对数据库中的数据进行查询,不拦截所述返回值。即,所述返回值不通过所述翻译切面直接返回所述前端页面(例如登录验证)。
66.可选地,所述多语言库可以为mysql关系型数据库。所述多语言库中的多语言库表包括所述返回值中的字段对应的所有目标语言。
67.可选地,所述多语言库表的结构如下表所示:
[0068][0069]
可选地,如图4所示,根据用户操作,在多语言管理界面中对所述多语言库表中的词条进行增加、删除、查找、修改、批量导入和/或批量导出等。所述用户操作包括增加、删除、查找、修改、导入(批量导入)和/或导出(批量导出)等。
[0070]
可选地,所述多语言管理界面,可通过java编程技术(ssm框架和sql语言)以及前端技术(js,h5等)制作。
[0071]
进一步地,可通过excel表格模板进行一次性导入(批量导入)。
[0072]
需要说明的是,本公开中所有的词条均需存入缓存。新增,修改,删除词条需要同步缓存。在进行查询时,可直接读取缓存,调高查询速度。
[0073]
下面给出根据本发明一个具体实施例的翻译方法,如图5所示:
[0074]
以将前端页面中的中文字段“轨旁电子单元”翻译为越南字(目标语言)为例:
[0075]
a,用户通过h5页面向业务接口发送http请求后台业务接口信息,所述后台业务接口接收该信息并转发至翻译切面。
[0076]
b,所述翻译切面接收所述请求后台业务接口信息,将所述请求后台业务接口信息中的业务接口url和所述翻译切面中预存的url进行匹配。
[0077]
c,匹配成功后,即所述翻译切面中存有所述业务接口的url,所述翻译切面通过反射技术调用业务接口方法,在数据库中查询需要进行转换的中文字段“轨旁电子单元”。
[0078]
d,所述翻译切面拦截所述数据库根据所述查询生成的返回值,所述返回值为:
[0079][0080]
所述返回值的类型为字符串“轨旁电子单元”,直接从多语言库中的多语言库表中查询所述返回值中的词条“轨旁电子单元”对应的越南语并进行替换,如下所示:
[0081]
[0082][0083]
e,所述翻译切面将翻译后的返回值发送至h5界面,所述h5界面接收所述翻译后的返回值并进行渲染显示。即,将h5页面中的中文字段“轨旁电子单元”替换为越南语并进行显示。
[0084]
以上述翻译中文字段“轨旁电子单元”为例,可将h5页面中的所有中文字段替换为越南语(目标语言),参考图3。
[0085]
根据本公开的实施例,实现了以下技术效果:
[0086]
本公开的方案是无侵入性的,在使用过程中,无须开发人员对程序进行改动,即可实现整个系统的翻译功能。同时,本公开支持动态添加语言库,用户可根据自身需求自行在系统多语言管理界面进行修改(增、删、查、改),并实时展示修改效果。
[0087]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0088]
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
[0089]
图6示出了根据本公开的实施例的基于多语言的页面翻译装置600的方框图。如图6所示,装置600包括:
[0090]
接收模块610,用于接收前端页面发送的请求后台业务接口信息;其中,所述请求后台业务接口信息是由业务接口从前端页面接收并转发至翻译切面的;
[0091]
匹配模块620,用于根据所述请求后台业务接口信息中的业务接口url进行匹配;
[0092]
查询模块630,用于若匹配成功,则调用对应的业务接口方法,对数据库中的数据进行查询;
[0093]
翻译模块640,用于对所述数据库根据所述查询生成的返回值进行拦截,将所述返回值中的词条进行翻译;
[0094]
处理模块650,用于将翻译后的返回值返回所述前端页面进行显示。
[0095]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0096]
图7示出了可以用来实施本公开的实施例的电子设备700的示意性框图。如图所示,设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的计算
机程序指令或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram 703中,还可以存储设备700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0097]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0098]
处理单元701执行上文所描述的各个方法和处理。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。
[0099]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0100]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0101]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0102]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0103]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1