如何汉化一个软件现在的汉化软件和汉化补丁是越来越多了,你肯定也想自己汉化一些软件试试吧。
肯定你又会以为这是很麻烦或者很难的事情,只有高手才会做,其实并不是这样,你也完全可以自己汉化一些软件,有些方法还是很简单的,不需要设计到编程的知识。
不相信,不相信就听我下面给你介绍三种方法,保证你看完后,你也能汉化一些平常见的软件了。
(哎,我把胸口都拍痛了)第一种方法:直接修改源二进制的代码,不要紧张,也不要被吓倒,很简单的。
这里需要用到一个二进制代码查看器,如果你没有,我推荐你用一个名字为Ultra Edit的编辑器,相信你已经用过这个编辑器,(没有用过?没有用过也不要紧,往下看!)这个软件比Windows自带的记事本的功能强大许多,用法上倒没有什么复杂的地方,至于具体好在哪里,我就不说了,呵呵,可以自己看看专门介绍它的软件。
比如说,我们要汉化一个英文软件,就比如汉化Turbo C 吧,把菜单中的“File”汉化成中文的“文件”。
用此编辑器打开TC的可执行文件tc.exe,当然啦,在做这之前,你要先备份好你要操作的文件,免得到时候没有汉化成功,倒弄坏了文件,回不来了。
打开以后,就可以看到它的原二进制代码文件。
这时候,你选择查找功能。
从二进制中查找到“file”,找倒后,将它修改成“文件”,然后关闭,执行这个文件,看看是不是已经汉化了。
当然,这次你找到的不一定就是你要汉化的菜单,不一定会成功。
这就需要反复实验了。
这类方法比较累,并且也不一定准确。
这种方法现在也基本没有人使用了。
第二种方法:这种方法是比较简单的一种,但这种方法只能适用于带有语言选择的软件,这样的软件不是很多,只能是偶尔逮着一个,方法很简单,找到它的语言选择文件夹,里面会有各个语言的选择文件,比如FlashGet的language目录下面有三十几个国家的语言版本。
这里面已经有中国的了,假如你想新建一个的话,则也可以用记事本按照它的格式建立一个语言版本。
提供给大家的一个思路就是将它的原语言版本复制一个后,用记事本打开,然后按照它的格式修改,将它的内容换成你的内容,注意要一行一行地换,如果你把两行弄到一行去了,这就可能会产生错误了。
换完后,你也就已经汉化了这个软件了。
这种方法用途不是很大,一般的多语言版本的程序都有中文的语言版本,不需要你的汉化了。
第三种方法:好的方法当然留在最后讲,这种方法是汉化者们经常用的一种,那就是修改文件的资源文件。
我们知道,用VC和DEPHI编译成的软件都有资源文件。
高手呢,就是打开VC,直接修改内核,而我们嘛,就不必掌握这些复杂的方法了,这里给大家介绍一个简单的方法,用eXeScope软件修改,特别的简单。
(没有听说过?那没有关系,网络学院里面有教程的)像这类的软件还有很多,不过这个历史比较长,使用也非常的简单。
就给大家介绍它了。
比如我们要汉化OICQ,当然这本来就是中文版了,不需要汉化,没有关系,这里只是给大家演示一下汉化的过程而已。
(要详细了解eXeScope,有专门的文章介绍)启动eXeScope,选择文件菜单,再选择打开,打开QQ的可执行文件。
这时候左边的资源栏目里面就会出现该文件的全部资源,包括什么头部文件,导入的动态连接库,以及它所用到的资源文件。
而资源文件,就是我们汉化时要终点修改的内容。
从资源中间选择菜单(一般汉化就是汉化菜单和对话框)当菜单栏目展开以后,你可以看到右边的栏目里面有该菜单的全部内容了,这时候,只需要你自己改动就可以了,将各个菜单的名字都改成你所要的名字就可以了,比如说要是“File”,你讲它改成“文件”就可以了。
注意的是“&”这个符号,编过程序的人应该知道,这个是不能动的,如果你不知道意思,只要记住,这个符号的意义是:这个符号后面紧跟的字母是这个菜单的快捷键,就像记事本的菜单“文件(F)”那么这个F就是快捷键,最好不要删除掉。
比如说有个菜单为:“&Edit”,那么你换的时候,就不能把快捷键去掉,把它写成“(&E)编辑”,就可以了。
这是一个要注意的地方。
汉化还包括汉化对话框,同样从左边资源树中点开对话框,从右边就可以看到各个具体的标签与空间的名称了,只需要将各控件显示的文字改过来就可以了,按下F8键,就可以可视化地进行修改了。
将修改后的文件保存就可以了(在编辑菜单中有“保存修改”项)。
你运行一下你刚才修改过的文件,可以看到修改后的效果了。
当然啦,eXeScope的功能远不止这一些,但汉化是非常好的一个功能。
*_*汉化软件要注意的几点是:1. 汉化前的备份,如果失败,还可以还原回来。
切记!2. 汉化软件的时候,最好就不要做别的事情了,因为我们都是刚学汉化的人,有可能某个错误,而使软件运行后死机,如果你别的文档没有存盘,可不要说我没有预先通知你了。
呵呵。
3. 习惯问题,为了软件的通用性,一般都把“File”汉化成“文件”,把“Edit”汉化成“编辑”,最好遵守一下这个规则。
4. 软件版权问题,还是尊纪守法的好,打官司了,不要说是我害了你哟。
希望上面的汉化方法会对大家有一点帮助,谢谢。
如何汉化一个软件链接: /showthread.php?t=28321看到论坛上经常有人问汉化方面的东西,我今天也来灌水一篇,来个汉化扫盲教程。
写的不好的地方欢迎大家指正!OK,现在我们进入正题。
我这里所说的汉化,是指汉化 Windows 下的 PE 文件,把其他语言界面的程序翻译为中文界面。
要汉化一个软件,一般的流程是这样:一、检测软件是否加了壳。
汉化一个软件前我们首先要做的就是要看看软件是否加了壳。
因为程序加了壳后,一般情况下资源也被压缩了,使用普通的汉化工具是无法汉化的。
这时一般有两种办法:一种是完全脱壳后再汉化,这种方法可以汉化的比较彻底;另一种是壳太猛,不好脱,只好退而求其次,用 freeRes 这样的工具来释放一下资源,再来汉化。
这种方法只能汉化标准资源,一般就是主界面看到的部分,非标准资源因为未脱壳,还是无法汉化,所以这种方式汉化的不彻底。
平常我们看到的汉化软件一般都是完整的汉化,就是有壳的脱了壳,标准资源和非标准资源都汉化了。
这里脱壳后的文件优化也要注意,平常我们分析软件的时候,只要脱了壳,程序能正常运行,没有功能丢失就可以了,但要能汉化的话要求要严格一些。
因为要使用一般的汉化工具来汉化程序的话,最好脱壳后程序的资源段(一般区段名称是 .rsrc)要放在最后,这可以使用 FixRes 或 freeRes 这样的工具来重建资源。
另外,平常我们把脱壳后的程序优化时可以用 LordPE 删除垃圾区段,再重建一下。
但若要用汉化工具来汉化这种用 LordPE 优化重建后的程序,很可能生成的汉化程序运行时会出错。
如果你要会手工优化的话那是最好,可以删除垃圾区段,根据文件对齐粒度和区段对齐粒度等来优化文件,这样手工优化后的文件一般汉化时不会出错。
关于优化脱壳后文件这方面也有相关文章,我就不多说了。
改天若有空我会专门写一篇这样的文章,不过不要过于期待,我向来喜欢开空头支票的如果不会手工优化,可以在脱完壳重建资源后就用汉化工具来汉化,汉化完成后再用 LordPE 这样的工具来优化一下汉化后的程序就可以了。
二、检测程序资源类型。
检测程序资源类型我们同样可以用 PEiD、FI 这样的工具,主要是看程序是用什么开发工具写的。
各个开发工具编译出来的程序标准资源类型是不同的。
一般可以分以下几种:1、VC、MASM 这样的开发工具做出来的程序要汉化的标准资源主要在 Menu、Dialog、String 等中。
2、Delphi、C++Builder 这样的 Borland 公司开发工具做出来的东西要汉化的标准资源主要在 Rcdata 和 String 中。
3、VB 开发的程序,这种程序我们一般所说的标准资源是指 Form 中的资源,这种 VB 编的程序目前还没有可以可视化编辑界面资源的工具,相比较而言汉化起来不是很痛快;)4、上面说的主要是标准资源,再说一下一般定义的非标准资源。
非标准资源一般简称为非标,指在程序中出现,但又不在标准资源中的 UNICODE 字串或 ASCII 字串,这类字串汉化需要其他的工具。
判断完程序是什么开发工具做的,我们就对资源类型大致有数了。
下面就可以开始着手汉化了。
三、使用合适的汉化工具这里首先要说明一下,像什么 eXeScope、ResScope、ResHacker、PE Explorer 这样的工具严格来讲都不是汉化工具,只能说是资源修改工具。
一般所说的汉化工具是指如 Visual Localize、PASSOLO、Multilizer、Alchemy CATALYST 这样的工具。
这些工具都是可以可视化调整调整界面的,不过这些工具都不能用来汉化 VB 编的程序,关于汉化 VB 编的程序要使用其他的工具。
现在针对上面所说的资源类型来谈谈工具的选用:1、VC、MASM 类程序:这种程序可以用上面提到的任何一款汉化工具汉化,就我个人来讲,我比较喜欢用 PASSOLO,Visual Localize 也是个很不错的选择。
2、Delphi、C++Builder 类程序:这种程序可以使用 PASSOLO、Multilizer 来汉化,一般用PASSOLO 时应该选择 PASSOLO 的 UNICODE 版本。
对这类程序,还可以采用外挂语言包的方式来汉化标准资源。
这种外挂语言文件的方法对一些加了猛壳,且又不想脱壳或不好脱壳的程序非常有用。
因为 Borland 公司的编译器编译出来的程序默认对语言文件支持,编译好的程序会自动检测是否有语言文件。
一般的未加壳的此类程序,要采用语言文件汉化标准资源的话,只需生成对应的语言文件放到原程序目录就可以了。
对于加了猛壳的此类程序,如果只是汉化标准资源的话,不需要脱壳,只要用 freeRes 这样的工具释放一下压缩资源,再汉化释放资源后的程序,生成语言文件后放到原程序目录下就可以让主界面显示对应语言了。
用 PASSOLO、Multilizer 来汉化这样的程序,还有一些区别的地方:(1)、PASSOLO,汉化这类程序时选目标为简体中文时默认生成的目标是后缀名为 CHS 的文件。
不过生成的文件其实只是改了后缀名的汉化后的 EXE 或 DLL 等可执行文件。
这可以预先设置一下目标文件的后缀名,使生成的汉化后的文件后缀名为 EXE 或 DLL 等这样的可执行文件。
如果只是想生成语言文件,最好在生成目标文件的高级选项中设置一下,把生成纯资源 DLL 的选项选上,再把汉化生成的CHS文件的和汉化资源无关的项如图标、位图等删掉,减小体积。
(2)、Multilizer,这个工具汉化此类的程序时,默认生成的就是语言文件,要想生成汉化后的可执行文件,要在工程选项中把输出文件中的“已本地化的文件”选项选上。