PO gettext 是一种常用于在类 Unix 计算机操作系统上编写多语言程序的国际化和本地化 (i18n) 系统。
QA 检查 在识别相同原文/源语时,仅考虑上下文键。
有效的 .PO 文件是双语的,其中 msgid 包含原文/源语,而 msgstr 包含译文。
例如:
#: src/name.c:36 msgid \"My name is %s.\\n\" msgstr \"Je m'appelle %s.\\n\"
文件类型
-
.PO
支持的占位符格式
-
c-format
-
objc-format
-
sh-格式
-
python-format
-
python-brace-format
-
elisp-format
-
librep-format
-
scheme-format
-
smalltalk-format
-
java-format
-
csharp-format
-
awk-格式,
-
object-pascal-format
-
ycp-format
-
tcl-format
-
perl-format
-
perl-brace-format
-
php-格式,
-
gcc-internal-format
-
gfc-internal-format
-
qt-format
-
qt-plural-format
-
kde-format
-
boost-format
-
lua-format
-
javascript-format
导入选项
-
ICU 信息会自动转换为标签。当句段包含内联元素时,将跳过该句段的 ICU 解析。不含内联元素的句段将正常解析。
-
默认选中,并通过在导出的 .PO 文件中添加实际换行符来改进对带有
\\n标记的 .PO 文件的处理。 -
断句规则将用于对原文和译文元素中的文本进行断句。
-
导入文件中包含的 HTML 标签。在这种情况下,标签可用于 .HTML 文件导入设置。
-
应用正则表达式将指定文本转换为标签。
-
如果启用,PO 文件头中的
语言和复数形式条目将被工作译文语言的值覆盖。如果原始 PO 文件中不存在复数形式,则会在完成的文件中为译文构建该条目。 -
选择将附加到 msgstr 并保存为 上下文到翻译记忆库 的其他上下文键信息。
-
根据模糊匹配或非模糊匹配设置确认。
-
根据模糊匹配或非模糊匹配状态设置导出属性。
复数形式
PO Gettext 允许对 复数形式 进行本地化。
PO GNU Gettext 仅支持带有整数的复数形式。不支持诸如 1.5 points 之类的小数形式。
-
原始文件必须包含 msgid_plural 字符串以及单数 msgid。
-
文件中定义的复数规则规范(公式)用于生成复数形式。如果没有此类规范,则将使用基于译文语言的标准 Unicode CLDR 复数规则 进行工作导入。
-
必须使用 句段键上下文 导入文件,以便正确使用复数功能。
-
译文区域和句段的复数形式将用作句段的上下文键并保存到 翻译记忆库 中,
-
如果原始文件中存在字符串 msgctxt,则将其添加到句段的上下文键中并保存到翻译记忆库中。它也会显示在 上下文注释 窗口中。如果 msgctxt 为空,则仅使用并保存 msgstr 关键字。
如果导入到德语和阿拉伯语,德语译文文件将只有两种复数形式,而阿拉伯语译文文件将有六种。每种目标语言都将自动使用正确的复数规则,并且工作将以特定于语言的复数形式数量导入。
msgid \"\" msgstr "" "MIME-Version: 1.0\n" \"Content-Type: text/plain; charset=UTF-8\\n\" \"Content-Transfer-Encoding: 8bit\\n\" #:ui/gui/409 msgctxt \"GUI|Installation\" msgid \"%d _storage device selected\" msgid_plural \"%d _storage devices selected\"
此文件将始终具有 3 种复数形式,即使导入到德语或阿拉伯语中也是如此。
msgid \"\" msgstr "" "MIME-Version: 1.0\n" \"Content-Type: text/plain; charset=UTF-8\\n\" \"Content-Transfer-Encoding: 8bit\\n\" "Plural-Forms: nplurals=3; plural=(n==1 ?0 : n>=2 && n<=4 ?1 : 2);\\n\"\"Language: cs\\n\" #:ui/gui/409 msgctxt \"GUI|Installation\" msgid \"%d _storage device selected\" msgid_plural "%d _storage devices selected" msgstr[0] ""msgstr[1] ""msgstr[2] ""