Glossary  讓中文化更快速

1998/9/3

剛剛學會了如何用 Visual C++ 來中文化,但是一格一格慢慢地修改 resource 有點累人,更何況軟體出新版本的速度這麼快,一出新版本不是又得要重頭翻譯全部重來,會瘋掉的~~

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

Glossary 現在有 Windows 介面的版本了!! 字典產生程式是由林洵賢所寫,視窗介面程式是由譚臻業所寫。您可以在中文化軟體聯盟的 FTP 站抓到這個程式:

ftp://cpatch.hort.ntu.edu.tw/patchutil/tool/glossary.zip

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

 

安裝 Glossery (Windows 版本)

設定 perl.exe 的路徑

下載了 glossary.zip 以後,直接把它解壓縮到您喜歡的目錄,就可以使用了,不需要安裝程式。

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

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



 

 

 

存成RC檔

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

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

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

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

 

產生字典檔

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

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 檔),和 輸出字典檔 的檔案名稱和路徑。

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

產生字典檔

 

將字典檔排序

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

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

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

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


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

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

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

整理字典檔

 

利用字典檔中文化新的版本

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

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


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

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

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

翻譯新版本

 

存回檔案

編輯完的 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 檔中了。

 

使用技巧

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

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

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

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

 
  小正正教室

Since 1998/9/3


  回中文化文件區



回教學