自由軟體翻譯的守則

(內容還待整理)

守則一、同一個程式內,一樣的 term 要翻成相同的用語。
詞語庫建構中。最終的目標是達到「
車同軌,書同文」的境界,也就是:即使是不同的程式,提到了同一個詞語 (term) 時,中文翻譯也會相同。

提案:籌組個「自由軟體正體中文翻譯標準制定小組」,討論決定名詞的「參考翻譯」。:P
註:經濟部工業局 96 年度專案計畫 - 自由軟體產業推動計畫之國際合作與國際標準分項計畫 自由軟體英中語彙對照表

守則二、不把握的翻譯,翻譯後要標示為 fuzzy 或是 not approved。等到和其他翻譯者討論完後,或者可以確認時再進行變更。絕對不贊同不清楚原文之意,就直接翻譯並回報的舉動。

守則三、不明瞭的單字要查詢資料輔助。
相關輔助網站:Yahoo!奇摩字典Wikipedia、Answer.com、愛詞霸Google 等。


守則四、未有中文翻譯的專有名詞,翻譯時以音意皆譯為最優先考量,再來為意譯,僅音譯則不列入考慮。

守則五、完整且精準地表達原文的意思。
如果原文如果表達不清晰,中文應該意譯,並且應根據上下文和註釋進行推斷並填補相應的信息;但切勿畫蛇添足,把意思表達完整後就該罷手。

守則六、翻譯的句子中,若有中英文交雜時,為了配合英文字前後留空之閱讀感、節奏感,請在中文與英文、中文與阿拉伯數字、英文與阿拉伯數字之間加入一個半形空格。請注意,英文字作為結尾時,直接加上句號即可,不必再補空白在其後。例如:「Moblin 網路瀏覽器」,以及「歡迎使用 Moblin。」。

守則七、遵守「翻譯 PO 檔注意事項」。

摘要如下:

# 標頭部份:
* 每個 po 檔一開頭的幾行,大多固定長的像底下的樣子。其中比較要注意的幾個項目為:
o PO-Revision-Date:此欄位就請填入您翻譯時的日期時間
o Last-Translator:最後翻譯的人。若您是最後翻的人,就填入您的資料,以便讓人有疑問時可以連絡的上。至於之前翻譯者的資料該如何處理呢?或許比較好的方式,您可以把他的資料放在最前面,並將該行以 # 開頭註解起來。
如在 po 檔的最前面幾行加入這樣的資訊:
# Translator: aaa <aaa@aaa.com>, bbb <bbb@bbb.com>
#             ccc <ccc@ccc.com>
#             ddd <ddd@ddd.com>

o Language-Team:若原本已是 Chinese (traditional) 那就不須要變動。若是新的 po 檔,則可以將其改為 Chinese (traditional) ,表示這是由我們繁體中文的翻譯小組所翻譯的。
o Content-Type: text/plain; charset=utf-8
o Content-Transfer-Encoding: 8bit
encoding 部份我們中文字都是用 8bit

# 翻譯者的姓名及e-mail:
* 請填您自己的姓名及e-mail,千萬不要把它給翻成了 "您的姓名"、"您的電子郵件帳號"。

# 快速鍵部份:
* 如底下範例。若有看到 "&" 開頭的地方,如 &D,則表示這可能是選單中的某快速鍵。如我們可以按 alt + d 鍵來快速執行等等。此部份的翻譯方式,我們則是在最後面加上 "(&D)" 來表示。

# c-format 部份:
* 如底下範例中的 %1、%2 等變數,不一定 %1 就一定在前 %2 在後,可以視翻譯的文法句型做適當的調整。

# HTML TAG 部份:
* 如底下範例,若有 HTML TAG,您必須保留其語法部份。

# 淘汰部份:
* 有些在舊版本中有的訊息,但在新版本中已經沒有了,因此這部份就沒有用了。會出現在整個 po 檔的最後面部份,都以 "#~" 為開頭。關於這部份,您可以將它刪除掉,或是也可以將其保留,當做日後參考用也行。

# 其他綜合建議:
* 標點符號請儘量用全形標點符號,但欄名尾的冒號則用回半形。
* 提示要用 "您" 取替 "你"。
* 編譯:msgfmt -cv xxx.po -o /dev/null
* 安裝:msgfmt -cv xxx.po -o /usr/share/locale/zh_TW/LC_MESSAGES/xxx.mo
(as root)
* 測試:
LC_MESSAGES=zh_TW xxx ;
LC_MESSAGES=zh_HK xxx ;
LC_MESSAGES=zh_TW.Big5 xxx ;

此外,KDE 的 po 檔中會有所謂的「翻譯提示」:

