GNU gettext PO (Portable Object)¶
Most widely used format for translating libre software.
通過調整文件頭或連結到相應的源文件,可以支援儲存在文件中的語境資訊。
也參考
使用 GNU gettext 來翻譯軟體, 使用 Sphinx 翻譯文件, Gettext on Wikipedia, PO Files, 評註中的貢獻者紀錄, 更新「configure」檔案中的 ALL_LINGUAS 變數, 自訂 gettext 輸出, 更新 LINGUAS 檔案, 產生 MO 檔案, 更新 PO 檔以符合 POT (msgmerge)
Showing source string change¶
Weblate can extract previous source strings from the PO files if present and
show the string difference for strings needing editing based on that. To
include these, msgmerge has to be executed with --previous
and
the resulting PO file then contains lines such as:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
PO file header¶
The header of the PO file is automatically maintained by Weblate. Optionally it can include 來源字串臭蟲回報位址 and 設定「Language-Team」檔案標頭.
單語 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 設定組態¶
Typical Weblate 組件組態 for bilingual gettext |
|
---|---|
檔案遮罩 |
|
單語的基底語言檔 |
Empty |
新翻譯的模板 |
|
檔案格式 |
Gettext PO file |
Typical Weblate 組件組態 for monolingual gettext |
|
---|---|
檔案遮罩 |
|
單語的基底語言檔 |
|
新翻譯的模板 |
|
檔案格式 |
Gettext PO 文件(單語) |