
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NAME

Locale::Po4a::Man - konvertiert Handbuchseiten von/in PO-Dateien

=head1 BESCHREIBUNG

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::Man ist ein Modul, um bei der Übersetzung von Dokumentation im Nroff-Format (die Sprache der Handbuchseiten) in andere [natürliche] Sprachen zu helfen.

=head1 ÜBERSETZEN MIT PO4A::MAN

Das Modul gibt sich sehr viel Mühe, das Leben von Übersetzern zu erleichtern. Dafür ist der Text, der dem Übersetzer vorgelegt wird, keine wörtliche Kopie des Textes, wie er in der Handbuchseite vorliegt. Tatsächlich werden die unfeinen Teile des Nroff-Formats versteckt, so dass die Übersetzer nicht mit ihnen Unordnung erzeugen können.

=head2 Zeilenumbruch

Nicht eingerückte Absätze werden für den Übersetzer automatisch umgebrochen. Dies kann zu ein paar kleineren Unterschieden in der erstellten Ausgabe führen, da die von Groff verwandten Zeilenumbruchregeln nicht sehr klar sind. Beispielsweise werden zwei Leerzeichen nach einer Klammer manchmal erhalten.

Wie dem auch sei, der Unterschied besteht nur in der Position von zusätzlichen Leerzeichen in umgebrochenen Absätzen und ich denke, das ist es Wert.

=head2 Schriftangabe

Die erste Änderung besteht in der Schriftänderungsspezifikation. In Nroff gibt es mehrere Arten, anzugeben, ob ein Wort in kleinen Buchstaben, fett oder kursiv geschrieben werden soll. In dem zu übersetzenden Text gibt es nur eine Art, ausgeliehen vom POD- (Perl online documentation) Format:

=over 

=item IE<lt>TextE<gt> -- kursiver Text

äquivalent zu \fIText\fP or ".I Text"

=item BE<lt>TextE<gt> -- fetter Text

äquivalent zu \fBText\fP or ".B Text"

=item RE<lt>textE<gt> -- aufrechter Text

äquivalent zu \fRtext\fP

=item CWE<lt>textE<gt> -- Text mit konstanter Breite

