软件汉化三步曲【转贴】

loy

普通会员
2003-06-01
13,680
0
36
在别的地方看到了这个贴子~~~觉得写得还不错~~~~由于目前好多的手机相关的软件都是E文的~~~希望大家一起参与到汉化软件的队伍来啊~~~哈哈~~~这篇文章号称菜鸟汉化入门篇~~~loy对汉化也不了解的~~~让我们一起来看吧~~~~~



软件汉化三步曲
面对网络一箩筐的软件,有多少的精品却依旧是英文界面,让我们在使用过程中寸步难移。特别是像我们这样的“爱国者”,英语不愿意学习,却有对国外先进有趣的软件非常热爱,为了不让自己面对着英文的界面摸不着头,那么就让我们一起来学习汉化软件吧。
首先大家要熟悉的是,我们汉化的对象软件是用什么程序语言写的。我在这里把它们主要分为两类,第一类就是比较Delphi,Visual C++,由这两种语言写的程序可以使用可视化的汉化软件进行汉化;第二类就是VB,它虽然用来编程序比 Visual C++ 容易多,但是汉化起来却比 Visual C++ 困难得多。那么,我们就兵分两路,分别讨论如何汉化这两类软件的资源。
第一曲:汉化秘密武器之亮相
当然,在动手对软件进行汉化之前,我们需要准备好“武器”。在这里,我就推荐大家使用4个我常用的武器,它们分别是:
ResScope :ResScope的功能及其强大,我是非常热爱它的,比国外的EXECOPE和RESHACK不知道好了多少,它可以编辑32位软件和16位软件。对于32位软件还可以增加资源尺寸,理论上可以无限增大,而且它使用内存载入资源分析,所以被分析的程序不会被独占,使得在分析期间仍可使用。(不是大多数采用的传统的文件映射方式),而且ResScope拥有非常出色的资源分析技术,内置的文字编辑器与16进制编辑器是由较低层的控件编写的,使资源载入比较快,编辑也很方便。它还拥有很出色的资源预览技术,可以实际创建被预览的Menu和Dialog,对于Dialog,还可以预览其中的Menu,Icon,Bitmap和Windows下的大多数控件,如:SysListView32等。
FreeRes :功能最为强大的脱壳软件,几乎所有的软件,无论经过什么加壳软件的压缩,都不能逃脱 freeRes 的眼睛,freeRes 的动态资源分析方法是绝对不会失手的。使用FreeRes释放压缩的资源以后我们就可以对有加壳保护的软件进行编辑。只能用一个字形容它的强大:神!但是,我并不保证最新的加壳技术会阻碍它的分析。
GetVBRes:我发现的唯一可视化汉化VB软件的精品,GetVBRes 弥补了 ResScope 对于非标准格式资源的处理的不足和ResScope,FreeRes系出同一作者。
UltraEdit:这个我不用多介绍了吧?大名鼎鼎的16进制编辑器, 超级文本、网页、程序编辑器。对于进行C/C++、VB、HTML、Java、Perl甚至FORTRAN和LaTex的编辑非常便利。

第二曲:拿起武器砍向E文软件
准备好了武器,我们就要对E文进行进攻了。首先,备份要汉化的软件,然后用Rescope打开我们需要汉化的软件,我就以汉化一个游戏的过程进行详细的说明,以此来帮助大家认识汉化,走近汉化吧。打开文件了吧?什么!出错了?(出现如图1的错误):



别急,这个游戏是作者为了防止别人非法修改以及压缩软件的体积而对软件进行了加壳,我们这个时候就要请出救星了――FreeRes!使用FreeRes打开文件,这时候出现了一个对话框(如图二):



当然,我们是要汉化它的,点击“是”对这个游戏进行释放资源。这个时候我们就可以看到里面的资源了吧?如图三:



但是,现在我们仍然无法对里面的资源进行汉化,我们需要重新建立可编辑资源。这个重要的工作当然是由FreeRes来做了。点击菜单中的“功能”,从下拉菜单中选择“建立可编辑资源”。这时候,FreeRes就会对软件进行重建资源。如图四:



退出FreesRes。我们重新使用Rescope打开刚才已经重建可编辑资源的游戏软件,这时候不会出现错误的对话框了吧?如图五:



