OSWikiHK: 請協力 GPLv3 的中文翻譯工作。

翻譯自由軟件的介面

OSWikiHK,自由中文開源知識庫

目录

翻譯注意事項

標點符號

訊息原文的標點符號需要保留的話,應該全部變成全形。以包號(.)、冒號(:)、分號(;)、問號(?) 和感嘆號(!) 結尾的訊息都必需以該標點符號的全形 (。:;?!)結尾。

選單捷徑鍵 (Menu Acceleration Keys)

含下划線 "_" (underscore) 的訊息多數是選單項目或而對話盒標簽,顯示時會將隨後的字元加上底線,表示可以按 Alt-Key 跳到該項目。

msgid "_Edit"
msgstr "編輯(_E)"

翻譯中文時應該下划線將隨後的字元轉成大寫,和下划線一起用括號括住並放在整個字串尾。

以冒號 ":" (colon) 為尾的訊息多數是對話盒標簽,例如:

msgid "User_name:"
msgstr "用戶名稱(_N):"

翻譯中文方法和沒有冒號的差不多,但括住的捷徑鍵應放在訊息和全形冒號之間。

眾數式 (Plural Forms)

對某些語言來說,名詞所指的物件數量會影響整個句字。例如英語中,物件數量多過 1 ,名詞就需要加 s 或 es 尾,動詞如為 is 或 has 就要分別變成 are 和 have 等。

為處理這類詞語的變化,訊息會多一行 msgid_plural 表示訊息附有眾數形式。例如:

#: embed/downloader-view.c:406
#, c-format
msgid "About %d second left"
msgid_plural "About %d seconds left"
msgstr[0] "Noch ca. %d Sekunde"
msgstr[1] "Noch ca. %d Sekunden"

以上是 epiphany 德文 po 的其中一個訊息。德文和英文一樣亦有眾數式,所以 msgstr 有兩個值。如果 %d 對應的值等於或少於1,會使用正常訊息的譯文 msgstr[0]。如果 %d 對應的值多於 1,則使用眾數訊息的譯文 msgstr[1]。

由於中文一般沒有眾數式之分。所以翻譯有 msgid_plural 訊息時,我們應先在 po 檔開頭加入眾數式的宣告「Plural-Forms: nplurals=1; plural=0;」,例如:

MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Plural-Forms: nplurals=1; plural=0;

nplurals 表示這個 po 共有幾多個眾數式,而 plural 亦是一個 C 語言算式表示那個時候使用那個 msgstr 。 以上的 Plural-Forms 就表示中文只有一個眾數式,無論數量為何都只使用 msgstr[0]。而有關訊息就應該變成:

#: embed/downloader-view.c:406
#, c-format
msgid "About %d second left"
msgid_plural "About %d seconds left"
msgstr[0] "大約還剩 %d 秒"

只需一個 msgstr。但有些中文句字仍會分眾數:

msgid "%d user is connected to your machine and you should not quit without noticing her."
msgid_plural "%d users are connected to your machine and you should not quit without noticing them."
msgstr[0] "有 %d 個用戶正連接您的電腦。您不應該在沒有通知他的情況下離開。"
msgstr[1] "有 %d 個用戶正連接您的電腦。您不應該在沒有通知他們的情況下離開。"

這個時候 Plural-Forms 亦應該為 「nplurals=2; plural=(n != 1);」 。 表示這個 po 的兩個式。 %d 為 1 時用 msgstr[0] ,%d 為非 1 時用 msgstr[1] 。

相關連結

Personal tools
廣告橫額