中文工具箱-翻譯檔案說明書

Jackry Tseng

    檔案大綱:

    翻譯檔案結構說明

    翻譯檔案分兩個部分:

      檔案標頭

      一般在翻譯檔案開頭前5行的地方,是Update工具所要瞭解您要中文化那一個檔案」及原始檔案的大小,如果沒有特殊需求的話,是不用更改的。

       1:########[中文工具箱]########
       2:#> 原始檔案名稱: C:\CKit\wintop.EXE
       3:#> 原始檔案大小: 17408
       4:#> 資料起始位址: 10240
       5:############################
       6:#=========================
       7:#> 對話盒 2
       8:#=========================
       9:#--------------------
      10:Memory
      11:記憶體

      中文化內文

      在翻譯檔案開頭第6行之後,都是要中文化的參考資料。以一行英文字與一行它的中譯為一 組。

    特殊符號說明

      註解符號 #

      若有一行的開頭字元為 # 則此行將視為註解,也就是在 UPDATE 時,不會把此行 視為欲中文化的資料。

      1. 一般註解符號
        #這是註解行
        #####這樣也是註解行
        ###哈棉###
        ### 但下一行不是註解行,請留意 ###
        This \#yes
      2. 特殊註解符號 #>

        這是給Update看的註解開頭#>,在一般情況下,我們不用寫

        範圍註解符號:

        • #> 選 單
        • #> 對話盒
        • #> 對話盒EX
        • #> 字串表
        • #> 類別不明
        • #> ASCII

        若有不在上列的奇特類別名,Update一律視為 #> 類別不明 來處理。

        注意: 範圍的結束點,在下一個範圍註解符號的上端!

      特殊字元符號

      \t 跳格字元
      \n 換行字元
      \r 機架返回字元 (即游標跑回此列的最開頭)
      \\ 「\」字元
      \x41 「A」字元的另一表示法 (B字元為\x42 其餘類推)

      其它符號

      若有 %d %s %i %lu 等這一類由%開始的符號,代表這程式在執行時會做特別的顯示
      樣式,學過 C 的人有沒有想起來呢 :-) ,所以最好不要刪除也不要中文化此符號!
      除非您知道您在做什麼。
       
      注: 在字串表的範圍中, 會比較容易見到!

      取代位址符號 ::

      取代位址符號之後所接的數字,代表距檔案開頭算起,從您指定的位址下,才開始做此字串的英文搜尋及中譯取代。請注意,取代位址符號只能使用在#> ASCII範圍的中譯行上。

      例如:
      #> ASCII
      &File
      檔案(&F)::3000


      解說: CKit會將上組翻譯從檔案位址3000起,才開始&File的字串搜尋及然後取代。


    進階修改技巧

    1. 關於#> ASCII 範圍註解符號

      1個中文字在這裡是算2個英文字母,所以中文字請盡量不要超出原英文字 長,否則絕對會被截掉的。 (2 ASCII字元 = 1中文字)

      補充:
      看到這也累了您! 告訴您一個小常識: 在目前Windows95環境裡,所有32位 元程式的選單、對話盒、字串,大多是以unicode碼編成的。 (是一種字元編碼方式,以2 bytes 表達出各國的文字,增加通訊的便利) 而正規的ASCII字元碼,只能表達英文字母及在鍵盤上的一些符號。是專門給美國佬用的,所以非常不適合中文字的發展。

      中文化ascii步驟如下

       


      1. 在CKit的「製作翻譯對照檔案」頁面上,將「讀取種類」圈選成ASCII字串。後面的數字代表您想要捉出大於或等於此數字的字長
      2. 讀取完畢之後,請按下「編輯」鈕,將一些沒看過的文字及亂碼給去除。(以確保中文化後,程式還能正常執行)
      3. 利用「中文化」頁面,進行中文化工程。

      注: 有些Windows程式的選單及對話盒文字為ASCII碼,您可以將字長設為0,讓CKit自行篩選出較需要我們中文化的部分。

      解決無法中文化某些ascii的步驟如下

       


      原因: 這表示您要中文化此ascii的物件,有很多。以至於ckit只中文化所發現到的第一組ascii。

      步驟: 使用取代位址符號::來解決

      1. 執行Undo.bat來還原剛才被中文化的英文程式
      2. 用記事本來查看c:\CKit\CKit.log,看有那一ascii是重複的,然後再看 預覽,確定那一個才是您所要的。
      3. 記下它的位址yy
      4. 編輯您的翻譯檔案XXX.ASC,移到所重複的ascii中譯行上,在其後加::yy (附註: 如果您覺得記位址太麻煩了,可以只記第幾順位X。然後在其後 加::X' )
      5. 再用中文工具箱裡的「中文化」就可以了!

      例如有個程式的Play字串重複出現多次,在第一次中文化(update)後,CKit會將重複的地方寫在ckit.log,假設內容如下:

      #----發現多組ASCII在位址----
      Play=24596* 預覽:Play @ P Pa&use q
      Play=24762 預覽:Play Queue Path:

      發覺,我要中文化的是第2個,而不是ckit內定的第1個。(先找到的,先取代) 於是我修改此翻譯檔案的Play中譯行,把它改成如下:

      #> ASCII
      #--------------------
      Play
      ::2'

      接下來,我們再用中文工具箱的中文化頁面(UPDATE)進行中文化工作,就可以了!


    無法中文化的解決之道

    若沒中文化到想中文化的字串,請在製作翻譯對照檔案時,將讀取種類選ASCII字串然後再製成翻譯檔案。如果還是沒看到想中文化的字串,也許您想中文化的程式有經過壓縮或編密過,導致我們無法直接取得字串資源而進行中文化修改。>_<

    如果是中文化後不能執行或原程式不正常,我的作法是:

     


    1. 在「中文化」頁面上,請核選不中文化字串表 (即UPDATE /ns)。
      若仍不正常,再核選對話盒(/nd)...選單(/nm)...。
    2. 從上一步驟組合中,可以挑出有問題的類別。然後,編輯翻譯檔案,仔細查看在此類別中,是否有怪異的英文字 ,若有則捨棄它及其中譯,若仍不正常請再下一步驟。
    3. 太怪異了! 只能退而求其次,編輯翻譯檔案,只保留最想中文化的部分 。若仍不正常請再下一步驟。
    4. 太遺憾了! 中文工具箱無法中文化您的程式,請使用較高階的資源編輯器,例如: Visual C++、Borland C++等。

     


    重複上述步驟可慢慢找出有問題的地方,需要有一點耐心 :-p

    注意事項

    1. 翻譯檔案的內文,若有一換行列(即連空白字元都沒有的文字列),UPDATE會 自行找下一列有資料的地方。
      File 視為 File
       -----> 檔案
      檔案


    2. UPDATE時會先跟據翻譯檔案所記載的路徑去找原始檔案,若找不到,則從目前所在 目錄找尋。

最後更新: 1999/12/27 PM 08:18:45
作者: Jackry Tseng

 

 



回教學