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

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

内容详情

收录时间:2010-06-07

标题

汉化高手眼中的汉化技巧

已阅0
投稿须知

网站介绍

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

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

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

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

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

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

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

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

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

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

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

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

    运行已经部分汉化的软件,记下没有汉化的英文字符串。退出该程序,做好备份,包括 *.exe、*.dll 等。启动 UltraEdit,打开要继续汉化的软件,如 SomeThing.exe。开始:在程序菜单条上,单击“搜寻”菜单,在下拉的菜单列中,单击“寻找”。(这两个步骤可合并为按快捷键 Alt-F3)。在弹出的“搜寻”对话框里的“寻找目标”文本框里,输入要汉化的英文字符串,然后单击“找下一个”,即开始查找。如果找到,在“覆盖”模式下,将英文字符串用中文字符串代替。切记:汉化的字符串长度只能短于原英文字符串,剩余部分可以用空格覆盖。

若汉化字符串长度长于原英文字符串,将引起不可预测的运行错误。若在“插入”模式下汉化,也会引起不可预测的运行错误。作为原则,汉化前后被汉化的文件总长度一定不变。重复步骤,直至修改完毕,存盘退出。如果没有找到,检查记下的英文字符串是否正确。输入内容是否与记下的内容一样。如果无误,可能这些字符串不在本文件里,退出修改,再试另一个文件。也可能这些字符串在一种叫做“自定义资源”里,我目前也没有想出对付的办法。

如何快速将 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(这是一劳永逸的工作)。

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

同类站点推荐

评论

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

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

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

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