中国DOS联盟论坛

中国DOS联盟
-- 联合DOS 推动DOS 发展DOS --

联盟域名:cndos.rths.ml  论坛域名:cndos.rths.ml/forum

DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

» 游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助

 

<<   [1] [2] [3] [4]  >>   >
作者:
标题: 菜鸟DOS软件汉化终结教程(附实例,保证学会!) 上一主题 | 下一主题
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『楼 主』:  菜鸟DOS软件汉化终结教程(附实例,保证学会!)

菜鸟DOS软件汉化终结教程(附实例,保证学会!)

菜鸟之作,老鸟就不用看了,免得说我浪费您的时间。

所有操作都是在 windows 中完成,VPC 虚拟电脑中测试,保证学会,废话不讲了,直接切入核心吧。

1. 需要的工具(您准备好了吗?)
    (1). 下载李国印的英文软件提示信息永久汉化工具  ercwin5.zip  版.
下载页面: http://www.esnips.com/web/erctool
    (2). 准备 UltraEdit, 这个不用多说了, 相信都认识。
下载页面: http://www.orsoon.com/Soft/4925.html
    (3). VPC 虚拟电脑软件一个(我的是 VPC 5.2)。
下载页面: http://www.orsoon.com/Soft/2392.html
    (4). CUP386 脱壳机一个(最强大的解密脱壳软件)。
下载页面: ftp://ftp.sac.sk/pub/sac/pack/ucfcup34.zip
    (5). UPX 加壳机一个(大多数老外的软件都是用它加壳的哦)。
下载页面: http://www.orsoon.com/Soft/4190.html
    (6). WinImage 软盘镜像制作工具一个。
下载页面: http://www.orsoon.com/Soft/1815.html
选择菜单“Options-Settings”,然后点“Genenal”,在“Language”处选择“简体中文”,就是简体中文界面的 WinImage 了。
注册名:winimage
注册码:13D505DF
    (7). 好了,差不多了,再加上windows 的记事本,一个标准启动盘 .IMG 镜像(可用 CN-DOS 的标准启动盘),准备一个汉字系统(tw,CCDOS随你选)放到 .IMG 中,先到虚拟机试试,看看能否启动或加载汉字系统。

2.准备工作
    (1).安装李国印的英文软件提示信息永久汉化工具Windows版,这很简单,
但是当出现一个对话框 "注册文件 C:\windows\system32\expsrv.dll" 时出错,

单击 "忽略(I)" 按钮,安装完成后用原压缩包中的 "软件汉化.CAB" 中的 expsrv.dll 替换掉 C:\windows\system32\expsrv.dll 同名文件,到此安装成功!
    (2).将 CUP386.com 等解压到 c:\do 目录, 写一个简单的批处理 do.bat
@echo off
set str=程序名.扩展名
cup386 /1 %str% c%str%
当脱壳完毕后,脱壳后的程序名为原程序名前加上一个 c字符区别。

3.开始汉化
举个例子,比如汉化 RAR2.50 注册版,试试看。
附件原英文注册版为:  http://rthost.fam.cx/cndos-up/img/878.rar
(1)第一步:脱壳解密
记事本打开 rar.exe 初探一下,发现全是乱码,没有几个英文字符串,估计是加壳(又称加密)了。小提示: 像 MS-DOS 7.10 的 IO.SYS ,COMMAND.COM 等他们的英文提示字符是明文在内面的,所以要汉化它们就简单一些,至少无需脱壳解密这一步。因为老外的大多数程序都是用 UPX 加密的,所以对于菜鸟,最简单的方法就是,先用 Upxshell 脱壳试探一下,结果发现:

这表明 RAR.EXE 不是用 UPX 加密的。小提示: 如果记事本打开初探时发现有 UP .. X 等之类的字符,则大多都是加的 UPX 壳,下面就用 cup386 脱壳。
跳转到 c:\do 目录,并把要脱壳的 rar.exe 放到 C:\do 和 CUP386 同目录中。
适当的将 do.bat 中的 set str=程序名.扩展名 更改为 set str=rar.exe 如图:

然后双击 do.bat 执行脱壳(因为要扫描入口点,可能要一些时间,请稍等...)。不一会,就脱壳成功,产生了一个 crar.exe ,将其拷贝到其他非 C: 盘目录并重命名为 rar.exe 。我这里就放在 D:\ 下了,注意:一定不要放在 C: 盘。
(2)第二步:软件汉化
打开李国印的英文软件提示信息永久汉化工具,并单击 "提取提示信息" 按钮,选择脱壳后的 rar.exe 我这里是 D:\rar.exe ,这里有三个单选 "功能选项":

