CN113568692B - 多语言显示方法、装置、电子设备及存储介质 - Google Patents
多语言显示方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113568692B CN113568692B CN202110784239.2A CN202110784239A CN113568692B CN 113568692 B CN113568692 B CN 113568692B CN 202110784239 A CN202110784239 A CN 202110784239A CN 113568692 B CN113568692 B CN 113568692B
- Authority
- CN
- China
- Prior art keywords
- language
- translated
- translation
- multilingual
- content
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000013519 translation Methods 0.000 claims abstract description 191
- 230000006870 function Effects 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000005516 engineering process Methods 0.000 claims abstract description 24
- 230000003068 static effect Effects 0.000 claims description 30
- 230000011218 segmentation Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 16
- 230000018109 developmental process Effects 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 10
- 230000033772 system development Effects 0.000 abstract description 8
- 239000012141 concentrate Substances 0.000 abstract description 3
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 230000014616 translation Effects 0.000 description 164
- 238000004891 communication Methods 0.000 description 9
- 239000000243 solution Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4492—Inheritance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种多语言显示方法、装置、电子设备及存储介质,在多语言开发过程中,通过运用面向切面编程技术对语言函数进行封装,使语言函数在逻辑范畴内切入到各个业务模块中,减少了语言函数对开发过程的介入,优化系统开发过程。由于减少了多语言模块和其他模块的耦合性,可以简化代码,减小系统开发的复杂度,降低学习成本,使得工作人员对现有多语言逻辑进行修改时,不会影响到现有代码的业务逻辑,保证工作人员主要精力集中在业务逻辑上。而且,通过引入面向切面编程技术,不仅可以提高系统性能和稳定性,还可以实现对系统中各层面的语言翻译进行统一处理,降低代码逻辑复杂性。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种多语言显示方法、装置、电子设备及存储介质。
背景技术
在轨道列车领域,为实现列车自动监控系统(Automatic Train Supervision,ATS)的广泛应用,通常需要ATS支持多语言功能,即用多种不同语言进行展示或语音播报。
ATS中,多语言实现方式主要包括3个部分:1)多语言翻译字典文件的生成;2)将多语言翻译字典文件加载到缓存;3)显示待翻译内容对应的翻译。通常的,在显示待翻译内容对应的翻译时,通常需要调用语言函数,以便于程序对显示文本进行替换。如果不调用语言函数,则会导致对应的翻译缺失,如果调用这种介入开发过程的语言函数,则会增加系统开发的复杂性,提高学习成本。
因此,亟需一种多语言显示方法,以实现不介入开发过程即可进行语言显示。
发明内容
本发明提供一种多语言显示方法、装置、电子设备及存储介质,用以解决现有技术中存在的缺陷。
本发明提供一种多语言显示方法,其特征在于,包括:
从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;
基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
根据本发明提供的多语言显示方法,所述基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,具体包括:
基于抽象工厂,定义面向切面编程接口类、多语言类以及多语言特性类,并采用所述多语言类继承所述面向切面编程接口类,采用所述多语言特性类标记对象的字符串属性,所述字符串属性用于表征所述对象支持多语言显示;
基于所述语言函数,从预先生成的多语言翻译字典文件中查找所述第二类翻译结果。
根据本发明提供的多语言显示方法,所述多语言翻译字典文件基于如下方式生成:
获取列车自动监控系统运行过程中的待翻译文本;
将所述待翻译文本发送至第三方设备,以使所述第三方设备确定所述待翻译文本对应的多种语言的翻译结果;
基于所述待翻译文本与对应的多种语言的翻译结果,生成所述多语言翻译字典文件。
根据本发明提供的多语言显示方法,所述多语言翻译字典文件为xml格式的文件,且具有被反序列化和反序列的性能。
根据本发明提供的多语言显示方法,所述获取待翻译内容,具体包括:
获取语言翻译传入参数;
若所述语言翻译传入参数为字符串类型,则对所述语言翻译传入参数进行分词,并基于所述分词的结果确定所述待翻译内容。
根据本发明提供的多语言显示方法,所述获取待翻译内容,还包括:
若所述语言翻译传入参数为对象类型,则通过反射技术,确定所述语言翻译传入参数中被标记为多语言特性的属性信息,并对所述属性信息中的属性值进行分词,基于所述分词的结果确定所述待翻译内容。
根据本发明提供的多语言显示方法,还包括:
将所述待翻译内容中未确定翻译结果的内容缓存至内存中,并导出文件。
本发明还提供一种多语言显示装置,包括:
获取模块,用于从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;
第一显示模块,用于基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
第二显示模块,用于基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述多语言显示方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述语言翻译方法的步骤。
本发明提供的多语言显示方法、装置、电子设备及存储介质,在多语言开发过程中,通过运用面向切面编程技术对语言函数进行封装,使语言函数在逻辑范畴内切入到各个业务模块中,减少了语言函数对开发过程的介入,优化系统开发过程。由于减少了多语言模块和其他模块的耦合性,可以简化代码,减小系统开发的复杂度,降低学习成本,使得工作人员对现有多语言逻辑进行修改时,不会影响到现有代码的业务逻辑,保证工作人员主要精力集中在业务逻辑上。而且,通过引入面向切面编程技术,不仅可以提高系统性能和稳定性,还可以实现对系统中各层面的语言翻译进行统一处理,降低代码逻辑复杂性。另外,通过Load事件,遍历所有控件,可以快速地将静态待翻译内容对应的第一类翻译结果进行显示,提高了显示效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种多语言显示方法的流程示意图;
图2是本发明提供的一种多语言显示方法中AOP结构模型示意图;
图3是本发明提供的一种多语言显示装置的结构示意图;
图4是本发明提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在列车自动监控系统(Automatic Train Supervision,ATS)的多语言功能的实现过程中,通常需要调用语言函数显示待翻译内容对应的翻译,以便于程序对显示文本进行替换。但是在多语言开发过程中,很容易出现需要进行翻译的内容没有调用到语言函数,导致对应的翻译缺失。这种介入开发过程的语言函数,增加了系统开发的复杂性,提高了学习成本。而且,在ATS页面上会有一些仅仅用于显示的控件,并不参与到业务逻辑中去,但是为了实现多语言功能,则必须在各控件的文本(TEXT)属性中加入多语言的逻辑处理函数,无法进行统一处理,代码重用性低。另外,在调用多语言的逻辑处理函数时,为了满足同词不同意的需求,往往需要访问线程栈以判断出当前执行的函数和类,用于匹配相应的译文,影响到系统的性能。总的来说,现有技术中的多语言显示方法,有如下缺陷:
1)介入开发过程,对工作人员不友好,提高了开发的复杂度。
2)每次都要读取线程栈,影响系统性能。
3)无法做到统一处理,增加代码逻辑复杂性。
4)提高了开发的复杂度。
为此,本发明实施例中提供了一种多语言显示方法,以解决现有技术中存在的技术问题。
图1为本发明实施例中提供的一种多语言显示方法的流程示意图,如图1所示,该方法包括:
S1,从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;
S2,基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
S3,基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
可选的,本发明实施例中提供的多语言显示方法,其执行主体为多语言显示装置,用以实现多语言翻译及显示。多语言显示装置可以配置在ATS内,用以保证ATS支持多语言功能。
首先执行步骤S1,从多种语言中选择目标语言,并获取待翻译内容。多种语言是指多语言显示装置能够支持的语言,语言的种类数可以根据需要进行限定,本发明实施例中对此不作具体限定。目标语言是指用户选择的目标语种,以使后续的翻译结果符合该目标语言。待翻译内容是指ATS中需要以目标语言展示给用户的内容,该待翻译内容可以是字符串类型,也可以是对象类型,本发明实施例中对此不作具体限定。待翻译内容可以包括静态待翻译内容以及动态待翻译内容,静态待翻译内容是指当前显示界面上显示的内容,显示时并不需要外界触发;动态待翻译内容是指当前显示界面上并未显示,需要触发才能显示的内容。
然后执行步骤S2,对于待翻译内容中的静态待翻译内容,可以通过将静态待翻译内容输入至语言函数,得到静态待翻译内容对应于目标语言的第一类翻译结果。其中,语言函数与一种语言相对应,用于确定静态待翻译内容对应于该种语言的翻译结果。语言函数可以访问预先生成的多语言翻译字典文件,进而可以从中查找第一类翻译结果。
确定出第一类翻译结果后,可以通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示。其中,Load事件是指窗体加载事件,用于加载控件,通过各控件,对第一类翻译结果进行显示。在显示第一类翻译结果时,可以将第一类翻译结果显示在界面上以使用户能够直观的知晓静态待翻译内容对应的第一类翻译结果。本发明实施例中,可以根据第一类翻译结果对控件的显示属性进行更新,即将控件的显示属性的取值替换为该第一类翻译结果,以通过控件实现将静态待翻译内容替换为第一类翻译结果并显示。
然后执行步骤S3,对于待翻译内容中的动态待翻译内容,根据面向切面编程(Aspect Oriented Programming,AOP)技术,调用语言函数,确定动态待翻译内容对应于目标语言的第二类翻译结果,并将第二类翻译结果进行显示。其中,AOP可以将原本代码中的公共业务进行抽取,如:日志、事务、权限验证等;实现公共业务代码的复用性,并且使特定业务的功能更纯粹,关注点减少。本发明实施例中,通过AOP,可以对于ATS中与UI层交互的业务逻辑层增加横向业务逻辑代码块,对系统中各层面的语言翻译进行统一处理,不再介入开发过程,可以优化开发过程,使业务逻辑层更加专注于业务逻辑。在对第二类翻译结果进行显示时,可以按照待翻译内容的显示方式进行显示,本发明实施例中对此不作具体限定。
图2为本发明实施例中提供的AOP结构模型示意图,如图2所示,ATS中可以包括通讯模块21、设备模块22、配置模块23、系统参数模块24以及显示界面25,通讯模块21、设备模块22、配置模块23以及系统参数模块24分别与显示界面25连接,通讯模块21、设备模块22、配置模块23以及系统参数模块24参与ATS的业务逻辑,在通讯模块21、设备模块22、配置模块23以及系统参数模块24中均可以通过AOP配置横向业务逻辑代码块,以实现语言翻译功能。
本发明实施例中提供的多语言显示方法,在多语言开发过程中,通过运用面向切面编程技术对语言函数进行封装,使语言函数在逻辑范畴内切入到各个业务模块中,减少了语言函数对开发过程的介入,优化系统开发过程。由于减少了多语言模块和其他模块的耦合性,可以简化代码,减小系统开发的复杂度,降低学习成本,使得工作人员对现有多语言逻辑进行修改时,不会影响到现有代码的业务逻辑,保证工作人员主要精力集中在业务逻辑上。而且,通过引入面向切面编程技术,不仅可以提高系统性能和稳定性,还可以实现对系统中各层面的语言翻译进行统一处理,降低代码逻辑复杂性。另外,通过Load事件,遍历所有控件,可以快速地将静态待翻译内容对应的第一类翻译结果进行显示,提高了显示效率。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,所述基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,具体包括:
基于抽象工厂,定义面向切面编程接口类、多语言类以及多语言特性类,并采用所述多语言类继承所述面向切面编程接口类,采用所述多语言特性类标记对象的字符串属性,所述字符串属性用于表征所述对象支持多语言显示;
基于所述语言函数,从预先生成的多语言翻译字典文件中查找所述第二类翻译结果。
可选的,本发明实施例中,在基于面向切面编程技术,调用语言函数,确定动态待翻译内容对应于目标语言的第二类翻译结果时,首先引入抽象工厂,抽象工厂是一种常见的设计模式。抽象工厂提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类。可以通过抽象工厂完成对ATS业务逻辑层的对象的实例化处理。并对用于标记多语言特性的多语言特性类进行处理。
定义抽象工厂可以实现对象的注入,在此之前可以为所有的Form定义一个基类,并重写LOAD函数,遍历所有的control控件,对其Text属性进行多语言替换,并对其他控件进行处理。后续所有需要实现多语言功能的Form都必须继承该类。
根据抽象工厂,可以定义面向切面编程接口类、多语言类以及多语言特性类,面向切面编程接口类即AOP接口类,可以实现对AOP进行接口化处理。多语言类可以继承AOP接口类。多语言特性类可以用于标记对象的字符串属性,该字符串属性可以用于表征对象支持多语言显示。
抽象工厂的主要函数可以包括注册接口与实例函数、获取实例函数、注册AOP对象及实例函数以及开启AOP函数等。通过注册接口与实例函数以及注册AOP对象及实例函数,获取接口与实例的关系,运用反射技术,动态实例化,并将实例保存到缓存中,供获取实例接口进行获取。通过注册AOP对象及实例函数获取AOP接口与实例的关系,并将其保存到缓存中。若注册的实例开启AOP功能,则动态生成一个代理类,并由开始AOP功能的类继承该代理类,其函数为虚方法,继承的为重写函数,并且在虚函数要加上AOP接口的函数,这样会先执行AOP函数,进而达到切面的过程。
AOP接口类的主要函数包括函数执行前接口以及函数执行后接口。多语言类,即多语言AOP实现类,要继承AOP接口类,并实现函数执行前接口的功能以及函数执行后接口的功能。函数执行前接口参数即是标记AOP函数的传入参数,函数执行后接口参数即是标记AOP函数的返回值。这里只需处理返回值就行。
然后,根据语言函数,从预先生成的多语言翻译字典文件中查找第二类翻译结果。
本发明实施例中,通过定义抽象工厂,并结合语言函数,实现第二类翻译结果的确定,可以减少对语言函数调用。
现有技术中,在多语言翻译字典文件的生成过程中,通常是通过对代码内容进行检索,或者手动整理,将待翻译内容进行汇总,再集中进行翻译,并生成多语言翻译字典文件。但是随着系统的迭代,代码量的增加,对多语言翻译字典文件的生成产生了较大的困难。传统的开发过程中,代码中会有相应的中文注释和相应的字符串,这就导致在对代码内容进行检索时,无法区分哪些是需要多语言翻译的文字,哪些是不需要多语言翻译的文字,进而无法进行自动检索,只能手动整理。这大大增加了工作量,多语言翻译字典文件生成难度和复杂度增大,并提高了系统维护的代价。
为此,在上述实施例的基础上,本发明实施例中提供的多语言显示方法,所述多语言翻译字典文件基于如下方式生成:
获取列车自动监控系统运行过程中的待翻译文本;
将所述待翻译文本发送至第三方设备,以使所述第三方设备确定所述待翻译文本对应的多种语言的翻译结果;
基于所述待翻译文本与对应的多种语言的翻译结果,生成所述多语言翻译字典文件。
可选的,本发明实施例中在生成多语言翻译字典文件时,可以先实时获取ATS运行过程中的待翻译文本,并将获取到的待翻译文本加载至缓存内进行缓存。
然后将待翻译文本发送至第三方设备,以使第三方设备确定待翻译文本对应的多语言的翻译结果。其中,第三方设备可以是一个,也可以是多个,以用于对待翻译文本进行多语言翻译,进而得到待翻译文本对应的多语言的翻译结果。第三方设备的数量可以与多语言中的语言数量相等。
最后根据待翻译文本与对应的多语言的翻译结果,生成多语言翻译字典文件。即将待翻译文本与对应的多语言的翻译结果对应存储,即得到多语言翻译字典文件。
本发明实施例中,在ATS运行过程中,以大数据的方式对待翻译文本进行获取以及缓存处理,并自动生成多语言翻译字典文件,可以避免对代码内容进行检索,也不需要手动整理。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,如果未能从预先生成的多语言翻译字典文件中查找待翻译内容对应的翻译结果,则一方面可以继续显示该待翻译内容,另一方面可以对该待翻译内容进行缓存,并将待翻译内容作为待翻译文本发送至第三方设备,以使第三方设备确定待翻译文本对应的目标语言的翻译结果,通过待翻译文本及其对应的目标语言的翻译结果,对多语言翻译字典文件进行更新。同时,将该目标语言的翻译结果替换待翻译文件中的待翻译内容,并对待翻译文件进行显示。
本发明实施例中,可以在语言翻译过程中对多语言翻译字典文件进行更新,可以保证多语言翻译字典文件的全面性,而且保证了更新效率。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,所述多语言翻译字典文件为xml格式的文件,且具有被反序列化和反序列的性能。
可选的,本发明实施例中采用的多语言翻译字典文件可以是xml格式的文件,如此可以保证多语言翻译字典文件的内容和结构完全分离,而且可以增强多语言翻译字典文件的互操作性,提高多语言翻译字典文件的规范性。而且,还可以使多语言翻译字典文件支持多种编码,增加了多语言翻译字典文件的可扩展性。
本发明实施例中采用的多语言翻译字典文件具有被反序列化的性能,即多语言翻译字典文件可以从字节序列恢复成Java对象,多语言翻译字典文件还具有反序列化的性能,即多语言翻译字典文件可以从Java对象转换为字节序列,以便于编辑。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,所述获取待翻译内容,具体包括:
获取语言翻译传入参数;
若所述语言翻译传入参数为字符串类型,则对所述语言翻译传入参数进行分词,并基于所述分词的结果确定所述待翻译内容。
可选的,本发明实施例中,在获取待翻译内容时,可以先获取语言翻译传入参数,语言翻译传入参数用于表征需要翻译的所有内容。然后对语言翻译传入参数进行类型判断,语言翻译传入参数的类型可以包括字符串类型和对象类型。如果语言翻译传入参数是字符串类型,则可以对语言翻译传入参数进行分词处理,然后基于分词的结果确定待翻译内容,此时的待翻译内容为各个分词,可以实现对字符串类型的语言翻译传入参数进行分词翻译,提高翻译结果利用率。在得到各分词的翻译结果后,可以将其拼成字符串进行显示。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,所述获取待翻译内容,还包括:
若所述语言翻译传入参数为对象类型,则通过反射技术,确定所述语言翻译传入参数中被标记为多语言特性的属性信息,并对所述属性信息中的属性值进行分词,基于所述分词的结果确定所述待翻译内容。
可选的,本发明实施例中,当语言翻译传入参数是对象类型时,可以先通过反射技术,确定语言翻译传入参数中被标记为多语言特性的属性信息,对属性信息中的属性值进行分词,根据分词的结果确定出待翻译内容,可以实现对对象类型的语言翻译传入参数进行分词翻译,提高翻译结果利用率。
在上述实施例的基础上,本发明实施例中提供的多语言显示方法,还包括:
将所述待翻译内容中未确定翻译结果的内容缓存至内存中,并导出文件。
可选的,本发明实施例中在确定出待翻译内容对应于所述目标语言的第一类翻译结果以及第二类翻译结果后,可以判断是否所有的待翻译内容均具有对应的翻译结果,如果存在未确定翻译结果的内容,则将该内容存储至内存中,并在程序结束时,导出文件。本发明实施例中,可以将导出的文件发送至第三方设备进行翻译,并通过第三方设备反馈翻译结果,以便于后续对该内容对应的翻译内容进行显示,如此可以使待翻译内容得到完整的翻译。
如图3所示,在上述实施例的基础上,本发明实施例中提供了一种多语言显示装置,包括:
获取模块31,用于从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;
第一显示模块32,用于基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
第二显示模块33,用于基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,所述第二显示模块,具体用于:
基于抽象工厂,定义面向切面编程接口类、多语言类以及多语言特性类,并采用所述多语言类继承所述面向切面编程接口类,采用所述多语言特性类标记对象的字符串属性,所述字符串属性用于表征所述对象支持多语言显示;
基于所述语言函数,从预先生成的多语言翻译字典文件中查找所述第二类翻译结果。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,还包括字典文件生成模块,用于:
获取列车自动监控系统运行过程中的待翻译文本;
将所述待翻译文本发送至第三方设备,以使所述第三方设备确定所述待翻译文本对应的多种语言的翻译结果;
基于所述待翻译文本与对应的多种语言的翻译结果,生成所述多语言翻译字典文件。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,所述多语言翻译字典文件为xml格式的文件,且具有被反序列化和反序列的性能。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,所述获取模块,具体用于:
获取语言翻译传入参数;
若所述语言翻译传入参数为字符串类型,则对所述语言翻译传入参数进行分词,并基于所述分词的结果确定所述待翻译内容。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,所述获取模块,还具体用于:
若所述语言翻译传入参数为对象类型,则通过反射技术,确定所述语言翻译传入参数中被标记为多语言特性的属性信息,并对所述属性信息中的属性值进行分词,基于所述分词的结果确定所述待翻译内容。
在上述实施例的基础上,本发明实施例中提供的多语言显示装置,还包括导出模块,用于:
将所述待翻译内容中未确定翻译结果的内容缓存至内存中,并导出文件。
可选的,本发明实施例中提供的多语言显示装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行上述各实施例提供的多语言显示方法,该方法包括:从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例提供的多语言显示方法,该方法包括:从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的多语言显示方法,该方法包括:从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种多语言显示方法,其特征在于,包括:
从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;所述静态待翻译内容是指当前显示界面上显示的内容;所述动态待翻译内容是指当前显示界面上并未显示,需要触发才能显示的内容;
基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示;
所述基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,具体包括:
基于抽象工厂,定义面向切面编程接口类、多语言类以及多语言特性类,并采用所述多语言类继承所述面向切面编程接口类,采用所述多语言特性类标记对象的字符串属性,所述字符串属性用于表征所述对象支持多语言显示;
基于所述语言函数,从预先生成的多语言翻译字典文件中查找所述第二类翻译结果。
2.根据权利要求1所述的多语言显示方法,其特征在于,所述多语言翻译字典文件基于如下方式生成:
获取列车自动监控系统运行过程中的待翻译文本;
将所述待翻译文本发送至第三方设备,以使所述第三方设备确定所述待翻译文本对应的多种语言的翻译结果;
基于所述待翻译文本与对应的多种语言的翻译结果,生成所述多语言翻译字典文件。
3.根据权利要求1所述的多语言显示方法,其特征在于,所述多语言翻译字典文件为xml格式的文件,且具有被反序列化和反序列的性能。
4.根据权利要求1所述的多语言显示方法,其特征在于,所述获取待翻译内容,具体包括:
获取语言翻译传入参数;
若所述语言翻译传入参数为字符串类型,则对所述语言翻译传入参数进行分词,并基于所述分词的结果确定所述待翻译内容。
5.根据权利要求4所述的多语言显示方法,其特征在于,所述获取待翻译内容,还包括:
若所述语言翻译传入参数为对象类型,则通过反射技术,确定所述语言翻译传入参数中被标记为多语言特性的属性信息,并对所述属性信息中的属性值进行分词,基于所述分词的结果确定所述待翻译内容。
6.根据权利要求1-5中任一项所述的多语言显示方法,其特征在于,还包括:
将所述待翻译内容中未确定翻译结果的内容缓存至内存中,并导出文件。
7.一种多语言显示装置,其特征在于,包括:
获取模块,用于从多种语言中选择目标语言,并获取待翻译内容,所述待翻译内容包括静态待翻译内容和动态待翻译内容;所述静态待翻译内容是指当前显示界面上显示的内容;所述动态待翻译内容是指当前显示界面上并未显示,需要触发才能显示的内容;
第一显示模块,用于基于语言函数,确定所述静态待翻译内容对应于所述目标语言的第一类翻译结果,并通过Load事件,遍历所有控件,将所述第一类翻译结果进行显示;
第二显示模块,用于基于面向切面编程技术,调用所述语言函数,确定所述动态待翻译内容对应于所述目标语言的第二类翻译结果,并将所述第二类翻译结果进行显示;
所述第二显示模块,具体用于:
基于抽象工厂,定义面向切面编程接口类、多语言类以及多语言特性类,并采用所述多语言类继承所述面向切面编程接口类,采用所述多语言特性类标记对象的字符串属性,所述字符串属性用于表征所述对象支持多语言显示;
基于所述语言函数,从预先生成的多语言翻译字典文件中查找所述第二类翻译结果。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述多语言显示方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述多语言显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110784239.2A CN113568692B (zh) | 2021-07-12 | 2021-07-12 | 多语言显示方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110784239.2A CN113568692B (zh) | 2021-07-12 | 2021-07-12 | 多语言显示方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568692A CN113568692A (zh) | 2021-10-29 |
CN113568692B true CN113568692B (zh) | 2024-03-26 |
Family
ID=78164448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110784239.2A Active CN113568692B (zh) | 2021-07-12 | 2021-07-12 | 多语言显示方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568692B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416903A (en) * | 1991-08-19 | 1995-05-16 | International Business Machines Corporation | System and method for supporting multilingual translations of a windowed user interface |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
CN110287499A (zh) * | 2019-06-26 | 2019-09-27 | 一带科技服务(北京)有限公司 | 翻译方法、装置及综合平台 |
CN112559106A (zh) * | 2020-12-24 | 2021-03-26 | 广西交控智维科技发展有限公司 | 一种基于多语言的页面翻译方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001519B2 (en) * | 2007-06-27 | 2011-08-16 | International Business Machines Corporation | Model driven development including aspect integration tool |
CN102693322B (zh) * | 2012-06-01 | 2014-10-22 | 杭州海康威视数字技术股份有限公司 | 支持多国语言的网页处理方法、网页加载方法及其系统 |
-
2021
- 2021-07-12 CN CN202110784239.2A patent/CN113568692B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416903A (en) * | 1991-08-19 | 1995-05-16 | International Business Machines Corporation | System and method for supporting multilingual translations of a windowed user interface |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
CN110287499A (zh) * | 2019-06-26 | 2019-09-27 | 一带科技服务(北京)有限公司 | 翻译方法、装置及综合平台 |
CN112559106A (zh) * | 2020-12-24 | 2021-03-26 | 广西交控智维科技发展有限公司 | 一种基于多语言的页面翻译方法 |
Non-Patent Citations (2)
Title |
---|
基于XML及反射技术的多语言界面研究与实现;顾薛平;吴宁;;微型机与应用;20120710(13);全文 * |
面向方面的程序设计:概念、实现与未来;徐宝文, 周超洪, 周天琳, 史亮;计算机与数字工程;20060420(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113568692A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
US20030084401A1 (en) | Efficient web page localization | |
US20050065936A1 (en) | System and method for reusing form elements in a form building application | |
US20030078960A1 (en) | Architecture and process for creating software applications for multiple domains | |
US8695006B2 (en) | Resource management method | |
CN104199647B (zh) | 一种基于ibm主机的可视化系统及实现方法 | |
EP1934724A1 (en) | Extensible xml format and object model for localization data | |
CN112235311B (zh) | Ovsdb客户端代码自动生成方法、系统、设备及介质 | |
CN111784108B (zh) | 一种主数据管理平台的建模方法和装置 | |
CA3203793C (en) | System and method for real-time, dynamic creation, delivery, and use of customizable web applications | |
CN114064213A (zh) | 基于Kubernets容器环境的快速编排服务方法及系统 | |
CN113821565A (zh) | 一种多数据源同步数据的方法 | |
CN101147128A (zh) | 使计算机应用中资源管理自动化的方法 | |
EP1067465A1 (en) | Application-independent language module for language-independent applications | |
CN110377371B (zh) | 一种基于Web标签的样式表系统管理方法 | |
US9898467B1 (en) | System for data normalization | |
CN112632333A (zh) | 查询语句生成方法、装置、设备及计算机可读存储介质 | |
CN113568692B (zh) | 多语言显示方法、装置、电子设备及存储介质 | |
CN110007994B (zh) | 一种软件国际化方法及系统 | |
CN116432624A (zh) | 一种微服务api文档生成方法、装置、设备、存储介质 | |
CN110599112A (zh) | 一种网络页面开发、维护方法和装置 | |
CN113918145A (zh) | 业务流程搭建方法及装置 | |
CN112948529A (zh) | 动态文本读写方法、装置、电子设备及介质 | |
US20150324333A1 (en) | Systems and methods for automatically generating hyperlinks | |
CN113971028B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |