·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化时事 >> 汉化问答 >> 汉化问题----汉化后部分功能无法运行(解答)    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

汉化问题----汉化后部分功能无法运行(解答)

作者: Ronnier 来源:Ronnier's Blog 时间:2003-10-02 点击:8965

----汉化问题----汉化后部分功能无法运行(解答)

  Ronnier

    我在汉化PrcView时,遇到了这样一个问题:将菜单项中的“&Process”汉化为“进程(&P)”后,造成了原来鼠标右键呼出“进程”菜单的功能丢失。在汉化新世纪伟兄的帮助下,终于解决了这个问题。现在我就来说一下对这个问题的看法。

    当时我自己碰到这个问题时,我也想到了可能是程序在某个地方用ASCII的形式做了标识。汉化了“Process”菜单使得和原来的标识不匹配,造成功能丢失。于是用十六进制编辑器寻找“Process(50726F63657373)”,可以找到明显的一个单独的“Process”字串所在——E66C处(此处为PrcView 3.2.1.3版标识串的位置,此版使用的技术与1.1.1.2版相同,下同)。见图一,注意标记处。

图一
图一
    于是我试着将它改为“进程”,结果还是没办法恢复原有功能。于是,我怀疑是不是有别的原因,就向人请教。最后,还是伟兄告知了我原因,标识串的位置确实在这个地方,但对这个标识串,要将它改为“进程(P)”,才能与菜单中的“进程(&P)”对应,就像原版中“Process”与“&Process”相对应一样,这样,右键功能才能正常使用。见图二,注意标记处。
图二
图二
    注意这个“Process”标识串与其前后的字符串都是用00间隔的,所以和汉化一般的ASCII串所应注意的一样,就是说,修改后的字串最多只能是7个字节,而少了是可以的,多余的字节用00填充(关于汉化ASCII字串的方法很多汉化教学文章都有,就不再重复了)。总之,要保证标识串与后一个非00的ASCII串中间有一个以上的00间隔,这样软件才能正确读出这个串的内容(至少对于PrcView这个软件是这样的)。举个例子来说,软件中另有一处用了相同的技术的,就是用右键点击系统栏的PrcView图标时,会弹出“File(文件)”菜单。经查找,标识串“File”的位置在F198处。见图三,注意标记处。
图三
图三
    注意到它与下一个ASCII串“B (429C)”间隔了四个00,这倒为我改这个串创造了方便,将其改为“文件(F)”后,与B 还间隔一个00,使用证明,不会造成任何问题。见图四,注意标记处。
图四
图四
    还有一点,通过实践可以证明,如果标识串是“进程(P)”,那么,菜单项资源的对应内容是“进程(&P)”或“进程(P)”都可以正常调用,看起来该软件在核对标识串时会自动过滤掉菜单项中的“&”符号,而不管其出现在字串的什么位置上。
    还有一点,在 PrcView 这个软件中,只有一个很明显的单独的“Process”字串,用查找功能能够很方便的对其定位。如果在汉化别的软件时有类似问题,而查找到的内容相同的字串不止一个,可以先不汉化成中文,也不要改变这个字符串的长度,而先把要汉化的地方改动一点点(例如把“Process”改为“Proces1”),再逐个修改、排除那些找到的同样内容的字串,来看看那个标识串具体在什么位置,要怎样改变,才能保证功能的完整。然后再看看如何汉化。如果汉化是要改变字符长度,要将字数减少时要再试试多出来的英文字应该改成20还是00,以及后面的字符是否需要调整位置。
        以上就是我对汉化PrcView时碰到的这个问题的一些不成熟的看法,说一下,希望今后有哪位朋友在汉化别的软件时如果有遇到类似的汉化后功能丢失的问题时能够有所帮助。

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): ASCII 问答 非标

·上一篇: 浅谈软件的脱壳 ·下一篇: 汉化 WinImp 的一点心得—实战 ASCII 字符后期处理

· 版权申明: 本文引自《Ronnier's Blog》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《Ronnier's Blog》[ 作者: Ronnier],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号