用 Glossary 讓中文化更快速

原作: 小正正(台灣) 

剛剛學會了如何用 Visual C++ 來中文化,但是一個一個慢慢地修改資源(resource)實在太累,更何況現在軟體出新版本的速度那麼快,一出新版本又要從頭翻譯全部重來,很容易會瘋掉的~~

有了 glossary 這套個程式以後,就可以快速的中文化新版本,省掉很多事囉!!

Glossary 現在有 Windows 界面的版本了!! 字典產生程式是由林洵賢所寫,視窗界面程式是由譚臻業所寫,簡體中文版由豪仔編譯。

要特別注意的是,這個程式是用 Perl 語系寫的,所以要執行這個程式,必須要先安裝 Perl 的直譯器,您可以在 ActiveState Tool 取得 Perl for Win32

安裝 Glossery (Windows 版本)mark586.gif (919 字節)

設定 perl.exe 的路徑下載了 glossary.zip 以後,直接把它解壓縮到您喜歡的檔案夾,就可以使用了,不需要安裝程式。

如果是第一次使用,必須在 Glossary 中先設定 prel 直譯器的程式路徑。

按下 設定... 的按鈕,選擇 perl.exe 這個檔案,然後按下 開啟 即可!

存成 RC 檔案mark586.gif (919 字節)

在開始之前,先教大家怎樣用 Visual C++ 5.0/6.0 將 resource 另存成 .rc 的檔案。因為以後常常需要用到。

先用 Visual C++ 5.0/6.0 開啟 EXE 或 DLL 檔案的 resource,然後在下拉選單 File → Save As...檔案類型選擇 Resource Script (.rc),再按下「保存」就可以了!! 在保存檔案之前最好先建立一個檔案夾放置檔案,因為它會把 resource 中所有的 bitmap、icon 都分離出來儲存,可能會有一大堆檔案,但是我們會用到的只有 .rc 檔案而已。

我們所存成的 rc 檔案也可以用 Vusial C++ 開啟再編輯,但是開啟時,它原本的 bitmap、icon 檔案都必須存在,否則會有錯誤無法開啟。

存 .rc 檔案之前,也可以先將 bitmap、icon 和其他不需要中文化的東西先刪除掉,留下要翻譯的項目即可。然後再存成 .rc 檔案。

產生字典檔案mark586.gif (919 字節)

什麼是字典檔案呢? 就是一行行英文和相對應中文的一個純文字檔案,像下面這個樣子:

List Help topics\nHelp Index
列出說明主題\n說明索引
List Help topics\nHelp Topics
列出說明主題\n說明主題
Mail system DLL is invalid.
電子郵件系統的 DLL 無效。
Menu Bar
選單欄
Menu Text
選單純文字
Metafile
圖元檔案

字典檔案有什麼好處呢? 當我們中文化的軟體出新版本時,不需要全部重新翻譯,利用原先翻譯好的字典檔案,只要再加上新增的英文訊息翻譯,很快就可以中文化新版的軟體了!! 而且這樣一行一行的編輯字典檔案,也比直接在 Visual C++ 中編輯資源(resource)來的方便簡單多了!!

要產生字典檔案,首先要準備好原始英文軟體的 RC 檔案,和以前翻譯過的中文 RC 檔案。我們可以利用上一節所講的方法,把英文原始的 EXE (或 DLL) 檔案和中文的 EXE (或 DLL) 檔案分別存成 RC 檔案。

要注意的是,這兩個 RC 檔案(中文和英文的) 必須是同一個軟體的同一個版本。

 


我們利用 Glossary 來製作字典檔案。執行 Glossary 之後,選擇 產生字典檔 的標籤,然後分別按下 瀏覽...,來選擇 來源 RC 檔 (即原來英文的 RC 檔案)、 翻譯後 RC 檔 (即同一個版本的中文 RC 檔案),和 輸出字典檔 的檔案名稱和路徑。

三個檔案路徑選擇都選擇好後,按下 開始製作 就可以了!! 所產生的字典檔案就是 輸出字典檔 位置所指定的檔案。

產生字典檔案

 

將字典檔案排序mark586.gif (919 字節)

字典檔案產生以後,我們就可以直接來編輯修改字典檔案,把一些不適合或還沒完成的翻譯做完。它是一個純純文字檔案,奇數行是原本英文的訊息,偶數行則是中文翻譯。

Glossary 可以先將字典檔案做一個整理、排序,刪除掉重複的翻譯。

整理字典檔案的好處是: 將相同的英文詞句放在一起,可以統一翻譯,不會有前後翻譯不同的情況發生。壞處是: 原本的對照檔案,根據前後上下文可能有較合適的翻譯,但是整理過後,前後區域就沒有相關的關係了。

附帶說明一點,Glossary 刪除重複的原則是,以最後面出現的取代前面的翻譯。

 


執行 Glossary 之後,選擇 整理字典檔 的標籤。

欲處理之字典檔 的地方,按下 瀏覽... ,選擇字典檔案的檔案路徑。

最後按下 開始製作 ,開始整理字典檔案。之後您再去編輯字典檔案,就會發現字典檔案內容已經被排序整理過囉!!

整理字典檔案

 

利用字典檔案中文化新的版本mark586.gif (919 字節)

最重要的時刻來臨了!! 剛才大費周章做出來的字典檔案終於派上用場了。我們要利用字典檔案來翻譯新版本的程式。

我們要先準備好新版本程式的英文 RC 檔案。

 


執行 Glossary 之後,選擇 翻譯新版本 的標籤。

分別瀏覽 字典檔新版本 RC 檔翻譯後 RC 檔 的檔案和路徑,然後按下「開始製作」,就會產生新的、翻譯過的 RC 檔案了!!

完成後再用 Vusial C++ 開啟新產生的 RC 檔案,檢查一下,編輯新增 (尚未翻譯) 的部份就可以了!!

翻譯新版本

 

存回檔案mark586.gif (919 字節)

編輯完的 RC 檔案無法直接存回到 EXE 或 DLL 檔案中,這樣沒有辦法使用啊!! 所以我們要利用「複製剪貼」的方式。

使用 Visual C++ 開啟同版本的 EXE (或 DLL) 檔案和 RC 檔案。舉例來說,我要將 RC 檔案中新的字串表(String Table)存到 EXE 檔案中,照下面的步驟:

  1. 先刪除 EXE 檔案中的 String Table。
  2. 在 RC 檔案的視窗,選取 RC 檔案中的 String Table,然後按下複製(Copy)按鈕(從下拉選單選也可以)。
  3. 回到 EXE 檔案的視窗,按下剪貼 (Paste) 按鈕,就完成啦!!

其他的 Menu、Dailog 也可以用複製、剪貼的方式來做。這樣一來就可以把翻譯過的東西存回到 EXE 檔案中了。

 

使用技巧mark586.gif (919 字節)

您可以反覆使用 Glossary 來產生字典檔案然後翻譯。像我的習慣是,軟體一拿來,先用兩個英文的 RC 檔案來製作字典檔案,當然裡面全部都是英文。然後再慢慢編輯翻譯字典檔案。

字典檔案翻譯完成後,用來翻譯原來英文的 RC 檔案,再用 Visual C++ 來做最後的修正,把一個一個 Dailog、Menu 開啟,看看有沒有不妥的翻譯或位置不適當的地方。

如果同一個程式出了新的版本,先用原來舊版本的字典檔案來翻譯新版本的 RC,然後再用 Visual C++ 開啟新的 RC 來修改,補上新的翻譯。

靈活的運用這些工具,或許您會發現更有效率的方式哦!!

 



回教學