Locale::Po4a::TeX(3pm) | Po4a 工具 | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - 將 TeX 文件和衍生品從/轉換為 PO 檔案
Po4a (PO For Anything) 專案的目標是在文件等不需要翻譯的領域使用 gettext 工具簡化翻譯(更有趣的是,簡化翻譯的維護)。
Locale::Po4a::TeX 是一個幫助將 TeX 文件翻譯成其他 [人類] 語言的模組。它還可以用作構建基於 TeX 文件的模組的基礎。
使用者可能應該使用 LaTeX 模組,它繼承自 TeX 模組幷包含常見 LaTeX 命令的定義。
此模組可直接用於處理通用 TeX 文件。這將把您的文件拆分成更小的塊 (段落、逐字塊,甚至更小的塊,如標題或索引)。
有一些選項(將在下一節中介紹)可以自定義此行為。如果這不適合您的文件格式,我們鼓勵您編寫自己的派生模組,以描述您的格式的詳細資訊。有關流程描述,請參閱下面的 WRITING DERIVATIVE MODULES 小節。
該模組還可以透過 TeX 檔案中以 "% po4a:" 開頭的行進行定製。此過程在 INLINE CUSTOMIZATION 一節中介紹。
以下是此模組的特定選項:
請注意,逐字和 no_wrap 環境之間存在差異。在逐字逐句的塊中沒有命令和註釋分析。
如果此環境尚未註冊,則 po4a 將考慮此環境不會接受任何引數。
如果此環境尚未註冊,則 po4a 將考慮此環境不會接受任何引數。
使用這些選項可以替代已定義命令的預設行為。
TeX 模組可以使用以 % po4a: 開頭的行進行自定義。這些行被解釋為解析器的命令。可以識別以下命令:
您可以在 command1 之前加上
注意:在這種情況下,您不必指定哪些引數是可翻譯的,但 po4a 必須知道引數的型別和數量。
引數是一組 []
(表示可選的。 引數) 或
{} (指示強制引數)。
您可以在這些方括號之間加一個下劃線
(_) 來表示。
必須翻譯該引數。例如:
% po4a: command *chapter [_]{_}
這表明章節命令有兩個引數:可選的。
(簡稱)
和強制性的,都必須翻譯。
如果要指定 href
命令有兩個必需引數,
您不想轉換 URL
(第一個引數),並且您。
我不希望此命令與其段落
(允許。
翻譯器移動句子中的連結),您可以使用:
% po4a: command -href {}{_}
在這種情況下,僅當段落僅由此 href 命令組成時,才使用指示必須翻譯哪些引數的信息。
至於命令,i<env> 前面可以有一個加號 (+),表示 \begin 命令必須使用其所有引數進行轉換。
正則表示式由引號分隔。它不應該建立任何反向引用。如果需要組,應使用 (?:)。它可能還需要一些逃脫。
例如,LaTeX 模組使用 "(?:&|\\\\)" 正則表示式分別翻譯表的每個單元格(行用 '\\' 分隔,單元格用 '&' 分隔)。
環境的概念擴充套件為 PO 檔案中顯示的型別。這可用於拆分 title 命令的第一個強制引數中的 "\\\\"。在本例中,環境是 title{#1}。
如果此環境尚未註冊,則 po4a 將考慮此環境不會接受任何引數。
段落註釋作為此段落第一個翻譯字串的 PO 註釋插入。
如果在 %translate_buffer_env 中為當前環境定義了函式,則此函式將用於轉換緩衝區,而不是 translate_buffer()。
除了檔案包含部分,它是從翻譯提取器的讀取中剪下並貼上的。
有關更多詳細資訊,請參閱 INLINE CUSTOMIZATION 部分。
命令和環境函式接受以下引數(除了 $self 物件之外):
前 3 個引數由 get_leading_command 或 get_trailing_command 提取。
命令和環境函式返回命令及其引數和新環境的轉換。
當找到 \begin 命令時,將呼叫環境函式。它們由 \begin 命令及其引數呼叫。
TeX 模組只提出一個命令函式和一個環境函式:generic_command 和 generic_environment。
generic_command
使用由指定的資訊。
register_generic_command
或透過將定義新增到 TeX
檔案:
% po4a: command command1 parameters
generic_environment 使用 register_generic_environment
或透過向 TeX
檔案新增定義:
% po4a: environment env parameters
這兩個函式將僅轉換指定為可翻譯的引數(帶 '_')。generic_environment 將把環境的名稱附加到環境堆疊中,而 generic_command 將在命令的名稱後面加上引數的識別符號(如 {#7} 或 [#2])。
此模組需要更多測試。
它在一本書上進行了測試,並使用 Python 文件進行了測試。
原始碼中的各個點都被標記為 FIXME。
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
版權所有 © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
此程式是自由軟體;您可以根據 GPL 條款重新分發和/或修改它(請參閱複製檔案)。
2023-01-03 | Po4a 工具 |