GNU gettext PO (Portable Object)¶
翻譯自由軟體用得最廣泛的格式。
通過調整檔案頭或連結到相應的來源檔案,可以支援儲存在檔案中的情境資訊。
也參考
顯示來源字串變更¶
如果 PO 檔案中包含先前的來源字串,Weblate 可以擷取這些字串,並以此顯示需要編輯之字串的差異。若要納入這些資訊,執行 msgmerge 時必須加上 --previous 引數;產生的 PO 檔案會包含如下的特殊資料列:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
這由 po_keep_previous 檔案格式參數 參數控制,不會影響以 #~ 標示的過時項目。
過時字串¶
msgmerge 預設會將已從 POT 檔案移除的字串保留為過時的 #~ 項目。啟用 po_remove_obsolete 檔案格式參數 參數,可在 Weblate 儲存 PO 檔案時移除過時項目。
PO 檔案標頭¶
Weblate 會自動維護 PO 檔案的標頭。可使用 檔案格式參數 將 Language-Team、Last-Translator、X-Generator 及 Report-Msgid-Bugs-To 標頭納入設定。
也可以使用 評論中的貢獻者紀錄 更新標頭註解,使其包含作者名稱。
換行¶
換行方式大致符合 GNU gettext 的行為。GNU gettext 的換行演算法及其所依據的 Unicode 資料都會持續演進,因此少數情況下可能出現差異。
可以用 po_line_wrap 引數設定換行寬度,見 檔案格式參數。
產生相符的 MO 檔案¶
如果 MO 與 PO 檔案一同保留在儲存庫中,可以使用 產生 MO 檔案 讓 MO 檔案與 PO 檔案保持同步。
從 POT 檔案更新 PO 檔案¶
可以用 更新 PO 檔案以符合 POT (msgmerge) 從 POT 檔案更新 PO 檔案,見 更新目標語言檔案。
單語言 gettext¶
一些專案決定使用 gettext 作為單語言格式 —— 它們僅在原始碼中編碼 ID,然後將字串翻譯成所有語言,包括英語。支援此功能,儘管在將元件匯入 Weblate 時必須明確選擇此檔案格式。
範例檔案¶
雙語言 gettext PO 檔案通常如下所示:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"
單語言的 gettext PO 檔案通常如下所示:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"
基本語言檔案將是:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"
Weblate 設定¶
典型的 Weblate 雙語 gettext 元件設定 |
|
|---|---|
檔案遮罩 |
|
單語言基底語言檔案 |
空白 |
新翻譯的範本 |
|
檔案格式 |
Gettext PO 檔案 |
典型的 Weblate 單語 gettext 元件設定 |
|
|---|---|
檔案遮罩 |
|
單語言基底語言檔案 |
|
新翻譯的範本 |
|
檔案格式 |
Gettext PO 檔案(單語言) |
檔案格式參數¶
po_* 模式的 檔案格式參數 可用來設定 gettext 格式的行為。