當前位置:才華齋>計算機>作業系統>

淺談DOS軟體的漢化

作業系統 閱讀(2.38W)

導語:近年來新推出的各類DOS軟體很多,但由於絕大多數DOS新軟體都是英文的,不符合絕大多數國人的習慣,我覺得要做到推廣新DOS軟體,少不了經過漢化這一環。下面就由小編為大家介紹一下淺談DOS軟體的漢化,大家一起去看看吧!

淺談DOS軟體的漢化

DOS下的軟體漢化與WINDOWS9X的不同,WIN9X的軟體其文字資訊多數使用資源(我實際上不懂EXE檔案格式,所以不作準確描述)存放,可以用 專門修改檔案資源的軟體如EXESCOPE等找出來漢化。DOS中的文字資訊分散在EXE檔案各處,要修改起來相對困難得多,當然FOXPRO例外,在 RICHWIN某些版本中有一個漢化了的FOXPRO選單,可以用它輕易將FOXPRO的選單漢化。

要漢化DOS軟體,最簡單的方法當然是在UCDOS/CCDOS等漢字系統下,用PCTOOLS等的十六進位制編輯功能將英文資訊逐個修改,然而工作量也最大,效率則最低。

當然DOS下也有東方快車等自動漢化軟體,不過它漢化出來的意思往往難以做到準確,有時用這些軟體漢化出來的還不如使用原來的英文軟體方便,在這方面我也沒有多作嘗試。

還有一種方法是使用文字資訊提取軟體,將一定長度的文字資訊和位置資訊從EXE檔案中提取出來,成為一個TXT檔案,對這個TXT檔案進行修改後,再按照位置寫回去,這裡要注意的是修改後的漢字字串長度不得長於原來英文字串的長度。

我這裡主要介紹第三種方法,也推薦想進行漢化的朋友使用,這也可當成一種學習英文單詞的`途徑。我使用的文字提取軟體是龔成兵的Editor 2.0(注:可在本站的“中文工具”中下載),用法很簡單,如edit2 /s:4 就可將中不短於4個位元組的文字全部提取出來,存成檔案,用我們熟悉的編輯器進行編輯。檔案裡面是類似下面的字 符串:

*0000790A 0009┃Unable to┃

……

前面是提取的文字在EXE檔案中的位置和長度,不要修改。*號表示略過,不將修改後的文字寫回,所以如果要將修改後的文字寫入就必須去掉*號。

後面夾在在表格符間的英文就提取出來的字串,最好在CCED(或CCDOS97的ED,或CXDOS中自帶的CXED)中並在表格鎖定狀態下進行修改, 這樣就不用擔心修改後漢字的長度會長過原來的英文了。漢化時不妨載入希望辭海或譯林英漢詞典等,隨時查閱不認識的單詞。

修改之後,可以用edit2 /r 將漢化後的資訊寫回去,然後在漢字系統中執行NDD測試效果,如果要作修改只需再修改就可以了。

  再補充幾點細節問題:

1、提取出來的文字經常有%a,%d,%C之類的文字,這是程式要顯示的變數,不要將它們修改。

2、DOS早期的漢化比較困難,主要是因為早期的漢字系統不支援直接寫屏,需要漢化者精通匯編語言並修改顯示方式。現在的漢字系統可以支援絕大部分的英文軟體,只需直接翻譯即可,所以任何人都可以進行漢化工作。

3、漢化前最好先執行該軟體一次,確信其可以在漢字系統中正常執行。這主要是少數英文圖形軟體和HD-COPY等與部分漢字系統爭奪時鐘中斷的軟體會引起麻煩。

有部分DOS軟體使用了PKLITE等軟體壓縮,這時需要用UNP等先將它們解壓縮,然後才進行文字提取工作。

希望有更多的朋友加入漢化行列(我正在抽空漢化NORTON 2002中的NDD FOR DOS),使有更多的優秀DOS軟體給國人使用。