CN113342437A - 一种软件翻译方法和装置 - Google Patents
一种软件翻译方法和装置 Download PDFInfo
- Publication number
- CN113342437A CN113342437A CN202110649646.2A CN202110649646A CN113342437A CN 113342437 A CN113342437 A CN 113342437A CN 202110649646 A CN202110649646 A CN 202110649646A CN 113342437 A CN113342437 A CN 113342437A
- Authority
- CN
- China
- Prior art keywords
- code logic
- interface
- text
- software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006870 function Effects 0.000 claims abstract description 146
- 238000013519 translation Methods 0.000 claims abstract description 117
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 9
- 230000004888 barrier function Effects 0.000 abstract description 8
- 230000002829 reductive effect Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001915 proofreading effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- 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/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种软件翻译方法和装置,所述方法包括:运行目标软件程序,确定目标软件程序中的目标文件;在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过具有翻译功能的代码逻辑对软件界面中的原始文本信息进行翻译以得到目标文本信息;通过第二界面文本设置代码逻辑根据目标文本信息展示相应的软件界面。具体通过程序调用UI组件文本设置的API实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种软件翻译方法和一种软件翻译装置。
背景技术
在全球化浪潮的背景下,不同国家、地区之间的联系日趋紧密,文化交流日趋频繁,其中,互联网作为全球化的文化交流方式,计算机软件的国际交流和传播也日益增多。但是由于各个国家、地区语言具有的差异性,许多计算机软件仅仅提供了单一或者少数的界面使用语言,而某些国家、地区的人群使用一些用于国际化传播的计算机软件存在一定的语言障碍,这种障碍的存在并不利于先进文化、技术的推广和传播。
目前,针对计算机软件的国际化以及翻译,主要是通过替换原有的语言资源包和/或加载不同语种的语言资源包实现。其中,当对原有的语言资源包进行替换时,所加载的不同语种的语言资源包可以由软件的使用者或者第三方人员进行翻译后提供。然而,在提供用于替换的语言资源包时,软件使用者或者第三方人员需要分析了解原有语言资源包的格式,而对于私有非公开或加密的语言资源包,软件使用者或者第三方人员无法实现对加密语言资源包的翻译,这种语音资源包的翻译替换方式存在一定的局限性。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种软件翻译方法和相应的一种软件翻译装置。
本发明实施例公开了一种软件翻译方法,所述方法包括:
运行目标软件程序,确定所述目标软件程序中的目标文件,其中,所述目标文件中包括第一界面文本设置代码逻辑;
在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息;
通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面。
可选地,所述在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,包括:
采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑。
可选地,所述采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑,包括:
获取所述第一界面文本设置代码逻辑中的接口函数;
对所述第一界面文本设置的接口函数进行拦截操作,将所述第一界面文本设置指向改写后的代码逻辑;所述改写后的代码逻辑包括具有翻译功能的代码逻辑的第一界面文本设置代码逻辑。
可选地,所述通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面,包括:
在对第一界面文本设置的接口函数的拦截操作之后,回调第二界面文本设置的接口函数展示与目标文本信息相应的目标软件界面文本。
可选地,采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑,包括:
确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置;
在所述代码逻辑位置,采用所述具有翻译功能的代码逻辑对所述第一界面文本设置代码逻辑进行改写。
可选地,所述确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置,包括:
获取针对所述目标软件程序的界面文本设置信息;所述界面文本设置信息包括第一界面文本设置的接口函数信息;
根据所述接口函数信息对所述目标软件程序的目标文件进行函数符号静态扫描分析,确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置。
可选地,所述通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息,包括:
在运行所述目标软件程序加载预设动态链接库时,根据第一界面文本设置在内存中代码段的代码逻辑位置确定需要修改的代码逻辑位置;
将在所述需要修改的代码逻辑位置的代码逻辑替换为具有翻译功能的代码逻辑,并备份替换前的第二界面文本设置代码逻辑;
运行所述具有翻译功能的代码逻辑对原始文本信息进行翻译得到目标文本信息。
本发明实施例还公开了一种软件翻译装置,所述装置包括:
软件程序运行模块,用于运行目标软件程序,确定所述目标软件程序中的目标文件,其中,所述目标文件中包括第一界面文本设置代码逻辑;
原始文本信息翻译模块,用于在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息;
界面文本展示模块,用于通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面。
可选地,所述原始文本信息翻译模块包括:代码逻辑改写子模块,用于采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑。
可选地,所述代码逻辑改写子模块包括:
接口函数获取单元,用于获取所述第一界面文本设置代码逻辑中的接口函数;
接口函数指向单元,用于对所述用于第一界面文本设置的接口函数进行拦截操作,将所述用于界面文本设置的接口函数指向改写后的代码逻辑;所述改写后的代码逻辑包括具有翻译功能的代码逻辑的第一界面文本设置代码逻辑代码逻辑。
可选地,所述界面文本展示模块包括:
界面文本展示子模块,用于在对第一界面文本设置的接口函数的拦截操作之后,回调第二界面文本设置的接口函数展示与目标文本信息相应的目标软件界面文本。
可选地,所述代码逻辑改写子模块包括:
代码逻辑位置确定单元,用于确定第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置;
代码逻辑改写单元,用于在所述代码逻辑位置,采用所述具有翻译功能的代码逻辑对所述第一界面文本设置代码逻辑进行改写。
可选地,所述代码逻辑位置确定单元包括:
界面文本设置信息获取子单元,用于获取针对所述目标软件程序的界面文本设置信息;所述界面文本设置信息包括第一界面文本设置的接口函数信息;
代码逻辑位置确定子单元,用于根据所述接口函数信息对所述目标软件程序的目标文件进行函数符号静态扫描分析,确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置。
可选地,所述代码逻辑位置确定单元包括:
代码逻辑位置确定子单元,用于在运行所述目标软件程序加载预设动态链接库时,根据第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置确定需要修改的代码逻辑位置;代码逻辑改写子单元,用于在所述需要修改的代码逻辑位置对所述第一界面文本设置代码逻辑进行修改,并替换为具有翻译功能的代码逻辑。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器运行时实现任一项所述软件翻译方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器运行时实现任一项所述软件翻译方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,可以运行目标软件程序,在目标软件程序的第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过具有翻译功能的代码逻辑对软件界面中的原始文本信息进行翻译,然后再通过第二界面文本设置代码逻辑根据目标文本信息展示相应的软件界面,实现在运行软件程序时对软件界面文本的翻译和展示。具体通过程序调用UI组件文本设置的API实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯,提升计算机软件使用者对软件的使用体验。
附图说明
图1是本发明的一种软件翻译方法实施例的步骤流程图;
图2是本发明的另一种软件翻译方法实施例的步骤流程图;
图3是本发明实施例中改写软件程序的代码逻辑的示意图;
图4本发明的又一种软件翻译方法实施例的步骤流程图;
图5是本发明实施例中一种软件翻译方法的应用场景示意图;
图6是本发明实施例中另一种软件翻译方法的应用场景示意图;
图7是本发明的一种软件翻译装置实施例的结构框图;
图8是本发明实施例的一种计算机可读存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
计算机软件界面使用以及显示的语言,具体可以来源于一个单独的语言资源包,该语言资源包里面可以包含有一种或者多种语言。而在软件运行时,可以加载语言资源包,并根据软件的特定逻辑规则使用相应的语言在软件界面上进行展示,给用户提供软件的使用操作指引。
目前,针对计算机软件的国际化以及翻译,可以使得计算机软件能够针对不同语言的使用者提供有不同语言的用户操作使用界面,此时用于提供不同语言的语言资源包可以来源于计算机软件作者,其还可以来源于软件的使用者或第三方人员,即可以通过直接加载语言资源包的方式和/或通过翻译替换语言资源包的方式实现计算机软件的国际化翻译。
其中,第一种方式,即通过直接加载语言资源包的方式为目前大部分计算机软件多语言实现的主流方法,计算机软件作者可以提供具有不同语言的语言资源包,软件在发布以及运行时,可以自动加载具有不同语言的语言资源包,使得软件的操作界面能够支持多语言选择,实现计算机软件的国际化翻译。
在第二种方式,即通过翻译替换语言资源包的方式下,其本质是经由软件使用者或者第三方人员翻译替换原有的语言资源包,在对原有的语言资源包进行替换时,需要软件使用者或者第三方人员获取随软件一起发布内嵌在软件包里面或者通过网络下载的语言资源包,对所获取的语言资源包进行格式分析、提取语言词条、翻译所提取的语言词条,再将翻译后的语言词条写回到原有的语言资源包,使得在软件运行时能够对词条翻译替换后的语言资源包进行加载使用,在软件界面上展示符合使用者的语言习惯的语言词条。
然而,上述第一种方式需要计算机软件的作者通晓多国语言,需要比较大的资源和人力的投入,软件的制作和维护成本较高,而第二种方式对于软件使用者或者第三方人员而言,需要分析和了解原有语言资源数据包的格式,不能处理私有非公开或加密的语言资源包,也不能及时处理从网络下载更新的语言资源包,这种方式的使用场景具有局限性,不仅需要分析了解不同软件的界面或者业务逻辑,有可能还需要处理软件中关于语言资源包的完整性的校验机制,对语言资源包的翻译替换需要比较大的额外人力资源的投入,后续的维护也需要投入较多的资源,缺乏灵活性和通用性。
基于上述两种针对计算机软件的国际化翻译方式,存在人力投入成本过高,实时性差、处理的翻译不全面、通用性差的缺陷,本发明实施例的核心思想之一在于不对软件的语言资源包进行处理,而是对计算机软件的程序代码进行处理,具体通过程序调用UI(UserInterface,用户界面,可以指的是计算机软件的用户操作和交互界面)组件文本设置的API(Application Interface,应用程序接口,其可以由操作系统或者程序框架提供的软件运行能力)实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯,提升计算机软件使用者对软件的使用体验。
参照图1,示出了本发明的一种软件翻译方法实施例的步骤流程图,侧重于软件翻译方法的使用过程,具体可以包括如下步骤:
步骤101,运行目标软件程序,确定目标软件程序中的目标文件;
基于相关技术中采用语言资源包进行软件翻译的局限性,本发明实施例不采用对软件程序的语言资源进行处理的方式,而是对软件的程序代码进行处理,被处理的程序代码可以来源于需要对其进行界面翻译的计算机软件程序。
在本发明实施例中,对计算机软件进行发布和运行,通常可以以二进制程序的形式实现,二进制程序的部分内容可以包括代码段和数据段,在对计算机软件进行发布时,代码段和初始化/未初始化的数据段可以被载入到内存中,以便后续在计算机软件运行时,计算机或者虚拟机能够读取载入内存中代码段的可执行内容,实现运行该程序。
其中,代码段包含的是计算机可以理解并执行的二进制数据,代码段所包含的二进制数据可以用于决定程序所具有的功能以及程序的表现,此时可以确定目标文件中所包括的用于设置界面文本的代码逻辑,即第一界面文本设置代码逻辑。
步骤102,在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过具有翻译功能的代码逻辑对软件界面中的原始文本信息进行翻译以得到目标文本信息;
在本发明的一种实施例中,在软件翻译方法的使用过程中,可以运行需要对其界面翻译的计算机软件程序,以便运行所需翻译的计算软件程序中代码段的可执行内容;为了使得目标软件程序在运行时能够具有翻译功能,可以在运行需要对其进行界面展示的代码逻辑之前,预先对所运行的目标软件程序中的代码逻辑进行处理,以便基于在运行软件程序时可以运行处理后的代码逻辑,实现翻译功能。
其中,软件程序所具有的翻译功能同样可以通过软件程序的代码段中所包含的可执行内容实现,那么预先对所运行的目标软件程序中的代码逻辑进行处理,可以表现为在运行目标软件程序时,对用于设置界面文本的第一界面文本设置代码逻辑进行处理,具体可以在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑。
在实际应用中,软件程序需要在UI界面展示翻译后的界面文本,那么对软件程序的代码逻辑的处理可以发生在软件UI的语言展示环节,软件UI的语言展示环节可以基于运行软件程序中用于界面文本设置的第一界面文本设置代码逻辑实现,此时在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,可以指的是采用具有翻译功能的代码逻辑改写软件程序中用于界面文本设置的第一界面文本设置代码逻辑,并将具有翻译功能的代码逻辑位于软件程序中用于界面文本设置的代码逻辑之前,使得在运行第一界面文本设置代码逻辑进行语言展示时,能够先经由所设置的具有翻译功能的代码逻辑对界面文本的原始文本信息进行相应文本语言的翻译得到目标文本信息。
步骤103,通过第二界面文本设置代码逻辑根据目标文本信息展示相应的软件界面。
在本发明的一种实施例中,在采用具有翻译功能的代码逻辑改写目标软件程序中第一界面文本设置代码逻辑之后,可以运行代码逻辑改写后的目标软件程序翻译界面文本,此时可以采用改写前的第二界面文本设置代码逻辑展示翻译后的界面文本,即目标文本信息,实现对软件程序界面文本的翻译和展示。
在具体实现中,程序运行的功能以及其表现可以通过调用操作系统或者虚拟机的API达到目的,在本发明实施例中可以由程序调用UI组件文本设置的API实现,即在UI组件文本设置的API逻辑部分的开始,插入的一段具有翻译功能的代码逻辑,可以使得在软件UI的语言展示环境,能够通过所插入的翻译功能的代码逻辑获取到目标软件程序的原始文本信息,对原始通过机器翻译加部分人工校对得到翻译后的语言,然后展示在软件的UI当中。其中,代码逻辑所采用的机器翻译可以实现对软件UI原始语言翻译的实时性,以及基于部分人工校对环节在一定程度上保证翻译的准确度。
在实际应用中,具有翻译功能的代码逻辑对原始文本信息的处理时机在UI语言展示环节,那么具有翻译功能的代码逻辑所获取到的原始文本信息可以是文本形式的不同语言的字符串,此时无需对语言资源包的格式进行额外了解,即无需对语言资源进行额外的分析、修改和替换的操作;且具有翻译功能的代码逻辑所获取的原始文本信息(即字符串)将会在软件UI进行展示,其所获取的字符串通常可以为具有现实意义的短语和句子,其可以直接通过机器翻译处理,无需对字符串文本里面所包含的语言进行提取、分析,即具有翻译功能的代码逻辑在对原始文本信息处理的过程中,不会对软件语言资源包进行改动,此时不需要考虑软件程序中对语言资源包的完整性校验机制。
在本发明实施例中,可以运行目标软件程序,在目标软件程序的第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过具有翻译功能的代码逻辑对软件界面中的原始文本信息进行翻译,然后再通过第二界面文本设置代码逻辑根据目标文本信息展示相应的软件界面,实现在运行软件程序时对软件界面文本的翻译和展示。具体通过程序调用UI组件文本设置的API实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯,提升计算机软件使用者对软件的使用体验。
参照图2,示出了本发明的另一种软件翻译方法实施例的步骤流程图,同样侧重于软件翻译方法的使用过程,具体可以包括如下步骤:
步骤201,运行目标软件程序,采用具有翻译功能的代码逻辑改写软件程序中第一界面文本设置代码逻辑;
在本发明的一种实施例中,在软件翻译方法的使用过程中,可以应用于基于本发明实施例所提出的软件翻译方法的任何软件实现,此时可以运行目标软件程序,以便运行所需翻译的计算软件程序中代码段的可执行内容;为了使得目标软件程序在运行时能够具有翻译功能,可以在运行需要对其进行界面翻译的目标软件程序之前,预先对所运行的目标软件程序中的代码逻辑进行处理,以便基于在运行目标软件程序时可以运行处理后的代码逻辑,实现翻译功能。
预先对所运行的软件程序中代码逻辑的处理,可以表现为采用具有翻译功能的代码逻辑改写软件程序中用于界面文本设置的第一界面文本设置代码逻辑,具体的,可以在UI组件文本设置的API逻辑部分的开始插入具有的翻译功能的代码逻辑。
其中,为了实现在UI组件文本设置的API逻辑部分的开始插入具有的翻译功能的代码逻辑,首先可以确定用于界面文本设置的第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置,再基于所确定的内存中代码段的代码逻辑位置,采用具有翻译功能的代码逻辑对软件程序中用于界面文本设置的第一界面文本设置代码逻辑进行改写。
确定用于界面文本设置的第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置方式,可以基于第一界面文本设置的接口函数信息进行确定,具体的,可以获取目标软件程序的界面文本设置信息,界面文本设置信息可以包括第一界面文本设置的接口函数信息,然后可以根据接口函数信息对目标软件程序进行函数符号静态扫描分析,确定软件程序中用于界面文本设置的第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置。
在实际应用中,可以获取不同软件框架关于UI文本控件的相关文档,在本发明实施例中可以获取针对所需要进行翻译的软件程序中关于UI文本控件的相关文档,其所包括的界面设置的接口函数信息可以指的是UI文本控件当中关于文本设置API的相关内容信息。
作为一种示例,可以参考阅读不同软件框架关于UI文本控件当中关于文本设置API的相关文档,结合对程序代码段的函数符号静态扫描分析,在计算机软件程序运行的时候,获取到UI文本设置API在计算机内存当中的具体位置。
在本发明实施例中,不仅需要对UI文本设置API在计算机内存当中的具体位置进行确定,还可以在软件程序加载预设动态链接库时,可以根据第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置确定需要修改的代码逻辑位置,以便在需要修改的代码逻辑位置对用于界面文本设置的代码逻辑进行修改,并替换为具有翻译功能的代码逻辑。
步骤202,运行第一界面文本设置代码逻辑中具有翻译功能的代码逻辑对界面文本进行翻译,并运行改写前的第二界面文本设置代码逻辑展示翻译后的界面文本。
在一种优选的实施例中,还可以备份需要修改的代码逻辑位置的代码逻辑,即保留原本的二进制代码逻辑(即第二界面文本设置代码逻辑),使能后续当执行备份部分的代码逻辑时,原来的二进制代码逻辑以及执行结果依然生效,保证UI文本设置逻辑的正常,使得UI文本可以正常展示。
具体的,参照图3,示出了本发明实施例中改写软件程序的代码逻辑的示意图,假设内容块A和B为目标软件程序中的第一界面文本设置代码逻辑,此时所确定的用于界面文本设置的代码逻辑在内存中代码段的代码逻辑位置可以位于如图所示的a点,那么所确定的需要修改的代码逻辑位置可以指的是位于第一界面文本设置代码逻辑前面部分在内存中代码段的位置,即a点之前,此时可以确定a点之前的内容块A为需要替换的代码逻辑,假设内容块C为具有翻译功能的代码逻辑,可以将内容块C对a点之前位置的内容块进行修改替换,即将内容块A替换为内容块C,并将内容A(即第二界面文本设置代码逻辑)进行备份。
在本发明的一种实施例中,在采用具有翻译功能的代码逻辑改写软件程序中用于界面文本设置的代码逻辑之后,在运行代码逻辑改写后的软件程序时,可以运行第一界面文本设置代码逻辑中具有翻译功能的代码逻辑对界面文本的原始文本信息进行翻译,并运行第一界面文本设置代码逻辑展示翻译后的目标文本信息在软件界面上,实现对软件程序界面文本的翻译和展示。
在本发明实施例中,通过对计算机软件的程序代码进行处理,具体通过程序调用UI组件文本设置的API实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯,提升计算机软件使用者对软件的使用体验。
参照图4,示出了本发明的又一种软件翻译方法实施例的步骤流程图,侧重于软件翻译方法的技术实现过程,具体可以包括如下步骤:
步骤401,获取第一界面文本设置代码逻辑中的接口函数;
在本发明的一种实施例中,对需要对其界面翻译的计算机软件程序的代码逻辑进行处理,可以表现为采用具有翻译功能的代码逻辑改写软件程序中第一界面文本设置代码逻辑,在具体实现中,程序运行的功能以及其表现可以通过调用操作系统或者虚拟机的API达到目的,此时在对用于界面文本设置的代码逻辑进行改写的过程中,实际上是对第一界面文本设置代码逻辑中的接口函数进行处理。
具体的,在运行需要对其界面翻译的计算机软件程序(即目标软件程序)时,首先可以获取软件程序中用于UI文本设置的API函数。
在具体实现中,需要对用于UI文本设置的API函数在软件程序的内容中的位置进行确定,首先可以参考阅读不同软件框架关于UI文本控件当中关于文本设置API的相关文档,并结合对程序代码段的函数符号静态扫描分析,在计算机软件程序运行的时候,获取到UI文本设置API在计算机内存当中的具体位置。
步骤402,对第一界面文本设置接口函数进行拦截操作,将第一界面文本设置的接口函数指向改写后的代码逻辑;
在实际应用中,在获取软件程序中用于UI文本设置的API函数后,可以对所获取的接口函数进行拦截操作,具体可以通过一种inline hook的技术实现,并在拦截之后,可以基于所确定的界面文本设置的接口函数的具体位置对接口函数进行相应处理,以实现对用于界面文本设置的代码逻辑的改写。
其中,改写后的代码逻辑可以指的是在用于界面文本设置的代码逻辑之前存在具有翻译功能的代码逻辑的第一界面文本设置代码逻辑,那么对接口函数的处理可以表现为将所改写后的接口函数指向具有翻译功能的代码逻辑的第一界面文本设置代码逻辑。
在实际应用中,其涉及到对软件程序中代码段的改写,其本质上可以是对API所指向的代码逻辑的改写,此时可以由操作系统提供的API mprotect获取代码段的写权限,改写代码段中用于界面文本设置的的二进制逻辑。
在具体实现中,UI文本设置API代码改写替换的时机,在系统加载动态链接库时,一般可以使用dlopen系统API,或者一些诸如IL2CPP等虚拟机的API,获取需要修改的二进制代码在内存当中的代码逻辑位置进行修改替换,并将所改写的API函数代码段指向进行修改替换后在内存当中的二进制逻辑代码。
其中,对于需要修改的二进制代码在内存当中的代码逻辑位置的确定,可以结合对程序代码的函数符号静态扫描分析,获取UI文本设置API在计算机内存中的位置。
在一种优选的实施例中,在结合对程序代码的函数符号静态扫描分析,获取UI文本设置API在计算机内存中的位置之后,可以根据所确定的位置对UI文本设置API代码进行该改写替换,UI文本设置API代码改写替换的操作的实现,可以由一些已经实现的工具或者框架处理,比如Substrate等。
需要说明的是,具体的操作过程对于不同的硬件平台、不同的操作系统、不同的软件框架、不同的待翻译的计算机软件会有实现上的很大差别,对此,本发明实施例不加以限制;以及对于不同的待翻译的目标软件,和不同的工具或者框架的具体操作方式可能会存在较大的差别,对此,本发明实施例同样不加以限制。
步骤403,在对第一界面文本设置的接口函数的拦截操作之后,回调第二界面文本设置的接口函数展示与目标文本信息相应的目标软件界面文本。
在本发明的一种实施例中,所改写后的接口函数可以指向在用于界面文本设置的代码逻辑之前具有翻译功能的代码逻辑和用于界面文本设置的代码逻辑,那么此时在对用于界面文本设置的接口函数进行拦截并改写指向的操作之后,为了保证软件程序的功能可用性,还可以通过hook方法中的跳转指令来调回原方法继续执行,调回前需要先补充执行目标方法已被替换的原始代码逻辑,保证原方法完整性。
在一种优选的实施例中,在改写函数指向之前,即改写用于界面文本设置的代码逻辑之前,为了使UI文本设置逻辑正常,UI文本可以正常展示,需要保留原来的二进制代码逻辑(即第二界面文本设置代码逻辑),以使得后续在运行备份部分的代码逻辑时,原来的二进制代码逻辑和运行结果依然可以生效,使得翻译后的文本能够正常展示在软件界面。
在实际应用中,可以对已被替换的原始代码逻辑,即第二界面文本设置代码逻辑进行备份,使得在运行软件程序在UI语言展示环节调用第一界面文本的接口函数时可以运行改写函数指向后的接口函数,采用具有翻译功能的代码逻辑对界面的原始文本信息进行翻译得到目标文本信息,然后回调第二界面文本设置的接口函数,展示与目标文本信息相应的目标软件界面文本。
在本发明实施例中,通过对计算机软件的程序代码进行处理,具体通过程序调用UI组件文本设置的API实现,使得在对UI语言文本进行展示时,能够基于所插入的具有翻译功能的代码逻辑实现计算机软件的国际化翻译,降低由于语言障碍问题造成的使用门槛,使得计算机软件的使用能够高效适应计算机软件使用者的语言环境和习惯,提升计算机软件使用者对软件的使用体验。
为了本领域技术人员进一步了解本发明实施例提出的软件翻译方法,下面结合软件翻译方法的应用场景进行说明。
作为一种示例,本发明实施例中可以应用于基于本发明实施例所提出的软件翻译方法的任何软件实现,例如需要对其界面翻译的计算机软件程序等,对此,本发明实施例不加以限制。
参照图5,示出了本发明实施例中一种软件翻译方法的应用场景示意图,假设存在某个计算机软件且软件程序的语言文本为语言A,计算机软件使用者1与计算机软件使用者2可以分别对某个计算机软件进行安装与运行,计算机软件使用者1的语言环境为语言A,计算机软件使用者2的语言环境为语言B,在计算机软件使用者1对该计算机软件进行安装与运行时,可以直接安装与运行该计算机软件,此时在所运行的计算机软件界面上展示语言A的界面文本;在计算机软件使用者2对该计算机软件进行安装与运行时,在对已安装的计算机软件运行的过程中,在UI语言展示环节,需要对用于界面文本设置的代码逻辑(即第一界面文本设置代码逻辑)进行改写,即通过第一界面文本设置代码逻辑中具有翻译功能的代码逻辑将语言A的界面文本翻译成语言B后,再通过改写前备份的第二界面文本设置代码逻辑将翻译后的界面文本展示在计算机软件界面。
作为另一种示例,应用于软件翻译方法的任何软件具体可以表现为加速器,即所运行的软件程序可以为加速器。加速器可以是一种免安装的应用程序,该应用程序中可以包括多个游戏软件,用户可以直接双击使用加速器,并在验证成功后可以直接选择其中一游戏软件进行加速,假设所选择加速的游戏软件为需要对其界面翻译的游戏软件,由于此游戏软件经由加速器进行加速,此时可以通过所运行的加速器对所选择加速的游戏软件的界面文本进行翻译。
参照图6,示出了本发明实施例中另一种软件翻译方法的应用场景示意图,假设存在某个游戏软件且软件程序的语言文本为语言A,且可通过加速器加速运行此游戏软件(此计算机软件已安装),游戏软件使用者1与游戏软件使用者2可以分别运行加速器以对此游戏软件进行加速运行,游戏软件使用者1的语言环境为语言A,游戏软件使用者2的语言环境为语言C,在游戏软件使用者1对该计算机软件进行加速运行时,可以直接加速运行该游戏软件,此时在所加速运行的游戏软件界面上展示语言A的界面文本;在游戏软件使用者2对该游戏软件进行加速运行时,在对已安装的游戏软件加速运行的过程中,在UI语言展示环节,可通过所运行的加速器对用于界面文本设置的第一界面文本设置代码逻辑进行改写,即通过第一界面文本设置代码逻辑中设置的具有翻译功能的代码逻辑将语言A的界面文本翻译成语言C后,再通过改写前备份的第二界面文本设置代码逻辑将翻译后的界面文本展示在游戏界面。
在本发明实施例中,通过改写UI组件文本设置API的调用获取需要在UI上展示的文本,免去对软件额外的语言资源包的分析、翻译、修改、替换环节,动态实时获取到软件UI界面上需要展示的内容进行翻译,能够比较全面翻译一个软件的UI语言;此外,采用机器翻译加人工校对的方式,能够保证翻译过程的快速性以及翻译结果的准确性。由于是在内存级别的对UI文本设置API的改写操作,该方案具有通用的使用场景,不会受到软件其本身的上层专有的UI或者业务逻辑限制,不需要分析了解软件的UI或者业务逻辑,不需要考虑软件对语言资源包的校验机制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种软件翻译装置实施例的结构框图具体可以包括如下模块:
软件程序运行模块701,用于运行目标软件程序,确定所述目标软件程序中的目标文件,其中,所述目标文件中包括第一界面文本设置代码逻辑;原始文本信息翻译模块702,用于在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息;
界面文本展示模块703,用于通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面。
在本发明的一种实施例中,原始文本信息翻译模块702可以包括如下子模块:
代码逻辑改写子模块,用于采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑。
在本发明的一种实施例中,代码逻辑改写子模块可以包括如下单元:
接口函数获取单元,用于获取所述第一界面文本设置代码逻辑中的接口函数;
接口函数指向单元,用于对所述用于第一界面文本设置的接口函数进行拦截操作,将所述用于界面文本设置的接口函数指向改写后的代码逻辑;所述改写后的代码逻辑包括具有翻译功能的代码逻辑的第一界面文本设置代码逻辑代码逻辑。
在本发明的一种实施例中,界面文本展示模块可以包括如下子模块:
界面文本展示子模块,用于在对第一界面文本设置的接口函数的拦截操作之后,回调第二界面文本设置的接口函数展示与目标文本信息相应的目标软件界面文本。
在本发明的一种实施例中,代码逻辑改写子模块可以包括如下单元:
代码逻辑位置确定单元,用于确定第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置;
代码逻辑改写单元,用于在所述代码逻辑位置,采用所述具有翻译功能的代码逻辑对所述第一界面文本设置代码逻辑进行改写。
在本发明的一种实施例中,代码逻辑位置确定单元可以包括如下子单元:
界面文本设置信息获取子单元,用于获取针对所述目标软件程序的界面文本设置信息;所述界面文本设置信息包括第一界面文本设置的接口函数信息;
代码逻辑位置确定子单元,用于根据所述接口函数信息对所述目标软件程序的目标文件进行函数符号静态扫描分析,确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置。
在本发明的一种实施例中,代码逻辑改写单元可以包括如下子单元:
代码逻辑位置确定子单元,用于在运行所述目标软件程序加载预设动态链接库时,根据第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置确定需要修改的代码逻辑位置;
代码逻辑改写子单元,用于在所述需要修改的代码逻辑位置对所述第一界面文本设置代码逻辑进行修改,并替换为具有翻译功能的代码逻辑。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器运行时实现上述软件翻译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器运行时实现上述软件翻译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
参照图8,示出了本发明实施例的一种计算机可读存储介质的结构框图,该计算机可读存储介质801上可以存储计算机程序,其中,计算机程序可以被处理器执行时实现上述软件翻译方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器运行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上运行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上运行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种软件翻译方法和一种软件翻译装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种软件翻译方法,其特征在于,所述方法包括:
运行目标软件程序,确定所述目标软件程序中的目标文件,其中,所述目标文件中包括第一界面文本设置代码逻辑;
在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息;
通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面。
2.根据权利要求1所述的方法,其特征在于,所述在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,包括:采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑。
3.根据权利要求2所述的方法,其特征在于,所述采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑,包括:
获取所述第一界面文本设置代码逻辑中的接口函数;
对所述第一界面文本设置的接口函数进行拦截操作,将所述第一界面文本设置指向改写后的代码逻辑;所述改写后的代码逻辑包括具有翻译功能的代码逻辑的第一界面文本设置代码逻辑。
4.根据权利要求3所述的方法,其特征在于,所述通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面,包括:
在对第一界面文本设置的接口函数的拦截操作之后,回调第二界面文本设置的接口函数展示与目标文本信息相应的目标软件界面文本。
5.根据权利要求2所述的方法,其特征在于,采用所述具有翻译功能的代码逻辑改写所述第一界面文本设置代码逻辑,包括:
确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置;
在所述代码逻辑位置,采用所述具有翻译功能的代码逻辑对所述第一界面文本设置代码逻辑进行改写。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置,包括:
获取针对所述目标软件程序的界面文本设置信息;所述界面文本设置信息包括第一界面文本设置的接口函数信息;
根据所述接口函数信息对所述目标软件程序的目标文件进行函数符号静态扫描分析,确定所述第一界面文本设置代码逻辑在内存中代码段的代码逻辑位置。
7.根据权利要求6所述的方法,其特征在于,所述在所述代码逻辑位置,采用所述具有翻译功能的代码逻辑对所述第一界面文本设置代码逻辑进行改写,包括:
在运行所述目标软件程序加载预设动态链接库时,根据第一界面文本设置在内存中代码段的代码逻辑位置确定需要修改的代码逻辑位置;
在所述需要修改的代码逻辑位置对所述第一界面文本设置代码逻辑进行修改,并替换为具有翻译功能的代码逻辑。
8.一种软件翻译装置,其特征在于,所述装置包括:
软件程序运行模块,用于运行目标软件程序,确定所述目标软件程序中的目标文件,其中,所述目标文件中包括第一界面文本设置代码逻辑;
原始文本信息翻译模块,用于在第一界面文本设置代码逻辑中设置具有翻译功能的代码逻辑,通过所述具有翻译功能的代码逻辑对所述软件界面中的原始文本信息进行翻译以得到目标文本信息;界面文本展示模块,用于通过第二界面文本设置代码逻辑根据所述目标文本信息展示相应的软件界面。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器运行时实现如权利要求1-7中任一项所述软件翻译方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器运行时实现如权利要求1至7中任一项所述软件翻译方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649646.2A CN113342437B (zh) | 2021-06-10 | 2021-06-10 | 一种软件翻译方法和装置 |
PCT/CN2022/082870 WO2022257554A1 (zh) | 2021-06-10 | 2022-03-24 | 一种软件翻译方法和装置 |
US18/547,514 US20240053967A1 (en) | 2021-06-10 | 2022-03-24 | Method for software translation, electronic device, and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649646.2A CN113342437B (zh) | 2021-06-10 | 2021-06-10 | 一种软件翻译方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342437A true CN113342437A (zh) | 2021-09-03 |
CN113342437B CN113342437B (zh) | 2023-03-24 |
Family
ID=77476633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110649646.2A Active CN113342437B (zh) | 2021-06-10 | 2021-06-10 | 一种软件翻译方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240053967A1 (zh) |
CN (1) | CN113342437B (zh) |
WO (1) | WO2022257554A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257554A1 (zh) * | 2021-06-10 | 2022-12-15 | 网易(杭州)网络有限公司 | 一种软件翻译方法和装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0635710A (ja) * | 1992-07-21 | 1994-02-10 | Nec Corp | 汎用コンピュータオンラインプログラムにおける翻訳名称取得方法 |
WO2000029964A1 (en) * | 1998-11-15 | 2000-05-25 | Lingocom, Ltd. | Software language translation system and method |
US20030110478A1 (en) * | 2001-11-21 | 2003-06-12 | Evelyn Duesterwald | Portable run-time code synthesis in a caching dynamic translator |
US20090106017A1 (en) * | 2006-03-15 | 2009-04-23 | D Agostini Giovanni | Acceleration Method And System For Automatic Computer Translation |
US20140172409A1 (en) * | 2012-12-17 | 2014-06-19 | Frank Brunswig | Common multi-language text management in a business-oriented software framework |
CN103902251A (zh) * | 2012-12-27 | 2014-07-02 | 辉达公司 | 指令转译中的故障检测 |
US20150278105A1 (en) * | 2014-03-31 | 2015-10-01 | International Business Machines Corporation | Transparent code patching including updating of address translation structures |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
CN109284145A (zh) * | 2018-08-28 | 2019-01-29 | 北京城市网邻信息技术有限公司 | 多语言配置文件的生成和展示方法及装置、设备和介质 |
CN110134404A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码翻译方法、装置、计算机设备和存储介质 |
CN110134397A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段翻译方法、装置、计算机设备和存储介质 |
CN110909552A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 翻译方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE522988C2 (sv) * | 2000-05-16 | 2004-03-23 | Eurocity Software Ab | Förfarande, datorprogramprodukt och datorprogramelement för realtidsöversättning av användargränssnitt i en godtycklig applikation |
US10474482B2 (en) * | 2017-12-15 | 2019-11-12 | Citrix Systems, Inc. | Software application dynamic linguistic translation system and methods |
CN113342437B (zh) * | 2021-06-10 | 2023-03-24 | 网易(杭州)网络有限公司 | 一种软件翻译方法和装置 |
-
2021
- 2021-06-10 CN CN202110649646.2A patent/CN113342437B/zh active Active
-
2022
- 2022-03-24 WO PCT/CN2022/082870 patent/WO2022257554A1/zh active Application Filing
- 2022-03-24 US US18/547,514 patent/US20240053967A1/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0635710A (ja) * | 1992-07-21 | 1994-02-10 | Nec Corp | 汎用コンピュータオンラインプログラムにおける翻訳名称取得方法 |
WO2000029964A1 (en) * | 1998-11-15 | 2000-05-25 | Lingocom, Ltd. | Software language translation system and method |
US20030110478A1 (en) * | 2001-11-21 | 2003-06-12 | Evelyn Duesterwald | Portable run-time code synthesis in a caching dynamic translator |
US20090106017A1 (en) * | 2006-03-15 | 2009-04-23 | D Agostini Giovanni | Acceleration Method And System For Automatic Computer Translation |
US20140172409A1 (en) * | 2012-12-17 | 2014-06-19 | Frank Brunswig | Common multi-language text management in a business-oriented software framework |
CN103902251A (zh) * | 2012-12-27 | 2014-07-02 | 辉达公司 | 指令转译中的故障检测 |
US20150278105A1 (en) * | 2014-03-31 | 2015-10-01 | International Business Machines Corporation | Transparent code patching including updating of address translation structures |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
CN109284145A (zh) * | 2018-08-28 | 2019-01-29 | 北京城市网邻信息技术有限公司 | 多语言配置文件的生成和展示方法及装置、设备和介质 |
CN110909552A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 翻译方法及装置 |
CN110134404A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码翻译方法、装置、计算机设备和存储介质 |
CN110134397A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段翻译方法、装置、计算机设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257554A1 (zh) * | 2021-06-10 | 2022-12-15 | 网易(杭州)网络有限公司 | 一种软件翻译方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113342437B (zh) | 2023-03-24 |
WO2022257554A1 (zh) | 2022-12-15 |
US20240053967A1 (en) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990272B2 (en) | Test case generation for uncovered code paths | |
US9424006B2 (en) | Execution optimization of mobile applications | |
US20100088695A1 (en) | System and method for localizing a server application using a client-side translator | |
MXPA05004356A (es) | Localizacion de lenguaje utilizando tablas. | |
US10747510B1 (en) | Application runtime modification | |
US9378013B2 (en) | Incremental source code analysis | |
CN112256296A (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN103885814A (zh) | 在x86架构上运行ARM APK的模拟器装置和方法 | |
US20240256312A1 (en) | Game translation method, and electronic device, and computer readable medium thereof | |
CN113268684A (zh) | 数据处理方法、装置、终端设备以及存储介质 | |
CN113342437B (zh) | 一种软件翻译方法和装置 | |
US20230390644A1 (en) | Method for translating game, electronic device, and storage medium | |
US20170220631A1 (en) | Capturing Intended Selection of Content Due to Dynamically Shifting Content | |
US9703848B2 (en) | Caching linked queries for optimized compliance management | |
US9880813B2 (en) | RTE code generating method and apparatus performing the same | |
CN115454827B (zh) | 兼容性检测方法、系统、设备和介质 | |
KR102323621B1 (ko) | 펌웨어 퍼징 장치 및 방법 | |
US9697018B2 (en) | Synthesizing inputs to preserve functionality | |
CN114443467A (zh) | 基于沙箱的界面交互方法、装置、电子设备、介质及产品 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
CN110196803B (zh) | 一种软件缺陷培训方法和系统 | |
CN113590564A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN111078207B (zh) | 基于cypress框架跨操作系统实现自动化网页模拟操作的方法 | |
US11321225B2 (en) | Reducing the memory load time for logic simulator by leveraging architecture simulator | |
CN115145696B (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 |