对于菜鸟,为了汉化能够尽可能的成功,最好遵循下属推荐的几个原则!
     i)先使用全自动提取,当这步汉化完毕并调试没有问题时,再
     ii)使用半自动提取,用来汉化一些残留的未提取到的英文字符串
     iii)上两步都完成后,用 UltraEdit 进行扫尾工作,即手动替换一些依然残留的英文字符串,使汉化进行彻底。
下面我们一一讲述:
    第一步: 先单选 "全自动提取" 然后确定,全自动提取完毕后在 "软件汉化" 对话框中单击单击 "否(N)" ,然后单击 "汉化提示信息" 按钮,开始逐行翻译字符串,你也可以单击 "翻译" 按钮,将机器翻译的信息供参考并修改,如果您觉得翻译困难,把金山词霸也开着吧,如下图:

下面讲述一下汉化时注意事项:
    ★.千万不要移除或翻译 %c %d %s %ud %uld %d.0%d 等等什么的,因为它们将作为程序的可替换参数.
    ★.汉化行中的 $ ,$$  等等字符要和对照行中上下对齐,因为 $ 它们可能是程序通过指针访问内存地址,如果位置变了,程序便汉化得崩溃了或 CPU 错误了。
    ★.一个经验常识,汉化行的字符串长度不得超过对招行的长度,特别是您使用 "编辑" 按钮打开写字板进行批量翻译时要注意的。

我们继续翻译吧,您可能要每汉化一段时间,就得到虚拟电脑中测试一下,以便及早的发现错误,并修正之...,保存后单击 "建立汉化软件" 按钮,在下面的对话框中单击 "否(N)" 以免出错

最后单击 “是(Y)" 替换原英文软件。
用 WinImage 将部分汉化好的 rar.exe 和注册文件 rar.cfg 一起用鼠标拖入一个带汉字系统的 .img 镜像中测试看看...

还不错,继续汉化,返回后单击 "汉化提示信息" 进行修改和汉化剩余的行。不断重复上述操作,直到将 rar.exe 进行的第一步汉化完毕,我们发现,经过第一步,已经汉化了大部分英文了,但还是有少部分未汉化到。
如果您觉得有什么疑问,发一个此时的文本文档,对照看看:
下载链接:http://rthost.fam.cx/cndos-up/img/895.rar
    第二步:重新提取已经汉化大部分的 rar.exe 的英文字符串,此时选中 "功能选项" 中的 "半自动提取" 进行手工筛选英文字符串。先备份一下这个半汉化的 rar.exe 比较好一点,小提示: 进行此操作之前先任意全自动提取一个小体积的 DOS 软件,然后再半自动提取 rar.exe 以防止,你半自动提取后保留的还是上一页全自动提取时的内容。
     在这个内面,发现好像没有什么太多的英文字符串了,把 Line up,Line down,Char right,Memory,和 Settings 等几个单词翻译好后,存盘替换就可以进行第三步扫尾工作了。
    第三步:使用 Ultra Edit 手工替换残余的英文字符串,使汉化彻底。
同时用记事本和 Ultra Edit 打开此时的 rar.exe ,看看记事本中,原来的英文字符串已经变成大多 "中文" 串了,如图:

在 Ultra Edit 中,单击 Ultra Edit 中的 "搜索" — "替换" — 并勾选 "查找ASCII" 复选框 将上图中的 wait 替换为等待并保存。

不断重复上述步骤,直到将残余的英文串替换为汉化串为止:
进行替换时注意事项:
   ★.替换的中文串长度必须少于或等于被替换的原英文串长度,一个汉字相当于两个英文字符长度,如果中文串长度少于原英文串长度,必须用空格补齐以达到和原英文串相同的长度。
例如英文软件中有一字符串 We chinese Super Hacker! 替换为 我们中国高级黑客 时,你不需去数原英文串长和现在的中文串长,从而计算后面补多少个空格。
根据上述原理,您可以另开一个记事本,输入这两行内容,您只需要保证选中时,两行尾部是对齐的即可(替换超长串可采用这种方法).

然后粘贴到 Ultra edit 进行替换即可
    上述工作做完后,整个汉化已经快接近尾声了。
    第四步: 打开 UPX shell 压缩加壳汉化的软件,压缩后也要检查看是否可以正常使用:

看,体积减少了一多半,经过测试,发现可以正常使用,到此为止,整个软件汉化完毕!

