* updated by Kii Ali, 12-11-2001 [Image] MRTA 202.145.79.34 1999年 5月 17日 星期一 1:29 再多就沒了 ●前言 ※寫這篇文章的用意是想將自己的中文化經驗與網友分 享如果您看過或已了解或是已發表過 ,就請您跳過這篇 文章。因為這篇文章的用意是【分享經驗】, 所以對於 文章版權沒有任何限制 ,唯一的限制是本人不負責對於 本文內所提及的任何事項或文字負責 ,本文中所提及的 軟體本人亦無義務告知如何取得 ! ●聲明 ※本人不屬於任何組織 ,任何組織無論發佈或公開此文 章亦無須徵求本人同意或對本文內所述事項負責 ! ●非英語系軟體 一般來說中文化多是針對英語系軟體進行 ,此時的語系 方面設定並不是非常重要 ,因此碰到非英語系軟體時 , 常會遇到文字亂碼或是對話盒超出螢幕畫面 ,通常這些 現象可以更改語系的設定與字型來排除 ,而這方面的文 章網路上已有很多詳盡的教學文章 ,本人在此就不贅述 了 !底下將會針對一些特殊情形來說明 ! (一)VC++ & BC++ 1. 當軟體本身未指定語系類型時 ,要使其先恢復成原來的 語系設定這樣匯出的資源檔才能正確的顯示出原始的語 系文字 ,而軟體本身已有指定語系類型只要直接匯出成 資源檔即可 ,在此最重要的是除了還原成原本語系設定 以外 ,其他的部分都不要去更動 。 2. 翻譯這類型的資源檔最常碰到的就是要重新載入資源檔時 會有一大堆的錯誤訊息出現 ,其中的一項原因即是語系設 定尚未改成中文語系 ,一般來說只要改掉對話盒前面的語 系定義描述就能正常載入!假如您對此非常了解直接手動 更改即可 ,如不想一字一字自行更改的話 ,只要按組合鍵 Ctrl + End 跳到最底下即能看到一段中文語系的定義描 述 ,將他框選複製起來並覆蓋到對話盒前面的語系定義描 述即可。 3. 要避免對話框過大的情形 ,只要將字型改成【新細明體】 字型大小則改成9。 4. 載入翻譯好的非英語系軟體資源檔時還有一處可能會出現 問題 ,那就是下拉選單的文字會遺失掉或必須捨棄掉 ,個 人想法是這些文字因為尚未修改而我們更改其語系設定 , 造成程式無法判斷或判斷其為錯誤 ,此時可試著將這些下 拉選單的文字先行移除 ,並於中文化的軟體中保留此具有 下拉選單的前後原始對話盒。 (第4點只是對無法載入修改後的資源檔的小見解 ,不對 下拉選單字串出現與否探討 ) (二) eXeScope 1. 對於一些 delphi 寫的軟體來說 ,語系的設定將會比較費 功夫 ,但相對的非英語系軟體使用上出現亂碼的機會較 C++ 編寫軟體來得少 ! 2. 更改語系的設定一般來說需注意的地方只有 Font.Charset 的地方 ,例如大陸簡體編碼為 GB2312_CHARSET ;日文軟體 為 SHIFTJIS_CHARSET ,當然這些我們不用去記他 ,只要遇 到 Font.Charset 的地方 ,就將他換成 DEFAULT_CHARSET 即可 ,如果你要改成 CHINESEBIG5_CHARSET 也行 ,不過要 是有人要改版(簡繁對換)這樣又得在改一次 ! 例 : Font.Charset = GB2312_CHARSET Font.Charset = DEFAULT_CHARSET 3. 和 C++ 資源檔一樣 ,字型設定一定要改 ,不然對話框又會常 出軌 ! 4. 當我們在翻譯的時候一定會有字串長度增刪的動作 ,某些軟體 的資源複製到文書編輯軟體中翻譯好了 ,要再貼回去時 ,如果 有字串長度的限制 ,此時貼上去的內容會因此少掉一截( 直接 編輯時則不能再輸入 )以往的做法是刪掉一些較不重要的敘述 或是將翻譯字串再精簡一下 ,現在您只要將空白字元給刪掉就 可以了 !而這些空白字元的數量恐怕可讓您在上面再寫篇短文 所以以後就不用再怕這些長度限制了 !( 會檢查檔案本身的軟 體 ,不適用) 例: object OKButton: TButton Left = 119 Top = 176 Width = 75 Height = 25 Caption = '確定' Default = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = '新細明體' Font.Style = [] ModalResult = 1 ParentFont = False TabOrder = 0 end end 改成底下這樣可增加 30 字元的空間 object OKButton: TButton Left = 119 Top = 176 Width = 75 Height = 25 Caption = '確定' Default = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = '新細明體' Font.Style = [] ModalResult = 1 ParentFont = False TabOrder = 0 end end 5. 當使用 eXeScope 此軟體遇到字串表中有逗號的出現時 如果我們不將逗號改成 16H 碼也就是以『$2c』來取代 將會造成後面字串的遺失!(只有更動到有逗號的那頁 字串表才需更改成 16H 碼) 例: 65502,%s (%s, line %d) 需改成 65502,%s (%s$2c line %d) 不然就會變成 65502,%s (%s ●小技巧 1. 更改簡體版本的軟體遇到 ASCII 字串 ,可使用常駐轉換 軟體來轉碼較為方便 ,一般簡體版軟體如使用繁體抓字串 軟體來抓通常都不完整 ,所以大都借重 UrtayEdit 手動 更改 ,此時使用如成然出的常駐轉碼軟體可將簡體字框起 來複製 ,即會出現要求轉碼對話框 ,按一下轉繁體即可將 簡體字轉換成繁體 ,再將剪貼簿的內容貼回去即可 ! 2. 利用抓 ASCII 軟體來翻譯抓取文字檔 ,只要將文字檔的附 檔名改成 EXE 或 DLL 檔案即可 ! ※後記 希望這些個人吸收到的經驗能對不辭辛苦看到這後記的網友 有用 ! MRTA.