英文软件帮助文件(.hlp)的汉化教学

第一课:简介

---- 1.1 Micro$oft Windows Help 系统的基本情况

    Windows Help,程序员简称它为 WinHelp,是 Micro$oft Windows 操作系统用来显示帮助信息的在线帮助系统。所有主要的操作系统都有自己的超文本帮助格式。WinHelp 用的是一种结构化的、有特定格式的超连接文本格式。WinHelp 首先伴随 Windows 3.0 出现,到了 Windows 3.1 有很大的增强。从 3.0 版以后的每个 Windows 版本都安装有 WinHelp 的查看器。Micro$oft 甚至答应,直到 2000 年,新版本的 Windows 都会支持 Windows 3.1 的 Help 标准。
    从新的 Windows NT 3.51 和 Windows 95 操作系统开始,Micro$oft 推出了比原来的超文本帮助系统更新、更强大、更快,也更灵活的 32 位帮助引擎,这就是 WinHelp 4.0。许多原来能够处理 Windows 3.1 的 16 位帮助文件的工具都与 Micro$oft 新的 HCRTF.EXE Help 编译器生成的 32 位帮助文件不兼容。
    随着因特网的迅速发展,基于HTML的超文本格式文件也得到越来越广泛的应用。因此,从Windows 98开始,微软公司的帮助系统又有了一个重要的改进,即Windows操作系统绑定因特网浏览器 IE,并在原来老的帮助系统基础上使用和支持一种新的帮助文件,即编译的HTML帮助文件 - Compiled HTML (.CHM)。它实际上是按照HTML语言的规范编写帮助文件,然后经过编译,而用 IE 来作为缺省的浏览工具,取代了原来的 WinHelp。

   
1.2 Help 文件的汉化步骤

    区别于一些从底层消息开始,截取 WinHelp 的英文帮助信息,并即时转换为中文的动态汉化技术,汉化帮助文件的方法走的是静态汉化的路子,确切地说,是所谓逆向工程的技术。其实说来也很简单,主要有三个步骤:即 反编译 翻译 再编译
    第一步 :先将英文帮助文件做好备份。然后在工具软件的帮助下,把英文帮助文件进行反编译,还原生成汉化和再编译时必须的主题文件(.rtf)、项目文件(.hpj)、目录文件(.cnt)和有关的图象文件(.bmp.、shg. 和 wmf等)。
    第二步 :经过整理后,把主题文件、目录文件中的英文信息翻译成中文,其中主题文件一定要用支持 RTF 格式的字处理软件进行编辑和保存。若有必要,还可用图形软件把图象文件里的英文文字信息也改成中文。这是最关键,也是工作量最大的一步。在此阶段,至少三方面的知识对汉化的质量起了决定性的作用。首先,是对要被汉化的软件特点和功能的熟悉程度,建议进行汉化前多了解和使用要被汉化的软件。其次,是对 WinHelp 系统的构成和基本指令有所认识,了解得越多对整理主题文件越有帮助,特别是在反编译结果不是太理想的情况下。第三,当然要看你的英文水平啦。
    第三步 :用支持中文的编译器,把上述汉化过的文件重新进行编译。经过反复测试、修改和再编译,帮助文件的汉化就完成了。

    1.3 帮助文件的汉化工具

