Locale::Po4a::Sgml(3pm) Po4a 工具 Locale::Po4a::Sgml(3pm)

名稱

Locale::Po4a::Sgml - 將 SGML 文件從/轉換為 PO 檔案

描述

Po4a (PO For Anything) 專案的目標是在文件等不需要翻譯的領域使用 gettext 工具簡化翻譯(更有趣的是,簡化翻譯的維護)。

Locale::Po4a::Sgml 是一個幫助將 SGML 格式的文件翻譯成其他 [人類] 語言的模組。

本模組使用 onsgmls(1) 解析 SGML 檔案。確保它已安裝。還要確保 SGML 檔案的 DTD 已安裝在系統中。

此模組接受的選項

空格分隔的關鍵字列表,指示要除錯的部件。可能的值有:標記、類屬、圖元和參照。
給出更多關於正在發生的事情的資訊。
空格分隔的額外標記列表 (除了 DTD 提供的標記之外),其內容應形成額外的 msgid。
空格分隔的包含其他標記的額外標記列表 (除了 DTD 提供的標記之外),其中一些標記屬於 translate 類別。
增加縮排級別的以空格分隔的標記列表。
這些標籤內的佈局不應更改。段落不會換行,也不會新增額外的縮排空間或新行用於修飾。
標籤不需要關閉。
標籤被 po4a 忽略並視為純字元資料。也就是說,它們可以是 msgid 的一部分。例如,<b> 是此類別的一個很好的候選者,因為將其放入翻譯部分會建立不是完整句子的 msgid,這是不好的。
需要轉換的屬性的空格分隔列表。您可以按屬性的名稱指定屬性(例如,"lang"(語言)),但也可以在其前面加上標記層次結構,以指定此屬性僅在轉換為指定的標記時才會被轉換。例如:<bbb><aaa> lang 指定只有當 lang 屬性在 <aaa> 標記中(該標記在 <bbb> 標記中)時,lang 屬性才會被轉換。標記名稱實際上是正則表示式,因此您還可以編寫類似 <aaa|bbbb> lang 這樣的內容,以便僅轉換 <aaa> 或 <bbb> 標記中的 lang 屬性。
翻譯必須由屬性名稱限定的屬性的空格分隔列表。請注意,此設定會自動將給定屬性添加到"屬性"列表中。
即使 DTD 未知或 onsgmls 在輸入檔案中發現錯誤,也要繼續。
預設情況下,僅包含一個實體(如 '&version;')的 msgid 會被跳過,以方便翻譯人員使用。啟用此選項可阻止此最佳化。如果文件包含像 "<title>&Aacute;</title>" 這樣的結構,那麼它可能會很有用,即使我懷疑這樣的事情是否會發生……
不會內聯的實體的空格分隔列表。請謹慎使用此選項:它可能會導致 onsgmls (內部使用) 新增標記並使輸出文件無效。

此模組的狀態

結果是完美的。即生成的文件完全相同。但是仍然存在一些問題:

作者

此模組是 sgmlspl (用於 ONSGMLS 解析器的 SGML 後處理器) 的改編版本,它是:

 版權所有 © 1995 David Megginson <dmeggins@aix1.uottawa.ca>

對 po4a 的改編是透過以下方式完成的:

 Denis Barbier <barbier@linuxfr.org>
 Martin Quinson (mquinson#debian.org)

版權和許可

 版權所有 © 1995 David Megginson <dmeggins@aix1.uottawa.ca>。
 版權所有 © 2002-2005 SPI, Inc.

此程式是自由軟體;您可以根據 GPL 條款重新分發和/或修改它(請參閱複製檔案)。

2023-01-03 Po4a 工具