LibreOffice 與 Blender 翻譯

這兩個專案是本人這一兩年內,除了 GNOME、fedora 外所主力翻譯的;而兩者都有個共同特色,就是專案龐大!接觸這麼久之後,也有些感想。

LibreOffice 有 6 個組件,Writer、Impress、Calc、Drawing、Math、Base。翻譯檔四散在各個資料夾中,非常模組化,幾乎一個翻譯檔就是管一個同質畫面 (例如某某對話方塊,或是某某偏好設定視窗) 中的字串,大部分都很好翻譯,但少數卻非常專業 (例如 Calc 中有許多統計、經濟上的函數,Base 中有許多資料庫術語)。

由於 LibreOffice 的翻譯是承接自 OpenOffice.org,很多東西的翻譯都是前人留下來的遺產,加上沒有任何交接資料,要維持術語的統一性是一大課題。當新字串出現時,如果機器找出的翻譯建議 (從以前的資料去比對,然後找出相近的作建議) 很奇怪,就開始思索著翻譯合不合適,有時查詢一下之前的翻譯,發現錯得離譜,有時則發現同個字有數種翻譯而沒統一;或深入追查材發現翻譯成果竟然與原文無關,但卻是介面上可以看懂的描述,想不懂前人是怎麼知道這個字串會出現在這裡的。如果前人是親自編譯程式,邊翻邊看成品,那真是下了好大一番時間與精力才能完成的啊!這時候就知道,我必須得親自看過每個翻譯檔中的每個字串,並且把模糊的翻譯 (個人覺得有疑義的) 與確認的翻譯 (個人覺得沒問題的) 記錄下來,才有辦法維持術語的一致性,也才能修改掉那些根本徹頭徹尾就是錯誤的翻譯。這也是我從 Blender 翻譯中體認到的,想深入瞭解該怎麼翻譯,就得對全貌有個印象,一旦翻譯負責人沒有親自一個一個看過,那麼總會是霧裡看花,或許重大錯誤一直都在那裡,而每次修正的都只是雞毛蒜皮罷了。

當然,如果今天是一個翻譯團隊就不是這樣了,一般的翻譯者無須一個一個體會翻譯,而是需要依照既定的翻譯撰寫規則與術語表去翻譯,遇到不確定或是有疑義的字再拿出來檢討,再據此修正翻譯即可。這時翻譯負責人所需要作的,就是根據他獨有的整體概觀,評判翻譯是否真有問題,以及新翻譯該如何才能貼合既定風格;如果遇到一個詞語可能有不同人有不同意見,再以其專業決斷如何處置,可能擇優,可能擇一,可能皆收以測試,也可能擱置;如同 Linus 對於 Linux kernel 開發的管理一般。


Blender 則很特別,i18n 的負責人把所有介面上的字串集中到一份檔案中,形成超巨大的翻譯檔。一樣的,我開始著手翻譯之前已經有一份 zh_TW 的檔案,但卻沒有正體中文的參與者。看了一下檔頭,可以推估最早的翻譯檔是簡字轉正字來的,因為早期的提交者有簡中貢獻者。在那開天闢地之時,正體中文的翻譯根本就是一團亂,除了少數確認的翻譯可以接受外,絕大多數已譯部份根本就是天書。再者 blender 字串上萬條,剛開始已譯的程度雖然很低,但數目早已超越小程式規模,根本需要從頭開始清理翻譯。

一開始是用 poedit,但那時的 poedit 版本會把未譯擺最上頭,模糊擺中間,已譯放最後,以及載入檔案時間過長等問題,因此只好用 gedit 直接一列一列處理。遇到語句中若有還未確立翻譯的詞語,就先把確定的部份翻好,空下詞語段,標記模糊,再開一份試算表紀錄詞語後繼續往下處理。這種未確立的詞語有不少相當簡單且常見,但卻都沒有適當譯詞,或者是紛亂、缺乏普遍共識的譯詞。處理時每個條目前後幾個可能互有關連,但剩下的其他關連者卻可能集中位在 po 檔的其他位置,導致翻到詞語集中出現處才能開始體會某些詞語的意義,再用搜尋與取代功能改動譯詞。連續花了三段假期,直到最後,終於只剩下完全無法理解的字串、特定詞語翻譯若確立後即可完成的字串;這時只能先處理那些未定詞語翻譯,例如 Layer、Frame、Render...等。基於之前 package 一詞翻譯的體認,知道不管貼切與否就不經大腦直接使用前人已有的翻譯是多麼糟糕的一件事,遂先以其原始意義翻譯,再不斷思索、推敲、試驗出更貼切的譯詞。這類新譯詞的最終確立,主要還是從原意出發,再推敲出最好的字詞組合,或是查尋辭典找出最妥貼、最符合使用情境的字詞來使用,抑或是根據現有的其他領域常見的許多翻譯,想出更適當的譯詞。

雖然一些詞語可能早已有各式各樣的譯詞,琳瑯滿目,但因為缺乏共識,加上這類譯詞普遍離失本意,或是同情況下譯詞無法與既有約定俗成之用法相接,甚至有錯誤使用中文詞語者,無法拾人牙慧,因而不少需要另行翻譯以全大體。


LibreOffice 與 Blender 專案的翻譯讓我學到很多,也得到許多新體會。

未來,對於 LibreOffice,我打算如 Blender 那樣整個走一遍,這樣除了 UI 可以確立一致的譯詞外,將來也對於 Help 部份的翻譯也因介面定了而方便幫助不必每次都跟隨 UI 改而改動,畢竟那可是個大工程。不過這可能得花上我許多時間,可惜近來卻沒有那麼多時間可以花在這上面。加上 LibreOffice 4.2 的新條目剛出現,只好得先解決新條目讓新版翻譯完整後,才能再逐條處理了。

對於 Blender,目前基礎版本已經完成的差不多,就差從公眾的使用中取得回饋再修訂;我也打算翻一些公眾授權的 Blender 教學內容,例如 the Essential Blender、Blender wiki 上的內容等,一邊翻一邊確認 Blender 本身的翻譯是否適當,也從自身再給予回饋。

留言

這個網誌中的熱門文章

Render 翻譯

fedora 20 安裝指引

poedit 基本使用教學與 po 檔概念