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

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

上一主题 下一主题
离线seeker

发帖
3126
金钱
0
威望
0
只看该作者 20 发表于: 2003-07-01
好文啊。
离线chenmy

发帖
2862
金钱
50
威望
5
只看该作者 21 发表于: 2003-07-01
QUOTE(匆匆 @ 2003年07月01日 15时03分)
2、查找"010000009001 "与"01000000BC02"找到后看看后面有没有字体名,如果有则找对了地方,把010000009001 改为018600009001或把01000000BC02改为01860000BCO2并把找到的十六进制值后面的444201改为905F01,(注:9001,表示常规体,BCO2代表粗体有时改为905F01效果并不怎么样,可再改大一号改为DC7C01)。 至于字体名称可以不用改,偷一下懒吧。当然如果要改成其它特殊字体,还是要改为相应的字体名的。注意要修正的地方有多处,有几处"010000009001 "与"01000000BC02"后面并不是444201,这时千万别随意改为905F01,因为有些是标题,字号相对较大,如果改为905F01,会很难看。

补充一下:

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

另外,对于那些含有非VB控件的窗体(如 Deiphi)的字体,也要注意调整。
我是中国人·最爱是中文!
离线拳拳

发帖
1879
金钱
0
威望
0
只看该作者 22 发表于: 2003-07-01
很详细啊:)
在目前没有新的工具出来之前,这是最好的方法了。
离线冯世磊

发帖
1211
金钱
10
威望
1
只看该作者 23 发表于: 2003-07-01
谢谢呀,新的工具会出现的
欢迎光临狂风软件:[kuangfeng.51vip.cn] 狂风BLOGhttp://fengshilei.51vip.cn
==============================
见他人行善,随之心生欢喜,称为随喜。《法华经.随喜功德品》载,听闻经典而随喜,次次累积,功德至大。《大智度论》则谓,随喜者的功德,胜于行善者本人。又随己所喜,亦称随喜,如布施时,富者施金帛,贫者施水草,各随所喜,皆为随喜。
离线拳拳

发帖
1879
金钱
0
威望
0
只看该作者 24 发表于: 2003-07-01
QUOTE(冯世磊 @ 2003年07月01日 21时28分)
谢谢呀,新的工具会出现的


呵呵,我就等着呢
离线拳拳

发帖
1879
金钱
0
威望
0
只看该作者 25 发表于: 2003-07-01
我把上次丢失的帖子(和冯兄讨论的)内容也贴在这里吧:)


冯世磊:
请大家说一下VB加字的经验,就是加字的时候怎么样来判断是否是一个模块?或者是一级的菜单?(排除用观察的方法),最近可能会出个VB的汉化程序


拳拳:
…… 转自 WWP:
如何确定 VB5(6) 中每个窗体的起止位置?
只有在同一窗体内的字串,才可相互借用。如何确定其起止位置?
向上查找“FFCC31”,这就是窗体的起始位。从“FF”往后数到第89个字节处,如果从 89 个字节起后面的 4 个字节是“06180000”(第 89 个字节前面是很多的“00”,“06180000”只是假设),则表示从“06”算起,到 1806h 个字节处是该窗体的终点。


拳拳:
冯兄,如果你只是要判断要修改的某字串是否在同一窗体内,其实可以更简单一点:
比如修改的字串为“About Monkey's Audio”(软件:Monkey's Audio 3.98 alpha 1),
向上搜索“ffcc31”,将此看作窗体的起始,然后再次向下搜索“ffcc31”,在这次查找到
的“ffcc31”前的部分看作窗体的结束(这里的“ffcc31”之前有一个到多个不等的“00”,可以不计在内)。如果向下搜索不到,就要用上法判断了。


冯世磊:
这种方法准确率高不高?


拳拳:
其实原理是一样的,所谓“向下搜索‘ffcc31’”,无非就是找到下一个窗体的起始位置,亦即变相判断了上一个窗体的结束位置。一般我在汉化 VB 程序时经常这样做,方便一点:)
不过,为保险起见,还是用通法吧。
看来冯兄是想把 VB 字串的借字处理方法也整合到功能里面去吧,期待^^


