| Locale::Po4a::Po(3pm) | Po4a 工具 | Locale::Po4a::Po(3pm) |
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 檔案。
此資訊不會寫入 PO 檔案。
Denis Barbier <barbier@linuxfr.org> Martin Quinson (mquinson#debian.org)
| 2023-01-03 | Po4a 工具 |