----公欲善其事,必先利其器。对应上面的三个步骤,需要以下三种汉化工具:

   1.3.1 反编译工具


     公仆曾经用过几种帮助文件的反编译工具,在此强烈推荐使用  HelpDeco, 即 Help Decompiler,意思是帮助文件反编译器。这是一个免费软件,运行在 DOS 下。HELPDECO 的开发者是Manfred Winterhoff, Geschw.-Scholl-Ring 17, 38444 Wolfsburg, Germany CIS 100326,2776。据作者声称,他是用了数星期对 500 个以上的帮助文件进行了 dump 之后,才弄清了帮助文件的格式。这个程序的突出特点是提供了全部的源程序,以及帮助文件格式清单。它生成的可编译源文件准确率很高,据我看是最高的。
     还有一个不能不提的反编译工具是位于德国的 Herd Software 公司开发的  Help to RTF。这是一个功能齐全的 Help 文件的反编译工具,它可以把 Windows Help 文件反编译为可以重新编译的项目文件,以及相应的所有支持文件。它能够处理新的文件格式,并提供最新的 32 位 Help 支持。这是一个共享软件,目前的最新版本是 1997年7月4日提供的 2.12 版,下载地址是 http://www.herdsoft.com/ 。在 (The Leonardo's World)上可以找到这个版本的注册机。这个工具还可以将帮助文件里的文字信息和图象转换为完整的可打印文件。对于喜欢将帮助文件打印成手册来看的用户,即使你不想进行反编译,这个软件也是非常好用的。
    上面的反编译工具都是针对旧格式的帮助系统,即 WinHelp 系统的。对于Windows 98以后的.CHM格式的帮助文件,则需要用另外一种反编译工具。这就是 KeyTools。它可以将以 .CHM 为扩展名的新帮助文件反编译为标准的 HTML 格式。公仆已经将这个工具进行了汉化,可见公仆的汉化作品

    1.3.2 帮助文件开发工具
--- 有多种帮助文件开发工具,从简单的工具到复杂的开发系统,可以说应有尽有。但可惜的是大部分都不怎么支持中文。我认为,经过上面的反编译工具的转换,重新编译的基本文件都已经具备了。因此关键不是系统开发问题,而是要有一个好的文字处理系统,它既能全面支持 RTF 格式,又有强大的文字处理功能,才能胜任繁重的翻译任务。以此标准,我认为非 Micro$oft 的 Word 莫属。就翻译而言,有一本好的计算机词典想来也会有很大的帮助。还有很重要的是有关 WinHelp 系统机制的知识,下面介绍的编译工具所带的在线帮助提供了非常详尽的说明,市面上也有一些程序员指南之类的参考书可看。例如,清华大学出版社出版的《Windows 95 和 Windows NT 4.0 特色编程》(柳永新 著,1997年10月),其中的第六章“帮助系统的开发”,对此有非常详细的介绍。在网上,推荐下面有关 WinHelp 编程的网址,有时间和兴趣不妨去看看http://www.winwriters.com/resource.htm。
    至于新格式的帮助系统,由于它实际上就是因特网上大家都在打交道的普通 HTML,有关资料和开发工具是很多的。只要知道如何建设网页,也就基本能够解决问题了。有关这方面的工具,公仆在这里的汉化工具里也介绍了一部分。

    1.3.3 编译工具

    自然是 Micro$oft 自己的编译工具最可靠,但要支持中文的。各大的开发编程语言的公司都与 Micro$oft 公司达成协议,在语言软件包里带有其帮助编译器,例如 Borland 公司等。所以不但在 Micro$oft VBVC++ VFP里,在 TCBC++ 等软件中也都可以很容易地找到编译工具。我用的是在大陆中文版 Visual Basic 5.0 里的帮助工作室(Help Workshop),它功能齐全,包含下列文件和文档:
  * 帮助工作室 (Hcw.exe Hcrtf.exe),使你能够编辑项目和目录文件,并且编译、测试帮助文件以及编写测试报告。
  * 帮助开发者指南 (Hcw.hlp),介绍如何用帮助工作室开发和编译帮助文件,特别是 WinHelp 4.0 版本的介绍不可不看。
  * 热点编辑器 2.0 (Shed.exe),使你能够创建有多个热点的图象。
  * 多分辨率位图编译器 1.1 (Mrbc.exe),使你能够创建有多种分辨率的位图。你可以将这些位图合并为一个图象,以适应不同比率的位图和各类不同比率监视器。
    可惜即使是中文版的Visual Basic,微软公司似乎也没有把它中文化的意思。所以,公仆只好自己来做这个汉化工作。请见公仆的汉化作品
    对于新格式的帮助系统,则要使用微软公司的另外一个编译工具来进行编译。这个工具就是 Html Workshop。目前公仆见到的是 1.2 版,中国软件汉化同盟成员 Wise 兄对程序部分进行了汉化。详情请见汉化工具。

