CN115640075A - 多系统兼容的插件式软件汉化系统、方法及计算机设备 - Google Patents
多系统兼容的插件式软件汉化系统、方法及计算机设备 Download PDFInfo
- Publication number
- CN115640075A CN115640075A CN202211415199.5A CN202211415199A CN115640075A CN 115640075 A CN115640075 A CN 115640075A CN 202211415199 A CN202211415199 A CN 202211415199A CN 115640075 A CN115640075 A CN 115640075A
- Authority
- CN
- China
- Prior art keywords
- software
- chinese
- character string
- display
- character
- 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
技术领域
本发明属于软件汉化领域,尤其涉及一种多系统兼容的插件式软件汉化系统、方法及计算机设备。
背景技术
目前,随着技术的不断演进,我国引进设备现代化程度也越来越高,其软件通常采用外文操作界面显示,销售方并不提供汉化服务或者需要高昂的汉化费用,此类纯外文显示界面设备给操作使用和维修保障带来了很多不便。
此类软件汉化是在没有源码、没有设计文档、仅有可执行文件的条件下进行的,目前较常用汉化方法有以下几种:
1、修改资源文件
2、直接修改二进制文件
3、截屏汉化
然而第一种方法只适用于图形界面的软件有资源文件的情况,主要由VC、DELPHI等软件开发平台开发,覆盖面较小。另外,有一部分软件开发时间较早,尚没有使用资源文件等此类技术。
第二种方法指将外文字符串编码直接改为中文字符串编码进行汉化的方法,但此种方法存在以下几个缺陷:1、必须原操作系统系统或软件自身支持中文显示;2、软件界面显示用的字符串未参与通信、计算、校验等,如果软件界面字符串参与了上述几个过程,则直接修改二进制文件替换外文编码会导致运行过程中出错。
第三种方法通过预先建立软件界面的模式库,在软件运行时不断进行模式匹配并替换命中界面为预先设置的汉化界面方式实现汉化的。该方法缺点在于需要在外部增加一个硬件设备以完成界面匹配,同时界面图像的信息较大,匹配计算量较大,会严重影响对实时性要求较高的设备的作战技术指标,另外现有设备一般无法在实验室环境下触发所有界面,无法完成特定界面的数据采集。
因此探究如何既能兼顾汉化对象的操作系统、开发平台的多样性,又能保证参与通信、计算、校验的字符串在汉化后不受影响,还可以保证设备软件的实时性成为亟需解决的问题。本发明提供了一种跨操作系统的通用汉化技术手段和方法,通过增加一个驻留第三方服务程序接管原二进制文件的字符串显示过程,对接收到的字符串编码进行翻译并替换成相应翻译后中文编码输出,此过程仅更改软件的字符串显示输出部分,对于软件功能和除字符串显示的其它界面部分均不影响。
通过上述分析,现有技术存在的问题及缺陷为:
随着计算机控制技术的广泛应用,从国外引进了诸多专用装(设)备,这些装(设)高度集成化,因其操作显示界面非中文显示,且引进时供货方一般未提供软件源代码和详细的设计文档,给操作使用和维修保障带来了极大困难,既要求操作人员具备相应专业知识外,还必须具备一定的外语水平。操作人员对动态出现的故障和警告信息提示不理解,不但制约了装(设)的使用效率,甚至可能出现操作失误,造成设备损坏。
发明内容
针对现有技术存在的问题,本发明提供了一种多系统兼容的插件式软件汉化系统、方法及计算机设备。
本发明是这样实现的,一种多系统兼容的插件式软件汉化系统,所述多系统兼容的插件式软件汉化系统由原系统软件、加载程序和汉化显示辅助软件组成;
所述原系统软件,即待汉化对象,其中包括界面显示字符串,汉化系统将其软件字符串界面显示接口进行修改,改为进入汉化显示辅助软件以实现字符串精准截获;
所述加载程序,用于进行初始化设置,并将所述汉字显示辅助软件预先加载到内存中;
所述汉化显示辅助软件包括翻译模块、属性调整模块和汉字显示模块,用于用于将截获的字符串进行翻译调整并显示汉化后汉字字符串。
进一步,所述调用自定义的汉化服务程序的具体过程为:
在所述原系统软件的字符串输出显示函数调用处二进制修改具有字符串显示输出的可执行文件,修改内容为将字符串输出接口改为调用软件显示辅助软件。
进一步,所述翻译模块中预先存储字符串对照表,所述字符串对照表存储着外文字符串与中文字符串的一一对应关系;字符串对照表采用CRC值或其它特征值为索引,使用查找算法快速查找出翻译后的中文字符串,并将所述中文字符串传递给属性调整模块进行处理;
所述属性调整模块获取到翻译后中文字符串后,使用数据解析引擎提取所述中文字符串存储在字符串对照表中的参数,然后将中文字符串编码连同属性调整参数传递给汉字显示模块;属性调整模块非必须模块,但为了达到最优汉化效果,一般为达到最优汉化效果应建立此功能模块。
所述汉字显示模块包括汉字字库、字库解析函数以及兼容所述原系统软件字符串输出函数的字符串显示函数。
进一步,所述字符串对照表,以特定的数据结构存储以下信息:外文字符串对应的翻译后中文字符串编码,翻译后在界面上的属性调整参数,包括位置、字体、字号、颜色等。
本发明的另一目的在于提供一种实施所述多系统兼容的插件式软件汉化系统的多系统兼容的插件式软件汉化方法,所述多系统兼容的插件式软件汉化方法包括:
步骤一,确定汉化对象文件;
步骤二,提取原系统软件的外文字符显示算法,在汉化服务程序中兼容所述外文字符显示算法,对不需汉化的字符采用原系统软件的外文显示算法显示。
步骤三,设计字符串截取接口;
步骤四,开发汉化服务程序;
步骤五,通过二进制提取方法提取出原系统软件中所有字符串并翻译;
步骤六,按照原字符串CRC值或者其它特征值为索引将翻译后的字符串编码存储在数据结构中;
步骤七,在所述字符串输出接口处截获字符串编码,根据所述字符串编码计算其CRC值或其它特征值;
步骤八,以截获的字符串的特征值为索引查找其对应汉字字符串;
步骤九,经过属性调整后送给汉字显示模块显示输出实现汉化。
进一步,所述步骤一的具体过程为:
首先,依据系统体系结构关系确定系统所在的硬件(一般为嵌入式板卡),确定硬件后将其中系统全盘镜像拷出;
然后解压镜像,分析系统启动流程(如DOS下系统启动配置为autoexec.bat;QNX下为SYSINIT文件),从启动过程文件中筛掉系统标准文件后便为运行系统业务的用户程序;
最后,结合反汇编分析技术查找用户程序运行过程中读取或调用的其它文件,运行系统业务的用户程序和读取或调用的其它文件总和为所述汉化对象文件。
进一步,所述步骤二的具体过程为:
确定反汇编软件,定位文本输出函数,追踪数据流,确定软件中涉及的显示输出方法,其中包括字符串文本输出函数接口、字库结构、字库解析函数或算法;同时提取反汇编软件中的全部字符串文本,将字符串文本的文本内容、编码方式(例如CP866、GB2312等)、十六进制编码、偏移地址、显示输出方法等信息记录在“字符串基准列表”中。
进一步,所述步骤三的具体过程为:
首先,选取截取点,截取点一般针对各个显示原理分别设置,初步选择范围为软件中各显示原理下字符串必经的路径,一般选择原系统软件中字符串显示输出函数入口处;
然后,设计汉化显示辅助软件与原系统软件兼容接口,原系统软件的不同截取点在调用汉化显示辅助软件前往堆栈中压入一个特征值,汉化显示辅助软件读取所述特征值以确定原系统软件显示函数接口原型;可以根据实际需要增加额外增加一些控制参数以调整界面美观性;
最后,所述汉字显示辅助软件与字符显示函数存在交互接口,进入接口后,根据特征值判断此次汉化流程的字符显示函数,接口根据不同显示函数进入各自汉化函数进行汉化。
进一步,所述步骤四中的汉化服务程序包括显示兼容模块、翻译模块,用于字符的动态翻译、属性调整、中外字符兼容显示;
所述动态翻译是使用字符串文本的CRC16值,,作为索引在字符串对照表中查找中文翻译文本编码;
所述属性调整是根据接收的所述属性调整参数调整对应的属性,具体过程为:预先在翻译文件中各字符串增加属性调整值,汉化显示辅助软件根据数据结构解析属性调整参数,对原系统软件传入的坐标值进行加减或对颜色进行替换等;
所述中外字符兼容显示,通过汉化显示辅助软件内进行汉字显示输出和原外文显示输出,根据接收的外文字符,判断是否需进行汉化;需要汉化则调用汉化显示辅助软件内的汉字显示输出函数,不需汉化则调用汉化显示辅助软件内的外文兼容显示函数实现;
所述汉字显示模块输出点阵字体汉字,根据汉字字体字号的不同,设计不同的汉字显示输出函数,以满足汉字显示输出要求;
所述原外文显示输出模块输出显示原系统软件的外文字符,应与原系统软件的字符显示功能一致,根据逆向分析的C代码结果编写,不需单独设计。
进一步,所述步骤五中提取字符串的具体过程为:
利用反汇编工具(如IDA),将原系统软件可执行文件进行反汇编,在数据段提取以’\0’结尾的字符串,并在提取时借助所述反汇编工具检查该字符串的交叉引用,确定其是否作为输出函数的参数使用,将符合条件的字符串汇总成字符串基准列表,所述输出函数包括显示输出(界面显示函数)和文件输出(日志、打印输出等)。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述多系统兼容的插件式软件汉化方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述多系统兼容的插件式软件汉化方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述多系统兼容的插件式软件汉化系统。
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明有效解决了多种操作系统下软件汉化的关键技术,通过对装(设)备原系统软件字符串界面显示接口进行修改,改为进入汉化显示辅助软件以实现字符串精准截获,并由加载程序进行初始化设置,将汉字显示辅助软件预先加载到内存中,并负责将截获的字符串进行翻译调整并显示汉化后汉字字符串。该技术较传统汉化方法具有普适性高,对原系统软件修改小,可分离界面显示字符串与通信、计算、校验字符串,性能损耗极低的优点,可确保汉化后系统功能与原系统保持一致。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明公开的跨操作系统通用无源码软件汉化方法在相关引进装(设)备操作显示界面汉化中已得到成功应用,实现了Linux、DOS、Windows、QNX、VxWorks等操作系统下软件汉化,汉化软件得到了用户的认可,具有性能损耗低、各操作系统和开发平台的通用普适性高、能分离原系统非界面显示(通信、计算、校验)字符串等优点。。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:
本发明提供了一种普遍适用的通过增加辅助软件实现动态翻译汉化的技术手段和方法。此方法具有多种操作系统、多种开发平台的普适性;此方法仅在软件的字符串显示输出接口处进行动态截获,不对字符串的通信、计算过程造成任何干扰,保证软件汉化后的安全正确运行;此方法无需对整个界面进行识别和替换,仅对要显示的字符串进行动态翻译替换,效率高,能满足对实时性要求高的设备汉化要求,在动态翻译汉化上实现了技术突破。
附图说明
图1是本发明实施例提供的无源码软件字符截取汉化实现原理图;
图2是本发明实施例提供的汉化后系统的启动流程图;
图3是本发明实施例提供的原外文软件的字符显示执行流程图;
图4是本发明实施例提供的修改汉化交互接口后的字符显示执行流程图;
图5是本发明实施例提供的兼容显示执行流程图;
图6是本发明实施例提供的汉化前后典型界面,(a)汉化前典型界面,(b)汉化后典型界面。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
本发明实施例提供的一种多系统兼容的插件式软件汉化系统包括:原系统软件、加载程序和汉化显示辅助软件。
所述原系统软件,用于通过对具有字符串显示输出的可执行文件进行二进制修改,将原字符串输出接口改为调用所述软件显示辅助软件;
所述加载程序,用于负责做一定的初始化设置,并将汉字显示辅助软件预先加载到内存中;
所述汉化显示辅助软件包括翻译模块、属性调整模块和汉字显示模块,用于辅助汉化显示。
进一步,所述翻译模块中预先存储字符串对照表,此对照表存储着外文字符串与中文字符串的一一对应关系,该列表采用CRC值或其它特征值为索引,使用查找算法快速查找出翻译后中文,并将此中文字符串送给属性调整模块进行处理。
所述字符串对照表,以特定的数据结构存储以下信息:外文字符串对应的翻译后中文字符串编码,翻译后在界面上的属性调整参数(包括位置、字体、字号、颜色等)。
所述属性调整模块中获取到翻译后中文字符串后,使用数据解析引擎提取该中文字符串存储在汉化对照表中的参数,然后将中文字符串编码连同属性调整参数传递给汉字显示模块。属性调整模块非必须模块,但为了达到最优汉化效果,一般为达到最优汉化效果应建立此功能模块。
所述汉字显示模块包括汉字字库、字库解析函数以及兼容原系统字符串输出函数的字符串显示函数。
本发明实施例还提供了一种外文被汉化方法,具体步骤包括:
(1)原外文字符串界面显示输出处被截获。
(2)进入汉化显示辅助软件翻译模块,翻译模块在事先定义好的字符串翻译映射表中根据原外文字符串特征值(比如CRC值或MD5值)进行匹配查找其对应中文字符串,并将匹配所得中文字符串编码交给属性调整模块,如果未匹配命中则将原外文字符串交给属性调整模块。
(3)属性调整模块根据实际情况决定是否需要调整某些显示属性。
(4)最后中文字符串编码连同调整后的属性一并传给能够支持中文显示的汉字显示模块进行显示输出。
二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
本发明实施例提供的多系统兼容的插件式软件汉化方法包括如下步骤:
S101,确定汉化对象文件;
S102,分析原系统软件显示原理,提取原系统软件外文字符显示算法,在汉化服务程序中兼容该显示算法,对不需汉化的字符采用原系统软件外文显示算法显示;
S103,设计字符串截取接口;
S104,开发汉化服务程序(包括显示兼容模块、翻译模块),程序中包括字符的动态翻译、属性调整、中外字符兼容显示功能;
S105,提取原系统软件中字符串;
S106,根据翻译列表,制作CRC(其它索引算法亦可)索引的翻译映射表文件;
S107,将所述翻译映射表文件植入原系统软件可调用的位置;
S108,修改原系统软件中的字符串显示函数,将其内容改为跳转到汉化服务程序。
进一步,所述S101的具体过程为:
设备系统一般组成结构复杂,首先,需要依据系统体系结构关系确定软件系统所在的硬件(一般为嵌入式板卡),确定硬件后将其中软件系统全盘镜像拷出;
然后,解压镜像分析其系统启动流程(如DOS下系统启动配置为autoexec.bat;QNX下为SYSINIT文件),从启动过程文件中筛掉系统标准文件后便为运行系统业务的用户程序;
最后,结合反汇编分析技术查找用户程序运行过程中读取或调用的其它文件。这些运行系统业务的用户程序和其读取或调用的其它文件总和便是下一步汉化的对象文件。
进一步,所述S102的具体过程为:
需反汇编软件,定位文本输出函数,追踪数据流,确定软件中涉及的显示输出方法,其中包括字符串文本输出函数接口,字库结构,字库解析函数或算法,并记录字符串基准列表中各字符串对应的显示输出方法。
如某软件运行于MS-DOS 6.22操作系统平台下,反汇编确定其使用Borland C++for DOS开发。存在两大类显示输出接口:一为通过Borland C++库函数outtextxy()显示输出,二为自定义点阵算法函数(indsimcnk、indsimcspr、indsimcof、indsim1)。indsimcnk函数接口如下:
void indsimcnk(unsigned char kod,int x,int y,int clrsim,int clrfon,int m);
其中各参数意义为:kod字符编码值,x字符显示横坐标,y字符显示纵坐标,clrsim字符颜色,clrfon字符背景色,mm值大于3,每次打一个点,如果小于等于3,每次打两个点。即m值小于等于3时,显示出的字符较大,大于3时,显示出的字符较小。
操作系统字库字符通过系统函数outtextxy()显示,使用系统自身标准字库文件,共有三种,分别为8*8、8*14、8*16点阵字库。软件自身显示字符串通过自定义点阵算法函数显示。自定义点阵算法函数均使用同一自定义点阵字库,点阵算法函数相同,显示原理相同。均为通过读取点阵字库信息,调用putpixel()函数打像素点,以达到显示字符的目的。点阵字库的字模信息存放在char型数组list中。char list[218][7]数组中共存放217个字符的字模信息。
字库编码均采用CP866标准编码。
进一步,所述S103的具体过程为:
无源码软件字符截取汉化实现原理图如图1所示,需要在文本即待显示字符串送到显示器前对其进行截获。
首先,选取截取点,截取点一般针对各个显示原理分别设置,初步选择范围为软件中各显示原理下字符串必经的路径。一般选择原系统软件中字符串显示输出函数入口处;
然后,设计汉化辅助软件与原系统软件兼容接口。如前例所述原系统软件存在多个显示函数,汉化软件需要能够处理兼容原系统软件所有显示函数接口。为解决此问题需要原系统软件的不同截取点在调用汉化显示辅助软件前往堆栈中压入一个特征值,汉化显示辅助软件读取该特征值以确定原系统软件显示函数接口原型。此外,可以根据实际需要增加额外增加一些控制参数以调整界面美观性。
如前所述,汉字显示辅助软件与字符显示函数outtextxy、indsimcnk、indsimcspr、indsimcof、indsim1的交互接口,进入接口后,由特征号判断此次汉化流程的字符显示函数,接口函数根据不同显示函数进入各自汉化函数进行汉化。汉化前后软件功能执行流程图分别如图3、图4所示,兼容显示执行流程图如图5所示,汉化前后典型界面如图6所示。
进一步,所述S104中所述动态翻译通过计算字符串的crc16循环冗余检验值,作为字符索引值用于检索查找该索引对应的中文翻译字符串编码;
所述属性调整通过接受传入的属性调整参数,调整对应的属性;预先在翻译文件中各字符串增加属性调整值,汉化辅助软件根据事先约定的数据结构解析属性调整参数,对原系统软件传入的坐标值进行加减或对颜色进行替换等。
所述中外字符兼容显示,通过汉化辅助软件内实现汉字显示输出和原外文显示输出模块,根据接收的外文字符,判断是否需进行汉化,需汉化的调用汉字显示输出模块,不汉化的调用外文兼容显示模块实现。
所述汉字显示模块输出点阵字体汉字,根据汉字字体字号的不同,设计不同的汉字显示输出函数,以满足汉字显示输出要求。
所述原外文显示输出模块输出显示原系统软件的外文字符,应与原系统软件的字符显示功能一致,根据逆向分析的C代码结果编写,不需单独设计。
进一步,所述S105的具体过程为:
利用反汇编工具(如IDA),将原系统软件可执行文件进行反汇编,在数据段提取以’\0’结尾的字符串,并在提取时需借助反汇编工具检查该字符串的交叉引用,确定其是否作为输出函数(包括显示输出、文件输出)的参数使用,将符合条件的字符串汇总成字符串基准列表。
进一步,所述S106中翻译映射表文件中存储着外文的中文翻译以及翻译成中文后显示需要调整的属性(坐标调整值、字体、字号、对齐方式等),由于该映射表以单独的文件存在,此后如果需要调整翻译或者调整坐标等属性只需要调整该文件即可。
进一步,所述S107的具体过程为:
DOS下可在原系统软件运行前将其驻留到内存并赋予特定的中断号,原系统软件即可采用中断调用方式调用该汉化服务程序。Windows、QNX、Vxworks下可在原系统软件或图形库文件中寻找可用空间或者扩段植入。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种多系统兼容的插件式软件汉化系统,其特征在于,所述多系统兼容的插件式软件汉化系统由原系统软件、加载程序和汉化显示辅助软件组成;
所述原系统软件,包括界面显示字符串,用于将软件字符串界面显示接口进行修改为进入汉化显示辅助软件以实现字符串精准截获;
所述加载程序,用于进行初始化设置,并将所述汉字显示辅助软件预先加载到内存中;
所述汉化显示辅助软件包括翻译模块、属性调整模块和汉字显示模块,用于将截获的字符串进行翻译调整并显示汉化后汉字字符串。
2.如权利要求1所述多系统兼容的插件式软件汉化系统,其特征在于,所述调用自定义的汉化服务程序的具体过程为:
在所述原系统软件的字符串输出显示函数调用处二进制修改具有字符串显示输出的可执行文件,修改内容为将字符串输出接口改为调用软件显示辅助软件。
3.如权利要求1所述多系统兼容的插件式软件汉化系统,其特征在于,所述翻译模块中预先存储字符串对照表,所述字符串对照表存储着外文字符串与中文字符串的一一对应关系;该列表采用CRC值或其它特征值为索引,使用查找算法快速查找出翻译后的中文字符串,并将所述中文字符串传递给属性调整模块进行处理;
所述属性调整模块获取到翻译后中文字符串后,使用数据解析引擎提取所述中文字符串存储在汉化对照表中的参数,然后将中文字符串编码连同属性调整参数传递给汉字显示模块;
所述汉字显示模块包括汉字字库、字库解析函数以及兼容所述原系统软件字符串输出函数的字符串显示函数;
所述汉化对照表,以特定的数据结构存储以下信息:外文字符串对应的翻译后中文字符串编码,翻译后在界面上的属性调整参数,包括位置、字体、字号、颜色。
4.一种实施如权利要求1-3任意一项所述多系统兼容的插件式软件汉化系统的多系统兼容的插件式软件汉化方法,其特征在于,所述多系统兼容的插件式软件汉化方法包括:
步骤一,确定汉化对象文件;
步骤二,提取原系统软件的外文字符显示算法,在汉化服务程序中兼容所述外文字符显示算法,对不需汉化的字符采用原系统软件的外文显示算法显示;
步骤三,设计字符串截取接口;
步骤四,开发汉化服务程序;
步骤五,通过二进制提取方法提取出原系统软件中所有字符串并翻译;
步骤六,按照原字符串CRC值或者其它特征值为索引将翻译后的字符串编码存储在数据结构中;
步骤七,在所述字符串输出接口处截获字符串编码,根据所述字符串编码计算其CRC值或其它特征值;
步骤八,以截获的字符串的特征值为索引查找其对应汉字字符串;
步骤九,经过属性调整后送给汉字显示模块显示输出实现汉化。
5.如权利要求4所述多系统兼容的插件式软件汉化方法,其特征在于,所述步骤一的具体过程为:
首先,依据系统体系结构关系确定系统所在的硬件,确定硬件后将其中系统全盘镜像拷出;
然后,解压镜像,分析系统启动流程,从启动过程文件中筛掉系统标准文件后为运行系统业务的用户程序;
最后,结合反汇编分析技术查找用户程序运行过程中读取或调用的其它文件,运行系统业务的用户程序和读取或调用的其它文件总和为所述汉化对象文件。
6.如权利要求4所述多系统兼容的插件式软件汉化方法,其特征在于,所述步骤二的具体过程为:
确定反汇编软件,定位文本输出函数,追踪数据流,确定软件中涉及的显示输出方法,其中包括字符串文本输出函数接口、字库结构、字库解析函数或算法,以及记录字符串基准列表中各字符串对应的显示输出方法。
7.如权利要求4所述多系统兼容的插件式软件汉化方法,其特征在于,所述步骤三的具体过程为:
(1)选取截取点,截取点针对显示原理设置,选择范围为原系统软件各显示原理下字符串必经的路径,所述路径为字符串显示输出函数入口处;
(2)设计汉化显示辅助软件与原系统软件兼容接口,原系统软件的不同截取点在调用汉化显示辅助软件前往堆栈中压入一个特征值,汉化显示辅助软件读取所述特征值以确定原系统软件显示函数接口原型;
(3)所述汉字显示辅助软件与字符显示函数outtextxy、indsimcnk、indsimcspr、indsimcof、indsim1存在交互接口,进入接口后,根据特征号判断汉化流程的字符显示函数,接口根据不同显示函数进入各自汉化函数进行汉化。
8.如权利要求4所述多系统兼容的插件式软件汉化方法,其特征在于,所述步骤四中的汉化服务程序包括显示兼容模块、翻译模块,用于字符的动态翻译、属性调整、中外字符兼容显示;
所述动态翻译通过计算字符串的crc16循环冗余检验值,作为字符索引值用于检索查找该索引对应的中文翻译字符串编码;
所述属性调整是根据接收的所述属性调整参数调整对应的属性,具体过程为:预先在翻译文件中各字符串增加属性调整值,汉化显示辅助软件根据数据结构解析属性调整参数,对原系统软件传入的坐标值进行加减或对颜色进行替换;
所述中外字符兼容显示,通过汉化显示辅助软件内进行汉字显示输出和原外文显示输出,根据接收的外文字符,判断是否需进行汉化;需要汉化则调用汉字显示输出模块,不需汉化则调用外文兼容显示模块实现;
所述汉字显示模块输出点阵字体汉字,根据汉字字体字号的不同,设计不同的汉字显示输出函数;
所述原外文显示输出模块输出显示原系统软件的外文字符,根据逆向分析的C代码结果编写。
9.如权利要求4所述多系统兼容的插件式软件汉化方法,其特征在于,所述步骤五中提取字符串的具体过程为:
利用反汇编工具,将原系统软件可执行文件进行反汇编,在数据段提取以’\0’结尾的字符串,并在提取时借助所述反汇编工具检查该字符串的交叉引用,确定是否作为输出函数的参数使用,将符合条件的字符串汇总成字符串基准列表,所述输出函数包括显示输出和文件输出。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求4-9任意一项所述多系统兼容的插件式软件汉化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211415199.5A CN115640075A (zh) | 2022-11-11 | 2022-11-11 | 多系统兼容的插件式软件汉化系统、方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211415199.5A CN115640075A (zh) | 2022-11-11 | 2022-11-11 | 多系统兼容的插件式软件汉化系统、方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115640075A true CN115640075A (zh) | 2023-01-24 |
Family
ID=84948387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211415199.5A Pending CN115640075A (zh) | 2022-11-11 | 2022-11-11 | 多系统兼容的插件式软件汉化系统、方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115640075A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5678039A (en) * | 1994-09-30 | 1997-10-14 | Borland International, Inc. | System and methods for translating software into localized versions |
CN102360284A (zh) * | 2011-05-10 | 2012-02-22 | 中国人民解放军徐州空军学院 | 一种液晶屏英文界面通用中文汉化系统及汉化方法 |
CN112559106A (zh) * | 2020-12-24 | 2021-03-26 | 广西交控智维科技发展有限公司 | 一种基于多语言的页面翻译方法 |
-
2022
- 2022-11-11 CN CN202211415199.5A patent/CN115640075A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5678039A (en) * | 1994-09-30 | 1997-10-14 | Borland International, Inc. | System and methods for translating software into localized versions |
CN102360284A (zh) * | 2011-05-10 | 2012-02-22 | 中国人民解放军徐州空军学院 | 一种液晶屏英文界面通用中文汉化系统及汉化方法 |
CN112559106A (zh) * | 2020-12-24 | 2021-03-26 | 广西交控智维科技发展有限公司 | 一种基于多语言的页面翻译方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111736840B (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
US11120213B2 (en) | Intelligent verification of presentation of a user interface | |
US8387024B2 (en) | Multilingual software testing tool | |
KR870000667B1 (ko) | 구문에러 수정방법 및 장치 | |
CN112256919A (zh) | 一种基于xlsx解析和浏览器多线程技术的xlsx解析系统及方法 | |
US6898704B2 (en) | Method and apparatus for making and using test verbs | |
CN107203500A (zh) | 基于递归替换展开回溯的excel公式面向对象语言的自动转换方法 | |
CN114373460A (zh) | 车载语音助手的指令确定方法、装置、设备及介质 | |
US20040081346A1 (en) | Non-intrusive testing system and method | |
CN106775914B (zh) | 一种自动生成键值的代码国际化方法及装置 | |
CN109800152A (zh) | 一种自动化测试方法及终端设备 | |
CN110633258A (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
CN108959508B (zh) | Sql数据生成方法及装置 | |
CN115795488B (zh) | 代码检测系统及代码检测方法 | |
CN115640075A (zh) | 多系统兼容的插件式软件汉化系统、方法及计算机设备 | |
CN114116683B (zh) | 计算平台的多语法处理方法、设备及可读存储介质 | |
CN111158805B (zh) | Delphi软件源语言翻译系统、方法、设备及介质 | |
CN114416563A (zh) | 生成数据方法、装置、电子设备及存储介质 | |
CN112966671A (zh) | 一种合同检测方法、装置、电子设备及存储介质 | |
CN112003647A (zh) | 一种回收光猫的检测方法、装置、设备及存储介质 | |
CN111696154A (zh) | 坐标定位方法、装置、设备及存储介质 | |
CN112612701A (zh) | 一种程序故障定位方法、装置、设备及可读存储介质 | |
CN117112446B (zh) | 编辑器调试方法、装置、电子设备及介质 | |
CN114238094A (zh) | 一种测试脚本生成方法、装置、设备及可读存储介质 | |
CN117496547A (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 |