Locale::Po4a::TeX(3pm) | Po4a-Werkzeuge | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - konvertiert TeX-Dokumente und Derivate von/in PO-Dateien
Das Projektziel von Po4a (PO für alles) ist es, die Übersetzung (und interessanter, die Wartung der Übersetzung) zu vereinfachen, indem die Gettext-Werkzeuge auch für Gebiete verwendet werden, wo diese nicht erwartet werden, wie Dokumentation.
Locale::Po4a::TeX ist ein Modul, um bei der Übersetzung von TeX-Dokumenten in andere [natürliche] Sprachen zu helfen. Es kann auch als Grundlage für die Entwicklung von Modulen für TeX-basierte Dokumente verwandt werden.
Benutzer sollten wahrscheinlich das LaTeX-Modul verwenden, das vom TeX-Modul abgeleitet ist und die Definitionen von typischen LaTeX-Befehlen enthält.
Dieses Modul kann direkt verwandt werden, um mit generischen TeX-Dokumenten umzugehen. Es wird Ihr Dokument in kleinere Blöcke (Absätze, »verbatim«-Blöcke oder sogar kleinere wie Titel oder Indices) teilen.
Es gibt einige Optionen (die im nächsten Abschnitt beschrieben werden), die dieses Verhalten anpassen lassen. Falls dies nicht auf Ihr Dokumentenformat passt, ermutigen wir Sie, Ihr eigenes, von diesem Modul abgeleitetes Modul zu schreiben, um die Details Ihres Formats zu beschreiben. Lesen Sie den Abschnitt SCHREIBEN ABGELEITETER MODULE weiter unten für die Beschreibung des Prozesses.
Dieses Modul kann auch durch Zeilen in der TeX-Datei, die mit »% po4a:« beginnen, angepasst werden. Dieser Prozess wird im Abschnitt ANPASSUNGEN IM DOKUMENT beschrieben.
Dies sind die Modul-spezifischen Optionen:
Beachten Sie, dass es zwischen den Umgebungen »verbatim« und »no_wrap« einen Unterschied gibt. In »verbatim«-Blöcken erfolgt keine Befehls- und Inhaltsanalyse.
Falls diese Umgebung noch nicht registriert war, wird Po4a annehmen, dass diese Umgebung keine Parameter erwartet.
Falls diese Umgebung noch nicht registriert war, wird Po4a annehmen, dass diese Umgebung keine Parameter erwartet.
Verwenden Sie diese Optionen, um das Standardverhalten der definierten Befehle zu überschreiben.
Das TeX-Modul kann durch Zeilen, die mit % po4a: beginnen, angepasst werden. Diese Zeilen werden vom Parser als Befehle interpretiert. Die folgenden Befehle werden erkannt:
Sie können Folgendes dem Befehl Befehl1 voranstellen:
Hinweis: In diesem Fall müssen Sie nicht angeben, welche Parameter übersetzbar sind, aber Po4a muss die Anzahl und den Typ der Parameter wissen.
Das Argument Parameter ist ein Satz von [] (um ein
optionales Argument anzuzeigen) oder {} (um ein verpflichtendes Argument
anzuzeigen). Sie können einen Unterstrich (_) zwischen diese Klammern
setzen, um anzugeben, dass der Parameter übersetzt werden muss.
Beispiel:
% po4a: command *chapter [_]{_}
Dies zeigt an, dass der Befehl »chapter« zwei
Parameter erwartet: einen optionalen (den kurzen Titel) und einen
verpflichtenden, wobei beide übersetzt werden müssen. Falls
Sie angeben möchten, dass der Befehl »href« zwei
verpflichtende Parameter hat, dass Sie die URL nicht übersetzen
möchten (den ersten Parameter) und dass Sie nicht möchten,
dass der Befehl von seinem Absatz getrennt wird (was dem Übersetzer
erlaubt, den Link im Satz zu verschieben), können Sie folgendes
verwenden:
% po4a: command -href {}{_}
In diesem Fall wird die Information, welche Argumente übersetzt werden müssen, nur verwandt, falls ein Absatz nur aus diesem href-Befehl besteht.
Wie bei den Befehlen kann Umgeb ein Plus (+) vorangestellt werden, um anzuzeigen, dass der Befehl \begin mit allen seinen Argumenten übersetzt werden muss.
Der reguläre Ausdruck wird durch Anführungszeichen begrenzt. Er sollte keine Rückreferenzen erstellen. Sie sollten (?:) verwenden, falls Sie Gruppen benötigen. Es könnte auch notwendig sein, Teile zu schützen.
Beispielsweise verwendet das LaTeX-Modul den regulären Ausdruck »(?:&|\\\\)«, um jede Zelle einer Tabelle zu trennen (Zeilen werden durch »\\«, Zellen durch »&« getrennt).
Der Begriff der Umgebung wird auf den in der PO-Datei angezeigten Typ erweitert. Dies kann benutzt werden, um auf »\\\\« im ersten zwingenden Argument des Titelbefehls zu unterteilen. In diesem Fall ist die Umgebung Title{#1}.
Falls diese Umgebung noch nicht registriert war, wird Po4a annehmen, dass diese Umgebung keine Parameter erwartet.
Kommentare eines Absatzes werden als PO-Kommentare bei der ersten übersetzten Zeichenkette dieses Absatzes eingefügt.
Falls eine Funktion in %translate_buffer_env für die aktuelle Umgebung definiert ist, wird diese Funktion zur Übersetzung des Puffers (statt translate_buffer()) verwandt.
Abgesehen von dem Teil der Einbindung von Dateien ist es eine eingefügte Kopie aus Transtractors read.
Lesen Sie den Abschnitt ANPASSUNGEN IM DOKUMENT für weitere Details.
Befehls- und Umgebungsfunktionen erwarten die folgenden Argumente (zusätzlich zum Objekt $self):
Die ersten drei Argumente werden durch get_leading_command oder get_trailing_command herausgelöst.
Befehls- und Umgebungsfunktionen liefern die Übersetzung des Befehls mit seinen Argumenten und eine neue Umgebung zurück.
Umgebungsfunktionen werden aufgerufen, wenn ein \begin gefunden wird. Sie werden mit dem Befehl \begin und seinen Argumenten aufgerufen.
Das TeX-Modul schlägt nur eine Befehlsfunktion und eine Umgebungsfunktion vor: generic_command und generic_environment.
generic_command verwendet die durch register_generic_command
spezifizierte Information oder durch Hinzufügen von Definitionen zu
der TeX-Datei:
% po4a: command Befehl Parameter
generic_environment verwendet die durch
register_generic_environment spezifizierte Information oder durch
Hinzufügen von Definitionen zu der TeX-Datei:
% po4a: environment Umgeb Parameter
Beide Funktionen werden nur die als übersetzbar (mit einem »_«) angegebenen Parameter übersetzen. generic_environment wird den Namen der Umgebung an den Umgebungsstapel anhängen und generic_command wird den Namen des Befehls gefolgt von einer Kennung des Parameters (wie{#7} oder [#2]) anhängen.
Dieses Modul benötigt weitere Tests.
Es wurde mit einem Buch und mit der Python-Dokumentation getestet.
Verschiedene Punkte werden in der Quelle als FIXME gekennzeichnet.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.
Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GPL (siehe die Datei COPYING) vertreiben und/oder verändern.
2023-01-03 | Po4a-Werkzeuge |