Delphi是目前Windows95/NT環境下優秀的軟件開發系統。雖然它目前還不是中文版的,但仍可以開發出完全中文版的應用程序。DELPHI附帶的應用程序安裝工具ISEXPRESS也是讓程序員們如虎填翼,快速生成最終的應用軟件的安裝程序。但許多從事Delphi軟件開發的程序員可能都覺得它有一個不足,就是用ISEXPRESS工具制作的安裝程序的界面是英文的,這對最終用戶來說是很難接受的。勉強應付的辦法是在制作安裝程序時盡量減少對話框,這也難免不出英文提示。
能不能將ISEXPRESS制作的安裝程序的顯示全部變為中文的呢?
回答是肯定的。目前大多數軟件的操作界面和信息都是寫在RESOURCE(資源)中,所以我們只要把EXE文件和DLL文件中的RESOURCE摘取出來,就可以輕易的把信息翻譯修改成中文。而目前不少編程系統中的資源編輯器(RESOURCE EDIT)都可以將一個已經編輯完成的EXE文件和DLL文件中的RESOURCE摘取出來讓我們編輯。
修改的目標
首先讓我們來分析一下ISEXPRESS制作安裝程序時需要的一些必要的安裝文件都是哪些。知道了哪個文件內部包含著安裝時需要顯示的信息,修改起來就有針對性了。對於安裝時顯示信息有影響的文件有以下幾個:
1._SETUP.DLL
安裝程序SETUP.EXE剛剛運行時使用的資源文件,包含一個對話框窗體、三組字符串和兩個圖標。(漢化的對話框如右所示,這是在准備建立安裝程序的臨時文件時顯示的提示窗體)
2._ISUSR32.DLL
進行安裝過程中需要顯示的一些字信息符串資源。如下面的兩個提示信息對話框中顯示的中文信息就是從這個修改後的資源文件中取得的。
3._ISRES32.DLL
包含安裝程序運行過程中使用的大部分位圖、對話框、字符串、圖標等資源。是進行中文化的主要部分。如下面的一個安裝時的顯示用戶名、單位名和序列號的對話框就是修改了這個文件後顯示成中文的:
4.RESDLL.DLL
這個資源文件是ISEXPRESS系統自己使用的,如果修改這個資源文件,將其中的英文替換為中文,則ISEXPRESS自己運行時,顯示的就已經全是中文了。以下是修改後的RESDLL.DLL在ISX.EXE運行時出現的中文效果。
但是要注意,對於DELPHI3和DELPHI4兩個不同版本的ISEXPRESS工具中,RESDLL.DLL文件的版本是有比較大的區別,不能將一個版本的文件漢化後放到另一個系統中運行,否則有些對話框不一樣(如右面一個對話框只是DELPHI4中的ISEXPRESS才有的,而Delphi3中的沒有這麼復雜),可能會導致系統死機。當然了,由於這個文件只是為ISEXPRESS自己使用,對於制作好的安裝盤來說,它是一點作用也不起的,所以不修改它可沒有關系。再者由於版本之間的差異,弄不好還會出亂子,不改它也罷。
5.UNINST.EXE
這個文件用在系統進行卸載時使用。所有的資源信息都保存在文件本身內部,如果要進行漢化,則會顯示出如下的兩個對話框:
修改的方法
(使用Borland C++5.02將軟件中文化)
軟件要求
1. Borland C++5.02 ,只要基本安裝就可以了。
2. Windows95或Windows NT。
3. 您要中文化軟件,此軟件必須為Uni-code格式。
中文化過程
1. 摘錄Resource
首先,運行Borland C++ 5.02,然後開啟要編輯的文件。要注意,VIEwer必須選擇為Edit Resource,軟件類型選擇.DLL(如有必要也可選擇*.EXE類型)。如右圖。打開文件後,將顯示此資源文件中的所有資源類型,下面是一個動態鏈接庫形式的資源文件_ISRES32.DLL的剖析,我們可以看到這個文件中包含了BITMAP位圖信息,DIALOG對話框信息,STRINGTABLE字符串列表及ICON圖標和VERSIONINFO版本信息。將它們左邊的加號用鼠標點一下或按"+"號鍵,就可以展開其中的詳細條目。
2. 編輯Resouce
編輯DIALOG對話框
有兩種方法編輯DIALOG對話框,可視化編輯方法和按文本方式編輯。選擇DIALOG項中的某一個對話窗體,按鼠標右鍵,就可看到彈出菜單中的前兩個編輯方法:EDIT和EDIT as Text。前一種方式是逐個修改控件,特別是它們的相對位置,就象在VB和Delphi的可視化的環境中調整控件一樣方便,這對控件的大小位置調整很管用,如果控件的英文文本改為中文後大小不合適了,使用這種方法進行大小調整是比較方便的;後者是純文本方式,對於大量的英文內容的控件信息的修改,使用這種編輯方法是速度比較合適的。兩種編輯顯示如右圖所示。
編輯STRINGTABLE等其它資源
STRINGTABLE字符串資源中有一種編輯方式,其它的資源的編輯方式也大體上與上在提的方法差不多,相信只要是有經驗的程序員,稍加指點就會輕松完成所有中文化工作的。
使用VC++也可將軟件中文化,但在使用前要注意的是,只有在Windows NT下才可以將編輯過的RESOURCE存回到原本的exe 文件 (或 dll 文件),且讀取時要以Resource資源文件的形式打開,在此不做多述。