Make your own free website on Tripod.com

編寫: fishs

    Exescope 是一個可以修改軟體資源的工具,功能強大,可以修改 exe、dll、ocx 檔案,因此是一個理想的中文化工具。相對於其他中文化工具來說,Exescope 使用簡單,用它中文化的軟體執行穩定,不會出現相容性問題,缺點就是沒有字典功能,對同一軟體的不同版本中文化時,無法利用以前的中文化資源,每次都要重新中文化。但我仍然鍾愛於它,一年多來一直使用。本文就以 BowlingTile 1.01 為例介紹如何用它中文化用 Delphi 編寫的程式。
    首先執行 Exescope,開啟 btile.exe 檔案,在左邊視窗可以看見如左圖。可以看到有頭部、匯入、資源三大類,在匯入中都是這個 exe 檔案執行時需要調用的一些 dll 模塊,這是 Exescope 的另一個重要功能,與中文化無關,我就不講了。我們的重點是資源,點擊前面的加號可以開啟其下的分類,可以看到有很多分類,我們需要修改的地方基本上都在字串表、RC 資料中,有些圖片也可以從點陣圖中匯出來修改,不是我要講的重點,大家自己看您。另外,我們也可以以此作為判斷依據,如果在資源中看到有 RC 資料,我們就可以認定這個檔案是用 Delphi 編寫的。
    點擊 RC 資料前面的加號開啟其下的幾類,一般前面兩個不是要中文化的,大概是檔案頭之類的訊息,我也不懂。從幾類的名字我們也可以基本上看出它們是哪些視窗,如 TF_ABOUT 就是 "關於" 視窗。我們點擊 TF_OPTIONS "選項" 視窗,顯示如下:

    由於顯示出來的資料很多,而且不同的軟體中遇到的情況也不一樣,篇幅有限,不能一一以圖例介紹,這裡只重點介紹本軟體中出現的情況,其他的就一筆帶過了。
    下面以圖中的標示逐一講解。
    1是我們主要中文化的地方,Caption 表示控件的標題,我們只要中文化後面引號內的內容即可。還有一些主要中文化的地方這裡沒有出現,就是 "Hint" 和 "Items.Strings" 後面的內容,分別為提示和選項框中的內容。大家以後會經常遇到的。
    2是這個控件引用的字串集,一般都是 "DEFAULT_CHARSET",有時候也會是 "ANSI_CHARSET"、"RUSSIAN_CHARSET",如果您正常中文化後顯示出來的卻是怪字串,多半是因為這裡出了問題,只要改成前面那個就可以了。
    3是顯示字型的大小,英文軟體中常見的就是 -11,一般改為 -12,相當於中文的小五號字,網頁中的 9pt。
    4是字型名稱字,一般改為 "新細明體",沒什麼好說的。
    5、6表示這個控件的座標位置,是相對於視窗左上角而言的。有時候因為字型、字號的變化,控件的顯示會有些錯亂,這時候就需要在這裡調整了。
    7、8表示這個控件的高度、寬度,和它的座標一樣,有時候也要調整。
    9和3一樣,但在中文化時卻是一個要注意的地方。當我們把視窗控件中定義的字號,也就是最前面的定義字號改為 -12 後,在它下面的定義字號的地方有時候是改為 -12,有時候是改為 -13。這要根據軟體的不同,看哪個能正常顯示了。軟體本身有時候會顯示一些大字標題,這時候的字號都比 -12 要大,這時就不要去動它了。
    理論上這裡的很多東西都可以修改,但我並不主張這樣,因為改的太多很容易出錯,況且我們的目的是中文化,其他的應盡量保持原樣。
    在中文化這裡的時候有時會遇到一個問題,就是當您修改後的字串長度要大於原字串長度時,超出的字串無法插入,這時只要刪除每一行前面的部分字串,直到可以插入為止。
    上面介紹的是中文化視窗,也就是對話框的內容,其實在 Delphi 編的程式中,選單也在這些 RC 資料中,一般在資料視窗的最下面。選單的中文化很容易看懂,我就不多說了,只是要注意 "&" 字串,它的含義我想大家都知道您,什麼,不知道,您……您您……快回去唸書您。

    好了,又搞定一塊,下面該中文化字串表了。這個其實很簡單,開啟一個字串表,顯示如左圖。
    只要中文化後面的字串就可以了,前面的數字和逗號千萬不能動。另外在這些字串中,經常有一些參數或變量,如圖中的 "%s",還有這裡沒有出現的 "$0A" (換行符) 、"#39" (單引號) 等,也是不能亂改動的。換行符可以根據自己需要保留、添加或刪除,參數或變量則不行。
    用 Exescope 中文化用 Delphi 編寫的程式時,有兩個麻煩的問題。一是無法隨時模擬顯示,只能保存退出後執行軟體才能看到修改後的效果,這對於中文化一些對話框時,需要經常調整一些控件的大小、位置時就很麻煩,而在中文化用 C 語系編寫的程式時就可以隨時點擊 "測試顯示" 預覽效果。另一個就是當您中文化完一個幾類後轉到另一個幾類時,字型的顯示會發生變化,中文會變成亂碼,只有退出後再次開啟才會顯示正常,也是一個很麻煩的問題。
    至此,一個檔案就基本上中文化完了。多數情況下,再執行軟體的時候,仍會看到一些這裡找不到的英文字串,這時候就要用到另一個超級工具 UltraEdit32 了,它的用法不在這篇文章的範圍內,就不說了。另外這只是一個檔案而已,有些軟體要中文化的不只一個檔案。一般來說,您可以把軟體安裝目錄下的所有 exe、dll、ocx 檔案一一開啟看看有沒有要中文化的資源。在主程式檔案中,您可以透過前面提到的匯入中查看有沒有其專有的 dll 檔案,有不少軟體將其 dll 檔案放在 Windows\system 目錄中,也是不能放過的。
    本文介紹了如何用 Exescope 中文化用 Delphi 編寫的程式,如果是用 C 語系編寫的程式,則是另一種情形,請看 "C 語系篇"。



回教學