CN115686476A - 语言转换的方法、装置、计算机设备及计算机可读存储介质 - Google Patents
语言转换的方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115686476A CN115686476A CN202211435119.2A CN202211435119A CN115686476A CN 115686476 A CN115686476 A CN 115686476A CN 202211435119 A CN202211435119 A CN 202211435119A CN 115686476 A CN115686476 A CN 115686476A
- Authority
- CN
- China
- Prior art keywords
- class
- language
- conversion
- conversion method
- searched
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了语言转换的方法、装置、计算机设备及计算机可读存储介质。所述语言转换方法,在应用程序编译生成安装包前进行转换,包括:确定需要转换的类名和转换方法,并设置成配置类;在应用程序中自动查找所有与配置类中类名相同的类;在查找出的类内查找配置类中确定的转换方法;设置需要转换的类的原语言和目标语言的对应转换表的语言转换字典;根据语言转换字典,用查找出的转换方法将查找出的类的原语言转换为目标语言。在本申请实施例提高了转换效率,降低了人工成本,且不容易出错,降低了开发成本;只需转换为需要的目标语言,不需要添加多个语言包,应用程序安装包体积小,节省了存储空间和内存。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种语言转换的方法、装置、计算机设备及计算机可读存储介质。
背景技术
智能终端上的很多app(应用程序)不止是面向国内的用户,还会推广到国外。而app的国际化就是根据用户操作系统的语言设置,自动将app的语言设置为和用户操作系统语言一致的语言。
目前,实现app国际化的方式包括:在app安装包中添加所支持的多种语言包,即通过语言包对app安装包的源代码进行二次修改。语言包编写过程中需要开发者人工逐个将原语言替换为目标语言,因而开发成本很高,后期维护成本也较高;且通过人工进行替换,容易出错。并且每个app安装包需添加多个语言包,会使应用程序的安装包体积增大,耗费存储空间和内存。
发明内容
本申请的目的在于提供一种转换成本低、转换效率高的语言转换的方法、装置、计算机设备及计算机可读存储介质,旨在解决上述技术问题之一。
第一方面,本申请实施例提供了一种语言转换方法,在应用程序编译生成安装包前进行转换,包括:确定需要转换的类名和转换方法,并设置成配置类;在所述应用程序中自动查找所有与所述配置类中类名相同的类;在查找出的所述类内查找所述配置类中确定的转换方法;设置需要转换的类的原语言和目标语言的对应转换的语言转换字典;根据所述语言转换字典,用查找出的所述转换方法将查找出的所述类的原语言转换为目标语言。
优选地,上述配置类还包括:需要转换的类的具体参数;所述在所述应用程序中自动查找所有与所述配置类中类名相同的类具体为:在所述应用程序中自动查找所有与所述配置类中类名和参数相同的类。
优选地,上述在所述应用程序中自动查找所有与所述配置类中类名和参数相同的类具体为:采用读取类信息的方法自动在所述应用程序中查找所有与所述配置类中类名和参数相同的类;在查找出的所述类内查找所述配置类中确定的转换方法具体为:采用读取类信息的方法在查找出的所述类内查找所述配置类中确定的转换方法。
优选地,上述根据所述语言转换字典,用所述转换方法将查找出的所述类的原语言转换为目标语言具体包括:检索语言转换字典,将查找出的所述类的原语言翻译成目标语言;将翻译后的目标语言逐个提取至操作数堆栈内;用查找出的转换方法逐个将所述操作数堆栈的目标语言替换至所述应用程序中。
优选地,上述配置类内确定的类名为文本类,所述配置类内确定的转换方法为设置文本方法,所述类的具体参数包括字体、颜色、字体大小和粗细。
优选地,上述需要转换的文本类的具体参数包括;原语言的万国码范围在4e00-9fa5之间。
优选地,上述将转换后的目标语言逐个提取至操作数堆栈内具体为:用常量指令将转换后的目标语言逐个提取至操作数堆栈内。
第二方面,本申请实施例提供了一种语言转换装置,包括:设置模块,用于确定需要转换的类名和转换方法,并设置成配置类;查找类模块,用于在所述应用程序中查找所有与所述配置类中类名相同的类;查找方法模块,用于在查找出的所述类内查找所述配置类中确定的转换方法;字典模块,用于设置需要转换的类的原语言和目标语言的对应转换的语言转换字典;替换模块,用于根据所述语言转换字典,用所述转换方法将查找出的所述类的原语言转换为目标语言。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的语言转换方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上所述的语言转换方法的步骤。
在本申请实施例中,先确定需要转换的类名和转换方法,并设置成配置类,即确定需要语言转换的类和转换方法;在应用程序中自动查找所有与配置类中类名相同的类,通过系统自动查找类;根据语言转换字典,用查找出的转换方法将查找出的类的原语言转换为目标语言。在本申请实施例中,通过确定类,由系统自动查找类,不需要如现有技术那样由开发人员逐个将原语言替换为目标语言,提高了转换效率,降低了人工成本,且不容易出错。并且,在本申请实施例在应用程序编译生成安装包前进行语言转换,不需要在应用程序生成安装包后编写语言包程序、然后在应用程序安装包中添加多种语言包修改源代码,降低了开发成本。在本申请实施例中,只需转换为需要的目标语言,不需要添加多个语言包,应用程序安装包体积小,节省了存储空间和内存。
附图说明
图1是本申请一实施例提供的语言转换方法的流程图;
图2是本申请一实施例提供的语言转换方法的根据语言转换字典、用转换方法将查找出的类的原语言转换为目标语言的步骤的流程图;
图3是本申请一实施例提供的语言转换装置的结构示意图;
图4是本申请一实施例提供的计算机设备的具体结构框图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
请参阅图1,是本申请一实施例提供的语言转换方法的流程图,本申请实施例提供了一种语言转换方法,包括:
S101、确定需要转换的类名和转换方法,并设置成配置类;
S102、在应用程序中自动查找所有与配置类中类名相同的类;
S103、在查找出的类内查找配置类中确定的转换方法;
S104、设置需要转换的类的原语言和目标语言的对应转换表的语言转换字典;
S105、根据语言转换字典,用查找出的转换方法将查找出的类的原语言转换为目标语言。
原语言指转换前的语言,即需要翻译的语言,可以是中文等语言;目标语言指转换后的语言,即翻译后的语言,可以是英文、日文、韩文等。语言转换字典设置有需要转换的类的原语言和目标语言的对应转换表,为后续替换提供检索。
在本申请实施例中,先确定需要转换的类名和转换方法,并设置成配置类,即确定需要语言转换的类和转换方法;在应用程序中自动查找所有与配置类中类名相同的类,通过系统自动查找类;在查找出的类内查找配置类中确定的转换方法,即每个类内包含有多个方法属性,需要在查找出的每个类内查找配置类中确定的转换方法;根据语言转换字典,用查找出的转换方法将查找出的类的原语言转换为目标语言。在本申请实施例中,通过确定类,由系统自动查找类,不需要如现有技术那样由开发人员逐个将原语言替换为目标语言,提高了转换效率,降低了人工成本,且不容易出错。并且,在本申请实施例在应用程序编译生成安装包前进行语言转换,不需要在应用程序生成安装包后编写语言包程序、然后在应用程序安装包中添加多种语言包修改源代码,降低了开发成本。在本申请实施例中,只需转换为需要的目标语言,不需要添加多个语言包,应用程序安装包体积小,节省了存储空间和内存。
具体地,配置类还包括:需要转换的类的具体参数;在应用程序中自动查找所有与配置类中类名相同的类具体为:在应用程序中自动查找所有与配置类中类名和参数相同的类。配置类还包括需要转换的类的具体参数,即可以根据具体需要进一步限定或确定需要转换的类的具体参数,只有类名和参数都与配置类设置的相同的类,才能在应用程序中自动查找出来。
具体地,在安卓(Android)系统中,在应用程序中自动查找所有与配置类中类名和参数相同的类具体为:采用读取类信息(visitClass)的方法自动在应用程序中查找所有与配置类中类名和参数相同的类;在查找出的类内查找配置类中确定的转换方法具体为:采用读取类信息的方法(visitclass)在查找出的类内查找配置类中确定的转换方法。
读取类信息(visitClass)的方法是遍历操作,该方法可以自动逐个查找所有与配置类中类名和参数相同的类,直至查找完整个应用程序。通过读取类信息(visitClass)的方法,可以自动逐个在查找出的类内查找配置类中确定的转换方法,直至查找完每个查找出的类的所有方法。当然,在其他操作系统中,可以使用现有技术的其他方法完成在应用程序中自动查找所有与配置类中类名和参数相同的类的步骤和在查找出的类内查找配置类中确定的转换方法的步骤。
请参阅图2,是本申请一实施例提供的语言转换方法的根据语言转换字典、用转换方法将查找出的类的原语言转换为目标语言的步骤的流程图,本申请一实施例提供的语言转换方法的根据语言转换字典、用转换方法将查找出的类的原语言转换为目标语言,包括以下步骤:
S201、检索语言转换字典,将查找出的类的原语言翻译成目标语言;
S202、将翻译后的目标语言逐个提取至操作数堆栈内;
S203、用查找出的转换方法逐个将操作数堆栈的目标语言替换至应用程序中。
具体地,在安卓(Android)系统中,将转换后的目标语言逐个提取至操作数堆栈内具体为:用常量指令(LDC)将转换后的目标语言逐个提取至操作数堆栈内。
在本申请实施例中,系统检索语言转换字典,自动将查找出的类的原语言翻译成目标语言,然后将翻译后的目标语言逐个提取至操作数堆栈内,用查找出的转换方法逐个将操作数堆栈的目标语言替换至应用程序中。
即系统对目标语言的替换是串行操作的,每个查找出的类,通过检索语言转换字典将原语言翻译成目标语言,并将翻译后的目标语言逐个提取至操作数堆栈内,最后用这个类查找出的换方法逐个将操作数堆栈的目标语言替换至应用程序中,直至应用程序内符合的配置类中确定的类名和参数的所有类都替换完毕。即可以在应用程序编译时就替换完所需要替换的文本,在应用程序打包生成安装包前就将原语言剔除掉了,应用程序安装包体积小,节省了存储空间和内存。
具体地,配置类内确定的类名可以为文本类(text),即确定需要翻译替换的是文本类。配置类内确定的转换方法为设置文本方法(setText),使用该方法可以将指定的格式将文本字符串复制到目标对象位置上,既可以实现文本的替换。类的具体参数包括字体、颜色、字体大小和粗细,即可以根据需要设置文本类的文本的字体、颜色、字体大小和粗细等,只有满足具体参数的文本类才可以替换,这样可以满足不同的开发需求。
具体地,需要转换的文本类的具体参数包括;原语言的万国码(unicode)范围在4e00-9fa5之间。因万国码(unicode)范围在4e00-9fa5之间的原语言为基本汉字,这样确保将基本汉字转换为目标语言,而一些表情等无法转换的原语言则不需要转换。
请参阅图3,本申请实施例提供了一种语言转换装置10,包括:
设置模块11,用于确定需要转换的类名和转换方法,并设置成配置类;
查找类模块12,用于在所述应用程序中自动查找所有与所述配置类中类名相同的类;
查找方法模块13,用于在查找出的所述类内查找所述配置类中确定的转换方法;
字典模块14,用于设置需要转换的类的原语言和目标语言的对应转换表的语言转换字典;
替换模块15,用于根据所述语言转换字典,用查找出的所述转换方法将查找出的所述类的原语言转换为目标语言。
本申请一实施例提供的语言转换装置与本申请上述实施例提供的语言转换方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
本申请一实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如本申请上述实施例提供的语言转换方法的步骤。
图4示出了本申请一实施例提供的计算机设备的具体结构框图,一种计算机设备100包括:一个或多个处理器101、存储器102、以及一个或多个计算机程序,其中处理器101和存储器102通过总线连接,一个或多个计算机程序被存储在存储器102中,并且被配置成由一个或多个处理器101执行,处理器101执行计算机程序时实现如本申请如上所述实施例提供的语言转换方法的步骤。
计算机设备可以是台式计算机、移动终端等,移动终端包括手机、平板电脑、笔记本电脑、个人数字助理等。
在本申请实施例中,先确定需要转换的类名和转换方法,并设置成配置类,即确定需要语言转换的类和转换方法;在应用程序中自动查找所有与配置类中类名相同的类,通过系统自动查找类;根据语言转换字典,用查找出的转换方法将查找出的类的原语言转换为目标语言。在本申请实施例中,通过确定类,由系统自动查找类,不需要如现有技术那样由开发人员逐个将原语言替换为目标语言,提高了转换效率,降低了人工成本,且不容易出错。并且,在本申请实施例在应用程序编译生成安装包前进行语言转换,不需要在应用程序生成安装包后编写语言包程序、然后在应用程序安装包中添加多种语言包修改源代码,降低了开发成本。在本申请实施例中,只需转换为需要的目标语言,不需要添加多个语言包,应用程序安装包体积小,节省了存储空间和内存。
应该理解的是,本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM
(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种语言转换方法,在应用程序编译生成安装包前进行转换,其特征在于,包括:
确定需要转换的类名和转换方法,并设置成配置类;
在所述应用程序中自动查找所有与所述配置类中类名相同的类;
在查找出的所述类内查找所述配置类中确定的转换方法;
设置需要转换的类的原语言和目标语言的对应转换表的语言转换字典;
根据所述语言转换字典,用查找出的所述转换方法将查找出的所述类的原语言转换为目标语言。
2.如权利要求1所述的语言转换方法,其特征在于,
所述配置类还包括:需要转换的类的具体参数;
所述在所述应用程序中自动查找所有与所述配置类中类名相同的类具体为:在所述应用程序中自动查找所有与所述配置类中类名和参数相同的类。
3.如权利要求2所述的语言转换方法,其特征在于,
所述在所述应用程序中自动查找所有与所述配置类中类名和参数相同的类具体为:采用读取类信息的方法自动在所述应用程序中查找所有与所述配置类中类名和参数相同的类;
在查找出的所述类内查找所述配置类中确定的转换方法具体为:采用读取类信息的方法在查找出的所述类内查找所述配置类中确定的转换方法。
4.如权利要求3所述的语言转换方法,其特征在于,所述根据所述语言转换字典,用所述转换方法将查找出的所述类的原语言转换为目标语言具体包括:
检索语言转换字典,将查找出的所述类的原语言翻译成目标语言;
将翻译后的目标语言逐个提取至操作数堆栈内;
用查找出的转换方法逐个将所述操作数堆栈的目标语言替换至所述应用程序中。
5.如权利要求4所述的语言转换方法,其特征在于,所述配置类内确定的类名为文本类(text),所述配置类内确定的转换方法为设置文本方法,所述类的具体参数包括字体、颜色、字体大小和粗细。
6.如权利要求5所述的语言转换方法,其特征在于,所述需要转换的文本类的具体参数包括;原语言的万国码范围在4e00-9fa5之间。
7.如权利要求6所述的语言转换方法,其特征在于,所述将转换后的目标语言逐个提取至操作数堆栈内具体为:用常量指令将转换后的目标语言逐个提取至操作数堆栈内。
8.一种语言转换装置,其特征在于,包括:
设置模块,用于确定需要转换的类名和转换方法,并设置成配置类;
查找类模块,用于在所述应用程序中自动查找所有与所述配置类中类名相同的类;
查找方法模块,用于在查找出的所述类内查找所述配置类中确定的转换方法;
字典模块,用于设置需要转换的类的原语言和目标语言的对应转换表的语言转换字典;
替换模块,用于根据所述语言转换字典,用查找出的所述转换方法将查找出的所述类的原语言转换为目标语言。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的语言转换方法的步骤。
10.一种计算机设备,包括:
一个或多个处理器;
存储器;以及
一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的语言转换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435119.2A CN115686476A (zh) | 2022-11-16 | 2022-11-16 | 语言转换的方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435119.2A CN115686476A (zh) | 2022-11-16 | 2022-11-16 | 语言转换的方法、装置、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686476A true CN115686476A (zh) | 2023-02-03 |
Family
ID=85053008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211435119.2A Pending CN115686476A (zh) | 2022-11-16 | 2022-11-16 | 语言转换的方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686476A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048478A (zh) * | 2023-03-07 | 2023-05-02 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-11-16 CN CN202211435119.2A patent/CN115686476A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048478A (zh) * | 2023-03-07 | 2023-05-02 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
CN116048478B (zh) * | 2023-03-07 | 2023-05-30 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101427243A (zh) | 解析非结构化资源 | |
CN109062925B (zh) | 自动生成insert语句的方法、装置、计算机设备及存储介质 | |
US7784026B1 (en) | Web application internationalization | |
CN113139390A (zh) | 一种应用于代码字符串的语言转换方法和装置 | |
CN115686476A (zh) | 语言转换的方法、装置、计算机设备及计算机可读存储介质 | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN115408088A (zh) | 一种软件系统语言国际化全流程自动化方法 | |
CN113408244B (zh) | Java应用生成Word文档方法、装置、设备及介质 | |
CN111443979B (zh) | 文档处理方法、装置、计算机设备及存储介质 | |
CN112328241B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN111240790B (zh) | 一种应用的多语言适配方法、装置、客户端和存储介质 | |
CN111949328A (zh) | 一种启动加速方法、装置、计算机设备及存储介质 | |
EP4254175A1 (en) | Enriching code for code explainability | |
WO2019148797A1 (zh) | 自然语言处理方法、装置、计算机设备和存储介质 | |
CN115640316A (zh) | 数据查询的分页方法、拦截器、插件及服务器 | |
CN114356507A (zh) | 基于浏览器处理文档的方法、装置、设备及存储介质 | |
CN115081457A (zh) | 一种基于人工智能技术的信息处理方法及系统 | |
CN111796830B (zh) | 一种协议解析处理方法、装置、设备及介质 | |
CN114398912A (zh) | 语言处理方法、装置、设备及存储介质 | |
CN112486623A (zh) | 基于界面自动支持多语言的开发方法、系统和电子设备 | |
CN111158805B (zh) | Delphi软件源语言翻译系统、方法、设备及介质 | |
CN113448982A (zh) | Ddl语句的解析方法、装置、计算机设备及存储介质 | |
CN112307167A (zh) | 文本切句方法、装置、计算机设备和存储介质 | |
CN101770508A (zh) | 移动通信终端中的数据访问方法和设备 | |
CN113627129A (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 |