这是一个Delphi编写的游戏,看到里面的资源了吗?这时候我们的汉化工作就算完成了一半了,这剩下的一半就是要求我们的E文功力了。凡是看到单引号内有E文的,我们就要对它进行汉化,如图六: ,Caption是标题的意思(天,你别说你把Caption汉化了),而“=”号后面的 ’ Fructus’就是我们要汉化的目标,当然,这个意思是水果!……(倒!你不会?那就查查你的金山词霸吧),当然,遇到不会的单词就去查查词霸,里面的解析也许不是非常准确,这就要求我们去测试使用这个软件或者游戏,然后找到这个窗体的标题,看这个窗体是什么内容,综合下来,我们才能准确地翻译出这个是什么意思!点击菜单里的
按钮,我们就可以运行测试汉化中的程序。
找到所有的内容汉化完毕之后,我们就可以保存了。看看,这个就是我们刚才完成的汉化作品,如图六:



汉化是不是很简单呢?是的,只要你有耐心和时间,找到一切的可汉化资源,并且能够相当准确地翻译成中文意思,那么,你就是汉化高手!(我不是………5555555555)
第三曲:程序特务VB之汉化
称VB为程序中的特务一点也不过分,我实在是太难找到它的资源进行汉化了。相信汉化者都害怕VB,VB的资源格式和普通的VC类或是Delphi软件不同,因为它的资源大多是保存为 UniCode 字串格式,如果没有什么汉化经验,我建议大家不要去碰VB的软件!但话又说回来,既然谈汉化,就必然要涉及VB的汉化了。在这里,结合自己的汉化经验,我提供一些技巧给大家,希望对大家有用。
当然,ResScope是不支持VB程序的,你用ResScope打开VB程序的话,只能看到版本信息,并不能看到编辑 VC 时看到的菜单、对话框等资源。所以我们首先要请出的是GetVBRes,这个软件给我们汉化VB提供了非常友好的可视化界面,但是由于软件并不是非常的完善,我们可以对VB程序进行基本的汉化,却不能完全汉化VB,因为VB有许多字串的限制,我们还需要结合16进制编辑器 UltraEdit 进行编辑。
使用GetVBRes打开VB程序,我就以一个有名的录音软件Advanced MP3 WMA Recorder 为例吧,它是使用VB程序编写的,当然,原版本经过了加壳,我们同样使用FreeRes进行脱壳以后再对它进行汉化。我们进行初步的汉化,只要你功力够高,可以很容易地用GETVBres将资源全部汉化完毕,注意:如果你追求完美汉化的话,要是遇到中文比英文字符长度长的先把它译一半,比如原来资源是是&File但是我们要汉化成“文件(&F)”比原来的字符多了3个,就先把它译成“文件(”剩下的先别理它, 如果遇到中文比英文短的就容易翻译了,直接翻译全部,然后再选中$20(空格)就行了,意思就是多余补空格,英文字符串比中文的多多少就补多少。千万要记住这一点,这也就是汉化VB程序的关键部分了。经过一般玩弄以后,如如图七:



好,运行看看,如果没有问题的话,我们保存下它来,然后运行UltraEdit打开这个VB软件,修改刚才没有翻译完全的语句。实战一下,刚才软件中有一个名位“&File”的需要汉化的字符,我们的目标是要汉化成为 “文件(&F)”,大家明显的知道“文件(&F)”比“&File”要多出3个字符,也就是“&F)”,当然,你可以选择删除这个快捷键的显示【(&F)的意思是使用快捷键F】,但这也就达不到我们完美汉化的目的了。首先我们要查找“文件(”(刚才翻译了一半的那个)查到以后就在“(”的后面点击右键,在出现的菜单中选择16进制插入删除,然后在弹出来的对话框把插入选中,在空白部分填3然后点击确定。接着就改字符串的长度现在我们插入了3个字符,长度就要由原来的5变成8,每个单词的长度就是在每个单词前面的00的前面,现在我们把05改成08,接着用UltraEdit新建一个文件,在里面输入&F)然后再选择编辑-16进制编辑,看左边的代码是多少,然后就把他输入到原来插入的那3个字符里,那3个字符原来是20 20 20 现在改成26 46 29,我们就算把一个单词改完了。使用同样的方法对付其他的单词,但是要注意的是,一定要对应地把英文字符串比中文多的地方要给英文字符串比中文少的地方,使其平衡。当然,这个过程也十分的复杂,我就不多介绍了,大家知道是如何汉化VB的方法就OK了。想要进一步深化自己汉化VB的功力的话,那就要认真学习了,中国有名的汉化基地是――汉化新世纪,里面有好多高手会帮助你的。:)
综合来说,汉化是一个艰辛的过程,记得汉化新世纪的站长曾说过:“在今后的某一天,当我们再次回顾汉化新世纪的成长时,真心希望我们的汉化新世纪已经没有存在的意义,因为那时候,中华的IT事业已经处于世界的颠峰!”,中国IT事业在发展,中国软件在发展,我真心希望我们国家发达起来!富起来!
Paby于2003-10-19完成
 

