GNU gettext PO (Portable Object)#
翻译自由软件用得最广泛的格式。
支持通过调整文件标头或链接到相应的源文件,在文件中存储上下文信息。
参见
使用 GNU gettext 来翻译软件, :../doc:devel/sphinx, 维基百科上的 Gettext(英文), PO Files, 在注释中添加贡献信息 更新“配置文件”中的 ALL_LINGUAS 变量, 自定义 gettext 输出, 更新 LINGUAS 文件, 生成 MO 文件, 更新 PO 文件以匹配 POT 文件 (msgmerge)
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 文件(单语) |