第二课:反编译 - 英文软件帮助文件 (.hlp/.chm) 的反编译
                                        
    2.1 WinHelp 系统的反编译

    下面我们用一个例子来说明如何汉化 Windows 3.x 和 95 的常规格式的 Help 文件(即 .hlp 文件),这个例子是 HelpMe9 的帮助文件:helpme.hlp。HelpMe9 是一个基于 RTF 语法的、小巧的帮助系统开发工具,适用于生成小的帮助文件。你可以到公仆的汉化作品或汉化工具里去下载。
    有多种工具可以用于 WinHelp 帮助系统的反编译。这里分别介绍两种著名的反编译工具:helpdecohlp2rtf 的使用例子。

   
2.1.1 使用 helpdeco.exe 进行反编译

    首先,进入 MSDOS 方式。进入 HelpMe9 所在的目录。在公仆的机器上,它安装在 D:/汉化软件/HelpMe9 目录里。
    如果 helpdeco.exe 是在你的 DOS 环境变量的 PATH 路径上,或者已经将 helpdeco.exe 拷贝到要反编译的文件(即 .hlp 文件)所在的目录里,你可以象下面的图示这样输入 helpdeco 命令。否则,要输入完整的 helpdeco.exe 所在的路径名,或将 helpdeco.exe 拷贝到要反编译的文件所在的目录里再按下面这样操作。

(图 2 - 1)

   这里的 helpme.hlp 就是要反编译后再进行汉化的文件。输入回车后,出现如下的屏幕:

(图 2 - 2)

    屏幕上的信息表明,helpdeco 在这个帮助文件里找到并反编译生成了 22 个主题,这些主题都保存在一个名为 HELPME.RTF 的富文本格式文件里。同时,它发现这个帮助文件使用位图和热点图形,还找到并生成 1 个位图文件,找到并生成 1 个热点图形文件。并且,它生成了一个名为 HELPME.HPJ 的项目文件,在以后重新编译帮助文件时你将要用到这个项目文件。
    如果你在 DOS 下用 DIR 命令或在 Windows 里用资源浏览器来查看,你将会看到在这个目录里出现了对应于上面所说的文件。在本例里,新生成的文件有:
    bm0.bmp, bm1.shg, helpme.hpj, helpme.rtf。因为这个帮助文件是 WinHelp 4.0 格式的,它自身原来就带有一个帮助目录文件,文件名为 helpme.cnt,是文本格式的。这 5 个文件就是我们下面的汉化课程要用到的所有文件。

附加信息

    helpdeco.exe 还提供了很多的开关供不同目的的反编译者使用。虽然通常不加任何开关和参数就可以生成完全可以工作的结果文件,但是或许你有时会有兴趣用到这些开关。下面是程序的使用方法,提供的开关及其功能:
使用方法:
HELPDECO helpfile[.hlp] [/y] - 反编译帮助文件的所有资源
HELPDECO helpfile[.hlp] [/y] /a[annfile.ANN] - 添加注解文件
HELPDECO helpfile[.hlp] /r [/y] [/n] - 反编译为相同外观的 RTF/n
HELPDECO helpfile[.hlp] /c [/y] - 生成 Win9X .CNT 目录文件
HELPDECO helpfile[.hlp] /l - 列出本帮助文件的开始点
HELPDECO helpfile[.hlp] /e [/f] - 列出对其他帮助文件的引用
HELPDECO helpfile[.hlp] /p [/f] - 检查对外部帮助文件的引用。
HELPDECO helpfile[.hlp] /d [/x] - 显示内部目录
HELPDECO helpfile[.hlp] /"internalfile/" [/x] - 显示内部文件
HELPDECO helpfile[.hlp] /"internalfile/" filename - 输出内部文件
开关:
/y 不提示地覆盖已有文件
/f 列出引用主题
/x 十六进制输出
/g 不猜测上下文 ID
/hprefix 添加已知上下文 ID 前缀
/n 不分页