loy

普通会员
2003-06-01
13,680
0
36
在别的地方看到了这个贴子~~~觉得写得还不错~~~~由于目前好多的手机相关的软件都是E文的~~~希望大家一起参与到汉化软件的队伍来啊~~~哈哈~~~这篇文章号称菜鸟汉化入门篇~~~loy对汉化也不了解的~~~让我们一起来看吧~~~~~



软件汉化三步曲
面对网络一箩筐的软件,有多少的精品却依旧是英文界面,让我们在使用过程中寸步难移。特别是像我们这样的“爱国者”,英语不愿意学习,却有对国外先进有趣的软件非常热爱,为了不让自己面对着英文的界面摸不着头,那么就让我们一起来学习汉化软件吧。
首先大家要熟悉的是,我们汉化的对象软件是用什么程序语言写的。我在这里把它们主要分为两类,第一类就是比较Delphi,Visual C++,由这两种语言写的程序可以使用可视化的汉化软件进行汉化;第二类就是VB,它虽然用来编程序比 Visual C++ 容易多,但是汉化起来却比 Visual C++ 困难得多。那么,我们就兵分两路,分别讨论如何汉化这两类软件的资源。
第一曲:汉化秘密武器之亮相
当然,在动手对软件进行汉化之前,我们需要准备好“武器”。在这里,我就推荐大家使用4个我常用的武器,它们分别是:
ResScope :ResScope的功能及其强大,我是非常热爱它的,比国外的EXECOPE和RESHACK不知道好了多少,它可以编辑32位软件和16位软件。对于32位软件还可以增加资源尺寸,理论上可以无限增大,而且它使用内存载入资源分析,所以被分析的程序不会被独占,使得在分析期间仍可使用。(不是大多数采用的传统的文件映射方式),而且ResScope拥有非常出色的资源分析技术,内置的文字编辑器与16进制编辑器是由较低层的控件编写的,使资源载入比较快,编辑也很方便。它还拥有很出色的资源预览技术,可以实际创建被预览的Menu和Dialog,对于Dialog,还可以预览其中的Menu,Icon,Bitmap和Windows下的大多数控件,如:SysListView32等。
FreeRes :功能最为强大的脱壳软件,几乎所有的软件,无论经过什么加壳软件的压缩,都不能逃脱 freeRes 的眼睛,freeRes 的动态资源分析方法是绝对不会失手的。使用FreeRes释放压缩的资源以后我们就可以对有加壳保护的软件进行编辑。只能用一个字形容它的强大:神!但是,我并不保证最新的加壳技术会阻碍它的分析。
GetVBRes:我发现的唯一可视化汉化VB软件的精品,GetVBRes 弥补了 ResScope 对于非标准格式资源的处理的不足和ResScope,FreeRes系出同一作者。
UltraEdit:这个我不用多介绍了吧?大名鼎鼎的16进制编辑器, 超级文本、网页、程序编辑器。对于进行C/C++、VB、HTML、Java、Perl甚至FORTRAN和LaTex的编辑非常便利。

第二曲:拿起武器砍向E文软件
准备好了武器,我们就要对E文进行进攻了。首先,备份要汉化的软件,然后用Rescope打开我们需要汉化的软件,我就以汉化一个游戏的过程进行详细的说明,以此来帮助大家认识汉化,走近汉化吧。打开文件了吧?什么!出错了?(出现如图1的错误):



别急,这个游戏是作者为了防止别人非法修改以及压缩软件的体积而对软件进行了加壳,我们这个时候就要请出救星了――FreeRes!使用FreeRes打开文件,这时候出现了一个对话框(如图二):



当然,我们是要汉化它的,点击“是”对这个游戏进行释放资源。这个时候我们就可以看到里面的资源了吧?如图三:



但是,现在我们仍然无法对里面的资源进行汉化,我们需要重新建立可编辑资源。这个重要的工作当然是由FreeRes来做了。点击菜单中的“功能”,从下拉菜单中选择“建立可编辑资源”。这时候,FreeRes就会对软件进行重建资源。如图四:



退出FreesRes。我们重新使用Rescope打开刚才已经重建可编辑资源的游戏软件,这时候不会出现错误的对话框了吧?如图五:



