Make your own free website on Tripod.com


-------------英文軟體說明檔 (.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 拷貝到要反編譯的檔案所在的目錄裡再按下面這樣操作。

helpdeco_ex1.gif

(圖 2 - 1)

   這裡的 helpme.hlp 就是要反編譯後再進行中文化的檔案。輸入Enter後,出現如下的螢幕:

helpdeco_ex2.gif

(圖 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 後,先選擇要中文化的檔案。如下圖:

hlp2rtf_ex1.gif

(圖 2 - 3)

    選擇好檔案後,單擊「繼續(C) >>」,進入「輸出格式選擇」選項,選擇「生成可重新編譯的源碼檔案」。這個選項對於中文化是必須的。因為只有選擇這項,才會對說明檔中的各個主題和其他要素進行判定和索引,並最終生成一個可以重新進行編譯的 RTF 檔案,以及同樣關鍵的項目檔案。如下圖:

hlp2rtf_ex2.gif

(圖 2 - 3)

    然後,單擊「繼續(C) >>」,進入檔案「分割」選項。這個選項主要考慮到對於較大的說明檔,反編譯後相應地也會生成較大的 RTF 檔案。如果只生成單個的 RTF 檔案,可能會使字處理程式在編輯這個大檔案時的速度受到影響,甚至死機。在此情況下,建議生成若干個小一點的檔案來避免這個問題的發生。您可以放心,hlp2rtf 會自動地把這些個被分割的檔案記載到項目檔案裡去,以保證重新編譯時不會發生找不到 RTF 檔案的問題。不過,這是早期的情況了。現在用奔二、奔三再加上 32M 以上的記憶體,編輯很大的檔案也似乎不成問題。公僕中文化的 HCW 有 1100 多個主題(頁),中文化後的單個 RTF 檔案有 3M 多,在 MMX 奔騰機/233 上(32M 記憶體),使用微軟的 Word 97 也基本可以正常進行編輯。如果您的硬體還過得去,並且要中文化的說明檔也不太大的話,就選擇「只建立一個 RTF 檔案」您。如下圖:

hlp2rtf_ex3.gif

(圖 2 - 4)

    然後,單擊「繼續(C) >>」,進入「超連結圖形片段」處理選擇頁。這裡所謂的 SHG 檔案是指熱點圖形檔案(Shed Graphic),MRB 點陣圖是指多種顏色深度的點陣圖(Multi Resolution Bitmap)。前者將多個熱點(相當於 HTML 裡的連結)集中在一個圖形的不同區域上,類似於 HTML 裡的 MAP 物件。後者是為了適宜不同顏色數的圖形卡,而分配給同一圖形以不同顏色深度的多個點陣圖,例如對應同一圖形可能有單色的點陣圖、16 色的點陣圖、256 色的點陣圖,等等。所有這些東西,都必須正確地反編譯出來,才能在以後進行重新編譯。所以,必須選擇「抽取原始的 SHG 檔案」。 如下圖:

hlp2rtf_ex4.gif

(圖 2 - 5)

    然後,單擊「繼續(C) >>」,進入「本地化」選項。這裡,阿濤兄對 hlp2rtf 所用術語的中文化有一個小小的失誤。單詞 Localization 在這裡不是「定位」的意思,而是「本地化」的意思,對咱們中國人來說,也就是「中文化」。因此在下圖裡的「定位」應該是「本地化」。這裡選「正常輸出檔案」即可。如果選「輸出本地化參考檔案」,將會生成一個與 RTF 檔案內容一致的純純文字對照檔案,以便進行本地化時的參考。不過公僕覺得這沒有什麼必要,可不選。

hlp2rtf_ex5.gif

(圖 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 程式,可以從選單裡或視窗的熱點連結區選擇「反編譯」,像下圖這樣:

KeyTools_ex1.gif

(圖 2 - 7)

    在彈出的選擇檔案視窗裡,找到要反編譯的檔案,這裡為 KeyTools.chm。見下圖:

KeyTools_ex2.gif

(圖 2 - 8)

    然後按「確認」,程式立即開始反編譯。結果如下面的視窗:

KeyTools_ex3.gif

(圖 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 檔案,先看視窗下方的「狀態欄」。您會看到下圖的訊息:

Helpme_ex0.gif

(圖 3 - 1)

    它表明這個說明檔一共有23頁的內容,其中的主題數不超過23個(實際是21個主題),因為要扣除尾注等所佔的頁數。現在,我們對要中文化的說明系統的規模已經心裡有了數。
    為了講解更為直觀,在進行分析以前我們不妨對照一下原說明檔。先開啟原說明檔,看下圖(為了使圖片不至於過大,只剪切了視窗的一部分):

Helpme_ex1.gif

(圖 3 - 2)

    再到 Word,您會看到與上面的圖相對應的源碼,見下面的畫面。

Helpme_ex2.gif

(圖 3 - 3)

    畫面裡的紅色箭頭和中文是我加上去的。這裡,當前主題自身的所有特性都標記在那蘭色的「Helpme」標題前面,而標記的定義則集中放在檔案的尾注裡。我們按順序介紹。
    首先,小黑框定義了該主題的標題位於一個非滾動區裡。當主題的內容很多,使得您要用視窗旁邊的滾動條來翻頁查看時,這個區域卻不會隨之滾動,而始終位於視窗的上方。將標題定義為非滾動區是在 Word 的「格式」選單裡進行的。先將游標移動到要設定為非滾動區的標題上,點選單: 格式 > 段落,選擇「換行和分頁」,在「與下段同頁」旁邊打鉤。至於非滾動區的顏色是在項目檔案裡定義的,這在後面的教學裡還要介紹。
    小黑框右邊的加號「+」是瀏覽序列腳注/尾注標誌,有了它,圖 3 - 2 裡的瀏覽按鈕才會實顯。若干個主題可以組成一個瀏覽序列,並共用一個序列名字,而每個主題在該序列裡的位置則用共同的序列名字後加冒號再加編號來定義。在使用生成的說明檔時,用戶可以按瀏覽按鈕「>>」和「<<」來後翻/前翻同一瀏覽序列裡的不同主題。現在翻到 Word 第 22 頁來看一下上圖所示主題的瀏覽序列號是如何定義的。見下圖:

Helpme_ex3.gif

(圖 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」時,會被帶到這第三個主題的頁面上來。如果其它的主題也定義過這兩個關鍵詞,則還會讓用戶選擇查看與這兩個關鍵詞的哪個主題。兩個關鍵詞之間用分號分開。還可以設定二級關鍵詞,一級與二級關鍵詞之間用逗號分開。
    好了,在本例裡需要事先說明的關鍵地方都說完了,您一定也等得不耐煩了,我們就開始翻譯它您。我的中文化習慣是,先翻譯正文,再中文化尾注,並且對尾注只翻譯主題標題和主題關鍵詞。下面再看一下開頭幾個主題的翻譯情況,見下圖 (片段) 。

主題部分:

Helpme_ex4.gif

(圖 3 - 5)

    請注意熱點轉跳連結 (虛線下劃線部分) 既沒有刪除,也沒有翻譯,且第一行最左邊的所有標記都保留著。翻譯時,不必考慮翻譯後的字數是否和原始檔案相同。關於字型的選擇,完全取決於您自己。通常主題正文內容可以選新細明體字,小五號。標題部分可同原來的字型和字號。

    尾注部分,請注意以「+」、「#」打頭的沒有翻譯。

Helpme_ex5.gif

(圖 3 - 6)

    再看編譯後的效果:

Helpme_ex6.gif

(圖 3 - 7)

    如何,效果還可以您。如果您對頭幾頁的翻譯和編譯效果也能夠象上面這樣,那就說明您已經基本掌握要領了。那我們就轉入下一節,研究一下目錄檔案的翻譯您。

    3.1.2 目錄檔案的翻譯

    目錄檔案是以 .cnt 為副檔名的純純文字格式的檔案,是在 Windows 95 後出現的,用於存放說明檔的各級目錄及其連結。雖然目錄檔案是純純文字格式的檔案,可以用任何編輯器開啟來編輯,但是建議您還是用 HCW 來開啟和編輯它。相對於主題檔案的翻譯,目錄檔案翻譯要簡單得多了。
    您可以先啟動 HCW,再開啟目錄檔案。也可以在資源瀏覽器裡雙擊目錄檔案,它會自動啟動 HCW 並裝入目錄檔案。對於本例,在當前目錄裡裝入名為 HelpMe.cnt 的目錄檔案後的情形如下圖 (片段) :

Helpme_ex7.gif

(圖 3 - 8)

    在此,您可以將預設標題翻譯為「HelpMe 中文化版」。然後雙擊每個目錄條目,在彈出來的視窗裡將標題翻譯成中文,但是不要改動主題 ID 部分。然後按Enter或「確認」按鈕。逐項翻譯過去,然後儲存即可。
    需要注意的是,如果遇到有「:include xxxx.cnt」的行,不要去改動它。它表明在您的說明檔系統中存在有多個說明檔及其所帶的目錄檔案,而當前的目錄檔案將把它們給包含進來。這裡的 xxxx.cnt 就是某個說明檔的目錄檔案名。

    3.1.3 項目檔案的翻譯

    項目檔案在編譯說明系統的過程中起到總裝配圖的作用,也是聯繫具體應用程式與它的說明檔之間的橋樑。因此對它的修改也要小心。通常來講對項目檔案沒有多少好翻譯的,除非您想對說明系統的某些佈局、所使用的視窗特徵、按鈕系統以及其它有關較高級的內容進行調整。
    例如您想調整主題的非滾動區或滾動區的顏色,可以選「視窗」按鈕,選擇視窗類型,再選擇「顏色」頁,單擊所要改變區旁邊的「改變」按鈕來選擇您所要的顏色。
    對於本例來講,需要翻譯的內容只有視窗標題(TITLE)一項。雙擊該項,在說明標題裡將原來的「HelpMe」改為「HelpMe 中文化版」即可。見下圖:

Helpme_ex8.gif

(圖 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,熱點類型都是彈出主題,內容都是不可見。

Helpme_ex9.gif

(圖 3 - 10)

    我們以熱點區三為例來進一步說明。如上圖所示,滑鼠雙擊該區域,可彈出下圖的視窗。裡面把該熱點區域的所有內容都顯示出來,您可以修改它們。但是如果僅是為了中文化的目的,您只要記下該熱點區域的這些內容就可以了,以便對中文化的圖形重新設定熱點區域時參考。

Helpme_ex10.gif

(圖 3 - 11)

    在記下了所有熱點區域的內容後,您可以調入您抓取的中文化後的圖形,依樣畫葫蘆,設定相同的熱點區域及其內容,然後用與原熱點圖形檔案相同的檔案名儲存,一個中文化過的熱點圖形檔案就生成了。本例中,中文化過的熱點圖形檔案見下圖:

Helpme_ex11.gif

(圖 3 - 12)

    所有這些檔案都翻譯和中文化後,您可以進行重新編譯,試執行您的中文化說明檔,檢查和校對修改可能發生的錯誤,再重新編譯無誤後,說明檔的中文化就完成了。關於重新編譯,可看下一課的教學。

   3.2 編譯 HTML 說明系統源檔案和相關檔案的翻譯和中文化

    對於編譯 HTML 格式的說明系統的翻譯與中文化,原則上和對於 WinHelp 說明系統的是一樣的。只不過由於對於這類說明檔反編譯後生成的是分別的 HTML 檔案、圖形檔案、JavaScript 檔案等,並可能存放在不同的目錄裡。在中文化的時候,需要用相應的編輯工具進行編輯翻譯或中文化。例如對於 HTML 格式的檔案,您需要用一個網頁編輯器來翻譯,如果您熟悉 HTML,您甚至可以用普通的純文字編輯器進行直接的編輯和翻譯。其它類型檔案的翻譯和中文化類似,不再贅述。

第四課: 再編譯 - 編譯中文化過的說明檔的原始檔案

    3.1 WinHelp 說明系統原始檔案和相關檔案的翻譯

    3.2 編譯 HTML 說明系統的重新編譯

    對於編譯 HTML 格式的說明系統的翻譯與中文化,原則上和對於 WinHelp 說明系統的是一樣的。只不過由於對於這類說明檔反編譯後生成的是分別的 HTML 檔案、圖形檔案、JavaScript 檔案等,並可能存放在不同的目錄裡。在中文化的時候,需要用相應的編輯工具進行編輯翻譯或中文化。例如對於 HTML 格式的檔案,您需要用一個網頁編輯器來翻譯,如果您熟悉 HTML,您甚至可以用普通的純文字編輯器進行直接的編輯和翻譯。其它類型檔案的翻譯和中文化類似,不再贅述。

 



回教學