本站首页
DOS乐园
WIN3X世界
WIN9X精选
教育软件
输入码表
文章精选
DOS论坛
给我电邮
 
 
1、浅谈DOS软件的汉化
2、如何改造出超强的WIN98启动盘
 
一、浅谈DOS软件的汉化
  由于绝大多数DOS新软件都是英文的,不符合绝大多数国人的习惯,我觉得要做到推广新DOS软件,少不了经过汉化这一环。
  DOS下的软件汉化与WINDOWS9X的不同,WIN9X的软件其文字信息多数使用资源(我实际上不懂EXE文件格式,所以不作准确描述)存放,可以用专门修改文件资源的软件如EXESCOPE等找出来汉化。DOS中的文字信息分散在EXE文件各处,要修改起来相对困难得多,当然FOXPRO例外,在RICHWIN某些版本中有一个汉化了的FOXPRO菜单,可以用它轻易将FOXPRO的菜单汉化。
  要汉化DOS软件,最简单的方法当然是在UCDOS/CCDOS等汉字系统下,用PCTOOLS等的十六进制编辑功能将英文信息逐个修改,然而工作量也最大,效率则最低。
  当然DOS下也有东方快车等自动汉化软件,不过它汉化出来的意思往往难以做到准确,有时用这些软件汉化出来的还不如使用原来的英文软件方便,在这方面我也没有多作尝试。
  还有一种方法是使用文字信息提取软件,将一定长度的文本信息和位置信息从EXE文件中提取出来,成为一个TXT文件,对这个TXT文件进行修改后,再按照位置写回去,这里要注意的是修改后的汉字字符串长度不得长于原来英文字符串的长度。
  我这里主要介绍第三种方法,也推荐想进行汉化的朋友使用,这也可当成一种学习英文单词的途径。我使用的文字提取软件是龚成兵的EDIT2,用法很简单,如
   edit2 /s:4 ndd.exe ndd.txt
  就可将NDD.EXE中不短于4个字节的文字全部提取出来,存成NDD.TXT文件,用我们熟悉的编辑器进行编辑。文件里面是类似下面的字符串:
   *0000790A 0009┃Unable to┃
   ……
  前面是提取的文字在EXE文件中的位置和长度,不要修改。*号表示略过,不将修改后的文字写回NDD.EXE,所以如果要将修改后的文字写入就必须去掉*号。 后面夹在在表格符间的英文就提取出来的字符串,最好在CCED(或CCDOS97的ED,或CXDOS中自带的CXED)中并在表格锁定状态下进行修改,这样就不用担心修改后汉字的长度会长过原来的英文了。
  汉化时不妨加载希望辞海或译林英汉词典等,随时查阅不认识的单词。
  修改NDD.TXT之后,可以用
   edit2 /r ndd.exe ndd.txt
  将汉化后的信息写回去,然后在汉字系统中运行NDD测试效果,如果要作修改只需再修改NDD.TXT就可以了。
  有部分DOS软件使用了PKLITE等软件压缩,这时需要用UNP先将它们解压缩,然后才进行文字提取工作。
  希望有更多的朋友加入汉化行列,文中提到的软件都可在本站找到。