2014年2月13日 星期四

LyX 使用者界面的中文翻譯經驗談

長久以來我用 LyX 都是用英文環境的界面,後來看到 LyX 官方網站提供的各語言翻譯進度,我就驚覺繁體中文版的翻譯進度好像太落後了,最「新」進度竟然是 2007 年...

有一天,想說「好吧!既然我自己都覺得 LyX 這麼好用,以後若要介紹其他人用,總不能都請他們用英文的界面吧!」我就決定來改善一下 LyX 中文界面的翻譯進度。因此從去年年底開始,我就開始研究該如何進行使用者界面的翻譯工作。

首先當然要先下載原始碼,當時最新的版本是 2.0.6,因此我就先以 2.0.6 版為主。下載程式原始碼後,找到裡面的 po 資料夾,裡面有個 zh_TW.po 這個純文字檔,這個檔案就放著所有的翻譯資料。不過翻譯之前,必須先閱讀一下 README.localization 的指引,看一下該如何進行翻譯。

一開始,我是採用 poedit 這個工具來協助我翻譯,但是翻沒幾個項目之後,我就沒力了。因為這個工具雖然方便,但很難看到翻譯項目的上下文,看不到上下文就很難猜目前這個翻譯項目,最後會出現在程式界面中的什麼地方?如果不知道翻譯的項目最後出現的位置,就很有可能會翻譯出不恰當的詞句。
後來,我改用最陽春的 vim 來編輯,感覺就好用多了。因為 vim 可以清楚的看到文件上下文,而且搜尋功能很好用,我可以很方便的尋找到其他翻譯過的類似詞彙,直接複製過來用就好。

改完 zh_TW.po 之後,若要測試翻譯結果,就必須做編譯動作後,再進行安裝。
我使用 Ubuntu 12.04,LyX 是直接從原始碼安裝的。因此,LyX 安裝的路徑為 /usr/local/  在安裝 LyX 的時候,純文字檔 zh_TW.po 會先編譯成 zh_TW.gmo 的二進位檔,再 搬移&改名 到 /usr/local/share/locale/zh_TW/LC_MESSAGES/lyx.mo

因此若不想每次改完 zh_TW.po 檔之後,還要重新用命令 make install 安裝整個 LyX 的話,可以自己手動編譯成 zh_TW.gmo, 再自行複製取代原本的 lyx.mo 檔案,就可以看到翻譯的結果了。

因此,我先將原始檔的 zh_TW.po 複製到一個新資料夾, 建立一個 Makefile, 內容如下:
all:
    msgfmt -c -v -o zh_TW.mo zh_TW.po
    sudo mv zh_TW.mo /usr/local/share/locale/zh_TW/LC_MESSAGES/lyx.mo
    lyx

我一個畫面用 vim 編輯完存檔後,另外一個畫面立刻輸入 make 指令之後,就會自動編譯、複製後,開啟 LyX。這樣就很方便立刻檢查翻譯的結果適不適當。

為 LyX 做翻譯,最大的好處就是又搞懂了許多 LyX 提供的功能,了解文件語系與界面語系的不同處,  而且也發現到了原始碼中錯誤的地方,自行微調之後,我終於覺得 LyX 用中文界面也很好用了!

以下紀錄一下我微調的項目:

  1. 我已將翻譯好的 zh_TW.po 提交給 LyX 團隊, 但我不知道它們何時會放入套件庫中。因此有興趣的人,可以直接下載我編譯好的二進位翻譯檔 lyx.mo,下載後根據您的作業系統,放入 LyX 程式的路經內。這個二進位檔應該適用所有 2.0.x 版本的 LyX。
    (建議先把舊的 lyx.mo 備份出來,如果新檔不能用,還可以把舊檔還原回去)
    下載二進位繁體中文翻譯檔 lyx.mo
    • Windows
      • C:\Program Files\LyX 2.0\Resources\locale\zh_TW\LC_MESSAGES\LyX2.0.mo
      • 需要將 lyx.mo 改名成 LyX2.0.mo
    • Mac
      • /Applications/LyX.app/Contents/Resources/locale/zh_TW/LC_MESSAGES/LyX-2.0.mo
      • 需要將 lyx.mo 改名成 LyX-2.0.mo
    • Linux 作業系統
      • 可能在:
        /usr/local/share/locale/zh_TW/LC_MESSAGES/lyx.mo
        /usr/share/locale/zh_TW/LC_MESSAGES/lyx.mo
      • 如果上述路徑找不到,可以開啟終端機視窗,輸入 locate lyx.mo,檢查看看舊版的 lyx.mo 放在哪裡?
  2. 修改 languages 檔案中,關於繁體中文的編碼。(這個是一個 bug, 從 2.0 版都是這樣, 我也已回報 LyX 團隊希望他們能修正, 從 2.0.8 版後應該都會修正了)。各作業系統該檔的路徑為:
    • Windows
      • C:\Program Files\LyX 2.0\Resources\languages
    • Mac
      • /Applications/LyX.app/Contents/Resources/languages
    • Linux 作業系統
      • 可能在:
        /usr/local/share/lyx/languages
        /usr/share/lyx/languages
  3. 用純文字編輯器開啟 languages 檔案後,搜尋 zh_CN, 您會發現如下的項目。將其中的 zh_CN 改為 zh_TW這樣使用者界面語言的選項、以及選擇「繁體中文」後,工作區顯示的文字才會是正確的。
# uses CJK package
Language chinese-traditional
 GuiName         "Chinese (traditional)"
 Encoding        utf8-cjk
 LangCode        zh_CN
End

微調後,就可以開啟 LyX 看看了!
首先先將使用者界面的語言換成「中文(正體)」,儲存,重新啟動之後,就可以看到中文界面了。如下圖。
選擇程式界面語言

CJK 字體設定的部份,也有 pop up 提示了。

模組部份的說明,也盡量翻譯成中文

最後要說,其實在翻譯「模組」這部份的時候,發現「模組」真的是好用的工具呀!之前我說我可能都不會用到,實在大錯特錯。現在要說,熟悉之後,以後會常常用到了。:-D

沒有留言:

張貼留言