冯世磊:
要做,就要在初期规划主要功能,再慢慢的根据需要增删,第 89 个字节的四个字节怎么是00 00 00 00?怎么回事,我测试用的程序是E-Icons


拳拳:
这个软件是有点奇怪。
好久没碰 VB 汉化了,印象中好像记得:向上查找“FFCC31”时,从“FF”往后数到第 89 个字节处其后的这四个字节前面一定要有很多“00”(包括第 89 个字节往前面数有 36 个“00”),如果没有继续向上搜索直到符合要求为止。
梁老大的 VB 窗体汉化器可以准确导出窗体,你不妨请教一下他。


拳拳:
另外,有关 Unicode 字串的长度计数,有两种:一种是以一个字节为单位进行计数的;一种是以两个字节为单位进行计数的。比如 Unicode 字串“Help”,计数有可能是“08”,也有可能是“04”。
我碰到过几个例子,要汉化的某 Unicode 字串有几处地方,都需要汉化才能正常运行。还是以“Help”为例,长度计数有的为“08”,有的为“04”,汉化为“帮助”之后要相应地将长度分别改为“04”和“02”才行。有的软件却不是这样,例如 Monkey's Audio,依次修改计数之后反而出错。所以最好是要能够自定义修改计数值,这也是我在前面的帖子里提到为什么 Unicode 字串似乎更令人头疼的原因。
离线WWP
发帖
205
金钱
0
威望
0
只看该作者 26 发表于: 2003-07-01
好极了!

关于“清除很明显不用翻译的部分及无用信息”问题的补充:
翻译时可不管它,TXT翻译完毕后--见图。
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 27 发表于: 2003-07-01
先谢谢炎将此贴置顶!
感谢chenmy、WWP的补充
谢谢拳拳、Seeker、冯世磊

期待冯世磊的VB汉化工具!
离线ikki
发帖
*
金钱
*
威望
*
只看该作者 28 发表于: 2003-07-14
不错,写的很详细
离线匆匆
发帖
*
金钱
*
威望
*
只看该作者 29 发表于: 2003-07-27
一直不怎么会用这个论坛,昨天才发现有6条短消息。打开一看是几位汉化朋友的留言。有的说要帮我把文章做成 chm 的格式,有的说让我做好后给寄一份。对这些朋友的关爱表示感谢!其实 CHM 格式的文章我在7月3号就已做好(用gnatix兄的Far 汉化版编译),因为有400多K,所以就没有上传。
这篇文章是按梁利锋总结的 VB 程序汉化步骤写的,思路还是梁利锋的思路,只不过我做了一下细化。如果说梁利锋给大家开辟了一条全新的 VB 程序汉化道路,那么我只是这条路上的一个过路人,我走过,所以告诉别人怎么走。当然,要做好VB程序的汉化,不能单单只看一篇或几篇文章,很多先行者们总结出来的理论以及众多汉化人的实践经验都值得我们这些后来者学习与借鉴。
顺便给大家推荐几篇有关VB汉化的文章:
http://202.101.237.103/f/jwjjt/teach/singl...gle/unicode.htm
http://202.101.237.103/f/jwjjt/teach/vb/vb01.htm
http://202.101.237.103/f/jwjjt/teach/singl...gle/vb-font.htm
http://202.101.237.103/f/jwjjt/teach/vbgui/vbgui01.htm
这几篇文章是梁利锋、阿涛、伟乾等对 VB汉化的研究文章,阿涛做成了合篇,宝典中可找到部分。另外宝典中weiping的《汉化 vopt99的一点心得》、大宇的《VB汉化实践》和“精华”里飞速的《VB 汉化实践(教程)》都可综合参看。

今天家里正好没有什么事情,用WinRar将《全流程》分成了5个压缩卷传了上来。这个论坛好象不支持RAR的压缩包,所以我把扩展名改成了.zip,下载后改名为.rar,然后解压就可以了。

第一部分
附件: VB 程序汉化全流程.part1.zip (99 K) 下载次数:78