论坛风格切换切换到宽版
  • 24736阅读
  • 38回复

[原]VB 程序汉化全流程 [复制链接]

上一主题 下一主题
离线匆匆
 
发帖
*
金钱
*
威望
*
只看楼主 倒序阅读 0 发表于: 2003-07-01
VB 程序汉化全流程
梁利锋在文章中把 VB 程序的汉化总结为以下几个步骤:
汉化一个 VB 语言程序的基本步骤如下:
  1、使用“VB 窗体汉化器”进行窗体的汉化;
  2、使用 LocPlus 进行 VB 字串的查找和替换;
  3、使用 LocPlus 进行 UniCode 的查找和替换;(在程序使用了控件时)
  4、使用 LocPlus 进行 ASCII 的查找和替换;(仅在程序使用了 Form 2.0 设计器时)
  5、进行字体修正。
下面就以上述步骤详述VB程序汉化的全过程。


一、使用“VB 窗体汉化器”进行窗体的汉化

VB 窗体汉化器界面简介:

VB 窗体汉化器秉承了点睛系列简洁明快的特点。各按钮功能如下:
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 1 发表于: 2003-07-01
VB 窗体汉化器的汉化流程:

窗体导出-->字串查找-->字串翻译-->字串调整-->字串替换-->窗体导入

下面以一个实用的小工具 RegCompare 为例详述 VB 窗体汉化器的使用流程
准备工作:由于VB 窗体汉化器是以窗体为汉化对象,会将所有VB窗体全部导出,因此会生成很多扩展名.BIN的窗体文件,所以先将要汉化的文件复制到一个单独的目录,同时起到备份的作用。此例中 Regcompare 安装于c:regcompare,在其中建立一个名为 hanzify 的文件夹存放主文件的副本。compare.exe 即为我们要汉化的对象。

1、窗体导出

点击主界面“窗体导出”按钮左边的“...”选取要汉化的主文件 compare.exe,点击“窗体导出”按钮,完成后会有提示:
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 2 发表于: 2003-07-01
此时会在同目录中生成扩展名.bin的窗体文件,并有一个扩展名.log的记录文件compare.exe.log,(此文件很重要,VB 窗体汉化器以后的所有操作流程均基于此文件)。很幸运的是RegCompare只有三个窗体文件:aboutbox.bin、Form1.bin、Form3.bin。如下图

2、字串查找

导出窗体后,就要对这些窗体进行字串查找。
点击“字串查找”按钮,VB 窗体汉化器将对所有导出的窗体进行字串查找,并生成同名的.a.txt的文本文件,其中包含了我们要汉化的字串资源。如下图
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 3 发表于: 2003-07-01
3、整理与翻译字串

此时我们不要关闭“VB 窗体汉化器”直接转到hanzify目录中,用任一文本编辑器打开这些文本(这里以Form1.bin.a.txt为例),将其中很明显不需要翻译以及一些无用的信息删除,形成一个简洁的对照文本,然后按照字串替换器的对照文本格式对文本进行翻译。特别强调的是,在翻译过程中我们一定要忘记“借字”、“挖字”等概念,我们所要专注的就是翻译,也无需要担心什么“超长截断”,VB 窗体汉化器将会帮我们检查翻译后的字串长度是否符合要求,这就是VB 窗体汉化器的优越之处。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 4 发表于: 2003-07-01
4、字串替换

(1)检查字串长度

所有文本翻译完毕后,点击“字串替换”按钮。会提示我们翻译后的字串总长度与原字串总长度之差。这一步一定要注意:每个窗体翻译后的字串总长度与原字串总长度相等时才能进行替换。记住每个相差的数字。选“取消”
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 5 发表于: 2003-07-01
2)调整字串长度

我们要尽可能选择那些不影响界面效果的字串来进行调整,而且尽可能只在同一字串中进行调整。
仍以Form1.bin.a.txt为例,上面提示翻译后的字串比原字串少32个字符,因此我们要设法在某一或某几个字串后总计添加32个字符,以保持“窗体平衡”。这里建议最好添加空格,这样的好处是如果替换后不影响程序运行且不影响界面效果,则可以省去后期用16进制工具填充00的过程。图中“欢迎使用 KMCS Registry Compare!”为状态栏显示的文字,补空格后不会影响到程序的运行及界面效果。因此,在此字串后添加32个空格符(也可以添加其它易于识别的字符:如aaaaa、bbbbb.....等,只是要多做一步后期处理,图见“整理与翻译字串”第二幅图),其它文本类似处理。
如果翻译后窗体中字串总长度大于原字串总长度,则精简译文,以使总长度相等。

(3)替换字串

调整完毕后,点击“替换字串”按钮替换字串,当所有窗体提示“长度相等”时方可“确定”,显示“成功替换!”。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 6 发表于: 2003-07-01
5、窗体导入

字串成功替换后,窗体中的相应字串已被我们翻译的中文字串所替换,此时的窗体已成为“中文窗体”,我们点击“窗体导入”按钮将这些窗体导入原程序。当显示如下信息时则成功。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 7 发表于: 2003-07-01
运行程序,显示中文界面。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 8 发表于: 2003-07-01
测试一下功能:点击“生成第一幅快照”。嗯?状态栏怎么还有英文?
按照梁利锋的步骤,进行下面的操作


二、使用字串替换器进行VB字串的查找与替换

运行“字串替换器”选择“特殊”-->“查找 VB 字串”,选择C:regcomparehanzifycompare.exe,选中“英文和符号”(选此项提取得较全面,但会多一些无用信息),点击“查找字串”。查找完毕自动转到“编辑对照文本”,点击“编辑对照文本” 果不其然,字串就在其中。清除一些很明显不用翻译的部分及无用信息,将文本翻译完毕保存。选择“替换字串”,测试,成功。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 9 发表于: 2003-07-01
汉化后