查看單個文章
舊 2004-08-02, 09:49 PM   #1
丹楓
版區管理員
 
丹楓 的頭像
榮譽勳章
UID - 20879
在線等級: 級別:48 | 在線時長:2591小時 | 升級還需:6小時級別:48 | 在線時長:2591小時 | 升級還需:6小時級別:48 | 在線時長:2591小時 | 升級還需:6小時
註冊日期: 2003-01-02
住址: 史萊姆團隊
文章: 6186
現金: 46080 金幣
資產: 50960 金幣
預設 VB 軟體中文化教學 (初級篇)

現在為大家介紹如何中文化 VB 軟體,這邊我們以一套超簡單的軟體來當作範例。
MiniMail
軟體版本:1.20
原創作者:PAWSoft
軟體分類:郵件相關 (郵件軟體)
軟體性質:免費軟體
語言介面:英文
檔案大小:121 KB
軟體下載:http://www.pawsoft.btinternet.co.uk/files/minimail.exe
軟體簡介:
你想要寄一封只有簡單幾個文字的信嗎?這就是一個最簡單陽春的送信軟體了,只要輸入收件人、主旨及內容即可送出,讓你不必大費周章的去開啟 Outlook就可以寄信了。
-----------------------------------------------------------------------------------
  OK!開始製作吧!我們先用一下 eXeScope 看一下是否有資源可以讓我們中文化,
疑!奇怪了,怎麼沒有資源呢?
http://www.slime2.com.tw/teach/hola/images/01.JPG
不信邪,換 ResHacker 來看,結果都是相同。
http://www.slime2.com.tw/teach/hola/images/02.JPG
  正當有點疑惑時,在 eXeScope 中的區段有看到一個 Msvbvm60. DLL 的資源
檔,讓我很確定這套軟體是用 VB 所寫的,所以我們可能要用其他工具製作中文化


使用工具如下:

字串修改工具:UltraEdit 版本不拘....
字串提取工具:字串替換器 (OverNimble Localize Plus )V1.04

UltraEdit 說明:

  記事本的弁鄐荈妞K,WORD太耗資源了(程式大又佔寶貴的記憶體空間),小作
家又用不順手,想要找個可以處理文字檔和二進位檔,又方便又好用的文書處理程式嗎
?用最新的UltraEdit就對了!更重要的是它支援DBCS,中文編輯再也不成問題了!


字串替換器說明:

  本軟體是一個本地化工具,主要用於非資源格式的本地化工作,支援的種類包括非資源格
式的 C 編譯的程式中的 ASCII 字串和 UniCode 字串、非資源格式的 Delphi(C++ Builder)編譯
的程式的字串、VB 編譯的程式的字串、純文字格式的字串等的提取及替換。同時它還擁有方
便的版本升級弁遄B字典處理弁遄A使您在翻譯新版本時事半平縑C本軟体提供英文、簡體
中文和繁體中文三種語言選擇,並且您也可以很方便的加入對其它語言的支援。


首先我們用字串替換器找出我們想要的字串,這邊我們要分為兩種字串類型:

1.ASCII 標準字元
2.Unicode 非標準字元

開啟字串替換器請選擇 [查找 VB 字串] 如圖!
http://www.slime2.com.tw/teach/hola/images/ASCII1.JPG
之後選擇您想要搜尋字串的程式,這邊我們以 MiniMail 來作示範喔!如圖!
http://www.slime2.com.tw/teach/hola/images/ASCII2.JPG
之後選擇查找字串,會跳至下一個畫面。
http://www.slime2.com.tw/teach/hola/images/ASCII3.JPG
之後選擇編輯對照檔案,請注意,您必須先去掉不可中文化的字串後在
翻譯您想要翻譯的英文字串。

如果翻譯好了之後我們可以選擇替換字串的弁鄖茩停z翻譯完成的字串
導入元英文程式中。如圖:
http://www.slime2.com.tw/teach/hola/images/ASCII4.JPG
我們一定要選擇 VB 字串 喔!不然出錯不要怪到我這邊來!
之後選擇替換字串!如圖!
http://www.slime2.com.tw/teach/hola/images/ASCII5.JPG
替換完成之後我們就可以測試您中文化過的程式,看看是否可執行
不過在替換完成後,還是有很多英文未完成,這時我們還要選擇:
查找 Unicode 字串,在將該英文字串翻譯完成後替換即可完成。