#: ui/konsole_mnu.cpp:85
#, c-format
msgid ""
"_: Screen is a program controlling screens!\n"
"Screen at %1"
msgstr ""
"視窗於 %1"

上面的 _: 符號即是所謂的翻譯提示,是應用程式作者給翻譯者的一些說明。那部份不需要翻譯,只要翻譯 \n 之後的訊息即可。

守則八、參考「Ubuntu 簡體中文小組工作指南」。

以下摘自 ubuntu 簡體中文小組工作指南:

一般的原則是:除了小括弧、省略號和破折號保留不變以外,都應該使用中文(全形)標點符號。
英文標點符號後方常常跟隨有一個半形空格,請在翻譯成中文標點符號時將其去除。
  1. 英文中的 , 在中文中可能是 ,或者 、
  2. 英文中的 . 在中文中應該是 ,或者 。,視上下文而定,多數是 。
  3. 英文中的 \"%s\" 在 GUI 程序中應該翻譯為 「%s」, 而不是 \"%s\" 或者 \「%s\」,而且後者是不符合換碼序列要求的。即在 GUI 程序中`something' 和 'something' 以及 \"something\" 都應該翻譯為 「某事」
  4. 英文中的 \"%s\" 在 CLI 程序中應保持為 \"%s\",因為全形引號在文本界面下顯示不夠美觀,所以使用半形雙引號,即在 CLI 程序中`something' 和 'something' 以及 \"something\"都應譯作\"某事\"
  5. 英文中的 : 應該翻譯為:(全形)而不是 :(半形), 而作為分隔符時(例如時間),: 保留為英文(半形)的, 因為這個時候不是標點符號
  6. 英文中的 ( ) 應該保持不變。由於全形小括弧( )很難看,也佔地方,所以一律使用半形小括弧 ( )
  7. 英文中的 ... 應該保持不變。由於翻譯的時候常常難以分清哪些條目是菜單項,哪些條目是一般語句,而後者才能使用中文的省略號 ……,所以現在統一翻譯為 ...
  8. 英文中的 -- 應該保持不變。由於全形破折號 —— 兼容性不好,有時顯示為兩個方格,所以不再使用。
  9. 遇到 %q 標記的時候,代表此標記顯示的是一段引用內容,程序運行時將自動在其兩端加上雙引號,故不需另加引號。


注意換行:
如果有 c-format 等編程語言格式標記,或者原文中有強迫換行標記「\n」,那就要手工調整譯文的換行,以便能最終正確地顯示在程序界面上。原則是譯文長度不大於原文長度, 否則可能譯文顯示超出原有區域,或者譯文後面部分被截去,很難看。對於含有 HTML 標記的長譯文還需要在瀏覽器中預覽顯示效果(如果您瞭解 HTML 基本語法的話),酌情調整行寬。例如:
英文(c-format):
Error opening file '%s':\n
%s
中文(c-format):
打開文件「%s」出錯:\n
%s
英文(c-format):
Parse a theme dir and generate a \n
gkrellmrc_ksim file that KSim will understand \n
better and exit.
中文(c-format):
解析一個主題目錄生成 KSim 容易理解\n的 gkrellmrc_ksim 文件,然後退出。
多數 CLI 程序都需要手工設置換行,這個時候希望翻譯者能夠對翻譯文件進行測試以確定每行到底應當放多少字元,尤其是翻譯命令參數的時候,如果不對長句進行強制換行 處理或者一味依照文本編輯器所顯示的視覺上與英文原文長度相同,則很容易造成在程序實際運行中的格式非常難看。

注意參數位置:
有時候原來的參數順序不符合中文的語法,一方面,翻譯可以通過調整副詞、語序等手法來符合中文習慣,另外一方面,在必要的情況下,需要改變參數的位置,例如在 KDE 中:
英文:%1 articles match rule %2
中文:匹配規則 %2 的文章有 %1 個
如果是在 GNOME 中則應該這樣寫:

英文:%d articles match rule %d
中文:匹配規則 %2$d 的文章有 %1$d 個
即用 1$、2$、3$ 等符號標明參數在原文裡出現的位置。同時,任何一個參數的順序進行了調整,則在這一句譯文中所有參數都必須註明原文位置,否則無法通過格式檢查。


TODO: 將「翻譯 PO 檔注意事項」與「Ubuntu 簡體中文小組工作指南」整理成一份「自由軟體正體中文翻譯指引」。

a, b, c, and d 依照中文習慣應翻為:「a、b、c,與 d」

註:本文在 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported 許可下發布。

留言

這個網誌中的熱門文章

Render 翻譯

fedora 20 安裝指引

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