äquivalent zu \f(CWtext\fP oder ".CW text"

=back

Bemerkung: Die CW-Schriftart ist nicht für alle Groff-Geräte verfügbar. Es wird empfohlen, sie nicht zu verwenden. Sie wird zur Bequemlichkeit bereitgestellt.

=head2 Automatische Zeichenumschreibung

Po4a schreibt automatisch einige Zeichen um, um die Übersetzung oder die Begutachtung der Übersetzung zu vereinfachen. Folgende Zeichen werden umgeschrieben:

=over 

=item Gedankenstriche

Bindestriche (-) und Minuszeichen (\-) in Handbuchseiten werden alle zu Gedankenstrichen (-) in der PO-Datei umgeschrieben. Dann werden alle Gedankenstriche in Roff-Minuszeichen (\-) umgeschrieben, wenn die Übersetzung in das Ausgabedokument eingefügt wird.

Übersetzer können einen Gedankenstrich erzwingen, indem Sie das Roff-Zeichen »\[hy]« in ihrer Übersetzung verwenden.

=item nicht trennbare Leerzeichen

Übersetzer können nicht trennbare Leerzeichen in ihren Übersetzungen verwenden. Diese nicht trennbaren Leerzeichen (0xA0 in latin1) werden in ein nicht trennbares Leerzeichen (»\ «) von Roff umgeschrieben.

=item Umschreibung von Anführungszeichen

`` und '' werden in \*(lq und \*(rq respektive umgeschrieben.

Um diese Umschreibung zu vermeiden, können Übersetzer ein Roff-Zeichen mit einer Breite von Null einfügen (d.h. `\&` oder '\&' respektive verwenden).

=back

=head2 »E<lt>« und »E<gt>« in Übersetzungen einbauen

Da diese Zeichen zur Begrenzung von Teilen mit Schriftänderung verwandt werden, können Sie sie nicht unverändert verwenden. Verwenden Sie stattdessen EE<lt>ltE<gt> und EE<lt>gtE<gt> (wie in POD, nochmals).

=head1 VON DIESEM MODUL AKZEPTIERTE OPTIONEN

Dies sind die Modul-spezifischen Optionen:

=over 

=item B<debug>

Aktiviert Fehlersuchroutinen für einige interne Mechanismen dieses Moduls. Verwenden Sie den Quelltext, um zu sehen, welche Teile damit auf Fehler untersucht werden können.

=item B<verbose>

Ausführlichkeit erhöhen

=item B<groff_code>

Diese Option steuert das Verhalten des Moduls, wenn es auf einen Abschnitt ».de«, ».ie« oder ».if« trifft. Sie kann die folgenden Werte annehmen:

=over 

=item I<fail>

Dies ist der Standardwert. Das Modul wird fehlschlagen, wenn es auf einen Abschnitt ».de«, ».ie« oder ».if« trifft.

=item I<verbatim>

gibt an, dass die Abschnitte ».de«, ».ie« und ».if« unverändert vom Original in das übersetzte Dokument kopiert werden müssen

=item I<translate>

Gibt an, dass die Abschnitte ».de«, ».ie« und ».if« zur Übersetzung vorgeschlagen werden. Sie sollten diese Option nur verwenden, wenn innerhalb dieser Abschnitte sich eine übersetzbare Zeichenkette befindet. Andernfalls sollte I<verbatim> vorgezogen werden.

=back

=item B<generated>

Diese Option gibt an, dass die Datei automatisch generiert wurde und dass Po4a nicht versuchen sollte, herauszufinden, ob die Handbuchseite aus einem anderen Format generiert wurde. Diese Option ist zwingend anzugeben, wenn Po4a mit generierten Handbuchseiten verwandt wird. Beachten Sie, dass die Übersetzung von generierten Handbuchseiten (statt der Quellseiten) oft fehleranfälliger und daher keine Gute Idee ist.

=item B<mdoc>

Diese Option ist nur für Mdoc-Seiten nützlich.

Es wählt eine strengere Unterstützung für das Mdoc-Format aus, indem Po4a angewiesen wird, den Abschnitt »NAME« nicht zu übersetzen. Mdoc-Seiten, deren »NAME«-Abschnitt übersetzt wurde, erstellen keine Kopf- oder Fußzeilen.

Entsprechend der Groff-Mdoc-Seite, sind die Abschnitte »NAME«, »SYNOPSIS«
(im deutschen »ÜBERSICHT«) und »DESCRIPTION« (»BESCHREIBUNG«) verpflichtend.
Es gibt keine bekannten Probleme mit übersetzten SYNPOSIS- oder
DESCRIPTION-Abschnitten, Sie können aber diese Abschnitte auch in dieser Art
spezifizieren:
 -o mdoc=NAME,SYNOPSIS,DESCRIPTION

Dieses Mdoc-Problem kann auch mit einem Addendum der folgenden Art behoben
werden:
 PO4A-HEADER:mode=before;position=^.Dd
 .TH DOCUMENT_TITLE 1 "Monat Tag, Jahr" OS "Abschnittname"



=back

The following options specify the behavior of a user-defined macro (with a .de request), or of a classical macro that is not supported by po4a.  They take as argument a comma-separated list of macros.  For example:

 -o noarg=FO,OB,AR -o translate_joined=BA,ZQ,UX

Hinweis: Falls ein Makro von Po4a nicht unterstützt wird und falls Sie denken, dass dies ein Standard-Roff-Makro ist, dann sollten Sie es dem Po4a-Entwicklungsteam mitteilen.

=over 

=item B<untranslated>

B<untranslated> gibt an, dass dieses Makro (und seine Argumente) nicht übersetzt werden müssen.

=item B<noarg>

B<noarg> verhält sich wie B<untranslated>, außer dass Po4a überprüfen wird, dass kein Argument zu diesem Makro hinzugefügt wird.

=item B<translate_joined>

B<translate_joined> zeigt an, dass Po4a die Argumente dieses Makros zur Übersetzung vorschlagen muss.

=item B<translate_each>

Mit B<translate_each> werden die Argumente auch zur Übersetzung vorgeschlagen, außer dass jedes separat übersetzt wird.

=item B<no_wrap>

Diese Option akzeptiert als Argument eine Komma-separierte Liste von I<Anfang>:I<Ende>-Paaren, wobei I<Anfang> und I<Ende> Befehle sind, die den Anfang und das Ende eines Abschnitts, der nicht neu umgebrochen werden soll, abgrenzen.

Hinweis: Es erfolgt keine Überprüfung, um sicherzustellen, dass der I<Ende>-Befehl auf einen I<Anfang>-Befehl passt, jeder Beendigungsbefehl beendet den »no_wrap«-Modus. Falls ein I<Anfang>- (respektive ein I<Ende>-)Makro existiert, für das kein I<Ende> (respektive I<Anfang>) existiert, können Sie ein existierendes I<Ende> (wie fi) oder I<Anfang> (wie nf) als Gegenstück angeben. Diese Makros (und ihre Argumente) werden nicht übersetzt.

=item B<inline>

Diese Option gibt eine Komma-separierte Liste von Makros an, die den aktuellen Absatz nicht trennen dürfen. Die zu übersetzende Zeichenkette wird dann I<foo E<lt>.bar baz quxE<gt> quux> enthalten, wobei I<bar> der Befehl ist, der in der Zeile bleiben soll und I<baz qux> seine Argumente sind.

=item B<unknown_macros>

Diese Option zeigt an, wie sich Po4a verhalten soll, wenn ein unbekanntes Makro gefunden wird. Standardmäßig schlägt Po4a mit einer Warnung fehl. Diese Option kann die folgenden Werte annehmen: B<failed> (der Standardwert), B<untranslated>, B<noarg>, B<translate_joined> oder B<translate_each> (die Erklärung dieser Werte ist weiter oben erfolgt).

=back

=head1 ERSTELLEN VON PO4A::MAN-KONFORMEN HANDBUCHSEITEN

Dieses Modul ist noch sehr begrenzt und wird dies immer bleiben, da es kein echter Nroff-Interpreter ist. Es wäre möglich, einen echten Nroff-Interpreter zu erstellen, um Autoren die Verwendung aller existierender Makros (und sogar die Definition neuer Makros) in ihren Seiten zu erlauben, aber wir wollten das nicht. Es wäre zu schwierig und wir dachten, es wäre nicht notwendig. Wir glauben, dass Handbuchseitenautoren, die ihre Werke übersetzt bekommen möchten, sich anpassen müssen, um die Arbeit der Übersetzer zu erleichtern.

Daher hat der Parser in Po4a einige bekannte Einschränkungen, die wir nicht planen, zu korrigieren und die einige Fallstricke enthalten, die Sie vermeiden sollten, falls Sie möchten, dass Übersetzer sich um Ihre Dokumentation kümmern.

=head2 Programmieren Sie nicht in Nroff

Nroff ist eine komplette Programmiersprache mit Makrodefinitionen, Bedingungen und so weiter. Da dieser Parser kein vollständiger Nroff-Interpreter ist, wird er bei Seiten fehlschlagen, die diese Funktionalitäten verwenden (es gibt rund 200 solche Seiten auf meiner Kiste).

=head2 Verwenden Sie den Makrosatz »plain«

Es gibt noch einige Makros, die von po4a::man nicht unterstützt werden. Das passiert nur, da ich keine Information über sie gefunden habe. Es folgt eine Liste von nicht unterstützen Makros, die ich auf meiner Kiste gefunden habe. Beachten Sie, dass diese Liste nicht abschließend ist, da das Programm beim ersten nicht unterstützten Makro abbricht. Falls Sie über einige dieser Makros Informationen haben, werde ich gerne die Unterstützung hierfür hinzufügen. Aufgrund dieser Makros sind rund 250 Seiten auf meinem Rechner nicht für po4a::man verfügbar.

 ..               ."              .AT             .b              .bank
 .BE              ..br            .Bu             .BUGS           .BY
 .ce              .dbmmanage      .do                             .En
 .EP              .EX             .Fi             .hw             .i
 .Id              .l              .LO             .mf
 .N               .na             .NF             .nh             .nl
 .Nm              .ns             .NXR            .OPTIONS        .PB
 .pp              .PR             .PRE            .PU             .REq
 .RH              .rn             .S<             .sh             .SI
 .splitfont       .Sx             .T              .TF             .The
 .TT              .UC             .ul             .Vb             .zZ

=head2 Text vor Po4a verstecken

Manchmal weiß der Autor, dass einige Teile nicht übersetzbar sind und daher von Po4a nicht ausgelesen werden sollten. Beispielsweise könnte eine Option I<other> als Argument akzeptieren und I<other> könnte zusätzlich als letztes Argument in einer Liste auftauchen. Im ersten Fall sollte I<other> nicht übersetzt werden, im zweiten Falls dagegen schon (z.B. ins Deutsche als »sonstiges«).

In diesem Fall kann der Autor durch spezielle Groff-Konstrukte Po4a anweisen, bestimmte Zeichenketten nicht auszulesen:

 .if !'po4a'hide' .B other

(dies benötigt die Option B<-o groff_code=verbatim>)

Ein neues Makro kann auch zur Automatisierung hiervon verwandt werden:
 .de IR_untranslated
 .    IR \\$@
 ..

 .IR_untranslated \-q ", " \-\-quiet

(dies benötigt die Option B<-o groff_code=verbatim> und B<-o untranslated=IR_untranslated>; mit diesem Konstrukt wird die Bedingung B<.if !'po4a'hide'> streng genommen nicht benötigt, da Po4a nicht die Interna der Makrodefinition auswerten wird)

oder durch Verwendung eines Alias:
 .als IR_untranslated IR

 .IR_untranslated \-q ", " \-\-quiet

(dies benötigt die Option B<-o untranslated=als,IR_untranslated>)

=head2 Schlussfolgerungen

Um diesen Abschnitt zusammenzufassen: Halten Sie es einfach und versuchen Sie nicht, beim Verfassen Ihrer Handbuchseiten überschlau zu sein. In Nroff sind viele Dinge möglich und werden nicht von diesem Parser unterstützt. Versuchen Sie zum Beispiel nicht, mit \c herumzumurksen, um die Textverarbeitung zu unterbrechen (wie es 40 Seiten auf der Kiste des Verfassers tun). Oder stellen Sie sicher, dass Sie die Makro-Argumente auf die gleiche Zeile wie das Makro selbst legen. Es ist bekannt, dass dies in Nroff gültig ist, würde aber die Handhabung durch den Parser zu sehr komplizieren.

Natürlich wäre eine weitere Möglichkeit, ein anderes, übersetzerfreundlicheres Format zu benutzen (wie POD unter Benutzung von po4a::pod oder einem aus der XML-Familie, wie SGML), aber dank po4a::man ist das nicht mehr nötig. Davon abgesehen, falls das Quellformat Ihrer Dokumentation POD oder XML ist, könnte es klug sein, das Quellformat und nicht das erzeugte zu übersetzen. In den meisten Fällen wird po4a::man erzeugte Seiten ermitteln und ein Warnung ausgeben. Es wird sogar die Verarbeitung der erzeugten Seiten verweigern, da diese Seiten perfekt durch po4a::pod gehandhabt werden und da ihr Nroff-Gegenstück eine große Menge neuer Makros definiert, für die der Verfasser keine Unterstützung schreiben möchte. Auf dessen Kiste wurden 1432 der 4323 Seiten aus POD erzeugt und werden von po4a::man ignoriert.

In den meisten Fällen wird po4a::man das Problem feststellen und die Verarbeitung der Seite verweigern und eine angepasste Nachricht ausgeben. In einigen seltenen Fällen wird das Programm vollständig ohne Warnung ausgeführt, die Ausgabe ist aber falsch. Solche Fälle werden »Fehler« genannt. ;) Falls Sie auf einen solchen Fall stoßen, stellen Sie sicher, dass Sie dies melden, wenn möglich zusammen mit einer Fehlerbehebung …

=head1 STATUS DIESES MODULS

Dieses Module kann für die meisten existierenden Handbuchseiten benutzt werden.

Einige Tests werden regelmäßig auf Linux-Kisten ausgeführt:

=over 4

=item *

ein Drittel Seiten werden abgelehnt, da sie in einem anderen durch Po4a unterstützten Format erzeugt wurde (z.B. POD or SGML).

=item *

Zehn Prozent der verbleibenden Seiten werden mit einem Fehler zurückgewiesen (z.B. wird ein Groff-Makro nicht unterstützt).

=item *

Dann wird weniger als ein Prozent der Seiten stillschweigend durch Po4a akzeptiert, aber mit wesentlichen Problemen (d.h. fehlenden Wörtern oder neu eingefügten Wörtern),

=item *

Die anderen Seiten werden üblicherweise ohne Unterschiede gehandhabt, die wichtiger sind als Leerzeichenunterschiede oder neue Zeilenaufteilung (Schriftprobleme in weniger als zehn Prozent der verarbeiteten Seiten).

=back

=head1 SIEHE AUCH

L<Locale::Po4a::Pod(3pm)>, L<Locale::Po4a::TransTractor(3pm)>, L<po4a(7)|po4a.7>

=head1 AUTOREN

 Denis Barbier <barbier@linuxfr.org>
 Nicolas François <nicolas.francois@centraliens.net>
 Martin Quinson (mquinson#debian.org)

=head1 URHEBERRECHT UND LIZENZ

Copyright © 2002-2008 SPI, Inc.

Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GPL (siehe die Datei COPYING) vertreiben und/oder verändern.