中文化過的的程式如下:
http://www.slime2.com.tw/teach/hola/images/mail1.jpg
您是否覺得程式有點怪怪的,上方的選項怎麼有的有 (&?) 有的沒有呢?
主要的原因是原程式英文字串簡短,所以無法將快速鍵附加上去。

有沒有辦法呢?答案是有的?我稱之為『截長補短法』,利用一些英文
字串過長的自原來替補一下原本字串過短的字元,讓程式更好看,也更
完美。

這時我們可以利用 UltraEdit 來調整一下我們想要調整的字串吧!
我們先以上面按鈕來作為調整的範例:如下圖所示!
http://www.slime2.com.tw/teach/hola/images/mail2.jpg
在圖上我們可以看到原本『 清除 』的英文字串『&Clear 』只有 5 個字元
但要改成『清除(&C) 』則需要 8 個字元,因此我們可以用上面的字串
電子郵件的收件人 』下還有很多空白的字元可以作調整。如圖!
http://www.slime2.com.tw/teach/hola/images/mail3.jpg
我們先將『電子郵件的收件人 』下刪除兩個字元,並且在『清除』字串上加入兩個字元。
並將之改成 『清除(&C)』。

請注意,加入字元後我們要在原字串前兩個字元下加或減掉您所附加或刪除的字元•
如圖所示!
http://www.slime2.com.tw/teach/hola/images/mail4.jpg
在字串的前兩個字元為該字串的長度,如果以『清除(&C)』來看,其字串長度為

08 00 B2 4D B0 A3 28 26 43 29

當您所有的字串改好之後,原本按鈕的快速鍵就已經出現在您的眼前了
當然程式也就變的比較美觀一點。如圖所示!
http://www.slime2.com.tw/teach/hola/images/mail5.jpg
如何!覺得您的中文化技術是不是又增加了不少

OK!接下來我們來看一下下面的圖!
http://www.slime2.com.tw/teach/hola/images/mail6.jpg
ㄟ....是不是有點怪怪的,在 XXX主題怎麼後面多出空白的是蝦米東東呢?
原來是在中文化時有兩種替換的方式可以讓您選擇 (製作中文化軟體上有說
明,我這邊就不多說),一個是 0x00 另一個是 0x20 的替換方式。

0x00 就是您在替換字串時,後面都補上 00 的結束字元
0x20 就是您在替換字串時,後面都補上 20 的空白字元

這邊我們直接補成 0x00 來結束後面剩餘的英文空白字串,如圖所示!
http://www.slime2.com.tw/teach/hola/images/mail7.jpg
如何!是不是好看多了,其他的字串也是可以依照這種方式下去製作,
不過有些字串會分開,如果用 0x00 結束後面字元的話,那麼次要字串也
會看不見喔!

PS:這種情形只會發生在 Unicode 非標準字元上,在 VB 的 ASCII 字元上
  可以用 0x00 直接結束它。

最後就是修改您的字體,本套範例只需修改 4 個如下:
[000000BC02444201000D4D532053616E73205365726966 = 英文 / 粗體 / 8 號 / 長度 0D 字元 MS Sans Serif

8800009001905F01000DB773B2D3A9FAC5E90000000000 = 中文 / 細體 / 9 號 / 長度 0D 字元 新細明體

就是將原本的英文字體改為中文專用字體,這在在 9X 下字體顯示就會比較美觀
我在 2000 下是不會有次困擾的。

其次要修改的是 VB 字體部分,英文程式的執行為 VB!...我們要改為 VB!vb6cht.dll 即可
修改如下!
http://www.slime2.com.tw/teach/hola/images/VB1.JPG
改成....
http://www.slime2.com.tw/teach/hola/images/VB2.JPG
改完之後若您沒有上述的檔案,請將該檔案 (請自己從 VB6 中文版上找一下),將檔案複製到

C:\WINDOWS\SYSTEM 9C

C:\WINNT\SYSTEM32 2000/NT

之後就是享受著中文化後的快感了...
__________________________________________________________________________________

紅淚 2002/12/20


作者:紅淚
丹楓 目前離線  
送花文章: 3146, 收花文章: 4654 篇, 收花: 23984 次
回覆時引用此帖