GNU gettext PO (Portable Object)¶
翻译自由软件用得最广泛的格式。
支持通过调整文件标头或链接到相应的源文件,在文件中存储上下文信息。
参见
使用 GNU gettext 来翻译软件,使用 Sphinx 翻译文档,维基百科上的 Gettext,PO Files,在注释中添加贡献信息,更新“配置文件”中的 ALL_LINGUAS 变量,自定义 gettext 输出,更新 LINGUAS 文件,生成 MO 文件,更新 PO 文件以匹配 POT 文件 (msgmerge)
显示源字符串更改¶
如果存在 PO 文件,Weblate 可以从这些文件中提取先前的源字符串并基于此显示需要编辑字符串的字符串区别。要包含这些,必须使用 --previous
参数运行 msgmerge,由此生成的 PO 文件会包括特定的行,比如:
#, 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 文件(单语) |