CN111367595A - 数据处理方法、程序运行方法、装置及处理设备 - Google Patents
数据处理方法、程序运行方法、装置及处理设备 Download PDFInfo
- Publication number
- CN111367595A CN111367595A CN201811594722.9A CN201811594722A CN111367595A CN 111367595 A CN111367595 A CN 111367595A CN 201811594722 A CN201811594722 A CN 201811594722A CN 111367595 A CN111367595 A CN 111367595A
- Authority
- CN
- China
- Prior art keywords
- variable
- character string
- result
- program
- translation
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000013519 translation Methods 0.000 claims abstract description 197
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 167
- 230000001960 triggered effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- 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/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本申请实施例提供一种数据处理方法、程序运行方法、装置及处理设备,其中,所述方法包括:确定待处理程序中待翻译的字符串变量;将所述字符串变量的变量数值翻译为目标语言;保存所述字符串变量的翻译结果,以便于在所述待处理程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。本申请实施例提供的技术方案实现了程序支持多语言输出,降低了程序开发成本,提高了程序开发效率。
Description
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种数据处理方法、程序运行方法、装置及处理设备。
背景技术
随着网站业务的国际化发展,很多网站存在前端展示不同语言版本页面的需求,目前解决方案通常是针对每种语言分别进行程序开发,这种方式,开发成本高、效率慢且可维护性差。
发明内容
本申请实施例提供一种数据处理方法、程序运行方法、装置及处理设备,用以解决现有技术中程序无法实现多语言内容输出的技术问题。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
确定程序中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
第二方面,本申请实施例中提供了一种数据处理方法,包括:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
查找所述函数返回结果中,存在所述目标语言的翻译结果的第一目标变量;
将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
第三方面,本申请实施例中提供了一种数据处理方法,包括:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
第四方面,本申请实施例中提供了一种程序运行方法,包括:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
接收所述处理端反馈的替换之后的所述函数返回结果。
第五方面,本申请实施例中提供了一种程序运行方法,包括:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
第六方面,本申请实施例中提供了一种数据处理装置,包括:
第一变量确定模块,用于确定程序中待翻译的字符串变量;
第一翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
翻译结果保存模块,用于保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
第七方面,本申请实施例中提供了一种数据处理装置,包括:
返回结果获取模块,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
翻译结果查找模块,用于查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量;
第一替换模块,用于将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
数据返回模块,用于将替换之后的所述函数返回结果返回给所述程序。
第八方面,本申请实施例中提供了一种数据处理装置,包括:
返回结果获取模块,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
第二变量确定模块,用于确定所述函数返回结果中待翻译的字符串变量;
第三翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
第三替换模块,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
数据返回模块,用于将替换之后的所述函数返回结果返回给所述程序。
第九方面,本申请实施例中提供了一种数据运行装置,包括:
请求处理模块,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
翻译触发模块,用于将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
结果接收模块,用于接收所述处理端反馈的替换之后的所述函数返回结果。
第十方面,本申请实施例中提供了一种数据运行装置,包括:
请求处理模块,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
第三变量确定模块,用于确定所述函数返回结果中待翻译的字符串变量;
第四翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
第四替换模块,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
第十一方面,本申请实施例中提供了一种处理设备,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
确定程序中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
第十二方面,本申请实施例中提供了一种处理设备,包括处理组件以及存储组件;
所述存储组件存储程序;
所述处理组件执行所述程序,具体用于:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
接收所述处理端反馈的替换之后的所述函数返回结果。
本申请实施例中,确定程序中待翻译的字符串变量;将所述字符串变量的变量数值翻译为目标语言,并保存所述字符串变量的翻译结果,在从所述程序处理针对所述目标语言的相应请求的情况下,即可以将所述字符串变量的翻译结果作为所述字符串变量的返回值而返回给程序,程序可以将字符串变量的翻译结果输出,实现目标语言的内容展示,本申请实施例实现了程序支持多语言输出,无需维护和开发多个程序,无需修改程序原有逻辑,降低了程序开发成本,提高了程序开发效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种数据处理方法一个实施例的流程图;
图2示出了本申请提供的一种数据处理方法又一个实施例的流程图;
图3示出了本申请提供的一种数据处理方法又一个实施例的流程图;
图4示出了本申请提供的一种程序运行方法一个实施例的流程图;
图5示出了本申请提供的一种数据处理方法又一个实施例的流程图;
图6示出了本申请提供的一种程序运行方法又一个实施例的流程图;
图7示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图8示出了本申请提供的一种数据处理装置又一个实施例的结构示意图;
图9示出了本申请提供的一种处理设备一个实施例的结构示意图;
图10示出了本申请提供的一种数据运行装置一个实施例的结构示意图;
图11示出了本申请提供的一种处理设备又一个实施例的结构示意图;
图12示出了本申请提供的一种数据处理装置又一个实施例的结构示意图;
图13示出了本申请提供的一种处理设备又一个实施例的结构示意图;
图14示出了本申请提供的一种数据运行装置又一个实施例的结构示意图;
图15示出了本申请提供的一种处理设备又一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案主要应用于存在多语言数据输出需求的程序中,例如,网站服务程序或者其它存在多语言需求的应用软件等。
以网站服务程序为例,网站服务程序作为网站服务端,需要基于前端(浏览器)请求,比如登录请求,进行相应处理并在前端展示相应页面,如登录界面等,在实际应用中,存在基于不同语言触发的前端请求,比如请求以中文语言或者英文语言等展示登录界面等。而目前为了满足前端不同语言展示需求,需要针对每种语言分别进行程序开发,再基于不同语言请求调用对应程序进行处理,这种方式开发成本很高,开发周期长,不利于维护和管理。
发明人研究发现,前端需要多语言展示的数据主要为文本数据,而文本数据通常是程序中字符串变量(包括字符串类型和字符串数组类型的变量)的变量数值,这些变量数值包含在函数返回结果中返回给程序,以便于程序输出或者供其它函数调用等。据此,发明人提出了本申请的技术方案,在本申请实施例中,首先确定程序中待翻译的字符串变量;将所述字符串变量的变量数值翻译为目标语言,并保存所述字符串变量的翻译结果,在从所述程序处理针对所述目标语言的相应请求的情况下,即可以将所述字符串变量的翻译结果作为所述字符串变量的返回值而返回给程序,程序即可以输出该字符串变量的翻译结构,从而实现目标语言的内容展示,本申请实施例通过翻译即可以实现程序支持多语言输出,无需维护和开发多个程序,无需修改程序原有逻辑,降低了程序开发成本,提高了程序开发效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种数据处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:确定程序中待翻译的字符串变量。
该程序为存在多语言数据展示需求的程序,如网站服务程序。在程序开启运行之前,可以通过本实施例的技术方案,预先对程序进行翻译。
其中,字符串变量可以包括数据类型为字符串或者字符串数组的变量。
其中,程序中待翻译的字符串变量可以通过扫描程序的源码文件,从源码文件中读取;当然,也可以结合该程序的实际应用预先设定。
作为一种可选方式,所述确定程序中待翻译的字符串变量可以包括:
扫描所述程序的源码文件中的待翻译文件;
查找所述待翻译文件中的字符串变量。
程序中并非全部字符串变量均需要存在多语言展示需求,因此可以预先设定哪些源码文件需要翻译,因此通过扫描待翻译文件即可以查找获得待翻译文件中的字符串变量。
在实际应用中,程序可以是指采用Java编程语言实现的Java程序,源码文件为类(class)文件,Java程序支持注解,注解是指也叫元数据,是一种代码级别的说明,它可以声明在包、类文件、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明注释等。因此,可以通过对存在多语言展示需求的类文件设定预定注解,设置预定注解的类文件即为待翻译文件;因此,可选地,所述扫描所述程序的源码文件中的待翻译文件可以包括:
扫描所述程序的设置预定注解的类文件。
该设置有预定注解的类文件即为待翻译文件。
其中,查找待翻译文件中的字符串变量可以通过反射机制实现,反射机制是指程序可以访问、检测和修改它本身状态或行为的一种能力。
因此,可选地,所述查找所述待翻译文件中的至少一个字符串变量包括:
利用反射机制查找所述设置预定注解的类文件中的字符串变量。
102:将所述字符串变量的变量数值翻译为目标语言。
103:保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
其中,字符串变量的翻译结果可以保存至运行程序的设备内存中,当然也可以保存至其它存储介质中。程序运行时,可以直接从内存中获取该字符串变量的翻译结果。
确定待翻译的字符串变量之后,即可以将字符串变量的变量数值从源语言翻译为目标语言,例如从中文语言翻译为英文语言等。
将字符串变量的翻译结果进行保存,从而在程序存在目标语言的展示需求的情况下,若某个函数返回结果中使用该字符串变量的变量数值,可以利用该字符串变量的翻译结果替换其变量数值,作为该字符串变量的返回值返回,从而程序需要输出该字符串变量的返回值,即可以实现目标语言输出需求。
本实施例中,通过对程序中待翻译的字符串变量进行翻译,即可以在该程序存在目标语言的输出需求的情况下,查找字符串变量的翻译结果,将其作为字符串变量的返回值,从而即可以实现程序的目标语言输出需求,实现了程序支持多语言输出,无需维护和开发多个程序,无需修改程序原有逻辑,可以降低了程序开发成本,提高了程序开发效率。
作为一种可选方式,所述将所述字符串变量的变量数值翻译为目标语言可以包括:
调用所述目标语言对应的翻译引擎将所述字符串变量的变量数值翻译为目标语言。
作为另一种可选方式,所述将所述至少一个字符串变量的变量数值翻译为目标语言可以包括:
输出将所述字符串变量的变量数值翻译为目标语言的翻译请求,;
接收用户输入的针对所述字符串变量的翻译结果。
也即可以调用翻译引擎自动对变量数值进行翻译,当然也可以人工翻译方式进行翻译,以保证翻译准确度。
在某些实施例中,为了方便翻译结果查询,所述保存所述字符串变量的翻译结果包括:
将所字符串变量的翻译结果、变量标识及所述目标语言的语种代码对应保存。
其中,字符串变量的变量标识用于唯一标识该字符串变量,可选地,该字符串变量的变量标识可以由字符串的变量名及其所在源码文件的文件名构成,其中,源码文件为类文件时,文件名也即为类文件对应类的类名。
可选地,可以在第一翻译记录中保存所字符串变量的翻译结果、变量标识及所述目标语言的语种代码的对应关系。
其中,由于程序中包括数值不变的变量(也被称为常量)以及数值可变的变量(也即变量数值随着程序运行而发生改变),因此,在某些实施例中,所述将所述字符串变量的变量数值翻译为目标语言包括:
如果所述字符串变量为固定数值,将所述字符串变量的变量数值翻译为目标语言。
在某些实施例中,所述方法还可以包括:
如果所述字符串变量为可变数值,记录所述字符串变量,以便于在所述程序运行获得所述字符串变量的计算结果的情况下,将所述计算结果翻译为所述目标语言,并将所述至少一个字符串变量的翻译结果作为所述字符串变量的返回值。
也即对于固定数值的待翻译的字符串变量,可以将其变量数值直接翻译为目标语言。而对于数值可变的待翻译的字符串变量,可以先记录这些字符串变量,在程序运行获得该字符串变量的计算结果之后,再实时将其翻译目标语言。
其中,如果所述字符串变量为可变数值,记录所述字符串变量可以具体是记录所述字符串变量的变量标识,该变量标识可以由字符变量的变量名及其所在源码文件的文件名构成。
在某些实施例中,所述查找所述待翻译文件中的字符串变量可以包括:
解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为字符串类型,确定所述任一个变量为字符串变量;
如果所述变量类型为集合类,如果所述集合类为包括对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译源码文件中任一个变量的变量类型;如果所述集合类包括字符串类型,确定所述任一个变量为字符串变量。
也即如果一个变量为字符串类型,则该变量即为字符串变量;
而若一个变量的变量类型为对象,该对象变量引用了一个对象,因此需要循环解析,找到其引用对象所在的源码文件,若该源码文件也为待翻译文件,则可以对该待翻译文件继续进行解析,直至待翻译文件中不存在对象变量。
而若一个变量的变量类型为集合类型,需要对该集合类型中包括的变量类型进行具体判定,若该集合类型为对象类型,则采用对象变量方式进行循环解析,直接找到的待翻译文件中不存在对象变量;而若该集合类型为字符串类型,则该变量也即为字符串变量。
在某些实施例中,所述确定程序中待翻译的字符串变量包括:
基于预设变量标识,确定所述程序中待翻译的字符串变量。
可选地,所述将所述字符串变量的变量数值翻译为目标语言可以包括:
基于所述预设变量标识,读取所述程序中所述字符串变量的变量数值;
将所述字符串变量的变量值翻译为目标语言。
在某些实施例中,该预设变量标识可以按照如下方式获得:
扫描程序的源码文件中的待翻译文件,以确定所述待翻译文件中的字符串变量;
基于所述字符串变量的变量名及其所在源码文件的文件名,生成所述字符串变量的变量标识。
可选地,源码文件可以为类文件,所述扫描程序的源码文件中的待翻译文件,以确定所述待翻译文件中的字符串变量可以包括:
扫描所述程序的设置预定注解的类文件,并利用反射机制查找所述设置预定注解的类文件中的字符串变量。
可选地,所述扫描程序的源码文件中的待翻译文件,以确定所述待翻译文件中的字符串变量可以包括:
扫描程序的源码文件中的待翻译文件;
解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为字符串类型,确定所述任一个变量为字符串变量;
如果所述变量类型为集合类,如果所述集合类为包括对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译源码文件中任一个变量的变量类型;如果所述集合类包括字符串类型,确定所述任一个变量为字符串变量。
可选地,所述方法还可以包括:
确定所述字符串变量的数值类型;其中,数值类型可以包括固定数值以及可变数值。
所述方法还可以包括:
将所述字符串变量的数值类型与预设变量标识对应保存。
则可以具体是基于固定数值对应的预设变量标识,读取所述程序中所述字符串变量的固定数值。
则所述将所述字符串变量的变量数值翻译为目标语言包括:
将数值类型为固定数值的字符串变量的固定数值翻译为目标语言。
其中,数值类型为可变数值的字符串变量,用于在程序运行获得所述字符串变量的计算结果的情况下,将所述计算结果翻译为所述目标语言,并将所述至少一个字符串变量的翻译结果作为所述字符串变量的返回值。
由于程序中,对于数值固定的字符串变量,其变量数值根据实际需要也会发生更改,因此,在某些实施例中,所述保存所述字符串变量的翻译结果可以包括:
保存所述字符串变量的变量数值及翻译结果;
所述方法还可以包括:
检测所述字符串变量的变量数值是否发生变化;
如果所述变量数值发生变化,更新所述字符串变量的翻译结果。
也即检测字符串变量的变量数值发生变化,即可以直接根据更新之后的变量数值,在内存中更新该字符串变量的翻译结果。
其中,检测所述字符串变量的变量数值是否发生变化可以是在程序运行过程中进行检测。
可以根据该字符串变量保存的变量数值与其当前变量数值进行比较,以确定所述字符串变量的变量数值是否发生变化。
在一个实际应用中,该程序可以具体是指网站服务程序,随着网站国际化发展,网站存在在前端展示多语言页面的需求。网站服务程序部署在网站服务端,通常为Java程序。
下面以程序为网站服务程序为例,对本申请实施例的技术方案进行详细介绍。如图2所示,该方法可以包括以下几个步骤:
201:扫描网站服务程序的注解。
202:查找设置预定注解的类文件。
203:针对任一个设置预定注解的类文件中的任一个变量,解析变量类型。
其中,若变量类型为字符串类型或字符串数组类型,确定该变量为字符串变量,执行步骤204。
若变量类型为对象类型,判断所述对象对应类文件是否设置预定注解,若是返回步骤203执行。
若变量类型为集合类型,判断该集合类型中的变量类型,若集合类型包括字符串类型或字符串数组类型,确定该变量为字符串变量;若集合类型包括对象类型,判断所述对象对应类文件是否设置预定注解,若是返回步骤203执行。
204:记录字符串变量的变量标识。
其中,还可以判断字符串变量的数值类型,并将数值类型与变量标识对应保存。
205:基于记录的变量标识,读取该字符串变量。
206:如果字符串变量为固定数值,将字符串变量的变量数值翻译为目标语言。
207:将字符串变量的翻译结果、变量标识及目标语言的语种代码对应保存至第一翻译记录中。
208:如果字符串变量为可变数值,在第二翻译记录中保存字符串变量的变量标识。
从而网站服务端程序运行时,可以查找第一翻译记录,将存在翻译结果的字符串变量的翻译结果作为字符串变量的返回值。或者查找第二翻译记录,将第二翻译记录中记录的字符串变量的计算结果翻译为目标语言,将翻译结果作为该字符串变量的返回值。
图3为本申请实施例提供的一种数据处理方法又一个实施例的流程图,该方法可以包括以下几个步骤:
301:获取程序处理针对目标语言的任意处理请求产生的函数返回结果。
程序接收到针对目标语言的任意处理请求,对该处理请求进行的处理由程序中的函数实现,从而可以获得函数返回结果,该函数返回结果中包括字符串变量的变量数值。
302:查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量。
其中,该翻译结果的获得可以参见图1所示实施例,在此不再赘述。
303:将所述函数返回结果中所述第一目标变量的返回值替换为所述第一目标变量的翻译结果。
304:将替换之后的所述函数返回结果返回给所述程序。
本实施例中,对于程序获得的函数返回结果,首先查找目标语言对应的翻译记录,查找该函数返回结果中存在翻译结果的第一目标变量,进而将该第一目标变量的返回值替换为该翻译结果,再将替换之后的所述函数返回结果返回给程序,程序即可以输出该第一目标变量的翻译结果,实现程序支持多语言输出,可以降低程序开发成本,提高程序开发效率。
其中,所述查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量可以包括:
查找所述目标语言对应的第一翻译记录,确定所述函数返回结果中存在翻译结果的第一目标变量。
该第一翻译记录中记录了固定数值的字符串变量的变量标识以及该固定数值的翻译结果。
而对于可变数值的字符串变量,在进行翻译时仅记录了变量标识,因此,在某些实施例中,所述方法还可以包括:
查找所述目标语言对应的第二翻译记录中的变量标识,确定所述函数返回结果中待翻译的第二目标变量;
将所述函数返回结果中所述第二目标变量的返回值翻译为所述目标语言;
将所述函数返回结果中所述第二目标变量的返回值替换为所述第二目标变量的翻译结果。
图4为本申请实施例提供的一种程序运行方法一个实施例的流程图,本实施例从程序执行角度对本申请技术方案进行描述,该方法可以包括以下几个步骤:
401:处理针对目标语言触发的任意处理请求,获得函数返回结果。
402:将所述函数返回结果发送至处理端。
从而,所述处理端即可以确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果。
可选地,处理端可以查找第一翻译记录,确定所述函数返回结果中存在翻译结果的第一目标变量,并将所述函数返回结果中所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;还可以查找第二翻译记录,确定所述函数返回结果中待翻译的第二目标变量;将所述函数返回结果中所述第二目标变量的返回值翻译为所述目标语言;将所述函数返回结果中所述第二目标变量的返回值替换为所述第二目标变量的翻译结果。
该处理端的具体执行方案可以参见图3所示实施例中描述,翻译结果的获得可以参见
403:接收所述处理端反馈的替换之后的所述函数返回结果。
程序获得该函数返回结果之后,该第二目标变量的翻译结果即作为输出数据输出。
本实施例中,对于程序获得的函数返回结果,首先查找目标语言对应的翻译记录,查找该函数返回结果中存在翻译结果的第一目标变量,进而将该第一目标变量的返回值替换为该翻译结果,再将替换之后的所述函数返回结果返回给程序,程序即可以输出该第一目标变量的翻译结果,实现程序支持多语言输出,可以降低程序开发成本,提高程序开发效率。
此外,在上述一个或多个实施例中,可以由翻译框架,也即处理端负责进行变量数值的翻译,翻译框架可以预先扫描程序,并对程序中待翻译的字符串变量的变量数值翻译为目标语言,并保存翻译结果,从而可以在程序产生函数返回结果时,翻译框架可以通过查找翻译记录而将函数返回结果中存在翻译结果的目标变量进行数值替换,此外,作为又一个实施例,翻译框架也可以在程序运行过程中实时的进行翻译,如图5所示的数据处理方法中,该方法可以包括以下几个步骤:
501:获取程序处理针对目标语言的任意处理请求产生的函数返回结果。
502:确定所述函数返回结果中待翻译的字符串变量。
可选地,可以查找变量记录中的保存的变量标识,来确定函数返回结果中待翻译的字符串变量。
该变量记录中记录的变量标识,可以通过预先扫描所述程序的源码文件中的待翻译文件,以查找所述待翻译文件中的字符串变量,基于所述字符串变量的变量名及其所在源码文件的文件名,生成所述字符串变量的变量标识,并在变量记录中记录所述待翻译文件中的字符串变量的变量标识。
其中,扫描所述程序的源码文件中的待翻译文件以及找所述待翻译文件中的字符串变量的具体方式可以参见上文相应实施例中描述,在此不再赘述。
503:将所述字符串变量的变量数值翻译为目标语言。
可选地,可以调用所述目标语言对应的翻译引擎将所述字符串变量的变量数值翻译为目标语言。
504:将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
505:将替换之后的所述函数返回结果返回给所述程序。
本实施例中,翻译框架在获取程序的函数返回结果之后,可以实时对函数返回结果中待翻译的字符串变量进行目标语言的翻译,实现程序的目标语言输出需求,实现了程序支持多语言输出无需维护和开发多个程序,无需修改程序原有逻辑,可以降低了程序开发成本,提高了程序开发效率。
此外,在上述一个或多个实施例中,可以由独立与程序的翻译框架,也即处理端负责进行翻译或函数返回结果的替换,此外,作为又一个实施例,也可以由程序本身进行翻译或函数返回结果的替换,如图6所述的程序运行方法中,该方法可以包括以下几个步骤:
601:处理针对目标语言触发的任意处理请求,获得函数返回结果。
602:确定所述函数返回结果中待翻译的字符串变量。
可选地,可以查找变量记录中的保存的变量标识,来确定函数返回结果中待翻译的字符串变量。
该变量记录中记录的变量标识,可以通过预先扫描所述程序的源码文件中的待翻译文件,以查找所述待翻译文件中的字符串变量,基于所述字符串变量的变量名及其所在源码文件的文件名,生成所述字符串变量的变量标识,并在变量记录中记录所述待翻译文件中的字符串变量的变量标识。
其中,扫描所述程序的源码文件中的待翻译文件以及找所述待翻译文件中的字符串变量的具体方式可以参见上文相应实施例中描述,在此不再赘述。
603:将所述字符串变量的变量数值翻译为目标语言。
可选地,可以调用所述目标语言对应的翻译引擎将所述字符串变量的变量数值翻译为目标语言。
604:将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
本实施例中,程序运行获得函数返回结果之后,可以实时对函数返回结果中待翻译的字符串变量进行目标语言的翻译,实现程序的目标语言输出需求,实现了程序支持多语言输出无需维护和开发多个程序,无需修改程序原有逻辑,可以降低了程序开发成本,提高了程序开发效率。
图7为本申请实施例提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括:
第一变量确定模块701,用于确定程序中待翻译的字符串变量;
第一翻译模块702,用于将所述字符串变量的变量数值翻译为目标语言;
翻译结果保存模块703,用于保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
在某些实施例中,所述第一变量确定模块可以具体用于扫描所述程序的源码文件中的待翻译文件;查找所述待翻译文件中的字符串变量。
在某些实施例中,所述第一变量确定模块具体用于扫描所述程序的设置预定注解的类文件;利用反射机制查找所述设置预定注解的类文件中的字符串变量。
在某些实施例中,所述第一变量确定模块查找所述待翻译文件中的字符串变量可以具体是:
解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为字符串类型或者字符串数组类型,确定所述任一个变量为字符串变量;
如果所述变量类型为集合类,如果所述集合类为包括对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译源码文件中任一个变量的变量类型;如果所述集合类包括字符串类型,确定所述任一个变量为字符串变量。
在某些实施例中,所述第一翻译模块具体用于如果所述字符串变量为固定数值,将所述字符串变量的变量数值翻译为目标语言。
可选地,所述第一翻译模块可以具体用于在第一翻译记录中保存所述字符串变量的翻译结果。
在某些实施例中,该装置还可以包括:
第二翻译模块,用于如果所述字符串变量为可变数值,在第二翻译记录中记录所述字符串变量,以便于在所述程序运行获得所述字符串变量的计算结果的情况下,将所述计算结果翻译为所述目标语言,并将所述至少一个字符串变量的翻译结果作为所述字符串变量的返回值。
在某些实施例中,所述第一变量确定模块可以具体用于
基于预设变量标识,确定所述程序中所述预设变量标识对应的字符串变量。
在某些实施例中,该装置还可以包括:
预记录模块,用于扫描程序的源码文件中的待翻译文件,以确定所述待翻译文件中的字符串变量;
基于所述字符串变量的变量名及其所在源码文件的文件名,生成所述字符串变量的变量标识。
在某些实施例中,所述第一翻译模块具体用于基于所述预设变量标识,读取所述程序中所述字符串变量的变量数值;将所述字符串变量的变量值翻译为目标语言。
在某些实施例中,所述翻译结果保存模块可以具体用于将所字符串变量的翻译结果、变量标识及所述目标语言的语种代码对应保存。
在某些实施例中,所述第一翻译模块可以具体用于调用翻译引擎将所述字符串变量的变量数值翻译为目标语言。
在某些实施例中,所述第一翻译模块可以具体用于输出将所述字符串变量的变量数值翻译为目标语言的翻译请求;
接收用户输入的针对所述字符串变量的翻译结果。
在某些实施例中,所述翻译结果保存模块可以具体用于保存所述字符串变量的变量数值以及翻译结果;
在某些实施例中,该装置还可以包括:
翻译结果更新模块,用于检测所述字符串变量的变量数值是否发生变化;如果所述变量数值发生变化,更新所述字符串变量的翻译结果。
图7所述的数据处理装置可以执行图1所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8为本申请实施例提供的一种数据处理装置又一个实施例的结构示意图,该装置可以包括:
返回结果获取模块801,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
翻译结果查找模块802,用于查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量;
第一替换模块803,用于将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
数据返回模块804,用于将替换之后的所述函数返回结果返回给所述程序。
在某些实施例中,所述翻译结果查找模块可以具体用于查找所述目标语言对应的第一翻译记录,确定所述函数返回结果中存在翻译结果的第一目标变量。
在某些实施例中,该装置还可以包括:
第二替换模块,用于查找所述目标语言对应的第二翻译记录中的变量标识,确定所述函数返回结果中待翻译的第二目标变量;
将所述第二目标变量的返回值翻译为所述目标语言;
将所述函数返回结果中所述第二目标变量的返回值替换为所述第二目标变量的翻译结果。
图8所述的数据处理装置可以执行图3所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,图7或图8所示实施例的数据处理装置可以实现为处理设备,如图9所示,该处理设备可以包括存储组件901以及处理组件902;
所述存储组件901存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件902调用执行。
所述处理组件902具体用于:
确定程序中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
此外,所述处理组件还可以具体用于:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量;
将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
其中,处理组件902可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件901被配置为存储各种类型的数据以支持在处理设备中的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,处理设备必然还可以包括其他部件,例如输入/输出接口、通信组件等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图1所示实施例的数据处理方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图3所示实施例的数据处理方法。
图10为本申请实施例提供的一种数据运行装置一个实施例的结构示意图,该装置可以包括:
请求处理模块1001,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
翻译触发模块1002,用于将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
结果接收模块1003,用于接收所述处理端反馈的替换之后的所述函数返回结果。
图10所述的数据运行装置可以执行图4所示实施例所述程序运行方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供了一种处理设备,如图11所示,该处理设备可以包括存储组件1101以及处理组件1102;
其中,所述存储组件1101存储程序;
所述处理组件1102执行所述程序,具体用于:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
接收所述处理端反馈的替换之后的所述函数返回结果。
其中,处理组件1102可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件1101被配置为存储各种类型的数据以支持在处理设备中的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,处理设备必然还可以包括其他部件,例如输入/输出接口、通信组件等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图4所示实施例的程序运行方法。
图12为本申请实施例提供的一种数据处理装置又一个实施例的结构示意图,该装置可以包括:
返回结果获取模块1201,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
第二变量确定模块1202,用于确定所述函数返回结果中待翻译的字符串变量;
第三翻译模块1203,用于将所述字符串变量的变量数值翻译为目标语言;
第三替换模块1204,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
数据返回模块1205,用于将替换之后的所述函数返回结果返回给所述程序。
图8所述的数据处理装置可以执行图5所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,图12所示实施例的数据处理装置可以实现为处理设备,如图13所示,该处理设备可以包括存储组件1301以及处理组件1302;
所述存储组件1301存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件1302调用执行。
所述处理组件1302具体用于:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
其中,处理组件1302可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件1301被配置为存储各种类型的数据以支持在处理设备中的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,处理设备必然还可以包括其他部件,例如输入/输出接口、通信组件等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图5所示实施例的数据处理方法。
图14为本申请实施例提供的一种数据运行装置一个实施例的结构示意图,该装置可以包括:
请求处理模块1401,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
第三变量确定模块1402,用于确定所述函数返回结果中待翻译的字符串变量;
第四翻译模块1403,用于将所述字符串变量的变量数值翻译为目标语言;
第四替换模块1404,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
图14所述的数据运行装置可以执行图6所示实施例所述程序运行方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供了一种处理设备,如图15所示,该处理设备可以包括存储组件1501以及处理组件1502;
其中,所述存储组件1501存储程序;
所述处理组件1602执行所述程序,具体用于:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
其中,处理组件1502可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件1501被配置为存储各种类型的数据以支持在处理设备中的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
当然,处理设备必然还可以包括其他部件,例如输入/输出接口、通信组件等,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图6所示实施例的数据处理方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (29)
1.一种数据处理方法,其特征在于,包括:
确定程序中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
2.根据权利要求1所述的方法,其特征在于,所述确定程序中待翻译的字符串变量包括:
扫描所述程序的源码文件中的待翻译文件;
查找所述待翻译文件中的字符串变量。
3.根据权利要求2所述的方法,其特征在于,所述扫描所述程序的源码文件中的待翻译文件包括:
扫描所述程序的设置预定注解的类文件;
所述查找所述待翻译文件中的至少一个字符串变量包括:
利用反射机制查找所述设置预定注解的类文件中的字符串变量。
4.根据权利要求2所述的方法,其特征在于,所述查找所述待翻译文件中的字符串变量包括:
解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译文件中任一个变量的变量类型;
如果所述变量类型为字符串类型或者字符串数组类型,确定所述任一个变量为字符串变量;
如果所述变量类型为集合类,如果所述集合类为包括对象类型,判断所述对象对应源码文件是否为待翻译文件,若是返回执行所述针对任一个待翻译文件,解析所述待翻译源码文件中任一个变量的变量类型;如果所述集合类包括字符串类型,确定所述任一个变量为字符串变量。
5.根据权利要求1所述的方法,其特征在于,所述将所述字符串变量的变量数值翻译为目标语言包括:
如果所述字符串变量为固定数值,将所述字符串变量的变量数值翻译为目标语言。
6.根据权利要求5所述的方法,其特征在于,所述保存所述字符串变量的翻译结果包括:
在第一翻译记录中保存所述字符串变量的翻译结果。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果所述字符串变量为可变数值,在第二翻译记录中记录所述字符串变量,以便于在所述程序运行获得所述字符串变量的计算结果的情况下,将所述计算结果翻译为所述目标语言,并将所述至少一个字符串变量的翻译结果作为所述字符串变量的返回值。
8.根据权利要求1所述的方法,其特征在于,所述确定程序中待翻译的字符串变量包括:
基于预设变量标识,确定所述程序中所述预设变量标识对应的字符串变量。
9.根据权利要求8所述的方法,其特征在于,所述预设变量标识按照如下方式获得:
扫描程序的源码文件中的待翻译文件,以确定所述待翻译文件中的字符串变量;
基于所述字符串变量的变量名及其所在源码文件的文件名,生成所述字符串变量的变量标识。
10.根据权利要求8所述的方法,其特征在于,所述将所述字符串变量的变量数值翻译为目标语言包括:
基于所述预设变量标识,读取所述程序中所述字符串变量的变量数值;
将所述字符串变量的变量值翻译为目标语言。
11.根据权利要求1所述的方法,其特征在于,所述保存所述字符串变量的翻译结果包括:
将所字符串变量的翻译结果、变量标识及所述目标语言的语种代码对应保存。
12.根据权利要求1所述的方法,其特征在于,所述将所述至少一个字符串变量的变量数值翻译为目标语言包括:
调用翻译引擎将所述字符串变量的变量数值翻译为目标语言。
13.根据权利要求1所述的方法,其特征在于,所述将所述至少一个字符串变量的变量数值翻译为目标语言包括:
输出将所述字符串变量的变量数值翻译为目标语言的翻译请求;
接收用户输入的针对所述字符串变量的翻译结果。
14.根据权利要求1所述的方法,其特征在于,所述程序为网站服务程序。
15.根据权利要求1所述的方法,其特征在于,所述保存所述字符串变量的翻译结果包括:
保存所述字符串变量的变量数值以及翻译结果;
所述方法还包括:
检测所述字符串变量的变量数值是否发生变化;
如果所述变量数值发生变化,更新所述字符串变量的翻译结果。
16.一种数据处理方法,其特征在于,包括:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
查找所述函数返回结果中,存在所述目标语言的翻译结果的第一目标变量;
将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
17.根据权利要求16所述的方法,其特征在于,所述查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量包括:
查找所述目标语言对应的第一翻译记录,确定所述函数返回结果中存在翻译结果的第一目标变量。
18.根据权利要求17所述的方法,其特征在于,所述将替换之后的所述函数返回结果返回给所述程序之前,所述方法还包括:
查找所述目标语言对应的第二翻译记录中的变量标识,确定所述函数返回结果中待翻译的第二目标变量;
将所述第二目标变量的返回值翻译为所述目标语言;
将所述函数返回结果中所述第二目标变量的返回值替换为所述第二目标变量的翻译结果。
19.一种数据处理方法,其特征在于,包括:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
20.一种程序运行方法,其特征在于,包括:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
接收所述处理端反馈的替换之后的所述函数返回结果。
21.一种程序运行方法,其特征在于,包括:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
确定所述函数返回结果中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
22.一种数据处理装置,其特征在于,包括:
第一变量确定模块,用于确定程序中待翻译的字符串变量;
第一翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
翻译结果保存模块,用于保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
23.一种数据处理装置,其特征在于,包括:
返回结果获取模块,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
翻译结果查找模块,用于查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量;
第一替换模块,用于将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
数据返回模块,用于将替换之后的所述函数返回结果返回给所述程序。
24.一种数据处理装置,其特征在于,包括:
返回结果获取模块,用于获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
第二变量确定模块,用于确定所述函数返回结果中待翻译的字符串变量;
第三翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
第三替换模块,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果;
数据返回模块,用于将替换之后的所述函数返回结果返回给所述程序。
25.一种数据运行装置,其特征在于,包括:
请求处理模块,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
翻译触发模块,用于将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
结果接收模块,用于接收所述处理端反馈的替换之后的所述函数返回结果。
26.一种数据运行装置,其特征在于,包括:
请求处理模块,用于处理针对目标语言触发的任意处理请求,获得函数返回结果;
第三变量确定模块,用于确定所述函数返回结果中待翻译的字符串变量;
第四翻译模块,用于将所述字符串变量的变量数值翻译为目标语言;
第四替换模块,用于将所述函数返回结果中所述字符串变量的返回值替换为所述字符串变量的翻译结果。
27.一种处理设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行;
所述处理组件用于:
确定程序中待翻译的字符串变量;
将所述字符串变量的变量数值翻译为目标语言;
保存所述字符串变量的翻译结果,以便于在所述程序处理针对所述目标语言的相应请求的情况下,将所述字符串变量的翻译结果作为所述字符串变量的返回值。
28.根据权利要求27所述的方法,其特征在于,所述处理组件还用于:
获取程序处理针对目标语言的任意处理请求产生的函数返回结果;
查找所述函数返回结果中存在所述目标语言的翻译结果的第一目标变量;
将所述函数返回结果中,所述第一目标变量的返回值替换为所述第一目标变量的翻译结果;
将替换之后的所述函数返回结果返回给所述程序。
29.一种处理设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储程序;
所述处理组件执行所述程序,具体用于:
处理针对目标语言触发的任意处理请求,获得函数返回结果;
将所述函数返回结果发送至处理端,由所述处理端确定所述函数返回结果中待翻译的目标变量,并将所述函数返回结果中所述目标变量的返回值替换为所述目标变量的翻译结果;
接收所述处理端反馈的替换之后的所述函数返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594722.9A CN111367595B (zh) | 2018-12-25 | 2018-12-25 | 数据处理方法、程序运行方法、装置及处理设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594722.9A CN111367595B (zh) | 2018-12-25 | 2018-12-25 | 数据处理方法、程序运行方法、装置及处理设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367595A true CN111367595A (zh) | 2020-07-03 |
CN111367595B CN111367595B (zh) | 2024-03-26 |
Family
ID=71208363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811594722.9A Active CN111367595B (zh) | 2018-12-25 | 2018-12-25 | 数据处理方法、程序运行方法、装置及处理设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367595B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651221A (zh) * | 2020-07-14 | 2020-09-11 | 迈普通信技术股份有限公司 | 注解国际化方法及装置、存储介质及电子设备 |
CN111796833A (zh) * | 2020-07-13 | 2020-10-20 | 携程计算机技术(上海)有限公司 | 代码语言转换方法、系统、设备及存储介质 |
CN112183116A (zh) * | 2020-09-25 | 2021-01-05 | 深圳市元征科技股份有限公司 | 信息呈现方法、装置、设备及介质 |
CN112988297A (zh) * | 2021-03-10 | 2021-06-18 | 深圳市创想三维科技有限公司 | 基于触摸屏的语言切换方法、装置、电子设备及存储介质 |
CN117375627A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004259148A (ja) * | 2003-02-27 | 2004-09-16 | Nec Corp | Webページ翻訳方法と装置 |
CN101615181A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 创建国际化网络应用的系统和方法 |
US20110289490A1 (en) * | 2010-05-20 | 2011-11-24 | Mcatamney James A | C-to-java programming language translator |
CN103092830A (zh) * | 2011-10-28 | 2013-05-08 | 北京百度网讯科技有限公司 | 一种调序规则获取方法及装置 |
US20130238310A1 (en) * | 2012-03-09 | 2013-09-12 | Narayanaswamy Viswanathan | Content page url translation |
CN103412857A (zh) * | 2013-09-04 | 2013-11-27 | 广东全通教育股份有限公司 | 一种实现网页中英文翻译的系统和方法 |
US20140278342A1 (en) * | 2013-03-15 | 2014-09-18 | One Hour Translation | System and method for website tranlsations |
CN104317788A (zh) * | 2014-11-03 | 2015-01-28 | 上海鼎讯电子有限公司 | Android多国语言翻译方法和装置 |
CN104915204A (zh) * | 2015-06-08 | 2015-09-16 | 小米科技有限责任公司 | 网页处理方法及装置 |
CN106202066A (zh) * | 2016-07-05 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 网站的翻译方法和装置 |
CN106776584A (zh) * | 2016-11-24 | 2017-05-31 | 网易(杭州)网络有限公司 | 文字显示方法、翻译表生成方法、文件翻译方法及装置 |
CN107451128A (zh) * | 2017-08-04 | 2017-12-08 | 深圳Tcl新技术有限公司 | 多语言代码适配方法、设备及存储介质 |
US20180024848A1 (en) * | 2013-12-02 | 2018-01-25 | Crowdin, Inc. | Translatable Texts Identification in In-Context Localization Utilizing Pseudo-Language and an External Server |
-
2018
- 2018-12-25 CN CN201811594722.9A patent/CN111367595B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004259148A (ja) * | 2003-02-27 | 2004-09-16 | Nec Corp | Webページ翻訳方法と装置 |
CN101615181A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 创建国际化网络应用的系统和方法 |
US20110289490A1 (en) * | 2010-05-20 | 2011-11-24 | Mcatamney James A | C-to-java programming language translator |
CN103092830A (zh) * | 2011-10-28 | 2013-05-08 | 北京百度网讯科技有限公司 | 一种调序规则获取方法及装置 |
US20130238310A1 (en) * | 2012-03-09 | 2013-09-12 | Narayanaswamy Viswanathan | Content page url translation |
US20140278342A1 (en) * | 2013-03-15 | 2014-09-18 | One Hour Translation | System and method for website tranlsations |
CN103412857A (zh) * | 2013-09-04 | 2013-11-27 | 广东全通教育股份有限公司 | 一种实现网页中英文翻译的系统和方法 |
US20180024848A1 (en) * | 2013-12-02 | 2018-01-25 | Crowdin, Inc. | Translatable Texts Identification in In-Context Localization Utilizing Pseudo-Language and an External Server |
CN104317788A (zh) * | 2014-11-03 | 2015-01-28 | 上海鼎讯电子有限公司 | Android多国语言翻译方法和装置 |
CN104915204A (zh) * | 2015-06-08 | 2015-09-16 | 小米科技有限责任公司 | 网页处理方法及装置 |
CN106202066A (zh) * | 2016-07-05 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 网站的翻译方法和装置 |
CN106776584A (zh) * | 2016-11-24 | 2017-05-31 | 网易(杭州)网络有限公司 | 文字显示方法、翻译表生成方法、文件翻译方法及装置 |
CN107451128A (zh) * | 2017-08-04 | 2017-12-08 | 深圳Tcl新技术有限公司 | 多语言代码适配方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
周叶;王亮亮;覃其益;张佳伟;: "基于Symfony的多语种在线教育平台的设计与实现", no. 32 * |
王路路;斯拉吉艾合麦提・如则麦麦提;艾山・吾买尔;吐尔根・依布拉音;买合木提・买买提;卡哈尔江・阿比的热西提;: "人物简历汉维机器翻译系统的设计与实现", no. 24 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111796833A (zh) * | 2020-07-13 | 2020-10-20 | 携程计算机技术(上海)有限公司 | 代码语言转换方法、系统、设备及存储介质 |
CN111651221A (zh) * | 2020-07-14 | 2020-09-11 | 迈普通信技术股份有限公司 | 注解国际化方法及装置、存储介质及电子设备 |
CN112183116A (zh) * | 2020-09-25 | 2021-01-05 | 深圳市元征科技股份有限公司 | 信息呈现方法、装置、设备及介质 |
CN112183116B (zh) * | 2020-09-25 | 2023-10-10 | 深圳市元征科技股份有限公司 | 信息呈现方法、装置、设备及介质 |
CN112988297A (zh) * | 2021-03-10 | 2021-06-18 | 深圳市创想三维科技有限公司 | 基于触摸屏的语言切换方法、装置、电子设备及存储介质 |
CN117375627A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
CN117375627B (zh) * | 2023-12-08 | 2024-04-05 | 深圳市纷享互联科技有限责任公司 | 适用于字符串的纯文本格式数据的无损压缩方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111367595B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367595B (zh) | 数据处理方法、程序运行方法、装置及处理设备 | |
CN110162296B (zh) | 应用程序编程接口文档的生成方法、装置及终端设备 | |
CN109376166B (zh) | 脚本转换方法、装置、计算机设备及存储介质 | |
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
CN111563051B (zh) | 基于爬虫的数据核验方法、装置、计算机设备及存储介质 | |
CN110955428A (zh) | 一种页面显示方法、装置、电子设备及介质 | |
CN108459954B (zh) | 应用程序漏洞检测方法和装置 | |
CN110941779B (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN110716866A (zh) | 代码质量扫描方法、装置、计算机设备及存储介质 | |
CN108494728B (zh) | 防止流量劫持的黑名单库创建方法、装置、设备及介质 | |
CN110365776B (zh) | 图片批量下载方法、装置、电子设备及存储介质 | |
CN111857934A (zh) | 一种页面加载方法、装置、电子设备及存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN113656737A (zh) | 网页内容展示方法、装置、电子设备以及存储介质 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN114611039B (zh) | 异步加载规则的解析方法、装置、存储介质和电子设备 | |
CN112528193A (zh) | 页面文案处理方法、页面文案管理方法、装置、终端设备、计算机设备及服务器 | |
CN111159162B (zh) | 数据库配置方法及设备 | |
CN110968500A (zh) | 一种测试用例的执行方法及装置 | |
US8302045B2 (en) | Electronic device and method for inspecting electrical rules of circuit boards | |
CN110083576B (zh) | 一种缓存目录的识别方法及装置 | |
CN103631886A (zh) | 在浏览器侧进行输入的方法和设备 | |
CN109635175B (zh) | 页面数据拼接方法、装置、可读存储介质和电子设备 | |
CN112417324A (zh) | 基于Chrome的URL拦截方法、装置及计算机设备 | |
CN111427870B (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 |