这是一个Delphi编写的游戏,看到里面的资源了吗?这时候我们的汉化工作就算完成了一半了,这剩下的一半就是要求我们的E文功力了。凡是看到单引号内有E文的,我们就要对它进行汉化,如图六: ,Caption是标题的意思(天,你别说你把Caption汉化了),而“=”号后面的 ’ Fructus’就是我们要汉化的目标,当然,这个意思是水果!……(倒!你不会?那就查查你的金山词霸吧),当然,遇到不会的单词就去查查词霸,里面的解析也许不是非常准确,这就要求我们去测试使用这个软件或者游戏,然后找到这个窗体的标题,看这个窗体是什么内容,综合下来,我们才能准确地翻译出这个是什么意思!点击菜单里的
按钮,我们就可以运行测试汉化中的程序。
找到所有的内容汉化完毕之后,我们就可以保存了。看看,这个就是我们刚才完成的汉化作品,如图六:



汉化是不是很简单呢?是的,只要你有耐心和时间,找到一切的可汉化资源,并且能够相当准确地翻译成中文意思,那么,你就是汉化高手!(我不是………5555555555)
第三曲:程序特务VB之汉化
称VB为程序中的特务一点也不过分,我实在是太难找到它的资源进行汉化了。相信汉化者都害怕VB,VB的资源格式和普通的VC类或是Delphi软件不同,因为它的资源大多是保存为 UniCode 字串格式,如果没有什么汉化经验,我建议大家不要去碰VB的软件!但话又说回来,既然谈汉化,就必然要涉及VB的汉化了。在这里,结合自己的汉化经验,我提供一些技巧给大家,希望对大家有用。
当然,ResScope是不支持VB程序的,你用ResScope打开VB程序的话,只能看到版本信息,并不能看到编辑 VC 时看到的菜单、对话框等资源。所以我们首先要请出的是GetVBRes,这个软件给我们汉化VB提供了非常友好的可视化界面,但是由于软件并不是非常的完善,我们可以对VB程序进行基本的汉化,却不能完全汉化VB,因为VB有许多字串的限制,我们还需要结合16进制编辑器 UltraEdit 进行编辑。
使用GetVBRes打开VB程序,我就以一个有名的录音软件Advanced MP3 WMA Recorder 为例吧,它是使用VB程序编写的,当然,原版本经过了加壳,我们同样使用FreeRes进行脱壳以后再对它进行汉化。我们进行初步的汉化,只要你功力够高,可以很容易地用GETVBres将资源全部汉化完毕,注意:如果你追求完美汉化的话,要是遇到中文比英文字符长度长的先把它译一半,比如原来资源是是&File但是我们要汉化成“文件(&F)”比原来的字符多了3个,就先把它译成“文件(”剩下的先别理它, 如果遇到中文比英文短的就容易翻译了,直接翻译全部,然后再选中$20(空格)就行了,意思就是多余补空格,英文字符串比中文的多多少就补多少。千万要记住这一点,这也就是汉化VB程序的关键部分了。经过一般玩弄以后,如如图七:



好,运行看看,如果没有问题的话,我们保存下它来,然后运行UltraEdit打开这个VB软件,修改刚才没有翻译完全的语句。实战一下,刚才软件中有一个名位“&File”的需要汉化的字符,我们的目标是要汉化成为 “文件(&F)”,大家明显的知道“文件(&F)”比“&File”要多出3个字符,也就是“&F)”,当然,你可以选择删除这个快捷键的显示【(&F)的意思是使用快捷键F】,但这也就达不到我们完美汉化的目的了。首先我们要查找“文件(”(刚才翻译了一半的那个)查到以后就在“(”的后面点击右键,在出现的菜单中选择16进制插入删除,然后在弹出来的对话框把插入选中,在空白部分填3然后点击确定。接着就改字符串的长度现在我们插入了3个字符,长度就要由原来的5变成8,每个单词的长度就是在每个单词前面的00的前面,现在我们把05改成08,接着用UltraEdit新建一个文件,在里面输入&F)然后再选择编辑-16进制编辑,看左边的代码是多少,然后就把他输入到原来插入的那3个字符里,那3个字符原来是20 20 20 现在改成26 46 29,我们就算把一个单词改完了。使用同样的方法对付其他的单词,但是要注意的是,一定要对应地把英文字符串比中文多的地方要给英文字符串比中文少的地方,使其平衡。当然,这个过程也十分的复杂,我就不多介绍了,大家知道是如何汉化VB的方法就OK了。想要进一步深化自己汉化VB的功力的话,那就要认真学习了,中国有名的汉化基地是――汉化新世纪,里面有好多高手会帮助你的。:)
综合来说,汉化是一个艰辛的过程,记得汉化新世纪的站长曾说过:“在今后的某一天,当我们再次回顾汉化新世纪的成长时,真心希望我们的汉化新世纪已经没有存在的意义,因为那时候,中华的IT事业已经处于世界的颠峰!”,中国IT事业在发展,中国软件在发展,我真心希望我们国家发达起来!富起来!
Paby于2003-10-19完成
 