菜鸟们都学会了吗,您可以先找一些简单的软件来练练手,比如汉化 Free DOS 的 command.com 来个中文 FreeDOS 等什么的,NU2002 的 unformat 等...进而弄个简体中文的 PQ 8.05 Seriver 版用用.
汉化完毕后别忘了发个帖子,与大家共享哦,我也在收集大量的中文软件...

最后贴上一个附件:
rar 2.50 压缩器汉化注册版下载:http://rthost.fam.cx/cndos-up/img/901.rar
另外再贴上一整理过的 zk.xls ,已经整理,内含 6600 多个专业计算机英语词汇,替换掉 C:\Program Files\软件汉化 下面的同名数据库即可,让菜鸟进行机器汉化时也尽量的准确释义共参考和修改。
zk.xls 下载链接: http://rthost.fam.cx/cndos-up/img/903.rar

注意: 如果本帖无意中触犯了你的权利,请来信 xiaoyun32767@163.com ,我将在 24 小时内将其删除。

[ Last edited by xiaoyunwang on 2010-1-10 at 23:49 ]

   此帖被 +30 点积分       点击查看详情   
评分人:【&sid=Oyx7Wg 雨露 分数: +30  时间:2008-10-16 11:09





生命源头 www.shengmingyt.cn
2008-10-9 09:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 2 楼』:  

不错,教程比较详细;软件选择适当,有的我也反复使用过,如CUP.com。
不过,我一般不搞汉化,直接用原版软件——因为我是学英文的。



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2008-10-10 19:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『第 3 楼』:  

^_^^_^本是过奖了,真没想到,第一个看完回复的还是高手 —— 本是大师,以后当我学习数据结构时,很想和你探讨探讨,不过我没太大信心,况且是自学,因为很多人都说数据结构太难,我想问问,软件开发真的那么高不可测吗?......

[ Last edited by xiaoyunwang on 2008-10-10 at 21:34 ]

2008-10-10 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bc12060101
银牌会员





积分 1455
发帖 712
注册 2006-1-20
状态 离线
『第 4 楼』:  

嘿嘿,很不错的教程,学习了。多谢!

2008-10-10 21:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
liguoyin
初级用户





积分 143
发帖 65
注册 2006-4-26
状态 离线
『第 5 楼』:  

感谢搂主xiaoyunwang对《英文软件提示信息永久汉化工具》进行的实例演练!
大家知道,软件尤其是windows软件结构和代码的复杂性,给汉化工作带来了一些难以预料的问题,比如说提示信息的开始符和结束符的随机性,就有可能产生提取时的必然遗漏,在这方面xiaoyunwang大胆采用了一些辅助工具和软件,确保了汉化工作的有效性和彻底性,并且对字库进行了有效的扩充,这无疑对刚刚接触汉化工作的初学者来说是一大福音!在此我代表所有使用《英文软件提示信息永久汉化工具》的网友们致以最崇高的敬意!
软件汉化是一项非常复杂和细致的工作,需要有坚韧的毅力和吃苦耐劳的精神,在此教程中,从软件的安装、汉化、调试一直到永久汉化软件的成形,从软件的使用、注意的事项以及避免问题的发生等环节均给与了细致入微的讲解,可见xiaoyunwang付出了巨大的心血和努力,在此表示衷心的感谢!
因《英文软件提示信息永久汉化工具》在开发过程中没有采用按照资源结构的方式开发,目的是兼顾原有的DOS系统软件的汉化,因此本汉化软件在提示信息的提取速度上还不尽人意,自动汉化的字库、功能以及效果也存在一定的问题,请大家予以谅解!
另外给大家提示几个使用方面的小技巧:
1、将光标移至“对照行”三个字的位置,就会列出此行最原始的英文信息,以便对照。
2、在翻译过程中,请随时点击最下边提示行中的磁盘标志以保存汉化的信息。
3、若需要查看此行在软件中的具体位置、前后关系以及十六进制代码,可随时双击磁盘标志左侧的空白位置。
最后欢迎大家交流使用心得!

2008-10-13 17:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by liguoyin at 2008-10-13 05:08 PM:
感谢搂主xiaoyunwang对《英文软件提示信息永久汉化工具》进行的实例演练!
大家知道,软件尤其是windows软件结构和代码的复杂性,给汉化工作带来了 ...

原来是软件作者,佩服了,祝天天好运,希望有一天我也能像你一样的会编程。

2008-10-14 08:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
雨露
管理员