注意:要想创建能够重新编译的文件,请先建立一个目录,进入这个目录后调用 HELPDECO,后面跟要反编译的帮助文件(含路径)。HELPDECO 将会提取在这个帮助文件里的所有资源,并把它们都放在当前的目录里。然后,你就可以用适当的编译程序(例如HC30,HC31, HCP, HCW,HCRTF, MVC, WMVC 和 MVCC 进行重新编译。生成的文件可能不会与原来的文件一模一样,但是可以编译为与原来的相同。这个软件是自由软件,使用中的危险要你自己负责。本软件不用于商业目的,也不能收取发行费用。从 Windows 95/Windows NT 命令行启动来处理较大的帮助文件。

    2.1.2 使用 HLP2RTF 进行反编译

   这里公仆使用阿涛汉化的 hlp2rtf 2.12k 32位版本, 来对本例进行反编译。
    进入 HLP2RTF 后,先选择要汉化的文件。如下图:

(图 2 - 3)

    选择好文件后,单击“继续(C) >>”,进入“输出格式选择”选项,选择“生成可重新编译的源码文件”。这个选项对于汉化是必须的。因为只有选择这项,才会对帮助文件中的各个主题和其他要素进行判定和索引,并最终生成一个可以重新进行编译的 RTF 文件,以及同样关键的项目文件。如下图:

(图 2 - 3)

    然后,单击“继续(C) >>”,进入文件“分割”选项。这个选项主要考虑到对于较大的帮助文件,反编译后相应地也会生成较大的 RTF 文件。如果只生成单个的 RTF 文件,可能会使字处理程序在编辑这个大文件时的速度受到影响,甚至死机。在此情况下,建议生成若干个小一点的文件来避免这个问题的发生。你可以放心,hlp2rtf 会自动地把这些个被分割的文件记载到项目文件里去,以保证重新编译时不会发生找不到 RTF 文件的问题。不过,这是早期的情况了。现在用奔二、奔三再加上 32M 以上的内存,编辑很大的文件也似乎不成问题。公仆汉化的 HCW 有 1100 多个主题(页),汉化后的单个 RTF 文件有 3M 多,在 MMX 奔腾机/233 上(32M 内存),使用微软的 Word 97 也基本可以正常进行编辑。如果你的硬件还过得去,并且要汉化的帮助文件也不太大的话,就选择“只创建一个 RTF 文件”吧。如下图:

(图 2 - 4)

    然后,单击“继续(C) >>”,进入“超链接图形片段”处理选择页。这里所谓的 SHG 文件是指热点图形文件(Shed Graphic),MRB 位图是指多种颜色深度的位图(Multi Resolution Bitmap)。前者将多个热点(相当于 HTML 里的链接)集中在一个图形的不同区域上,类似于 HTML 里的 MAP 对象。后者是为了适宜不同颜色数的图形卡,而分配给同一图形以不同颜色深度的多个位图,例如对应同一图形可能有单色的位图、16 色的位图、256 色的位图,等等。所有这些东西,都必须正确地反编译出来,才能在以后进行重新编译。所以,必须选择“抽取原始的 SHG 文件”。 如下图:

(图 2 - 5)

    然后,单击“继续(C) >>”,进入“本地化”选项。这里,阿涛兄对 hlp2rtf 所用术语的汉化有一个小小的失误。单词 Localization 在这里不是“定位”的意思,而是“本地化”的意思,对咱们中国人来说,也就是“汉化”。因此在下图里的“定位”应该是“本地化”。这里选“正常输出文件”即可。如果选“输出本地化参考文件”,将会生成一个与 RTF 文件内容一致的纯文本对照文件,以便进行本地化时的参考。不过公仆觉得这没有什么必要,可不选。

(图 2 - 6)

    然后,单击“继续(C) >>”,再单击“完成”,就可以让 hlp2rtf 开始反编译。程序会显示反编译进展和结果。如果一切正常,反编译结束后,按“确认”就可以退出程序,或按“查看”进入缺省的 RTF 字处理器进行查看和编辑。
    在开始下一步之前,不妨再看一下都生成了哪些文件。在 Helpme9 所在的目录里,你会看到有 bm00.bmp, bm1.shg, helpme.hpj, helpme.rtf。因为这个帮助文件是 WinHelp 4.0 格式的,它自身原来就带有一个帮助目录文件,是文本格式的,文件名为 helpme.cnt。这 5 个文件就是我们下面的汉化课程要用到的所有文件。如果你在“本地化”里选择了“输出本地化对照文件”,还会有一个文本格式的名为 helpme.txt 的文件。这里暂时用不上。

    2.2 编译 HTML Help 文件的反编译

    Windows 98 系统除了继续支持原来的 Windows 3.x 和 95 下的 WinHelp 帮助系统外,又推出了一种新的帮助系统,即与它绑定的 IE 配合的编译格式的超文本构建语言文件 - 编译 HTML。文件扩展名是 .chm,即 Compiled HTML。对这种格式的帮助文件,不能用常规的 HELPDECO 或 HLP2RTF 来反编译。因为它的格式和机制与原来的 .hlp 文件完全不同。
    反编译 .chm 格式的帮助文件,可以用 KeyTools。这个工具反编译 .chm 帮助文件的能力很强。公仆已经把它进行了汉化,见汉化作品或汉化工具。下面,我们用一个例子来说明新的 Windows 98 编译 HTML 格式的帮助文件的反编译。这个例子是我们所用的反编译工具自己所带的帮助文件:KeyTools.chm。
    进入 KeyTools 程序,可以从菜单里或窗口的热点链接区选择“反编译”,象下图这样:

(图 2 - 7)

    在弹出的选择文件窗口里,找到要反编译的文件,这里为 KeyTools.chm。见下图:

(图 2 - 8)

    然后按“确认”,程序立即开始反编译。结果如下面的窗口:

(图 2 - 9)

    如果你进入反编译文件所在的目录查看,会发现新增加了上面所说的有关文件和文件夹。其中,位于当前目录的文件 keytools.hhp 是项目文件,在汉化完源文件后,进行重新编译时要用到的。
    有了这些文件,你可以分别对它们进行翻译,最后再用 HTML Help WorkShop 将它们进行重新编译。

第三课:翻译 - 翻译和汉化英文软件帮助文件的源文件(.rtf/.htm)

3.1 WinHelp 帮助系统源文件和相关文件的翻译

    下面我们继续用第二课的例子来说明如何翻译已经生成的 WinHelp 帮助系统的源文件。在上一课的例子里,我们生成了 5 个文件,它们是位图文件 bm0.bmp,热点图形文件 bm1.shg, 编译项目文件 helpme.hpj, 主题文件 helpme.rtf。并且因为这个帮助文件是 WinHelp 4.0 格式的,它自身原来就带有一个帮助目录文件,文件名为 helpme.cnt,是文本格式的。这 5 个文件的汉化刚好涉及到了 WinHelp 帮助系统的汉化的五个方面。下面我们就分别介绍它们的汉化技术。

    3.1.1 主题文件的翻译

    主题文件是扩展名为 .rtf 的富文本格式的文件,用于存放帮助文件的主题内容(即正文内容)。它可以用任何能够使用这种格式的编辑器来进行主题内容的翻译。常用的这种编辑器有微软的 Word 和咱们国人开发的 WPS2000。下面以 Word 为例来介绍翻译中需要注意的问题。
    先对 Word 进行一下必要的设置。打开 Word,点菜单:工具 > 选项,在“视图”页里的“隐藏字符”旁边打钩,表示要显示隐藏字符;在“段落标记”旁边打钩,显示段落标记;在“状态栏”旁边打钩,显示页码和页数等。再点菜单:视图 > 页面,选择显示方式为页面方式
    现在从 Word 里打开 helpme.rtf 文件,先看窗口下方的“状态栏”。你会看到下图的信息:

(图 3 - 1)

    它表明这个帮助文件一共有23页的内容,其中的主题数不超过23个(实际是21个主题),因为要扣除尾注等所占的页数。现在,我们对要汉化的帮助系统的规模已经心里有了数。
    为了讲解更为直观,在进行分析以前我们不妨对照一下原帮助文件。先打开原帮助文件,看下图(为了使图片不至于过大,只剪切了窗口的一部分):

(图 3 - 2)

    再到 Word,你会看到与上面的图相对应的源码,见下面的画面。

(图 3 - 3)

    画面里的红色箭头和中文是我加上去的。这里,当前主题自身的所有特性都标记在那兰色的“Helpme”标题前面,而标记的定义则集中放在文件的尾注里。我们按顺序介绍。
    首先,小黑框定义了该主题的标题位于一个非滚动区里。当主题的内容很多,使得你要用窗口旁边的滚动条来翻页查看时,这个区域却不会随之滚动,而始终位于窗口的上方。将标题定义为非滚动区是在 Word 的“格式”菜单里进行的。先将光标移动到要设置为非滚动区的标题上,点菜单:格式 > 段落,选择“换行和分页”,在“与下段同页”旁边打钩。至于非滚动区的颜色是在项目文件里定义的,这在后面的教程里还要介绍。
    小黑框右边的加号“+”是浏览序列脚注/尾注标志,有了它,图 3 - 2 里的浏览按钮才会实显。若干个主题可以组成一个浏览序列,并共用一个序列名字,而每个主题在该序列里的位置则用共同的序列名字后加冒号再加编号来定义。在使用生成的帮助文件时,用户可以按浏览按钮“>>”和“<<”来后翻/前翻同一浏览序列里的不同主题。现在翻到 Word 第 22 页来看一下上图所示主题的浏览序列号是如何定义的。见下图:

(图 3 - 4)

    如前所述,本帮助主题文件共有21个主题,其余两页都是尾注。在上图所示的尾注里,我们看到第一个主题所在的浏览序列名是BROWSE0001,它的顺序是0001,即是在该浏览序列里的第一个主题。浏览序列名与浏览编号之间用冒号分开。
    再看图 3 - 3,在浏览序列标记右边的“$”是主题标题标志。当用户用帮助系统的“搜索”功能查找某个关键词,而这关键词又涉及多个主题时,则有关这关键词的各个主题的标题会被显示出来。这里定义的主题标题就是用在这种场合下的。在图 3 - 4 里,第一个主题的标题就被定义为“HelpMe”。
    在主题标题标志右边,是主题 ID 标志。它是唯一的、可让帮助系统找到当前主题的标记。一个主题可以没有上面的其他标记,但是不能没有这个主题 ID 标志。在翻译帮助文件时,对这个标志的名字最好不要改动,因为它涉及到帮助文件中可能存在的转跳,以及来自程序里的可能的调用,随意改动会使转跳和调用失败。从图 3 - 4 里还可以看到,当前主题的主题 ID 名字也是“HelpMe”。
    在翻译帮助文件时,上面介绍的所有标志以及后面介绍的关键词标志都必须保留,不能随意删除。
    在图 3 - 3 里还看到有双下划线的单词和虚线下划线的单词。正如在图 3 - 2 里看到的,双下划线单词的实际显示效果是单下划线的热点转跳链接。之所以能这样,全依赖紧跟双下划线单词(其间不能有空格或其他字符)后的虚线下划线单词。后者其实就是将要转跳去的主题的ID名字。事实上,从图 3 - 4 的尾注区里,可以看到就在第一个主题后面就定义了一个 ID 名为“Topic”的主题。因此,用户单击该热点时,就会被带到这个主题页去。这个主题 ID 同样不要随意改动,否则可能会使链接失效。
    在图 3 - 4 里,还看到在第三个主题里有一个K-关键词标志及其定义。它表示用户使用帮助系统的搜索功能查找“link”或“popups”时,会被带到这第三个主题的页面上来。如果其它的主题也定义过这两个关键词,则还会让用户选择查看与这两个关键词的哪个主题。两个关键词之间用分号分开。还可以设定二级关键词,一级与二级关键词之间用逗号分开。
    好了,在本例里需要事先说明的关键地方都说完了,你一定也等得不耐烦了,我们就开始翻译它吧。我的汉化习惯是,先翻译正文,再汉化尾注,并且对尾注只翻译主题标题和主题关键词。下面再看一下开头几个主题的翻译情况,见下图(片段)。

主题部分:

(图 3 - 5)

    请注意热点转跳链接(虚线下划线部分)既没有删除,也没有翻译,且第一行最左边的所有标记都保留着。翻译时,不必考虑翻译后的字数是否和源文件相同。关于字体的选择,完全取决于你自己。通常主题正文内容可以选宋体字,小五号。标题部分可同原来的字体和字号。

    尾注部分,请注意以“+”、“#”打头的没有翻译。

(图 3 - 6)

    再看编译后的效果:

(图 3 - 7)

    如何,效果还可以吧。如果你对头几页的翻译和编译效果也能够象上面这样,那就说明你已经基本掌握要领了。那我们就转入下一节,研究一下目录文件的翻译吧。

    3.1.2 目录文件的翻译

    目录文件是以 .cnt 为扩展名的纯文本格式的文件,是在 Windows 95 后出现的,用于存放帮助文件的各级目录及其链接。虽然目录文件是纯文本格式的文件,可以用任何编辑器打开来编辑,但是建议你还是用 HCW 来打开和编辑它。相对于主题文件的翻译,目录文件翻译要简单得多了。
    你可以先启动 HCW,再打开目录文件。也可以在资源浏览器里双击目录文件,它会自动启动 HCW 并装入目录文件。对于本例,在当前目录里装入名为 HelpMe.cnt 的目录文件后的情形如下图(片段):

(图 3 - 8)

    在此,你可以将缺省标题翻译为“HelpMe 汉化版”。然后双击每个目录条目,在弹出来的窗口里将标题翻译成中文,但是不要改动主题 ID 部分。然后按回车或“确认”按钮。逐项翻译过去,然后存盘即可。
    需要注意的是,如果遇到有“:include xxxx.cnt”的行,不要去改动它。它表明在你的帮助文件系统中存在有多个帮助文件及其所带的目录文件,而当前的目录文件将把它们给包含进来。这里的 xxxx.cnt 就是某个帮助文件的目录文件名。

    3.1.3 项目文件的翻译

    项目文件在编译帮助系统的过程中起到总装配图的作用,也是联系具体应用程序与它的帮助文件之间的桥梁。因此对它的修改也要小心。通常来讲对项目文件没有多少好翻译的,除非你想对帮助系统的某些布局、所使用的窗口特征、按钮系统以及其它有关较高级的内容进行调整。
    例如你想调整主题的非滚动区或滚动区的颜色,可以选“窗口”按钮,选择窗口类型,再选择“颜色”页,单击所要改变区旁边的“改变”按钮来选择你所要的颜色。
    对于本例来讲,需要翻译的内容只有窗口标题(TITLE)一项。双击该项,在帮助标题里将原来的“HelpMe”改为“HelpMe 汉化版”即可。见下图:

(图 3 - 9)

    应该讲,主题文件、目录文件和项目文件翻译完了,一个帮助文件的文字信息部分的汉化基本也就完成了。但是,如果你是一个唯美主义者,或者如果你在汉化的帮助文件有很多的文字信息是以图形的方式保存在图形文件里的,那么你就可能还需要做下面的汉化工作。

    3.1.4 位图文件的汉化

   WinHelp 帮助系统的图形文件主要是位图文件。大多数情况下,帮助文件是对所依附软件提供的在线帮助信息,它所用的图形离不开该应用软件环境,通常都会是该应用软件的一些图形界面,如窗口、按钮、菜单、对话框和图标等。而帮助文件的各个主题则会利用这些图示进行说明和示范。对于汉化软件,由于软件部分被汉化,相应的各个图形界面要素也都由原版软件所使用语言变成了中文。因此对这类帮助文件的图形就有汉化的必要,否则就会出现帮助文件与软件不匹配的现象。
    位图文件的汉化本质上是图形的加工,因此需要用到一些图形工具。包括屏幕图形抓取工具、图形编辑工具、图标提取工具等。这些工具有很多,不同的工具使用操作也不同,你可以根据自己的爱好和习惯选取。下面仅介绍汉化的步骤,至于各软件的使用和操作随你所选取的软件而定,无法详述。我喜欢用的抓图工具是 Capture Professional。图形编辑工具是 LView Pro。图标提取工具是 Iconex。
    具体的汉化步骤如下:

  • 研究反编译所生成的各幅图形的内容,把有文字需汉化的图形找出来,记下它们的文件名。
  • 先运行抓图程序,设定好抓图的热键。
  • 启动已经汉化的应用程序,运行到要汉化的图形所在的屏幕,按热键抓取当前屏幕快照,适当修改剪辑后,以该图形文件相同名字存盘,覆盖原图形文件。
  • 逐图进行,直至完成。

    本例里只有一幅位图,且是一个磁盘的图形,没有文字的信息,所以汉化就免了。

    3.1.5 热点图形文件的汉化

    正如上一课所说的,所谓热点图形文件是这样的一种文件,它本身是一个图形,但是用热点编辑器程序SHED.EXE给它定义了多个分区,每个分区与一个弹出主题或转跳或宏相关联。在帮助文件里,当用户的鼠标指向该图形的不同区域并按下鼠标右键后,相应的动作就会发生,或是弹出主题,或是发生转跳,或是执行一个 WinHelp 宏。如果你知道 HTML,它就相当于 HTML 里面的 MAP。
    对于热点图形文件的汉化比简单的位图文件汉化要略为繁琐一些。你需要先在热点编辑器里打开和研究原来的热点图形文件,找出每个区域范围、它们的热点 ID、热点类型(弹出/转跳/宏),以及属性。然后运行汉化过的程序,进入相同的画面,用屏幕图形捕捉工具把汉化过的画面捕捉下来。再在热点编辑器里调入捕捉下来的图形,按原来的热点图形文件重新定义各个热点区域,指定与原图形相同的各个热点 ID、它们的热点类型和属性,然后存盘。
    以本例来说明。先打开热点图形文件 BM1.SHG,见下图。由图可看到该图形定义了四个热点区域,热点 ID 分别是:Hotspot 1, Hotspot 2, Hotspot 3, Hotspot 4,热点类型都是弹出主题,属性都是不可见。

(图 3 - 10)

    我们以热点区三为例来进一步说明。如上图所示,鼠标双击该区域,可弹出下图的窗口。里面把该热点区域的所有属性都显示出来,你可以修改它们。但是如果仅是为了汉化的目的,你只要记下该热点区域的这些属性就可以了,以便对汉化的图形重新设定热点区域时参考。

(图 3 - 11)

    在记下了所有热点区域的属性后,你可以调入你抓取的汉化后的图形,依样画葫芦,设定相同的热点区域及其属性,然后用与原热点图形文件相同的文件名存盘,一个汉化过的热点图形文件就生成了。本例中,汉化过的热点图形文件见下图:

(图 3 - 12)

    所有这些文件都翻译和汉化后,你可以进行重新编译,试运行你的汉化帮助文件,检查和校对修改可能发生的错误,再重新编译无误后,帮助文件的汉化就完成了。关于重新编译,可看下一课的教程。

   3.2 编译 HTML 帮助系统源文件和相关文件的翻译和汉化

    对于编译 HTML 格式的帮助系统的翻译与汉化,原则上和对于 WinHelp 帮助系统的是一样的。只不过由于对于这类帮助文件反编译后生成的是分别的 HTML 文件、图形文件、JavaScript 文件等,并可能存放在不同的目录里。在汉化的时候,需要用相应的编辑工具进行编辑翻译或汉化。例如对于 HTML 格式的文件,你需要用一个网页编辑器来翻译,如果你熟悉 HTML,你甚至可以用普通的文本编辑器进行直接的编辑和翻译。其它类型文件的翻译和汉化类似,不再赘述。

第四课:再编译 - 编译汉化过的帮助文件的源文件

    3.1 WinHelp 帮助系统源文件和相关文件的翻译

    3.2 编译 HTML 帮助系统的重新编译

    对于编译 HTML 格式的帮助系统的翻译与汉化,原则上和对于 WinHelp 帮助系统的是一样的。只不过由于对于这类帮助文件反编译后生成的是分别的 HTML 文件、图形文件、JavaScript 文件等,并可能存放在不同的目录里。在汉化的时候,需要用相应的编辑工具进行编辑翻译或汉化。例如对于 HTML 格式的文件,你需要用一个网页编辑器来翻译,如果你熟悉 HTML,你甚至可以用普通的文本编辑器进行直接的编辑和翻译。其它类型文件的翻译和汉化类似,不再赘述 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值