loy

普通会员
2003-06-01
13,680
0
36
后续的一些高手的帖子:

对于加壳的程序,不适宜用 FreeRes 来对付,它不是脱壳软件,解出来的程序一般无法汉化其非标准资源~


呵呵,都说是菜鸟第一次写文章嘛,谢谢高手指导。关于FREERES,我想能够解压的软件是很多的,譬如WIN优化大师,但是脱壳这方面我比较缺乏知识,还忘雨兄多多关照。一般来说,Freeres能够解压的软件基本都能汉化过来,对于初级汉化的人来说是一个不错的选择。进一步考虑,脱壳的软件也不少,可真的能够开发出一个像Freeres那样简单重建资源的工具就好了,汉化几乎会没有难度吧?


Freeres释放的资源非标准资源一般都是找不出来的。
就象winlock这个软件,如果不手动或者找相关脱的话,你有很多非标准资源都是无法汉化的,那么汉化出来的东西都是不完整的东西了。


freeres只是重建了.rsrc段,也就是资源段,所以只能解放标准资源,非标准资源一般在code段,用他肯定是不行的,而新世纪一般是以非标准资源来验证汉化程度的,所以肯定不能通过新世纪发布了


难怪我总是有很多资源汉化不了,原来是这个原因。
真是与君一席话胜读十年书哪
以前很少上网,汉化的软件都是自己使用
现在安装了宽带,呵呵,哪位高人可以收我这个乡下人为徒呢?
 

uodo

普通会员
2003-06-05
198
0
0
好帖子!
我已经申请加分了!


loy继续努力啊!
 

loy

普通会员
2003-06-01
13,680
0
36
:$ 还真给加分了啊??呵呵~~

那我再给大家个汉化好软件吧~~~~

--------------------------------------------------------------------------------------------------------

软件名称 Alchemy CATALYST
软件版本 5.0 Build 3037 
软件类别 界面汉化 
汉化作者 吕达嵘

软件介绍:
??是一款与 Visual Localize相似的功能强大的可视化软件本地化工具。支持 VC、VB、.NET、文本等软件的本地化。 CATALYST 的特色包括:方案以资源树的方式显现;与 LocStudio一样也支持“伪翻译”;支持 .rc 文档的可视化编辑;可以在不建立方案的情况下直接对某个资源文件进行操作;支持利用字典自动翻译,提供外挂字典功能;可修改图片及图片组;可以自如地建立、维护、导入、导出字典文件;对于新版本的文件可以快速更新翻译。新版本加入了对 XLIFF 本地化的支持,其主页上称是第一个 XLIFF 的可视化工具集。

汉化说明:

1。请选安装 CATALYST 5.0 Build 3037 原英文软件。
2。注册方法:解压缩 crack.zip(汉化新世纪的原版中附带), 安装 HASPEmulPPEw2k.EXE 文件,然后将 Haspnt.sys 文 件复制到其 \DRVs 目录下,覆盖原文件,再点击 Cat.reg 文件导入注册表,然后运行 HaspEmul,若是第一次运行他 会询问是否重启动系统。在此感谢 emp002 提供注册方法!
3。解压缩汉化补丁到临时目录,运行补丁,选择 CATALYST 的安装目录进行汉化。
4。此版本支持 Delphi 汉化的插件。但默认为不使用,如要 使用,请先到 \Tools 目录中将 Delphi.dll 文件复制到 CATALYST 的根目录,也就是与主文件 catalyst.exe 在同 一目录下。然后打开菜单“工具”--“选项”--“自定义 编辑器”,选择“添加”,资源类型填:“10”,描述名 称填:“Delphi 窗体”,编辑器 DLL 填:“Delphi.dll”。 确定后,即可打开 Delphi 编制的程序进行汉化。
5。这一版本的汉化主界面有部分字体极小,本人水平有限, 无法解决,如有高人能修改,请务必来信指点:)


原版点击下载 (52518KB)

原版点击下载地址2 (52518KB)


汉化点击下载 (712KB)

汉化点击下载地址2 (712KB)


建议使用 网际快车 FlashGet 单线程或直接用 IE 点击下载,不要用蚂蚁下载!