DOS非常爱好者


积分 6193
发帖 2590
注册 2006-1-20
状态 离线
『第 7 楼』:  

李国印的英文软件提示信息永久汉化工具对小软件汉化确实不错!大一点或复杂一点的就容易出错,中途得不停的备份才行,还不如Editer2,要是有升级版的就好了!
另外:UPX shell 压缩加壳速度远远不如DOS版的UPX.



2008-10-16 11:09
查看资料  发短消息 网志  QQ   编辑帖子  回复  引用回复
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by 雨露 at 2008-10-16 11:09 AM:
李国印的英文软件提示信息永久汉化工具对小软件汉化确实不错!大一点或复杂一点的就容易出错,中途得不停的备份才行,还不如Editer2,要是有升级版的就好了!
另外:UPX shell 压缩加壳速度远远不如DOS版的UPX.

大型软件汉化过程中容易出现断行的现象,因此进行汉化覆盖是会出错,并报告记录号 xx 的,你可以单击 "编辑" 按钮打开写字板,将出现断行的那个空白行(记录号 XX 的行)一个退格键补齐(就是删除那个空行)并保存写字板就行了.

[ Last edited by xiaoyunwang on 2008-10-22 at 09:27 ]

2008-10-21 22:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
雨露
管理员

DOS非常爱好者


积分 6193
发帖 2590
注册 2006-1-20
状态 离线
『第 9 楼』:  

往往是出现错误"63"然后自动退出.

用这软件汉化XMSDSK\CTMOUSE 这些只有几十行的不容易错,5、6千行的就不好了,错得太多。

还有一个要请教一下:汉化时C:\erctool目录下约6个文件必须备份,好像少一个都不行。而不像楼主说的是XXX.TXT文件备份好就行了。



2008-10-22 10:00
查看资料  发短消息 网志  QQ   编辑帖子  回复  引用回复
winxp168
新手上路





积分 8
发帖 4
注册 2008-10-8
状态 离线
『第 10 楼』:  

