国外网站大全·环游世界互联网

当前位置:首页 > 汉化宝典 > >

内容详情

收录时间:2010-05-26

标题

VB程序汉化基本流程说明

已阅0
投稿须知

网站介绍

汉化一个 VB 语言程序的基本步骤如下: 

1、使用“VB 窗体汉化器”进行窗体的汉化; 
2、使用 LocPlus 进行 VB 字串的查找和替换; 
3、使用 LocPlus 进行 UniCode 的查找和替换;(在程序使用了控件时) 
4、使用 LocPlus 进行 ASCII 的查找和替换;(仅在程序使用了 Form 2.0 设计器时) 
5、进行字体修正。 

下面就以上述步骤详述VB程序汉化的全过程。

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

VB 窗体汉化器界面简介:

VB 窗体汉化器秉承了点睛系列简洁明快的特点。各按钮功能如下:

\

VB 窗体汉化器的汉化流程: 

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

下面以一个实用的小工具 RegCompare 为例详述 VB 窗体汉化器的使用流程:

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

1、窗体导出 

点击主界面“窗体导出”按钮左边的“...”选取要汉化的主文件 compare.exe,点击“窗体导出”按钮,完成后会有提示:  

\

此时会在同目录中生成扩展名.bin的窗体文件,并有一个扩展名.log的记录文件compare.exe.log,(此文件很重要,VB 窗体汉化器以后的所有操作流程均基于此文件)。很幸运的是RegCompare只有三个窗体文件:aboutbox.bin、Form1.bin、Form3.bin。如下图 

2、字串查找

导出窗体后,就要对这些窗体进行字串查找。

点击“字串查找”按钮,VB 窗体汉化器将对所有导出的窗体进行字串查找,并生成同名的.a.txt的文本文件,其中包含了我们要汉化的字串资源。如下图  

\

3、整理与翻译字串

此时我们不要关闭“VB 窗体汉化器”直接转到hanzify目录中,用任一文本编辑器打开这些文本(这里以Form1.bin.a.txt为例),将其中很明显不需要翻译以及一些无用的信息删除,形成一个简洁的对照文本,然后按照字串替换器的对照文本格式对文本进行翻译。

特别强调的是,在翻译过程中我们一定要忘记“借字”、“挖字”等概念,我们所要专注的就是翻译,也无需要担心什么“超长截断”,VB 窗体汉化器将会帮我们检查翻译后的字串长度是否符合要求,这就是VB 窗体汉化器的优越之处。 

\

4、字串替换

(1)、检查字串长度

所有文本翻译完毕后,点击“字串替换”按钮。会提示我们翻译后的字串总长度与原字串总长度之差。这一步一定要注意:每个窗体翻译后的字串总长度与原字串总长度相等时才能进行替换。记住每个相差的数字。选“取消”  

\

2)、调整字串长度

我们要尽可能选择那些不影响界面效果的字串来进行调整,而且尽可能只在同一字串中进行调整。

仍以Form1.bin.a.txt为例,上面提示翻译后的字串比原字串少32个字符,因此我们要设法在某一或某几个字串后总计添加32个字符,以保持“窗体平衡”。这里建议最好添加空格,这样的好处是如果替换后不影响程序运行且不影响界面效果,则可以省去后期用16进制工具填充00的过程。

图中“欢迎使用 KMCS Registry Compare!”为状态栏显示的文字,补空格后不会影响到程序的运行及界面效果。因此,在此字串后添加32个空格符(也可以添加其它易于识别的字符:如aaaaa、bbbbb.....等,只是要多做一步后期处理,图见“整理与翻译字串”第二幅图),其它文本类似处理。

如果翻译后窗体中字串总长度大于原字串总长度,则精简译文,以使总长度相等。

(3)、替换字串

调整完毕后,点击“替换字串”按钮替换字串,当所有窗体提示“长度相等”时方可“确定”,显示“成功替换!”。  

\

5、窗体导入

