PO gettext 是一种国际化和本地化 (i18n) 系统,通常用于在类Unix计算机操作系统上编写多语言程序。
只有上下文键在识别相同源时被 QA check 考虑。
有效的 .PO 文件是双语的,其中 msgid 包含源文本,而 msgstr 包含目标文本。
例如:
#: src/name.c:36 msgid "我的名字是 %s.\n" msgstr "我叫 %s.\n"
文件类型
-
.PO
支持的占位符格式
-
c-format
-
objc-format
-
sh-format
-
python-format
-
python-brace-format
-
elisp-format
-
librep-format
-
scheme-format
-
smalltalk-format
-
java-format
-
csharp-format
-
awk-format,
-
object-pascal-format
-
ycp-format
-
tcl-format
-
perl-format
-
perl-brace-format
-
php-format,
-
gcc-internal-format
-
gfc-internal-format
-
qt-format
-
qt-plural-format
-
kde-format
-
boost-format
-
lua-format
-
javascript-format
导入选项
-
ICU 信息会自动转换为标签。当一个句段包含内联元素时,该句段的ICU解析将被跳过。没有内联元素的句段将正常解析。
-
默认选择并改善对带有
\n标签的 .PO 文件的处理,通过在导出的 .PO 文件中添加实际的换行符。 -
分段规则 将用于对源和目标元素中的文本进行分段。
-
导入文件中包含的 HTML 标签。在这种情况下,标签可用于 .HTML 文件导入设置。
-
应用正则表达式将指定文本转换为标签。
-
如果启用,PO 文件头中的
语言和复数形式条目将被作业的目标语言值覆盖。如果原始 PO 文件中不存在复数形式,则为目标在完成的文件中构建。 -
选择附加的上下文键信息,将附加到 msgstr 并保存为 上下文到 TM。
-
根据模糊或非模糊设置确认。
-
根据模糊或非模糊状态设置导出属性。
复数形式
PO Gettext 允许 复数形式 的本地化。
PO GNU Gettext 仅支持带有整数的复数形式。不支持诸如 1.5 点 的十进制数字形式。
-
原始文件必须包含 msgid_plural 字符串以及单数 msgid。
-
文件头中定义的复数规则规范(公式)用于生成复数形式。如果没有这样的规范,将使用基于目标语言的标准 Unicode CLDR 复数规则 进行作业导入。
-
文件必须与 段键上下文 一起导入,以便正确使用复数功能。
-
目标区域和段的复数形式将用作段的上下文键并保存到 TM,
-
如果原始文件中存在字符串 msgctxt,则将其添加到段的上下文键并保存到 TM。它也将在 上下文注释 窗口中显示。如果 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 _存储设备已选择" msgid_plural "%d _存储设备已选择"
此文件将始终具有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 _存储设备已选择" msgid_plural "%d _storage devices selected" msgstr[0] ""msgstr[1] ""msgstr[2] ""