支持`
新手必须学

2008-10-22 14:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by 雨露 at 2008-10-22 10:00 AM:
往往是出现错误"63"然后自动退出.

用这软件汉化XMSDSK\CTMOUSE 这些只有几十行的不容易错,5、6千行的就不好了,错得太多。

还有一个要请教 ...

我记得汉化 Loadsys.exe 和 Access DOS ,行数也上千,那的确会出错,出错后软件自动退出,但是我根本没管那个 C:\erctool 中的任何文件,出错时,再重新打开 汉化工具 ,工具保留上次那些汉化的信息,我单击 "编辑" 按钮,在写字板中找到出现 "空行" (即脱节了,出现断行,很显眼的,相当于文档中有几个空行)的位置然后一个" ← "退格键,就将上下行链接起来了(让其连续不要出现空行,如果有就删除),还有在写字板的最末行,光标应位于下一个空白行的开始处(不是最后那行的行尾, 一个回车到下一空白行的开始处),然后保存. 如果因为断行,被替换的汉化软件结构已改变,只需把原脱过壳的英文软件拷过来覆盖,然后单击"软件汉化"将其汉化信息写入就可以了,要备份的文件就是那个刚脱过壳的英文软件,其它没有什么要备份啊。

[ Last edited by xiaoyunwang on 2008-10-22 at 15:20 ]

   此帖被 +2 点积分    点击查看详情   
评分人:【&sid=Oyx7Wg 雨露 分数: +2  时间:2008-11-1 16:48


2008-10-22 15:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
雨露
管理员

DOS非常爱好者


积分 6193
发帖 2590
注册 2006-1-20
状态 离线
『第 12 楼』:  

能提取汉字吗?



2008-11-5 08:11
查看资料  发短消息 网志  QQ   编辑帖子  回复  引用回复
xiaoyunwang
高级用户




积分 939
发帖 374
注册 2007-10-17
来自 湖南张家界
状态 离线
『第 13 楼』:  

提取汉字?

这个软件不行,搞英化吗? 用 UltraEDIT 手工做太麻烦,英化不太现实,一段中文翻译成英文,长度太长了,不能达到和源中文串相同的长度(必须要截去一部分单词,这样英化词义不准确了)。我指的是 DOS 软件。 windows 之类的软件汉化或英化另有其法,我没做过,不好介绍,但有此类的汉化工具。




生命源头 www.shengmingyt.cn
2008-11-11 11:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
雨露
管理员

DOS非常爱好者


积分 6193
发帖 2590
注册 2006-1-20
状态 离线
『第 14 楼』:  

仔细看了一下说明,不能提取汉字字符!
这个软件很久没有更新了!!!使用时还得与editer2结合才行!
网上还有一种永久汉化2000,但都是教程,看不到下载地址



2008-11-11 12:43
查看资料  发短消息 网志  QQ   编辑帖子  回复  引用回复
liguoyin
初级用户





积分 143
发帖 65
注册 2006-4-26
状态 离线
『第 15 楼』:  

首先感谢对《英文软件提示信息永久汉化工具》的关注!
针对上述大家提出的问题,答复如下:
一、关于版本的升级问题
    上世纪九十年代,在使用从网上下载的英文工具软件的时候,遇到的最大难题是,面对满屏的英文信息不知所措!可想而知,像我这样对英语一知半解的大有人在,何不把英文软件汉化了再用,岂不方便自己也方便他人!强烈的好奇心使我一发不可收拾,非要自己开发一套免费使用的汉化工具软件。自己虽囊中羞涩,但业余时间有的是,于是乎采购并查阅了大量的技术资料,并着手软件结构、代码的编制工作。当时dos和windows软件并存,但软件结构大相径庭,为兼顾dos和windows软件的汉化,于是屏弃了按windows资源结构开发汉化工具的念头,采取了按软件信息编码结构开发软件的方法。这样既可以快速解决dos软件的汉化问题,也适用于windows软件的汉化工作。最初的软件是在dos环境下开发的,后来按照大多数网友的一致要求,才改写成了windows版本。其间,因业余时间较为充足,dos和windows版本分别升级了好几个版本。到2002年,单位因工作需要让我负责整个系统的信息化网络的筹划、设计和建设等具体的实施工作,至今仍是晨钟暮鼓的工作,的确难以拿出时间和精力用在软件的升级开发上,于是中结了版本的升级工作。
    在之后的时间里,很多网友给我提出了修改意见,并提出了大量的改进建议,小到界面的美观、大到功能和性能的提升等等,还有的想把我的免费软件提升为共享软件,愿意出资共同开发,以收回投资并取得盈利,这个我当然断口否决了!目的只有一个,苦了我一人,方便千万家,自当我为国家的信息化建设做了点力所能及的贡献罢了!当然此行为触怒了一部分利益熏心的人,对我的软件横加指责,作出了使我很生气的不雅举动,我对此置之不理,因为我相信,20几万软件使用人员是最具说服力的!我有信心,待我有时间和精力后,汉化软件的升级和免费将持续下去!
    雨露提到的软件汉化2000是较早期的版本,功能和性能不及2002.2.12版本,请不要花费精力查找了。永久汉化2000是某家软件公司的产品。

二、关于因断行出错退出问题
    由于软件结构和代码的复杂性,开发时虽经多个软件的严格测试,但一些难以预料的问题还是会出现的,比如楼上几位提到的断行问题,在开发时确实没有遇到过此类问题,此项BUG就不可避免地要发作了。解决的办法以上各位已经提到了,可在界面或写字板中删除就是了。

三、关于文件备份问题
    此问题涉及到两方面;
    一是汉化数据的适时保存。因开发时考虑的不全面性,难免有BUG和问题出现,待问题出现时就会自动关闭汉化软件,使前一阶段的汉化工作前功尽弃,为避免此状况的发生,我在汉化界面下边增加了一个磁盘标记和连接,以适时地保存汉化的信息。请大家在软件升级前要充分地加以利用。
    二是已经汉化数据的备份保存。开发时考虑到一次只能汉化一个软件的必备要求,在erctool目录下不管你汉化的是什么软件,其汉化的基本信息都用相同的文件名加以存储,以便汉化过程中随时予以调用。当汉化不同的软件时,原先汉化软件的基本信息文件的内容就会被替代。为做好已汉化软件的再修改工作,强烈建议将erctool目录下的文件全部予以备份,以防丢失,待需要修改时再拷贝到此目录下。软件升级时我会考虑此目录的编排问题。
    汉化过程中,没有必要备份此目录下的文件。

四、关于提取汉字问题
    因是基于对英文软件的汉化,没有必要考虑汉字的提取功能,已在帮助文件中提到了。

以上仅供参考,欢迎网友继续交流!


[ Last edited by liguoyin on 2008-11-12 at 13:09 ]

2008-11-12 12:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2] [3] [4]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  



[ 联系我们 - 中国DOS联盟 ]


Powered by Discuz! © 2001-2011