字串成功替换后,窗体中的相应字串已被我们翻译的中文字串所替换,此时的窗体已成为“中文窗体”,我们点击“窗体导入”按钮将这些窗体导入原程序。当显示如下信息时则成功。  

\

运行程序,显示中文界面。 

 \

测试一下功能:点击“生成第一幅快照”。嗯?状态栏怎么还有英文?

按照梁利锋的步骤,进行下面的操作 :

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

运行“字串替换器”选择“特殊”-->“查找 VB 字串”,选择C:regcomparehanzifycompare.exe,选中“英文和符号”(选此项提取得较全面,但会多一些无用信息),点击“查找字串”。查找完毕自动转到“编辑对照文本”,点击“编辑对照文本” 果不其然,字串就在其中。清除一些很明显不用翻译的部分及无用信息,将文本翻译完毕保存。选择“替换字串”,测试,成功。  

\

汉化后:

 \ 

三、使用字串替换器进行 UniCode 的查找与替换

咦?怎么“关于”对话框中还有一段英文?用Unicode的查找试一下,“文件”-->“查找Unicode字串”(具体步骤与查找VB字串类似,不详述) 
 

\

未能找到。只有进行ASCII查找了.

四、使用字串替换器进行 ASCII 的查找和替换

“文件”-->“查找ASCII字串”,终于找到了,同样将提取的字串进行整理,然后翻译,替换(类似于VB字串的查找与替换,不再详述),测试成功。(图见“字体的修正”一节最下方左图) 

\

五、字体的修正

通过以上操作,RegCompare基本汉化完毕。但有些窗体的字体不太美观,需要进一步修正。用Hex Workshop打开compare.exe,“编辑”-->“查找” 。

1、输入VB5!,并注意以下选项,找到后VB5!把后边的从*开始的几个字节改为vb5chs.dll(前提是计算机中有vb5的运行库.)

\

2、查找"010000009001 "与"01000000BC02"找到后看看后面有没有字体名,如果有则找对了地方,把010000009001 改为018600009001或把01000000BC02改为01860000BCO2并把找到的十六进制值后面的444201改为905F01,(注:9001,表示常规体,BCO2代表粗体有时改为905F01效果并不怎么样,可再改大一号改为DC7C01)。 至于字体名称可以不用改,偷一下懒吧。当然如果要改成其它特殊字体,还是要改为相应的字体名的。注意要修正的地方有多处,有几处"010000009001 "与"01000000BC02"后面并不是444201,这时千万别随意改为905F01,因为有些是标题,字号相对较大,如果改为905F01,会很难看。

\

见图:

\

六、控件的调整

字体是美观了,但界面中仍有一些不对齐的地方。为了完美软件的汉化,还需要进行细微调整,这就是控件的调整。

下面介绍一个工具名叫:VBEitor。用这个工具对控件进行微调十分方便,控件的大小、位置、字体、字号、前景、背景色等属性的调整易如反掌,并可进行图像替换等。 

\

在Regcompare的共享提示对话框中有一段字串没有对齐,很难看。将该控件的属性如图设置后,相对较为美观。  

\

 补充一下:
在VB6中有些字体设置形式为:“01FF00009001”或“01FF0000BC02 ”,也应该修改为“018600009001”或“01860000BCO2”。

另外,对于那些含有非VB控件的窗体(如 Deiphi)的字体,也要注意调整。

分享给小伙伴们:
站长头像赫赫无敌:探索互联网世界,收集和分享实用互联网资源,推荐国内和国外知名、实用、创新、科技、优质的站点资源!互联无极限,探索无止境;分享求真知,网络无国界!
更多>>

同类站点推荐

评论

关于我们|联系方式|版权声明|关于图片|友情链接|

分享互联网优秀资源-国外网站推荐

Copyright ◎ 2014 egouz.com, All Rights Reserved.| 目前收录国外网站 个!

国外网站大全 版权所有 冀ICP备11014106号-