.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40)
.\"
.\" 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 "PO-DEBCONF 7"
.TH PO-DEBCONF 7 "2020-12-30" "" "po-debconf"
.\" 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"
po\-debconf \- Einführung
.SH "BESCHREIBUNG"
.IX Header "BESCHREIBUNG"
Das Ziel von \f(CW\*(C`Debconf\*(C'\fR bestand darin, die Paketkonfiguration
benutzerfreundlich zu gestalten. Um dies zu erreichen, ist es wichtig
sicherzustellen, dass die Benutzer die Fragen in ihrer eigenen Sprache
präsentiert bekommen. Übersetzer benötigen ein Rahmenwerk, um leicht an
Übersetzungen arbeiten zu können, ohne die Paketentwicklung
nachzuverfolgen. \f(CW\*(C`po\-debconf\*(C'\fR wurde entwickelt, um beim Übersetzen der
Debconf-Vorlagendateien mit den Standard\-\f(CW\*(C`Gettext\*(C'\fR\-Werkzeugen zu arbeiten.
.SH "I18N\-UNTERSTÜTZUNG ZU DEBCONF-VORLAGENDATEIEN HINZUFÜGEN"
.IX Header "I18N-UNTERSTÜTZUNG ZU DEBCONF-VORLAGENDATEIEN HINZUFÜGEN"
Falls Sie Debconf\-Unterstützung für Ihr Paket hinzufügen, haben Sie eine
Vorlagendatei mit englischem Text erstellt. Um korrekte i18n\-Unterstützung
zu Ihrem Paket hinzuzufügen, müssen Sie das folgende erledigen:
.IP "\- Erstellen Sie \fIdebian/po/POTFILES.in\fR" 4
.IX Item "- Erstellen Sie debian/po/POTFILES.in"
Diese Datei enthält die Liste der Master-Vorlagen. Typischerweise enthält
sie eine einzelne Zeile:
.Sp
.Vb 1
\& [type: gettext/rfc822deb] templates
.Ve
.Sp
Pfade sind relativ zum Elternverzeichnis.
.IP "\- Stellen Sie übersetzbaren Feldern in jeder Vorlage einen Unterstrich voran" 4
.IX Item "- Stellen Sie übersetzbaren Feldern in jeder Vorlage einen Unterstrich voran"
Normalerweise können die Felder \f(CW\*(C`Description\*(C'\fR, \f(CW\*(C`Choices\*(C'\fR und manchmal
\&\f(CW\*(C`Default\*(C'\fR übersetzt werden.
.IP "\- Führen Sie \fBdebconf-updatepo\fR aus" 4
.IX Item "- Führen Sie debconf-updatepo aus"
Dies erstellt die Datei \fIdebian/po/templates.pot\fR, die dann die Übersetzer
in ihre eigene Sprache übersetzen werden.
.ie n .IP "\- Fügen Sie eine Bau\-Abhängigkeit auf ""po\-debconf"" in \fIdebian/control\fR hinzu." 4
.el .IP "\- Fügen Sie eine Bau\-Abhängigkeit auf \f(CWpo\-debconf\fR in \fIdebian/control\fR hinzu." 4
.IX Item "- Fügen Sie eine Bau-Abhängigkeit auf po-debconf in debian/control hinzu."
.SH "VORLAGEN AKTUALISIEREN"
.IX Header "VORLAGEN AKTUALISIEREN"
Um Übersetzern zu helfen, sollten PO-Dateien in Ihren Paketen immer aktuell
sein, andernfalls könnten diese ihre Zeit mit unbenutzten Zeichenketten
verschwenden. Um dies zu erreichen, rufen Sie einfach den folgenden Befehl
ohne Argumente auf:
.PP
.Vb 1
\& $ debconf\-updatepo
.Ve
.PP
Sie sollten diesen Befehl jedes Mal ausführen, wenn Sie Ihre englischen
Vorlagen ändern, aber auch, wenn Sie neue oder aktualisierte Übersetzungen
erhalten, da Übersetzer an einer veralteten PO-Datei gearbeitet haben
könnten.
.PP
Falls Sie einige Vorlagen-Dateien umbenennen, hinzufügen oder entfernen,
denken Sie daran, auch \fIdebian/po/POTFILES.in\fR entsprechend zu bearbeiten,
da andernfalls englische Zeichenketten aus den PO-Dateien fehlen und
Benutzern angezeigt werden, selbst wenn die PO-Dateien vollständig übersetzt
sind.
.PP
Das Programm \fBdebconf-updatepo\fR is idempotent, es verändert PO-Dateien nur,
wenn sich ihr Inhalt geändert hat. Daher ist die beste Art, um aktuelle
PO-Dateien in Ihren Quellpaketen bereitzustellen, ein Aufruf dieses Befehls
im \f(CW\*(C`clean\*(C'\fR\-Ziel in der Datei \fIdebian/rules\fR.
.PP
Bitte beachten Sie, dass Sie \fBdebconf-updatepo\fR selbst dann ausführen
müssen, falls Sie \fBdh_installdebconf\fR verwenden. Letzeres ruft
\&\fBpo2debconf\fR auf, das früher \fBdebconf-updatepo\fR ausführte, falls veraltete
Dateien entdeckt wurden. Dies passiert nicht mehr, da dies aus mindestens
zwei Gründen keine gute Idee war:
.IP "1." 3
\&\fBpo2debconf\fR verließ sich auf Zeitstempel, um veraltete Dateien zu
erkennen. Es kann missbraucht werden, wenn \f(CW\*(C`pbuilder\*(C'\fR verwendet wird oder
falls eine veraltete Übersetzung lange nach der Änderung der Vorlagen auf
der Platte gespeichert wird.
.IP "2." 3
\&\fBdh_installdebconf\fR wird lange nach der Erstellung der Datei \f(CW\*(C`.diff.gz\*(C'\fR
ausgeführt.
.SH "ÜBERSETZUNGEN UND ORIGINAL ZUSAMMENFÜHREN"
.IX Header "ÜBERSETZUNGEN UND ORIGINAL ZUSAMMENFÜHREN"
Sie müssen sicherstellen, dass beim Paketbau die Übersetzungen in das
gebaute Paket gelangen. Sie können dies manuell durchführen, oder mit dem
Skript \fBdh_installdebconf\fR automatisch (achten Sie darauf, dass die
Bau\-Abhängigkeit versioniert ist: \f(CW\*(C`debhelper (>= 4.1.16)\*(C'\fR).
.PP
Um dies manuell zu erreichen, müssen Sie die Vorlagen und die Übersetzungen
beim Bauen manuell zusammenführen (und Sie müssen eine Bau\-Abhängigkeit auf
\&\f(CW\*(C`po\-debconf\*(C'\fR haben). Dies geschieht wie folgt:
.PP
.Vb 1
\& $ po2debconf debian/templates > debian/tmp/DEBIAN/templates
.Ve
.PP
\&\fB\s-1SEIEN SIE VORSICHTIG\s0\fR: die zwei Dateien mit dem Namen \fItemplates\fR sind
überhaupt nicht identisch. Die erste enthält nur englischen Text, und
enthält Markierungen, um einige Felder als übersetzbar zu kennzeichnen,
während die zweite alle Sprachen enthält. Anders ausgedrückt, Sie KÖNNEN
\&\s-1NICHT\s0 nur die zusammengeführten Vorlagen behalten, oder Sie werden nicht in
der Lage sein, mit Übersetzungen umzugehen, wenn diese bei Ihnen eingereicht
werden.
.SH "NEUE MASTER-VORLAGEN"
.IX Header "NEUE MASTER-VORLAGEN"
Das neue Quellformat der Vorlagendateien ist nahezu identisch zu einer der
verteilten Vorlagendateien, aber übersetzbaren Felder wird ein Unterstrich
vorangestellt. Beispiel:
.PP
.Vb 10
\& Template: debconf/frontend
\& Type: select
\& _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
\& Default: Dialog
\& _Description: Interface to use for configuring packages:
\& Packages that use debconf for configuration share a common look and
\& feel. You can select the type of user interface they use.
\& .
\& The dialog frontend is a full\-screen, character based interface,
\& while the readline frontend uses a more traditional plain text
\& interface, and the gnome frontend is a modern X interface. The
\& editor frontend lets you configure things using your favorite text
\& editor. The noninteractive frontend never asks you any questions.
.Ve
.SS "CHOICES-LISTEN \s-1AUFTEILEN\s0"
.IX Subsection "CHOICES-LISTEN AUFTEILEN"
Seit \f(CW\*(C`po\-debconf\*(C'\fR 0.6.0 dürfen übersetzte Felder zwei führende Unterstriche
haben. In diesem Fall sollte der Feld-Wert eine Komma-separierte Liste von
Werten sein, die in separate msgids gesteckt werden. Falls daher das
vorherige Beispiel folgendes enthielt
.PP
.Vb 1
\& _\|_Choices: Dialog, Readline, Gnome, Editor, Noninteractive
.Ve
.PP
gäbe es fünf verschiedene msgids. Beachten Sie, dass Leerzeichen nach
Kommata nicht signifikant sind.
.PP
Wenn sich eine Auswahlliste nie ändert, kann \f(CW\*(C`_Choices\*(C'\fR geeignet sein. Das
Auftrennen einer solchen Liste kann aber bei der Vermeidung häufiger Fehler
in Übersetzungen, wie beispielsweise dem Vergessen einer Auswahl oder der
Verwendung nicht passender Kommata, helfen. Aus diesen Gründen erleichtert
die Wahl von \f(CW\*(C`_\|_Choices\*(C'\fR das Leben der Übersetzer und wird nachdrücklich
empfohlen.
.PP
Unglücklicherweise werden alle Übersetzungen unscharf (»fuzzy«), wenn Sie
sich entscheiden, von \f(CW\*(C`_Choices\*(C'\fR auf \f(CW\*(C`_\|_Choices\*(C'\fR umzusteigen. Es folgt
eine Erläuterung, wie Sie diese Änderung ohne Verlust an Übersetzungen
realisieren können (hierfür wird \f(CW\*(C`po\-debconf\*(C'\fR >= 1.0 benötigt). Nehmen
Sie an, dass wir das bisherige Beispiel auf \f(CW\*(C`_\|_Choices\*(C'\fR umstellen
wollen. Sie kopieren die Datei \fItemplates\fR in eine temporäre Datei.
.PP
.Vb 1
\& $ cp debian/templates debian/foo
.Ve
.PP
Bearbeiten Sie \fIdebian/foo\fR und behalten Sie nur die Felder \f(CW\*(C`Template\*(C'\fR,
\&\f(CW\*(C`Type\*(C'\fR und \f(CW\*(C`_Choices\*(C'\fR. In diesem Beispiel sind dies:
.PP
.Vb 3
\& Template: debconf/frontend
\& Type: select
\& _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
.Ve
.PP
Führen Sie \fBdebconf-gettextize\fR mit den Schaltern \f(CW\*(C`\-\-merge\*(C'\fR und
\&\f(CW\*(C`\-\-choices\*(C'\fR aus, um PO-Dateien so zu schreiben, als ob \f(CW\*(C`_\|_Choices\*(C'\fR
geschrieben wäre und führen Sie diese PO-Dateien mit den existierenden
zusammen:
.PP
.Vb 1
\& $ debconf\-gettextize \-\-merge \-\-choices debian/foo
.Ve
.PP
Schließlich müssen Sie \fIfoo\fR entfernen und \fIdebian/templates\fR manuell
bearbeiten, um \f(CW\*(C`_Choices\*(C'\fR durch \f(CW\*(C`_\|_Choices\*(C'\fR zu ersetzen, bevor
\&\fBdebconf-updatepo\fR ausgeführt wird.
.SS "\s-1KOMMENTARE\s0 FÜR ÜBERSETZER EINFÜGEN"
.IX Subsection "KOMMENTARE FÜR ÜBERSETZER EINFÜGEN"
Die Betreuer von \f(CW\*(C`Dpkg\*(C'\fR haben entschieden, dass per Konvention Zeilen in
\&\fIdebian/control\fR, die mit einem Nummern-Zeichen (\f(CW\*(C`#\*(C'\fR) beginnen, Kommentare
sind, und \f(CW\*(C`po\-debconf\*(C'\fR folgt dieser Regel. Seit \f(CW\*(C`po\-debconf\*(C'\fR 0.8.0 werden
solche Kommentare in PO-Dateien geschrieben und können wertvolle
Informationen für Übersetzer enthalten. Zufälligerweise ignorierten ältere
Versionen von \f(CW\*(C`po\-debconf\*(C'\fR Zeilen, die keinen Doppelpunkt enthielten, falls
daher Ihre Kommentare keinen Doppelpunkt enthalten, brauchen Sie keine
versionierte Abhängigkeit auf \f(CW\*(C`po\-debconf\*(C'\fR zu verwenden. Hier ist ein
Beispiel:
.PP
.Vb 4
\& Template: debconf/button\-yes
\& Type: text
\& # Translators, this text will appear on a button, so KEEP IT SHORT
\& _Description: Yes
.Ve
.PP
In \f(CW\*(C`po\-debconf\*(C'\fR 1.0 wurden spezielle Kommentare eingefügt, um mit
Zeichenketten umzugehen, die aus mehreren Einträgen (wie bei
\&\fIChoices\fR\-Feldern) oder Absätzen (wie bei \fIDescription\fR) bestehen. Mit
diesen Direktiven haben Entwickler eine bessere Kontrolle darüber, was für
Übersetzer sichtbar ist. Sie haben die Form \f(CW\*(C`#flag:\f(CIDirektive\f(CW\*(C'\fR; die
Direktiven werden im Detail weiter unten beschrieben.
.IP "\fBtranslate:\fR\fISpezifikation\fR, \fBtranslate!:\fR\fISpezifikation\fR" 3
.IX Item "translate:Spezifikation, translate!:Spezifikation"
Markiere nur einige Einträge als übersetzbar; \fISpezifikation\fR ist eine
durch Kommata getrennte Liste von Zahlen, die angibt, welche Zeichenketten
in PO-Dateien abgedruckt werden. Bereiche können über ein Minuszeichen
angegeben werden (zum Beispiel \f(CW\*(C`2\-6\*(C'\fR) und ein Stern (\f(CW\*(C`*\*(C'\fR) bedeutet alle
Zeichenketten. Zum Beispiel wird mit
.Sp
.Vb 5
\& Template: partman\-basicfilesystems/fat_mountpoint
\& Type: select
\& #flag:translate:3,4
\& _\|_Choices: /dos, /windows, Enter manually, Do not mount it
\& _Description: Mount point for this partition:
.Ve
.Sp
\&\f(CW\*(C`Enter manually\*(C'\fR und \f(CW\*(C`Do not mount it\*(C'\fR in PO-Dateien auftauchen, aber
nicht \f(CW\*(C`/dos\*(C'\fR und \f(CW\*(C`/windows\*(C'\fR. Wenn das Schlüsselwort \fBtranslate\fR von einem
Ausrufezeichen gefolgt wird, gibt \fISpezifikation\fR an, welche Zeichenketten
für die PO-Datei verworfen werden, alle anderen Zeichenketten werden
abgedruckt. Das vorhergehende Beispiel ist ähnlich zu
.Sp
.Vb 5
\& Template: partman\-basicfilesystems/fat_mountpoint
\& Type: select
\& #flag:translate!:1,2
\& _\|_Choices: /dos, /windows, Enter manually, Do not mount it
\& _Description: Mount point for this partition:
.Ve
.Sp
Das gleiche Schlüsselwort kann auch für das Feld \fIDescription\fR verwendet
werden, um sicherzustellen, dass einige Zeichenketten nicht übersetzt
werden.
.Sp
.Vb 8
\& Template: partman\-crypto/options_missing
\& Type: error
\& #flag:translate!:3
\& _Description: Required encryption options missing
\& The encryption options for ${DEVICE} are incomplete. Please
\& return to the partition menu and select all required options.
\& .
\& ${ITEMS}
.Ve
.Sp
Dies ist allerdings gefährlich, da aus den PO-Dateien Kontext entfernt
werden könnte, fügen Sie daher in diesem Fall Kommentare hinzu, so dass
Übersetzer nicht durcheinander gebracht werden.
.IP "\fBcomment:\fR\fISpezifikation\fR, \fBcomment!:\fR\fISpezifikation\fR" 3
.IX Item "comment:Spezifikation, comment!:Spezifikation"
Der Kommentar direkt unterhalb dieser Direktive betrifft die Zeichenketten,
die durch \fISpezifikation\fR (siehe oben) angegeben werden. Standardmäßig wird
ein Kommentar, der vor einem übersetzbaren Feld eingefügt wurde, bei allen
Zeichenketten abgedruckt, die zu diesem Feld gehören (beachten Sie: bei
\&\f(CW\*(C`po\-debconf\*(C'\fR < 1.0 wurde der Kommentar nur bei der ersten Zeichenkette
ausgegeben).
.Sp
.Vb 10
\& Template: arcboot\-installer/prom\-variables
\& Type: note
\& # Translators, the 4th string of this description has been dropped
\& # from PO files. It contains shell commands and should not be
\& # translated.
\& #flag:comment:3
\& # "Stop for Maintenance" should be left in English
\& #flag:translate!:4
\& _Description: Setting PROM variables for Arcboot
\& If this is the first Linux installation on this machine, or if the
\& hard drives have been repartitioned, some variables need to be set
\& in the PROM before the system is able to boot normally.
\& .
\& At the end of this installation stage, the system will reboot.
\& After this, enter the command monitor from the "Stop for
\& Maintenance" option, and enter the following commands:
\& .
\& setenv OSLoader arcboot
\& setenv OSLoadFilename Linux
\& .
\& You will only need to do this once. Afterwards, enter the "boot"
\& command or reboot the system to proceed to the next stage of the
\& installation.
.Ve
.Sp
Im obigen Beispiel ist ein Kommentar ohne Direktive \f(CW\*(C`#flag:comment\*(C'\fR. Hier
wird implizit \f(CW\*(C`#flag:comment:*\*(C'\fR hinzugefügt. Dieser Kommentar erscheint bei
allen Zeichenketten, aber der Kommentar bezüglich \fIStop for Maintenance\fR
wird nur vor der relevanten Zeichenkette abgedruckt.
.IP "\fBpartial\fR" 3
.IX Item "partial"
Dieses Schlüsselwort teilt \fBpo2debconf\fR mit, übersetzte Zeichenketten zu
behalten, selbst wenn nicht alle Zeichenketten übersetzt wurden. Verwenden
Sie dies bitte vorsichtig, dieses Schlüsselwort wurde für sehr spezielle
Zwecke hinzugenommen.
.SS "ÜBERSETZER \s-1VOR DEM UPLOAD INFORMIEREN\s0"
.IX Subsection "ÜBERSETZER VOR DEM UPLOAD INFORMIEREN"
Normalerweise bemerken Übersetzer auf Status-Webseiten (siehe unten), dass
Übersetzungen veraltet sind und schicken Patches, die dann in zukünftigen
Uploads hinzugefügt werden. Entwickler werden aber ermutigt, die Betreuer
von veralteten Übersetzungen vor einem Upload um Aktualisierungen zu bitten,
zum Beispiel eine Woche vorher. Ein spezielle Werkzeug \-
\&\fBpodebconf-report-po\fR \- wurde für diesen Zweck geschrieben. Zögern Sie
nicht, es zu missbrauchen!
.SH "FEHLERSUCHE"
.IX Header "FEHLERSUCHE"
Sie werden merken, dass \fBdebconf-loadtemplate\fR keine Vorlage mit
i18n\-Markup akzeptiert. Allerdings akzeptiert es zusammengeführte Dateien,
falls Sie also in Ihrer Debconf-Installation die Fehlersuche wie folgt
durchgeführt haben
.PP
.Vb 3
\& rm /tmp/{config,templates}.dat{,\-old}
\& debconf\-loadtemplate debian/templates
\& DEBIAN_PRIORITY=low debconf \-freadline debian/config configure 28.0
.Ve
.PP
dann müssen Sie etwas der folgenden Art verwenden:
.PP
.Vb 4
\& po2debconf debian/templates > debian/tmp/DEBIAN/templates
\& rm /tmp/{config,templates}.dat{,\-old}
\& debconf\-loadtemplate debian/tmp/DEBIAN/templates
\& DEBIAN_PRIORITY=low debconf \-freadline debian/config configure 28.0
.Ve
.SH "WARNUNGEN"
.IX Header "WARNUNGEN"
.IP "\(bu" 2
\&\f(CW\*(C`Debconf\*(C'\fR 1.2.0 erkennt Felder der Form \fIName\fR\-\fISprache\fR.\fIKodierung\fR,
z.B. \f(CW\*(C`Description\-de.ISO\-8859\-1\*(C'\fR oder \f(CW\*(C`Choices\-ru.KOI8\-R\*(C'\fR. Standardmäßig
schreibt \fBpo2debconf\fR Vorlagendateien im neuen Format. Ältere \f(CW\*(C`debconf\*(C'\fR
werden diese Felder ignorieren und stattdessen wird englischer Text
angezeigt. Lesen Sie \fBpo2debconf\fR\|(1), um zu erfahren, wie Sie die Kodierung
und das Ausgabeformat ändern können.
.IP "\(bu" 2
Eine vorgegebene englische Zeichenkette darf nur eine eindeutige Übersetzung
in einer vorgegebenen Sprache haben. Es ist unmöglich, abhängig vom Kontext
zwei verschiedene Übersetzungen zu geben. Um dieses Problem zu beheben,
müssen Sie spezielle Markierungen bei verschiedenem Auftreten einer
gegebenen Zeichenkette hinzufügen, um diese Zeichenketten zu unterscheiden
(dieses Markierungen werden nur von den Übersetzern gesehen und werden aus
der Zeichenkette entfernt, bevor diese dem Benutzer angezeigt wird).
.Sp
Solche Markierungen müssen am Ende der zu übersetzenden Zeichenkette
hinzugefügt werden, sie müssen mit \f(CW\*(C`[ \*(C'\fR (einer öffnenden Klammer, gefolgt
von einem Leerzeichen) beginnen und mit \f(CW\*(C`]\*(C'\fR (schließende Klammer) enden,
und dürfen jedes Zeichen außer Klammern oder Zeilenumbrüchen enthalten. Zum
Beispiel ist \f(CW\*(C`[ blahblah]\*(C'\fR eine gültige Markierung während \f(CW\*(C`[
bla[bla]bla]\*(C'\fR nicht gültig ist. Für Anhänger von regulären Perl\-Ausdrücken:
Die Markierungen werden mittels folgender Regel erkannt (und entfernt):
.Sp
.Vb 1
\& $msg =~ s/\e[\es[^\e[\e]]*\e]$//s;
.Ve
.IP "\(bu" 2
Leerzeichen werden in \f(CW\*(C`po\-debconf\*(C'\fR und \f(CW\*(C`debconf\-utils\*(C'\fR leicht verschieden
gehandhabt; bei letzterem werden Absätze neu formatiert, wenn Übersetzungen
aktualisiert und zusammengeführt werden, daher ist \f(CW\*(C`debconf\-utils\*(C'\fR sehr
klug und Leerzeichen werden nicht als Teil der Zeichenketten betrachtet,
wenn die unscharfen (»fuzzy«) Einträge bestimmt werden (d.h. diejenigen, die
der Aufmerksamkeit der Übersetzer bedürfen, da sich das Original geändert
hat).
.Sp
\&\f(CW\*(C`po\-debconf\*(C'\fR auf der anderen Seite verlässt sich auf \f(CW\*(C`Gettext\*(C'\fR, um
unscharfe Einträge zu erkennen, und behandelt Leerzeichen nicht als
besondere Zeichen. Daher müssen überflüssige Leerzeichen am Zeilenende in
Master-Vorlagendateien entfernt werden, oder sie werden in \s-1PO\-\s0 und
POT-Dateien auftauchen.
.Sp
Aus dem gleichen Grund, den nicht passenden Leerzeichen, kann
\&\fBdebconf-gettextize\fR Text als unscharf markieren, und Übersetzer haben
solche Zeichenketten manuell zu prüfen/aktualisieren. Dies passiert nur
einmal, wenn Vorlagen in das \f(CW\*(C`po\-debconf\*(C'\fR\-Format konvertiert werden, falls
Sie nicht zufällige Änderungen von Leerzeichen in den Master-Vorlagendateien
vornehmen, die dann für Übersetzer sehr unangenehm wären.
.IP "\(bu" 2
Normalerweise darf das Feld \fIDefault:\fR nicht übersetzt werden, wenn der
Vorlagentyp \fBSelect\fR oder \fBMultiselect\fR ist. Unter seltenen Umständen
(z.B. bei der Auswahl der Standardsprache für eine Anwendung) können
angepasste Werte von Bedeutung sein.
.Sp
Der angepasste Wert darf nicht übersetzt werden, sondern muss aus den
englischen Werten, die im Feld \fIChoices\fR aufgeführt sind, ausgewählt
werden. Der beste Weg, um dies zu erreichen, besteht darin, ein Kommentar in
Ihre Vorlagendatei einzufügen, der dann in die PO-Dateien kopiert wird.
.Sp
.Vb 10
\& Template: geneweb/lang
\& Type: select
\& _\|_Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
\& # You must NOT translate this string, but you can change its value.
\& # The comment between brackets is used to distinguish this msgid
\& # from the one in the Choices list; you do not have to worry about
\& # them, and have to simply choose a msgstr among the English values
\& # listed in the Choices field above, e.g. msgstr "Dutch (nl)"
\& _Default: English (en)[ default language]
\& _Description: Geneweb default language
.Ve
.Sp
Der Standardwert erscheint dann auch in dem Feld \fIChoices\fR, und beide haben
verschiedene Übersetzungen: der erstere ist ein unübersetzter Wert, der aus
den \fIChoices\fR\-Werten ausgewählt wird, während der letztere eine normale
Übersetzung ist. Da \f(CW\*(C`Gettext\*(C'\fR nicht zwei verschiedene Übersetzungen für die
gleiche \fImsgid\fR haben kann, müssen sich beide \fImsgids\fR unterscheiden, in
dem Kommentare in eckigen Klammern verwendet werden, wie dies im vorherigen
Abschnitt beschrieben wurde.
.Sp
Vor \f(CW\*(C`po\-debconf\*(C'\fR 0.8.0 waren solche Kommentare nicht verfügbar und die
Betreuer mussten das Feld \fI_Default:\fR durch \fI_DefaultChoice:\fR ersetzen, um
solche Felder in PO-Dateien hervorzuheben:
.Sp
.Vb 7
\& #. DefaultChoice
\& msgid ""
\& "English[ default: do not translate bracketed material, put your "
\& "own language here but UNTRANSLATED. If it is not in the list, "
\& "put English (without bracketed material)]"
\& msgstr ""
\& "Swedish"
.Ve
.Sp
Einfache Kommentare in Vorlagendateien sind weniger fehlerträchtig und
sollten verwendet werden.
.SH "STATUS-WEBSEITEN"
.IX Header "STATUS-WEBSEITEN"
Statistiken für \f(CW\*(C`po\-debconf\*(C'\fR\-Übersetzungen sind unter
(oder von Spiegeln)
erhältlich; sie werden automatisch nach dem Hochladen von Paketen
aktualisiert. Nur Pakete, die die Dateien \fIdebian/po/templates.pot\fR und
\&\fIdebian/po/POTFILES.in\fR enthalten, werden betrachtet. Stellen Sie daher
sicher, dass Ihr Quellpaket diese bereitstellt.
.PP
Übersetzer können sich von dort die \s-1PO\-\s0 und POT-Dateien holen, sie müssen
aber immer mit dem vorherigen Übersetzer Kontakt aufnehmen (deren
E\-Mail-Adresse in der PO-Datei gefunden werden kann) und/oder mit ihren
Mitübersetzern auf debian\-l10n\-\fI\fR\f(CW@lists\fR.debian.org (falls
eine solche Liste existiert), um sicherzustellen, dass keiner derzeit an der
gleichen Übersetzung arbeitet, und aktuelle Fehlerberichte für das Paket
lesen, das sie übersetzen wollen, um zu schauen, ob eine Übersetzung bereits
eingereicht wurde.
.PP
Nachdem sie diese Dateien übersetzt haben, sollten sie ihre Arbeit an den
Betreuer mittels eines Fehlerberichts der Schwere \fBwishlist\fR mit der
Markierung \fBpatch\fR einreichen.
.SH "SIEHE AUCH"
.IX Header "SIEHE AUCH"
\&\fBdebconf\-gettextize\fR\|(1), \fBdebconf\-updatepo\fR\|(1), \fBdh_installdebconf\fR\|(1),
\&\fBpodebconf\-report\-po\fR\|(1), \fBpo2debconf\fR\|(1), \fBdebconf\-devel\fR\|(7).
.SH "AUTOREN"
.IX Header "AUTOREN"
.Vb 2
\& Martin Quinson
\& Denis Barbier
.Ve
.SH "ÜBERSETZUNG"
.IX Header "ÜBERSETZUNG"
Die deutsche Übersetzung wurde von Helge Kreutzmann
angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
\&\s-1GNU\s0 General Public License Version 2 oder neuer für die Kopierbedingungen.
Es gibt \s-1KEINE HAFTUNG.\s0