·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化时事 >> 汉化问答 >> 沧海遗珠之汉化技巧    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

沧海遗珠之汉化技巧

作者: 不明 来源:未知 时间:2003-08-01 点击:9886

沧海遗珠之汉化技巧

汉化软件可执行文件(*.exe)和动态连接库(*.dll)的基本原理

   在 Windows 程序中所有的非源代码直接提供的内容称为资源包括位图、字串表、对话框...Windows 为应用程序提供了与 DOS 不同的结构方法,允许将资源附在可执行代码后面,而且修改资源后可以不用重新编译生成可执行代码,直接连接编译后的资源。 Windows 应用程序的绝大部分字符串都是放在程序的资源部分,我们只需将资源中的英文翻译成中文,用 Microsoft Developer Studio 中的 Resource ManagerBorland IDE 中的 Resource Workshop 以资源编辑方式打开软件的可执行文件(*.exe)或动态连接库(*.dll),直接修改替换英文字符或字符串后存盘即可。这使得 Windows 程序的汉化工作相对 DOS 程序汉化要为简单。[Freebird 05/06/98]

   软件汉化,最简单的方法就是通过某些应用软件的功能把原英文软件资源中的英文字符替换成中文字符即可。一般按照标准格式编写的 Win32 应用程序(如:CuteFTP),其字符和字符串通常放在程序的资源部分,譬如:对话框(Dialog)、菜单(Menu)和字串表(String Table),我们只要在 Windows NT 系统环境里使用 Microsoft VC++ 以资源编辑方式打开软件的可执行文件(*.exe)和动态连接库(*.dll),改变资源的内码,然后用鼠标双击打开资源的英文字符或字符串,以手工方式修改替换成对应的中文字符串,存盘即可完成汉化。
[关子 05/04/98]

如何一次更改多个资源项目的内码属性?

   要逐个更改待汉化软件的资源项目,如菜单(Menu)、对话框(Dialog)、字串表(String table)等的内码属性,对于一个资源较多的软件来说的确是件苦差事。其实可以做到一次全部更改:在 VC++ 的资源管理环境里把待汉化软件的资源项目统统扩展开来并全部选中,按“Enter(回车)”键一次全部打开,选择“Window(窗口)”菜单项下的“Windows(所有窗口)”把已打开的资源项目全部“Close window(s)(关闭窗口)”,趁着所有资源项目还被选中的情况下,单击鼠标右键选择资源属性“Properties”把资源的内码改为“Chinese(P.R.C.)”,在单击“OK(确定)”后可看到全部资源项目原来的内码属性(English(US))被清除了,说明一次更改内码成功。[关子 04/23/98]

如何一次更改多个资源项目的字体属性?

   对于一些资源项目,如对话框(Dialog),要保证汉化后可以在中文 Windows 95 中显示出正常的字体大小,在汉化的过程中就必须注意更改其字体属性,即应该将显示字体改为 9 号宋体。正常情况下,在 VC++ 里只能手工一个个把对话框资源打开更改其字体属性。如何实现一次全部更改呢?这里有个小经验:使用一个文本编辑器如 UltraEdit 等打开用 VC++ 保存的资源文件(*.rc),用替换字符串的方式把“Arial,8”替换成“宋体,9”,存盘后再用 VC++ 打开即可看到所有对话框的字体属性全部已更改。[关子 04/23/98]

汉化软件可执行文件(*.exe)和动态连接库(*.dll)的基本原理

   但是并非所有的 Win32 软件都按照标准地把字符串放在程序的资源部分,有相当一部分软件如:ACDSeeWinamp的部分字符串幸亏一般不会是全部!是放在程序代码里面的,这样就只好先修改了在资源部分的字符串然后使用一些二进制编辑软件如:UltraEdit)通过手工寻找替换英文字符这时要非常小心,因为如果修改替换的中文字符与原英文字符的长度不一致则导致该软件再也无法运行,汉化即告失败!,一般修改的原则为:替换的中文字符串长度不应超过原英文字符串的长度,如果确实要超过,则以替换原英文字符串后的剩余空间如:CA B1 00 00 00 B7 D6...)为限度必须保留一个分隔的剩余空间:00 00),具体操作请看汉化方法和技巧专栏。[关子 05/05/98]

如何解决汉化后软件图标(Icon)变形问题?

有一些软件,如 WinampWinZip 等,在进行汉化之后会出现图标变形而影响观感的问题,原因是这些软件的图标资源采用了多于一个规格的尺寸和颜色,即一个图标里面包含了(16X16,2568X8,16...)的不同尺寸颜色的规格,由于汉化后不同规格的先后次序被改变了,所以引起图标显示变形。解决办法为手工调整采用多种规格图标的规格先后次序,把(16X16,256)的规格放到最上层即可。下次再汉化该软件的更新版本时,同样的图标可以用已更改的直接替换,不需每次重复更改。[关子 04/23/98]

如何使用 UltraEdit 汉化在程序代码中的英文字符串?

    运行已经部分汉化的软件,记下没有汉化的英文字符串。退出该程序,做好备份,包括 *.exe、*.dll 等。启动 UltraEdit,打开要继续汉化的软件,如 SomeThing.exe。开始:在程序菜单条上,单击“搜寻”菜单,在下拉的菜单列中,单击“寻找”。这两个步骤可合并为按快捷键 Alt-F3)。在弹出的“搜寻”对话框里的“寻找目标”文本框里,输入要汉化的英文字符串,然后单击“找下一个”,即开始查找。如果找到,在“覆盖”模式下,将英文字符串用中文字符串代替。切记:汉化的字符串长度只能短于原英文字符串,剩余部分可以用空格覆盖。若汉化字符串长度长于原英文字符串,将引起不可预测的运行错误。若在“插入”模式下汉化,也会引起不可预测的运行错误。作为原则,汉化前后被汉化的文件总长度一定不变。重复步骤,直至修改完毕,存盘退出。如果没有找到,检查记下的英文字符串是否正确。输入内容是否与记下的内容一样。如果无误,可能这些字符串不在本文件里,退出修改,再试另一个文件。也可能这些字符串在一种叫做“自定义资源”里,我目前也没有想出对付的办法。
[公仆 05/21/98]

如何快速将 BIG5 码资源文件转换成 GB 码资源文件?

   用 VC++5.0(BC++ 未试过将繁体中文(BIG5)的资源文件(*.RC)打开,将其中要汉化的资源项目如菜单(Menu)、对话框(Dialog)、字串表(String table)的内码属性全部由 “Chinese(Taiwan)” 改成 “Chinese(P.R.C.)”,具体操作可以参见“如何一次更改多个资源项目的内码属性”,这时的资源内码全部变成简体中文的了,但如果你打开它们会发觉是繁简一家欢,而且有些词语与简体中文习惯不同,没关系,我们先将修改过的资源文件存盘,再用“Hantools”中的 Trans32.exe 直接将这个资源文件转换一下,转换后的资源文件就是很好的简体中文资源文件了,当然前提你必须不断充实 Trans32.exe 的繁简对照字典文件 Trans.dic(这是一劳永逸的工作。[驭海人 07/29/98]

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): 技巧

·上一篇: 东方快车世纪号永久汉化使用指南 ·下一篇: Win98下日文显示相关问题

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

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

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

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