Make your own free website on Tripod.com

VB 軟體中文化實踐 - Monkey's Audio 3.96

漢化新世紀成員: 飛速


    VB 的全寫是 Visual Basic,是編程語系的一種,他雖然用來編程式比 Visual C++ 容易多,但是中文化起來卻比 Visual C++ 困難得多。Visual C++ 就是我們通常成為VC的編程語系。VB 程式用一般的中文化工具是編輯不了的,比如 eXescope 這個軟體,不能編輯 VB 程式,用 eXescope 來編輯 VB 程式只能看見版本訊息,並不能看到編輯 VC 時看到的選單、對話框等資源,今天我要推薦的軟體是16進制編輯器 UltraEdit  和GetVBRes,GetVBRes是專門用來中文化VB程式的工具。現在讓我們來看一下這兩個軟體的界面:

這是UltraEdit9.0中文化版的界面:

這是GetVBRes0.51的界面:

    現在言歸正傳,開始 VB 中文化的實踐。我們今天要中文化的軟體是 Monkey's Audio 3.96 。Monkey's Audio 被喻為音樂檔案中 WinZip 級別的 WAV 檔案壓縮工具,它不像其它 MP3 轉換軟體,在轉換時為了增加壓縮率、縮小檔案,而把音質給犧牲掉了 ! 它強調能夠讓原音重現,並且可以作檔案轉換的操作。原版下載地址是 http://www.monkeysaudio.com/files/MAC_396F.exe

    先讓我們看一下Monkey's Audio原英文版的界面:


 

    我們先用GetVBRes把全部資源中文化完,其中遇到中文比英文字串長度長的先把它譯一半,比如下圖原來資源是是&File但是我們要中文化成「檔案(&F)」比原來的字串多了3個,就先把它譯成「檔案(」剩下的先別理它。


 

    如果遇到中文比英文短的就好翻譯了,直接翻譯全部,然後再選中$20 (空格) 就行了,意思就是多餘補空格,英文字串比中文的多多少就補多少。如下圖,下圖中的中文「解壓縮 (&D) 」比英文字串少1個字串,就補一個空格。

 

   把全部資源中文化完成後就開啟UltraEdit來修改剛才翻譯不完整的詞語,就是把英文字串比中文多的地方要給英文字串比中文少的地方,使其平衡,中文需要多少個字串就從多地方移到少的地方。比如剛剛那個 &File 翻譯成中文是「檔案(」,中文比英文少了3個字串,我們就從翻譯成中文後英文比中文多3個字串的地方移動到那裡,如果沒有比對的單詞,我們可以用一個英文單詞比中文多1字串的中文詞,加上一個英文單詞比中文多2個字串的中文詞,變成一個英文單詞比中文單詞多3字串的中文詞即可。

   下面要舉的例子,就是無比對單詞時用兩個單詞多餘的字串來組成一個單詞需要的字串。現在先用 UltraEdit開啟 Monkey's Audio,尋找「檔案(」,查到以後就在「(」的後麵點擊右鍵,在出現的選單中選擇「16進制插入/刪除」,然後在彈出來的對話框把插入選中,在空白部分填3,然後點擊確定。接著就改字串的長度,現在我們插入了3個字串,長度就要由原來的5變成8,每個單詞的長度就是在每個單詞前面的00的前面,現在我們把05改成08。圖中第一個數字就是字串的長度我已把它從5改成8了如圖:

   接著用 UltraEdit 新建一個檔案,在裡面輸入 &F) 然後再選擇「編輯/16進制編輯」,看左邊的代碼是多少,然後就把他輸入到原來插入的那3個字串裡,那3個字串原來是20 20 20 現在改成26 46 29。現在終於把一個單詞改完了,接著到下一個,您先別急著保存出去看效果,因為現在還沒把字串對稱,保存了,執行會出錯的。現在接著用 UltraEdit尋找「配置(&C)...DD」。我把原來軟體裡的「&Configure...」翻譯成「配置(&C)...DD」,為了方便查看空格所以把空格譯為DD,尋找完後在第一個D處點擊右鍵選擇16進制插入刪除,然後在彈出來的對話框把刪除選中,在空白部分填2然後點擊確定。那兩個D就不見了。現在來改長度,原來「配置(&C)...DD」13個字串在16進制13用D來表示,現在減了兩個,就是11,11用16進製表示是B,我們就把D改成就成了,還差最後一個字串就完成了,搜索解壓縮(&D)1,翻譯後的字串比原來的少1,所以我用1來表示空格,查到後把指針指在1上,點擊右鍵選擇6進制插入刪除,然後在彈出來的對話框把刪除選中,在空白部分填1然後點擊確定。現在來改長度了,解壓縮(&D)1一共是11個字串,在16進制裡是B,刪掉一個字串後邊成了10,10在16進制裡是A,所以我們把00前面的0B改成OA,然後保存,現在終於完成了 ! 保存,出去看,是不是「檔案(」已經變成「檔案(&F)」了 ?

    好了,那我們就繼續,按照剛才的樣子把全部翻譯不完全的一一改完,保存後,那個軟體就是中文的了。如果您不懂那些數字在16進制裡是什麼的話,就開啟 Windows 自帶的計算器,切換到科學型,然後選中十進制,輸入一個數字,選擇十六進制就可以看到了,比如在十進制輸入20,在十六進制裡就是14,如果您在16進制裡看到14,那就表示那個單詞共有20個。注意字串的長度是在字的前邊的那兩個0的前面的那兩位數,比如剛剛的,字的前邊的那兩個0的前面的那兩位數就是14。

    好了,就講這麼多了。如果您還不懂的話,請發郵件給我提出問題,我會盡力而為的。我的郵件是 feisu1026@163.com,希望您能成為中文化VB的高手。

   

注: 本文由 漢化新世紀 成員 飛速 發表於漢化新世紀論壇,漢化新世紀 炎之川 整理、校對、製作。



回教學