| LOCALE::PO4A::PO.3PM(1) | User Contributed Perl Documentation | LOCALE::PO4A::PO.3PM(1) |
Locale::Po4a::Po - PO 文件操作模块
use Locale::Po4a::Po;
my $pofile=Locale::Po4a::Po->new();
# 读取 PO 文件
$pofile->read('file.po');
# 添加条目
$pofile->push('msgid' => 'Hello', 'msgstr' => '你好',
'flags' => "wrap", 'reference'=>'file.c:46');
# 提取翻译
$pofile->gettext("Hello"); # 返回 'bonjour'
# 写回文件
$pofile->write('otherfile.po');
Locale::Po4a::Po 是一个允许您操作消息目录的模块。您可以从/向文件 (其扩展名通常是 po) 加载和写入,您可以动态构建新条目或请求字符串翻译。
有关 PO 格式的消息目录及其使用的更完整说明,请参阅 gettext 程序(节点"'PO 文件"')的信息文档。
此模块是 po4a 项目的一部分,该项目的目标是使用 PO 文件(在原始位置设计用于简化程序消息的翻译)来翻译所有内容,包括文档(手册页、信息手册)、软件包说明、debconf 模板以及可能从中受益的所有内容。
从历史上看,gettext 套件已经重新格式化了第 77 列化妆品的 po 文件。此选项指定 po4a 的行为。如果设置为数值,po4a 将在内容中的此列和换行之后封装 po 文件。如果设置为 newlines,po4a 将只在内容中的新行之后拆分 msgid 和 msgstr。如果设置为 no,则 po4a 根本不会封装 po 文件。引用注释总是由我们在内部使用的 gettext 工具封装。
请注意,此选项对 msgid 和 msgstr 的封装方式(即,将换行符添加到这些字符串的内容中)没有影响。
该函数解析其参数,将其转换为 Perl 函数定义,计算该定义的值,并筛选该函数返回 true 的字段。
我有时喜欢 Perl ;)
在要转换的字符串之后,可以传递一组额外的参数。以下是有效的条目:
[使用 PO 文件翻译内容]
($percent,$hit,$queries) = $pofile->stats_get();
print "So far, we found translations for $percent\% ($hit of $queries) of strings.\n";
有效标志为: c-text, python-text, lisp-text, elisp-text, librep-text, smalltalk-text, java-text, awk-text, object-pascal-text, ycp-text, tcl-text, wrap, no-wrap 和 fuzzy.
有关它们的含义,请参阅 gettext 文档。
此信息在 PO 文件中作为自动注释写入,因为这为翻译人员提供了有关要翻译的字符串的一些上下文。
此信息使用 wrap 或 no-wrap 标志写入 PO 文件。
Denis Barbier <barbier@linuxfr.org> Martin Quinson (mquinson#debian.org)
taotieren <admin@taotieren.com>
| 2024-08-06 | perl v5.38.2 |