.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "PO4A 1p" .TH PO4A 1p "2018-12-09" "Po4a-Werkzeuge" "Po4a-Werkzeuge" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" po4a \- PO\-Dateien und übersetzte Dokumente auf einen Rutsch aktualisieren .SH "ÜBERSICHT" .IX Header "ÜBERSICHT" \&\fBpo4a\fR [\fIOptionen\fR] \fIKonfig_Datei\fR .SH "BESCHREIBUNG" .IX Header "BESCHREIBUNG" Das Projektziel von Po4a (\s-1PO\s0 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. .PP Das \fBpo4a\fR\-Programm ist nützlich, wenn Sie den Aufruf von \&\fBpo4a\-gettextize\fR\|(1), \fBpo4a\-updatepo\fR\|(1) und \fBpo4a\-translate\fR\|(1) in komplexen Makefiles bei der Verwendung mehrerer Dateien zur Übersetzung, verschiedenen Formaten oder der Notwendigkeit, verschiedene Optionen für verschiedene Dokumente anzugeben, vermeiden wollen. .SH "Inhaltsverzeichnis" .IX Header "Inhaltsverzeichnis" Das Dokument ist wie folgt organisiert: .SS "\s-1BESCHREIBUNG\s0" .IX Subsection "BESCHREIBUNG" .SS "\s-1EINLEITUNG\s0" .IX Subsection "EINLEITUNG" .SS "\s-1SYNTAX DER KONFIGURATIONSDATEI\s0" .IX Subsection "SYNTAX DER KONFIGURATIONSDATEI" \fIAngabe der Vorlagensprache\fR .IX Subsection "Angabe der Vorlagensprache" .PP \fIAngabe der Pfade zu den Eingaben der Übersetzer\fR .IX Subsection "Angabe der Pfade zu den Eingaben der Übersetzer" .PP \fIAutomatische Erkennung der Pfade und Sprachen\fR .IX Subsection "Automatische Erkennung der Pfade und Sprachen" .PP \fIAngabe der zu übersetzenden Dokumente\fR .IX Subsection "Angabe der zu übersetzenden Dokumente" .PP \fIAngabe der Optionen für die Module\fR .IX Subsection "Angabe der Optionen für die Module" .PP \fIAngabe der Aliase\fR .IX Subsection "Angabe der Aliase" .PP \fIAufspaltungsmodus\fR .IX Subsection "Aufspaltungsmodus" .SS "\s-1OPTIONEN\s0" .IX Subsection "OPTIONEN" .SS "\s-1BEISPIEL\s0" .IX Subsection "BEISPIEL" .SS "SCHWÄCHEN" .IX Subsection "SCHWÄCHEN" .SS "\s-1SIEHE AUCH\s0" .IX Subsection "SIEHE AUCH" .SS "\s-1AUTOREN\s0" .IX Subsection "AUTOREN" .SS "\s-1URHEBERRECHT UND LIZENZ\s0" .IX Subsection "URHEBERRECHT UND LIZENZ" \fI\fR .IX Subsection "" .SH "EINLEITUNG" .IX Header "EINLEITUNG" Das Programm \fBpo4a\fR ist sowohl für das Aktualisieren der PO-Dateien (zum Synchronisieren mit den ursprünglichen Dokumenten) als auch der übersetzten Dokumente (zum Synchronisieren mit den PO-Dateien) zuständig. Der Hauptpunkt besteht darin, die Verwendung von Po4a zu erleichtern, ohne die Befehlszeilenoptionen auswendig zu können. .PP Es erlaubt es Ihnen auch, Dokumente mit verschiedenen Formaten in die gleiche POT-Datei zu mischen, so dass Sie nur eine solche Datei pro Projekt haben müssen. .PP Das Verhalten kann durch andere Werkzeuge aus der Po4a\-Suite nachgebildet werden (z.B. mit Makefiles). Allerdings ist es recht schwierig und ermüdend, die gleichen komplizierten Makefiles für jedes Po4a\-verwendende Projekt immer wieder zu erstellen. .PP Der Datenfluss kann wie folgt zusammengefasst werden. Jede Änderung am Master-Dokument wird sich in den PO-Dateien wiederspiegeln und alle Änderungen in den PO-Dateien (sowohl manuell als auch verursacht durch den vorherigen Schritt) spiegeln sich in den übersetzten Dokumenten wieder. .PP Normaler Fall ohne Angabe von \fBpot_in\fR: .PP .Vb 1 \& <\- Quelldateien \->|<\-\-\-\-\-\-\-\-\- Bauergebnisse \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-> \& \& Addendum \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& | \& Masterdokument \-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | \& V +\-\-+\-\-> Übersetzungen \& alte PO\-Dateien \-\-+\-\-> aktualisierte PO\-Dateien + \& ^ | \& | V \& +<.....................+ \& (die aktualisierten PO\-Dateien werden manuell \& in die Quellen der nächsten Veröffentlichung \& kopiert während die Inhalte der Übersetzungen \& manuell aktualisiert werden) .Ve .PP Besonderer Fall mit Angabe von \fBpot_in\fR: .PP .Vb 1 \& <\- Quelldateien \->|<\-\-\-\-\-\-\-\-\- Bauergebnisse \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-> \& \& Masterdokument \-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ \& : | \& externes : gefiltertes | \& Filter\- =========X..> Master\- | \& programm dokument | \& | | \& V +\-\-> Übersetzungen \& alte PO\-Dateien \-\-\-\-\-\-+\-\-> aktualisierte PO\-Dateien + \& ^ | \& | V \& +<..........................+ \& (die aktualisierten PO\-Dateien werden manuell \& in die Quellen der nächsten Veröffentlichung \& kopiert während die Inhalte der Übersetzungen \& manuell aktualisiert werden) .Ve .PP Der Datenfluss kann von dem Werkzeug nicht invertiert werden und Änderungen an der Übersetzung werden vom Inhalt der PO-Dateien überschrieben. Tatsächlich kann dieses Werkzeug nicht dazu verwandt werden, existierende Übersetzungen in das Po4a\-System umzuwandeln. Für diese Aufgabe verwenden Sie bitte \fBpo4a\-gettextize\fR\|(1). .SH "SYNTAX DER KONFIGURATIONSDATEI" .IX Header "SYNTAX DER KONFIGURATIONSDATEI" Das (verpflichtende) Argument ist der Pfad zu der zu verwendenden Konfigurationsdatei. Die Syntax zielt darauf ab, so einfach und ähnlich zu sein wie die Konfigurationsdateien, die von den intl-tools-Projekten verwandt werden. .PP Kommentare in diesen Dateien werden durch das Zeichen »#« markiert. Es kommentiert alles bis zum Zeilenende aus. Zeilen können fortgesetzt werden, indem das Zeilenende markiert wird. Alle nicht leeren Zeilen müssen mit einem []\-Befehl beginnen, gefolgt von seinen Argumenten. (so klingt das schwierig, aber es ist recht einfach, hoffe ich zumindest ;) .SS "Angabe der Vorlagensprache" .IX Subsection "Angabe der Vorlagensprache" \&\fBHinweis:\fR Es wird empfohlen, \fB[po_directory]\fR statt \fB[po4a_langs]\fR und \&\fB[po4a_paths]\fR zu verwenden. Lesen Sie den Abschnitt \fBAutomatische Erkennung der Pfade und Sprachen\fR weiter unten. .PP Dieser optionale Befehl kann die gesamte Konfigurationsdatei vereinfachen und damit skaliert sie auch besser. Sie müssen eine Liste von Sprachen angeben, in die Sie die Dokumente übersetzen möchten. Dies ist so einfach wie das folgende Beispiel: .PP .Vb 1 \& [po4a_langs] fr de .Ve .PP Dies ermöglicht es Ihnen, \fB\f(CB$lang\fB\fR auf alle angegebenen Sprachen in dem Rest der Konfigurationsdatei zu expandieren. .SS "Angabe der Pfade zu den Eingaben der Übersetzer" .IX Subsection "Angabe der Pfade zu den Eingaben der Übersetzer" \&\fBHinweis:\fR Es wird empfohlen, \fB[po_directory]\fR statt \fB[po4a_langs]\fR und \&\fB[po4a_paths]\fR zu verwenden. Lesen Sie den Abschnitt \fBAutomatische Erkennung der Pfade und Sprachen\fR weiter unten. .PP Zuerst müssen Sie angeben, wo die Eingabedateien der Übersetzer (d.h. die Dateien, die von den Übersetzern für ihre Aufgabe verwandt werden) liegen. Dies kann durch ein Zeile der folgenden Form geschehen: .PP .Vb 2 \& [po4a_paths] doc/l10n/projekt.dok.pot \e \& fr:doc/l10n/fr.po de:doc/l10n/de.po .Ve .PP Der Befehl ist somit \fB[po4a_paths]\fR. Das erste Argument ist der Pfad zu der zu verwendenden POT-Datei. Alle folgenden Argumente sind von der folgenden selbsterklärenden Form: .PP .Vb 1 \& : .Ve .PP Falls Sie die Vorlagensprachen definiert haben, können Sie die obige Zeile wie folgt umschreiben: .PP .Vb 1 \& [po4a_paths] doc/l10n/projekt.dok.pot $lang:doc/l10n/$lang.po .Ve .PP Sie können auch \fB\f(CB$master\fB\fR verwenden, um sich auf den Dateinamen des Dokuments zu beziehen. In diesem Fall wird \fBpo4a\fR einen Aufspaltungsmodus verwenden: eine \s-1POT\s0 und eine \s-1PO\s0 (für jede Sprache) für jedes in der Konfigurationsdatei von \fBpo4a\fR angegebene Dokument wird erstellt. Lesen Sie den Abschnitt \fBAufspaltungsmodus\fR. .PP .Vb 1 \& [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po .Ve .SS "Automatische Erkennung der Pfade und Sprachen" .IX Subsection "Automatische Erkennung der Pfade und Sprachen" Ein weiterer Befehl kann zur Angabe des Verzeichnisses, in dem sich die \s-1PO\-\s0 und POT-Dateien befinden, verwandt werden. Wenn er verwandt wird, wird \&\fBpo4a\fR die POT-Datei als die einzige \fI*.pot\fR\-Datei aus dem angegebenen Verzeichnis erkennen. \fBpo4a\fR wird auch die Liste der \fI*.po\fR\-Dateien aus der Liste der definierten Sprachen (unter Entfernen der Erweiterung) verwenden. Diese Sprachen werden für die Ersetzung der Variablen \fB\f(CB$lang\fB\fR in der restlichen Konfigurationsdatei verwandt. .PP Dieser Befehl sollte nicht zusammen mit den Befehlen \fB[po4a_langs]\fR oder \&\fB[po4a_paths]\fR verwandt werden. .PP Wenn Sie diesen Befehl verwenden, müssen Sie beim ersten Aufruf von \fBpo4a\fR eine leere POT-Datei erstellen, um ihm dem Namen der POT-Datei mitzuteilen. .PP .Vb 1 \& [po_directory] po4a/po/ .Ve .SS "Angabe der zu übersetzenden Dokumente" .IX Subsection "Angabe der zu übersetzenden Dokumente" Logischerweise müssen Sie jetzt angeben, welche Dokumente übersetzt sind, ihr Format und wohin die Übersetzung abgelegt werden soll. Dies kann durch folgende Zeilen erfolgen: .PP .Vb 7 \& [type: sgml] dok/mein_zeug.sgml fr:dok/fr/mon_truc.sgml \e \& de:dok/de/mein_kram.sgml \& [type: pod] skript fr:dok/fr/script.1 de:doc/de/script.1 \e \& add_fr:doc/l10n/script.fr.add \& [type: docbook] doc/script.xml fr:doc/fr/script.xml \e \& de:doc/de/script.xml \e \& pot_in:doc/script.filtered.xml .Ve .PP Dies sollte auch recht selbsterklärend sein. Beachten Sie, dass im zweiten Fall \fIdok/l10n/script.fr.add\fR ein Addendum ist, dass zu der französischen Version dieses Dokumentes hinzugefügt wird. Bitte lesen Sie \fBpo4a\fR\|(7) für weitere Informationen über Addenda. .PP Formaler beschrieben lautet das Format: .PP .Vb 3 \& [type: ] (:)* \e \& (pot_in:)? \e \& (add_:*)* .Ve .PP Falls \fBpot_in\fR angegeben ist, wird \fIgefiltertes_Masterdok\fR statt \&\fIMasterdokument\fR zur Erstellung der POT-Datei verwandt. Diese Funktionalität erlaubt es Benutzern, flexible Wege zu erstellen, um Inhalte zu vermeiden, die nicht in PO-Dateien aufgenommen werden sollen. Werkzeuge wie C\-Präprozessoren (\fBcpp\fR) oder XSL-Umwandlungshilfswerkzeuge (z.B. \fBxsltproc\fR) können zum Erstellen des externen Filterprogramms verwandt werden und es vor dem Starten von \fBpo4a\fR aufrufen. .PP Falls es keinen Modifikator gibt, ist \fIAddendum_Pfad\fR der Pfad zum Addendum. Modifikatoren sind .IP "\fB?\fR" 2 .IX Item "?" Berücksichtige \fIAddendum_Pfad\fR falls die Datei existiert, andernfalls passiert nichts. .IP "\fB@\fR" 2 .IX Item "@" \&\fIAddendum_Pfad\fR ist kein reguläres Addendum, sondern eine Datei, die eine Liste von Addenda enthält, eines pro Zeile. Jedem Addendum kann ein Modifikator vorangestellt sein. .IP "\fB!\fR" 2 .IX Item "!" \&\fIAddendum_Pfad\fR wird verworfen, es wird nicht geladen und wird auch nicht von weiteren Addendumspezifikationen geladen. .PP Falls Sie die Vorlagensprachen definiert haben, können Sie die obige Zeile wie folgt umschreiben: .PP .Vb 2 \& [type: pod] Skript $lang:dok/$lang/script.1 \e \& add_fr:dok/l10n/script.fr.add .Ve .PP Falls alle Sprachen Addenda mit ähnlichen Pfaden haben, können Sie auch Folgendes schreiben: .PP .Vb 2 \& [type: pod] Skript $lang:dok/$lang/script.1 \e \& add_$lang:dok/l10n/script.$lang.add .Ve .SS "Angabe der Optionen für die Module" .IX Subsection "Angabe der Optionen für die Module" \&\fBpo4a\fR akzeptiert Optionen, die an die Module weitergegeben werden. Diese Optionen hängen von den Modulen ab und werden mit dem Schalter \fB\-o\fR angegeben. .PP Falls Sie eine bestimmte Option für eines der zu übersetzenden Dokumente benötigen, können Sie diese auch in der Konfigurationsdatei angeben. Optionen werden durch das Schlüsselwort \fBopt\fR eingeleitet. Das Argument des Schlüsselworts \fBopt\fR muss mit doppelten Anführungszeichen geschützt werden, falls es ein Leerzeichen enthält (z.B. wenn Sie mehrere Optionen oder Optionen mit Argument angeben wollen). Sie können Optionen, die nur für eine bestimmte Sprache angewandt werden sollen, auch mittels des Schlüsselworts \fBopt_\fR\fISprache\fR angeben. .PP Hier ist ein Beispiel: [type:man] t\-05\-config/test02_man.1 \f(CW$lang:tmp\fR/test02_man.$lang.1 \e opt:\*(L"\-k 75\*(R" opt_it:\*(L"\-L \s-1UTF\-8\*(R"\s0 opt_fr:\-v .PP Argumente dürfen Leerzeichen enthalten, falls Sie einfache Anführungszeichen oder geschützte doppelte Anführungszeichen verwenden: [po4a_alias:man] man opt:\*(L"\-o \e\*(R"mdoc=NAME,SEE ALSO\e\*(L" \-k 20\*(R" .PP Falls Sie die gleichen Optionen für viele Dokumente angeben möchten, bietet sich die Verwendung eines Alias an (lesen Sie den Abschnit \fBAngabe der Aliase\fR unten). .PP Sie können auch Optionen für alle in der Konfigurationsdatei angegebenen Dokumente festlegen: [options] opt:\*(L"…\*(R" opt_fr:\*(L"…\*(R" .SS "Angabe der Aliase" .IX Subsection "Angabe der Aliase" Falls Sie die gleichen Optionen für mehrere Dateien angeben müssen, könnten Sie an der Definition eines Modul-Alias interessiert sein. Dies kann folgendermaßen geschehen: .PP .Vb 1 \& [po4a_alias:test] man opt:"\-k 21" opt_es:"\-o debug=splitargs" .Ve .PP Dies definiert einen Modul-Alias namens \fBtest\fR, basierend auf dem Modul \&\fBman\fR, wobei \fB\-k 21\fR auf alle Sprachen und \fB\-o debug=splitargs\fR für die spanische Übersetzung angewandt werden soll. .PP Dieser Modul-Alias kann wie ein reguläres Modul verwandt werden: .PP .Vb 2 \& [type:test] t\-05\-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \e \& opt_it:"\-L UTF\-8" opt_fr:\-v .Ve .PP Beachten Sie, dass Sie pro Datei zusätzliche Optionen angeben können. .SS "Aufspaltungsmodus" .IX Subsection "Aufspaltungsmodus" Der Aufspaltungsmodus wird verwandt, wenn \fB\f(CB$master\fB\fR in der Zeile \&\fB[po4a_paths]\fR eingesetzt wird. .PP Bei der Verwendung des Aufspaltungsmodus wird eine temporäre große \s-1POT\-\s0 und temporäre große PO-Dateien eingesetzt. Dies erlaubt es, die Übersetzungen in allen POs gemeinsam zu nutzen. .PP Wenn die gleiche Zeichenkette in zwei POs verschieden übersetzt ist, wird \&\fBpo4a\fR diese Zeichenkette als unscharf markieren und beide Übersetzungen in alle PO-Dateien, die diese Zeichenketten enthalten, einfügen. Wenn dann ein Übersetzer die Übersetzung aktualisiert und die Fuzzy-Markierung in einer PO-Datei entfernt, wird diese Übersetzung der Zeichenkette in allen PO-Dateien automatisch aktualisiert. .PP Falls es Namenskonflikte gibt, da mehrere Dateien den gleichen Dateinamen haben, kann der Name der Masterdatei über das Hinzufügen der Option \&\f(CW\*(C`master:file=\*(C'\fR\fIName\fR festgelegt werden: .PP .Vb 4 \& [po4a_langs] de fr ja \& [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po \& [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml master:file=foo\-gui \& [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml master:file=bar\-gui .Ve .SH "OPTIONEN" .IX Header "OPTIONEN" .IP "\fB\-k\fR, \fB\-\-keep\fR" 4 .IX Item "-k, --keep" Minimaler Schwellwert in Prozent, ab der die übersetzte Datei erhalten (d.h. geschrieben) wird, standardmäßig 80. D.h., standardmäßig müssen Dateien zu 80% übersetzt sein, um geschrieben zu werden. .IP "\fB\-h\fR, \fB\-\-help\fR" 4 .IX Item "-h, --help" zeigt eine kurze Hilfemeldung an .IP "\fB\-M\fR, \fB\-\-master\-charset\fR" 4 .IX Item "-M, --master-charset" Zeichensatz der Dateien, die die zu übersetzenden Dokumente enthalten. Beachten Sie, das derzeit alle Master-Dokumente den gleichen Zeichensatz benutzen müssen. Dies ist eine bekannte Einschränkung und wir arbeiten an einer Lösung. .IP "\fB\-L\fR, \fB\-\-localized\-charset\fR" 4 .IX Item "-L, --localized-charset" Zeichensatz der Dateien, die die lokalisierten Dokumente enthalten. Beachten Sie, dass derzeit alle übersetzten Dokumente den gleichen Zeichensatz benutzen. Dies ist eine bekannte Einschränkung und wir arbeiten daran, dies zu beheben. .IP "\fB\-A\fR, \fB\-\-addendum\-charset\fR" 4 .IX Item "-A, --addendum-charset" Zeichensatz der Addenda. Beachten Sie, dass alle Addenda im gleichen Zeichensatz vorliegen sollten. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" zeigt die Version des Skripts und beendet sich .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Erhöhen der Ausführlichkeit des Programms .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" Verringern der Ausführlichkeit des Programms .IP "\fB\-d\fR, \fB\-\-debug\fR" 4 .IX Item "-d, --debug" Fehlersuch\- (Debug\-)Informationen ausgeben .IP "\fB\-o\fR, \fB\-\-option\fR" 4 .IX Item "-o, --option" Extraoption(en), die an die Formaterweiterung übergeben werden soll. Geben Sie jede Option im Format »\fIName\fR\fB=\fR\fIWert\fR« an. Lesen Sie die Dokumentation jeder Erweiterung für weitere Informationen über die gültigen Optionen und ihre Bedeutungen. .IP "\fB\-f\fR, \fB\-\-force\fR" 4 .IX Item "-f, --force" immer die \s-1POT\-\s0 und PO-Dateien erstellen, selbst wenn \fBpo4a\fR dies nicht für notwendig betrachtet .Sp Das Standardverhalten (wenn \fB\-\-force\fR nicht angegeben ist) ist wie folgt: .RS 4 .Sp .RS 4 Falls die POT-Datei bereits existiert, wird sie neu erstellt, falls ein Master-Dokument oder die Konfigurationsdatei neuer ist. Die POT-Datei wird auch in ein temporäres Dokument geschrieben und \fBpo4a\fR überprüft, dass die Änderungen wirklich benötigt werden. .Sp Eine Übersetzung wird auch nur neu erstellt, falls das Master-Dokument, die PO-Datei, einer ihrer Addenda oder die Konfigurationsdatei neuer ist. Um zu vermeiden, dass die Erstellung von Übersetzungen, die die Schwellwertbarriere nicht erreichen, versucht wird (siehe \fB\-\-keep\fR), kann eine Datei mit der Erweiterung \fI.po4a\-stamp\fR erstellt werden (siehe \&\fB\-\-stamp\fR). .RE .RE .RS 4 .Sp Falls ein Master-Dokument Dateien einbindet, soillten Sie den Schalter \&\fB\-\-force\fR verwenden, da der Änderungszeitpunkt dieser eingebundenen Dateien nicht mit betrachtet wird. .Sp Die PO-Dateien werden basierend auf der POT-Datei mittels \fBmsgmerge \-U\fR neu erstellt. .RE .IP "\fB\-\-stamp\fR" 4 .IX Item "--stamp" Sorgt dafür, dass \fBpo4a\fR Stempeldateien erstellt, wenn eine Übersetzung nicht erstellt wurde, da sie den Schwellwert nicht erreichte. Diese Stempeldateien werden entsprechend des erwarteten übersetzten Dokuments, mit der Erweiterung \fI.po4a\-stamp\fR, benannt. .Sp Hinweis: Dies aktiviert nur die Erstellung der \fI.po4a\-stamp\fR\-Dateien. Die Stempeldateien werden immer benutzt, falls sie existieren, und sie werden mit \fB\-\-rm\-translations\fR oder wenn die Datei schließlich übersetzt ist entfernt. .IP "\fB\-\-no\-translations\fR" 4 .IX Item "--no-translations" die übersetzten Dokumente nicht erstellen, nur die \s-1POT\-\s0 und PO-Dateien aktualisieren .IP "\fB\-\-no\-update\fR" 4 .IX Item "--no-update" die \s-1POT\-\s0 und PO-Dateien nicht ändern, nur die Übersetzung darf aktualisiert werden. .IP "\fB\-\-keep\-translations\fR" 4 .IX Item "--keep-translations" behält die existierenden Übersetzungsdateien, selbst falls die Übersetzung nicht die durch \-\-keep festgelegte Schwelle erreicht. Dies wird keine Übersetzungsdateien mit wenigen Inhalten erstellen, sondern bestehende Dateien sichern, deren Übersetzungen aufgrund von Änderungen an den Master-Dateien verfallen. .Sp \&\s-1WARNUNG:\s0 Dieser Schalter ändert das Verhalten von Po4a ziemlich drastisch: Ihre übersetzten Dateien werden überhaupt nicht aktualisiert, bis die Übersetzung verbessert wird. Verwenden Sie diesen Schalter nur, falls Sie die Auslieferung von veralteter Dokumentation gegenüber einer akuraten nicht übersetzten Dokumentation bevorzugen. .IP "\fB\-\-rm\-translations\fR" 4 .IX Item "--rm-translations" entfernt die übersetzten Dateien (impliziert \fB\-\-no\-translations\fR) .IP "\fB\-\-no\-backups\fR" 4 .IX Item "--no-backups" Seit Version 0.41 macht dieser Schalter nichts und könnte daher in zukünftigen Veröffentlichungen entfernt werden. .IP "\fB\-\-rm\-backups\fR" 4 .IX Item "--rm-backups" Seit Version 0.41 macht dieser Schalter nichts und könnte daher in zukünftigen Veröffentlichungen entfernt werden. .IP "\fB\-\-translate\-only\fR \fIübersetzte\-Datei\fR" 4 .IX Item "--translate-only übersetzte-Datei" Nur die angegebene Datei übersetzen. Das kann nützlich sein, um die Verarbeitung zu beschleunigen, falls die Konfigurationsdatei eine Reihe Dateien enthält. Beachten Sie, dass diese Optione die \s-1PO\-\s0 und POT-Dateien nicht aktualisiert. Diese Option kann mehrfach angewandt werden. .IP "\fB\-\-variable\fR \fIVar\fR\fB=\fR\fIWert\fR" 4 .IX Item "--variable Var=Wert" Definiert eine Variable, die in der \fBpo4a\fR\-Konfigurationsdatei expandiert wird. Jedes Vorkommen von \fI$(Var)\fR wird durch \fIWert\fR ersetzt. Diese Option kann mehrfach verwandt werden. .IP "\fB\-\-srcdir\fR \fI\s-1QUELLVERZ\s0\fR" 4 .IX Item "--srcdir QUELLVERZ" setzt das Basisverzeichnis für alle Eingabedokumente, die in der Konfigurationsdatei \fBpo4a\fR angegeben sind .IP "\fB\-\-destdir\fR \fI\s-1ZIELVERZ\s0\fR" 4 .IX Item "--destdir ZIELVERZ" setzt das Basisverzeichnis für alle in der \fBpo4a\fR\-Konfigurationsdatei angegebenen Dokumente .SS "\s-1OPTIONEN, DIE\s0 POT-KOPFZEILEN VERÄNDERN" .IX Subsection "OPTIONEN, DIE POT-KOPFZEILEN VERÄNDERN" .IP "\fB\-\-porefs\fR \fITyp\fR[,\fBwrap\fR|\fBnowrap\fR]" 4 .IX Item "--porefs Typ[,wrap|nowrap]" Gibt das Referenzformat an. Das Argument \fITyp\fR kann entweder \fBnever\fR (keine Referenz erzeugen), \fBfile\fR (nur die Datei ohne Zeilenzahlen festlegen), \fBcounter\fR (alle Zeilennummern durch einen ansteigenden Zähler ersetzen) oder \fBfull\fR (komplette Referenzen einbinden) sein. Die Vorgabe ist »full«. .Sp Das Argument kann von einem Komma und entweder dem Schlüsselwort \fBwrap\fR oder \fBnowrap\fR gefolgt werden. Referenzen werden standardmäßig auf eine einzelne Zeile geschrieben. Die Option \fBwrap\fR bricht Referenzen über mehre Zeilen um, um die \fBgettext\fR (\fBxgettext\fR und \fBmsgmerge\fR) nachzuahmen. Diese Option wird in zukünftigen Veröffentlichungen die Vorgabe werden, da sie vernünftiger ist. Die Option \fBnowrap\fR ist für Benutzer, die das alte Verhalten beibehalten möchten, verfügbar. .IP "\fB\-\-msgid\-bugs\-address\fR \fIe\-mail@adresse\fR" 4 .IX Item "--msgid-bugs-address e-mail@adresse" Setzt die E\-Mail-Adresse, an die Fehler in den Meldungen (msgid) berichtet werden sollen. Standardmäßig haben die erstellten POT-Dateien keine »Report\-Msgid\-Bugs\-To«\-Felder. .IP "\fB\-\-copyright\-holder\fR \fIZeichenkette\fR" 4 .IX Item "--copyright-holder Zeichenkette" Setzt den Namen des Urhebers in den Kopfzeilen der POT-Datei. Standardmäßig ist dies »Free Software Foundation, Inc.«. .IP "\fB\-\-package\-name\fR \fIZeichenkette\fR" 4 .IX Item "--package-name Zeichenkette" Setzt den Paketnamen für die POT-Kopfzeilen. Standardmäßig »PACKAGE«. .IP "\fB\-\-package\-version\fR \fIZeichenkette\fR" 4 .IX Item "--package-version Zeichenkette" Setzt die Paketversion für die POT-Kopfzeilen. Standardmäßig »VERSION«. .SS "\s-1OPTIONEN, UM\s0 PO-DATEIEN \s-1ZU BEARBEITEN\s0" .IX Subsection "OPTIONEN, UM PO-DATEIEN ZU BEARBEITEN" .IP "\fB\-\-msgmerge\-opt\fR \fIOptionen\fR" 4 .IX Item "--msgmerge-opt Optionen" Extraoptionen für \fBmsgmerge\fR(1). .Sp Hinweis: \fB\f(CB$lang\fB\fR wird zur aktuellen Sprache erweitert. .IP "\fB\-\-no\-previous\fR" 4 .IX Item "--no-previous" Diese Option entfernt \fB\-\-previous\fR aus den an \fBmsgmerge\fR übergebenen Optionen. Dies erlaubt die Unterstützung von \fBgettext\fR\-Versionen vor 0.16. .IP "\fB\-\-previous\fR" 4 .IX Item "--previous" Diese Option fügt \fB\-\-previous\fR zu den an \fBmsgmerge\fR übergebenen Optionen hinzu. Dies benötigt \fBgettext\fR 0.16 oder neuer und ist standardmäßig aktiviert. .SS "\s-1BEISPIEL\s0" .IX Subsection "BEISPIEL" Nehmen wir an, Sie betreuen ein Paket namens \fBfoo\fR mit der Handbuchseite \&\fIman/foo.1\fR, die naturgemäß nur auf Englisch gewartet wird. Als (Distributions\-)Betreuer wollen Sie jetzt Übersetzungen erstellen und betreuen. Zuerst müssen Sie die POT-Datei mittels \fBpo4a\-gettextize\fR\|(1) erstellen, die zum Senden an die Übersetzer notwendig ist. .PP In diesem Fall würde folgender Aufruf erfolgen: .PP .Vb 1 \& cd man && po4a\-gettextize \-f man \-m foo.1 \-p foo.pot .Ve .PP Diese Datei schicken Sie dann an die entsprechenden Sprachlisten oder bieten sie auf Ihrer Website zum Herunterladen an. .PP Nehmen wir jetzt an, dass Sie drei Übersetzungen vor Ihrer nächsten Veröffentlichung erhalten haben: \fIde.po\fR (mit einem Addendum \fIde.add\fR), \&\fIsv.po\fR und \fIpt.po\fR. Da Sie Ihre \fIMakefile\fR(s) nicht ändern möchten, wenn eine neue Übersetzung eintrifft, können Sie \fBpo4a\fR mit einer geeigneten Konfigurationsdatei (in diesem Beispiel \fIpo4a.cfg\fR) in Ihrer \&\fIMakefile\fR aufrufen. In unserem Beispiel würde diese Konfigurationdatei dann wie folgt aussehen: .PP .Vb 1 \& [po_directory] man/po4a/po/ \& \& [type: man] man/foo.1 $lang:man/translated/$lang/foo.1 \e \& add_$lang:?man/po4a/add_$lang/$lang.add opt:"\-k 80" \&In diesem Beispiel wird angenommen, dass die erstellte Handbuchseite (und \&alle PO\- und Addenda\-Dateien) in F (respektive \&F und F) unterhalb des aktuellen \&Verzeichnisses gespeichert werden. In diesem Beispiel würde dann das \&Verzeichnis F die Dateien F, F und F \&enthalten und das Verzeichnis F die Datei F. .Ve .PP Beachten Sie die Verwendung des Modifikators \fB?\fR, da nur die deutsche Übersetzung (\fIde.po\fR) von einem Addendum begleitet wird. .PP Um dann die übersetzten Handbuchseiten tatsächlich zu bauen, würde (einmalig!) die folgende Zeile in das \fBbuild\fR\-Ziel der entsprechenden \&\fIMakefile\fR eingebaut werden: .PP .Vb 1 \& po4a po4a.cfg .Ve .PP Sobald dies eingerichtet ist, müssen Sie die \fIMakefile\fR nicht mehr anfassen, wenn eine neue Übersetzung eintrifft, d.h. falls das französische Team Ihnen \fIfr.po\fR und \fIfr.add\fR schickt, dann packen Sie diese einfach in \&\fIman/po4a/po/\fR respektive \fIman/po4a/add_fr/\fR und beim nächsten Mal, wenn das Programm gebaut wird, wird auch die französische Übersetzung automatisch in \fIman/translated/fr/\fR gebaut. .PP Beachten Sie, dass Sie weiterhin ein geeignetes Ziel in der \fIMakefile\fR benötigen, um die übersetzten Handbuchseiten zusammen mit den englischen zu installieren. .PP Falls Sie die automatisch erstellten Dateien nicht in Ihrem Versionskontrollsystem speichern wollen, benötigen Sie schließlich noch eine Zeile zum Ziel \fBclean\fR: \-rm \-rf man/translated .SH "SCHWÄCHEN" .IX Header "SCHWÄCHEN" .IP "\(bu" 4 Dupliziert Teil des Codes von den \fBpo4a\-\fR\fI*\fR\-Programmen. .PP Patches willkommen ;) .SH "SIEHE AUCH" .IX Header "SIEHE AUCH" \&\fBpo4a\-gettextize\fR\|(1), \fBpo4a\-normalize\fR\|(1), \fBpo4a\-translate\fR\|(1), \&\fBpo4a\-updatepo\fR\|(1), \fBpo4a\fR\|(7) .SH "AUTOREN" .IX Header "AUTOREN" .Vb 3 \& Denis Barbier \& Nicolas François \& Martin Quinson (mquinson#debian.org) .Ve .SH "URHEBERRECHT UND LIZENZ" .IX Header "URHEBERRECHT UND LIZENZ" Copyright 2002\-2012 \s-1SPI,\s0 Inc. .PP Dieses Programm ist freie Software; Sie können es unter den Bedingungen der \&\s-1GPL\s0 (siehe die Datei \s-1COPYING\s0) vertreiben und/oder verändern.