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

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

内容详情

收录时间:2010-05-26

标题

VB类程序汉化指南分析

已阅0
投稿须知

网站介绍

虽然玩汉化有一年多的历史了,但接触VB 类程序的汉化还是第一次。鉴于汉化过程中出现了好多的困惑,特将汉化过程简述一下,希望能为和我一样的朋友在汉化VB 类程序上有所帮助。

第一步,检测一下程序是否被压缩或加密。
  1、用 PE iDentifier v0.91(我习惯用它,其实 FileInfo v3.01 也是不错的选择) 检测到该软件加了 ASPack 2.12 的壳。
  2、用 UnASPack v2.12 脱壳后,再用 freeRes v0.94 处理一下(脱 ASPack 2.12 的壳也可以优先考虑一下 CASPR v1.100 )。
  3、用 PE iDentifier v0.91 再检测一下,可以看到该软件使用 Microsoft Visual Basic 5.0 编译。

第二步,对ASCII 和 Unicode 进行汉化

  用GetVBRes v0.80 打开程序,程序会自动查找ASCII和Unicode字符串并以列表的形式呈现给用户(如果你的机子够快的话,可以选择狂风VB语言汉化王v0.98)。找到需要修改的字符串后双击该行打开字串处理对话框,在这里我们可以对其字串进行翻译。需要说明的是,当汉化后字符串长度少于原字符串的长度时就需要用00或20添充。究竟该选择哪一种呢,除按钮及一些隐藏提示外建议“用2 添充”。如图:

\

修改完成后单击 [更新当前程序资源] 按钮。

  单击[运行当前程序按钮] 测试一下。怎么界面中还有许多英文呢,原来这些英文都是Unicode字符串,由于GetVBRes v0.80 本身的局限性找不到这部分资源,我们接下来手动完成。说到这儿也许有朋友要问,为什么不用《狂风VB语言汉化王v0.98》呢?其实,由于这部分资源的特殊性,它也无法查找到。另外,它提取的有些资源会重复一两次,而且它的加字功能还不够完善。

  还有一个问题,就是界面中字符串后出现了许多小正方形(提示: 如果在汉化时选择“使用00添充”遇不会出现这种情况)。不要紧,这是由于字体设置不当引起的,呆会儿我们解决。如图:

\

先修改“Cancel”。用 点睛文本编码查询v0.90 算出“Cancel”及"取消"的Unicode值,用UltraEdit v10.10b替换,如图:

\

我们用同样的方法做好其它的按钮。

  注意:此处按钮的修改。它是以Unicode的形式存在的,但长度标识是以ASCII的长度来计算的(好奇怪也),否则字符会显示不全或暂停功能损坏,修改如图:

\

至此,字符串资源的汉化已完毕。

第三步,修改字体及字号。

本来想偷个懒,用《狂风VB语言汉化王 v0.98》修改字体,不料竟出现了如图问题,只好手动来完成。

\

VB的字体块一般有个标准的结构,如图:
 

\

第一个字节表示此字体块所属的控件类型。

第三个字节代表“语系”,英文为“00”,简体中文为“86”。

第五个字节用来指示字体的风格。

第六、七字节共同组成一个双字节整数,表示字体的“粗体因素”。值一般为 90 01(规则) 或 BC 02(粗体)。

第八、九、十、十一字节共同组成一个四字节整数,表示字体的大小。9号字是“90 5F 01 00”。

第十二个字节表示字体名的长度,比如字体名是“Verdana”,则此字节就是“07”。

红色区域所表示的是字体名称。

  在汉化中,我们所要做的就是将第三字节改为“86”,将第八、九、十、十一字节改为“90 5F 01 00”,至于字体名称是不需要修改的,软件会调用系统默认的字体显示。

  接下来就可以用UltraEdit v10.10b等十六进制编辑器来查找修改了(可查找“010000009001”或“01000000BC02”)。

  那么,为什么“_”变成“0”和“X”变成“r”呢?原来这些按钮不仅仅使用了图像资源,而且使用了字符“_”和“X”,并使用了很特殊的语系“02”。《狂风VB语言汉化王 v0.98》会自动识别语系代码,并将其全部修改为“86”,导致按钮显示出错。对这一部分我们不作修改(共有5处)。至此,字体的修改已经完成。完成图:

\

当然,如果你觉得汉化后的控件位置不太好的话,还可以使用 VBEditor 调整一下。如图,静态文本和动态文本框的距离也太大了吧? 
 

\

如何使用 VBEditor 调整呢?如图:打开程序后,点击窗体“oneForm4”在其属性下拉列表框中依次选择控件“Text1(1) TextBox”和“Text1(0) TextBox”,对其进行修改。如图:
 

\

到这一步为止,所有的修改已经完成了。全面测试一下……OK!

因为乱码问题没有将上一个版本界面中的一句话翻译,真的没有办法解决吗?回答是否定的,那么来看一下如何解决吧。

\ 

VB 对我来说很生疏,一切还得碰碰运气。用《点睛字串替换器》抓一下,看到下面的代码了吗?
 

\

修改说明:

“rtf”是文本格式,修改为“txt”也可以。

“ansi”是一种语系,修改为“default”或“gb2312”都行,当然下一处也得改动。

“charset”是字符集,当然要改为“86”。

“Verdana”一种常见的字体名称,改为“宋体”(此处不同于 VB 程序中的常规调用,不改不行)。

“s”代表字体大小,改为“18”即可。(18——9号字,)

(这段代码很长,我也是根据其字串特点猜到几个,其它的还希望诸位朋友见教。)

修改后便可以正确显示中文了,可别太高兴哦,软件不支持中文朗读的。

\

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

同类站点推荐

评论

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

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

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

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