GNU gettext PO (Portable Object)¶
翻译自由软件用得最广泛的格式。
支持通过调整文件标头或链接到相应的源文件,在文件中存储上下文信息。
参见
使用 GNU gettext 来翻译软件, :../doc:devel/sphinx, 维基百科上的 Gettext(英文), PO Files, 在注释中添加贡献信息 更新“配置文件”中的 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 文件标头¶
PO 文件的标头由 Weblate 自动维护。可选地,它可以包含 源字符串缺陷报告地址 和 设置 “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 配置¶
典型的 Weblate 双语 gettext 部件配置 |
|
---|---|
文件掩码 |
|
单语言译文模版语言文件 |
空 |
新语种的翻译模版 |
|
文件格式 |
Gettext PO 文件 |
典型的 Weblate 单语 gettext 部件配置 |
|
---|---|
文件掩码 |
|
单语言译文模版语言文件 |
|
新语种的翻译模版 |
|
文件格式 |
Gettext PO 文件(单语) |