Provided by:
po-debconf_1.0.10_all 
NAME
po-debconf - Einführung
BESCHREIBUNG
Das Ziel von "debconf" 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. "po-debconf" wurde entwickelt, um beim Übersetzen der
Debconf-Vorlagendateien mit den Standard-"Gettext"-Werkzeugen zu
arbeiten.
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 hinzufügen, müssen Sie das folgende
erledigen:
- Erstellen Sie debian/po/POTFILES.in
Diese Datei enthält die Liste der Master-Vorlagen. Typischerweise
enthält sie eine einzelne Zeile:
[type: gettext/rfc822deb] templates
Pfade sind relativ zum Elternverzeichnis.
- Stellen Sie übersetzbaren Feldern einen Unterstrich voran
Normalerweise können die Felder "Description", "Choices" und
manchmal "Default" übersetzt werden.
- Führen Sie debconf-updatepo aus
Dies erstellt die Datei debian/po/templates.pot, die dann die
Übersetzer in ihre eigene Sprache übersetzen werden.
- Fügen Sie eine Bau-Abhängigkeit auf "po-debconf" in debian/control
hinzu.
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:
$ debconf-updatepo
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.
Falls Sie einige Vorlagen-Dateien umbenennen, hinzufügen oder
entfernen, denken Sie daran, auch debian/po/POTFILES.in 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.
Das Programm debconf-updatepo is idenmpotent, es verändert PO-Dateien
nur, wenn sich Ihr Inhalt geändert hat. Daher ist die beste Lösung, um
aktuelle PO-Dateien in Ihren Quellpaketen bereitzustellen, ein Aufruf
dieses Befehls im "clean"-Ziel in der Datei debian/rules.
Bitte beachten Sie, dass Sie debconf-updatepo selbst dann ausführen
müssen, falls Sie dh_installdebconf verwenden. Letzeres ruft po2debconf
auf, das früher debconf-updatepo ausführte, falls veraltete Dateien
entdeckt wurden. Dies passiert nicht mehr, da dies aus mindestens zwei
Gründen keine gute Idee war:
1. po2debconf verließ sich auf Zeitstempel, um veraltete Dateien zu
erkennen. Es kann missbraucht werden, wenn "pbuilder" verwendet wird
oder falls eine veraltete Übersetzung lange nach der Änderung der
Vorlagen auf der Platte gespeichert wird.
2. dh_installdebconf wird lange nach der Erstellung der Datei
".diff.gz" ausgeführt.
Ü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 dh_installdebconf automatisch (achten Sie darauf, dass die
Bau-Abhängigkeit versioniert ist: "debhelper (>= 4.1.16)").
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 "po-debconf" haben). Dies geschieht wie folgt:
$ po2debconf debian/templates > debian/tmp/DEBIAN/templates
SEIEN SIE VORSICHTIG: die zwei Dateien mit dem Namen templates sind gar
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 NICHT
nur die zusammengeführten Vorlagen behalten, oder Sie werden nicht in
der Lage sein, mit Übersetzungen umzugehen, wenn diese bei Ihnen
eingereicht werden.
NEUE MASTER-VORLAGEN
Das neue Quellformat der Vorlagendateien ist nahezu identisch zu einer
der verteilten Vorlagendateien, aber übersetzbaren Felder wird ein
Unterstrich vorangestellt. Beispiel:
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.
CHOICES-LISTEN AUFTEILEN
Seit "po-debconf" 0.6.0 dürfen übersetzte Felder zwei führende
Unterstriche haben. In diesem Fall sollen die Feld-Werte eine Komma-
separierte liste von Werten sein, die in separate msgids gesteckt
werden. Falls daher das vorherige Beispiel folgendes enthielt
__Choices: Dialog, Readline, Gnome, Editor, Noninteractive
gäbe es fünf verschiedene msgids. Beachten Sie, dass Leerzeichen nach
Kommata nicht signifikant sind.
Kurz gesagt, wenn sich eine Auswahlliste nie ändert, ist "_Choices" gut
geeignet, andernfalls erleichtert "__Choices" das Leben der Übersetzer.
Unglücklicherweise werden alle Übersetzungen unscharf (»fuzzy«), wenn
Sie sich entscheiden, zwischen diesen beiden Formaten zu wechseln. Es
folgt eine Erläuterung, wie Sie diese Änderung ohne Verlust an
Übersetzungen realisieren können (hierfür wird "po-debconf" >= 1.0
benötigt). Nehmen Sie an, dass wir das bisherige Beispiel auf
"__Choices" umstellen wollen. Sie kopieren die Datei templates in eine
temporäre Datei.
$ cp debian/templates debian/foo
Bearbeiten Sie debian/foo und behalten Sie nur die Felder <Template>,
"Type" und "_Choices". In diesem Beispiel sind dies:
Template: debconf/frontend
Type: select
_Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
Führen Sie debconf-gettextize mit den Schaltern "--merge" und
"--choices" aus, um PO-Dateien so zu schreiben, als ob "__Choices"
geschrieben wäre und führen Sie diese PO-Dateien mit den existierenden
zusammen:
$ debconf-gettextize --merge --choices debian/foo
Schließlich müssen Sie foo entfernen und debian/templates manuell
bearbeiten, um "_Choices" durch "__Choices" zu ersetzen, bevor debconf-
updatepo ausgeführt wird.
KOMMENTARE FÜR ÜBERSETZER EINFÜGEN
Die Betreuer von "Dpkg" haben entschieden, dass per Konvention Zeilen
in debian/control, die mit einem Nummern-Zeichen ("#") beginnen,
Kommentare sind, und "po-debconf" folgt dieser Regel. Seit "po-debconf"
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 "po-debconf" Zeilen, die keinen
Doppelpunkt enthielten, falls daher Ihre Kommentare keinen Doppelpunkt
enthalten, brauchen Sie keine versionierte Abhängigkeit auf
"po-debconf" zu verwenden. Hier ist ein Beispiel:
Template: debconf/button-yes
Type: text
# Translators, this text will appear on a button, so KEEP IT SHORT
_Description: Yes
In "po-debconf" 1.0 wurden spezielle Kommentare eingefügt, um mit
Zeichenketten umzugehen, die aus mehreren Einträgen (wie bei
Choices-Feldern) oder Absätzen (wie bei Description) bestehen. Mit
diesen Direktiven haben Entwickler eine bessere Kontrolle darüber, was
für Übersetzer sichtbar ist. Sie haben die Form "#flag:Direktive"; die
Direktiven werden in Detail weiter unten beschrieben.
translate:Spezifikation, translate!:Spezifikation
Markiere nur einige Einträge als übersetzbar; Spezifikation 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 "2-6") und ein Stern
("*") bedeutet alle Zeichenketten. Zum Beispiel wird mit
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:
"Enter manually" und "Do not mount it" in PO-Dateien auftauchen,
aber nicht "/dos" und "/windows". Wenn das Schlüsselwort translate
von einem Ausrufezeichen gefolgt wird, gibt Spezifikation an, welche
Zeichenketten für die PO-Datei verworfen werden, alle anderen
Zeichenketten werden abgedruckt. Das vorhergehende Beispiel ist
ähnlich zu
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:
Das gleiche Schlüsselwort kann auch für das Feld Description
verwendet werden, um sicherzustellen, dass einige Zeichenketten
nicht übersetzt werden.
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}
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.
comment:Spezifikation, comment!:Spezifikation
Der Kommentar direkt unterhalb dieser Direktive betrifft die
Zeichenketten, die durch Spezifikation (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
"po-debconf" < 1.0 wurde der Kommentar nur bei der ersten
Zeichenkette ausgegeben).
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.
Im obigen Beispiel ist ein Kommentar ohne Direktive "#flag:comment".
Hier wird implizit "#flag:comment:*" hinzugefügt. Dieser Kommentar
erscheint bei allen Zeichenketten, aber der Kommentar bezüglich Stop
for Maintenance wird nur vor der relevanten Zeichenkette abgedruckt.
partial
Dieses Schlüsselwort teilt po2debconf 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.
ÜBERSETZER VOR DEM UPLOAD INFORMIEREN
Usually translators notice on the status web pages (see below) that
translations are outdated, and send patches which will be included in
future uploads. But developers are encouraged to ask maintainers of
outdated translations for an update before an upload, for instance one
week in advance. A dedicated tool, podebconf-report-po, has been
written for this purpose. Do not hesitate to abuse it!
WARNUNGEN
· "Debconf" 1.2.0 erkennt Felder der Form Name-Sprache.Kodierung, z.B.
"Description-de.ISO-8859-1" oder "Choices-ru.KOI8-R". Standardmäßig
schreibt po2debconf Vorlagendateien im neuen Format. Ältere "debconf"
werden diese Felder ignorieren und stattdessen wird englischer Text
angezeigt. Lesen Sie po2debconf(1), um zu erfahren, wie Sie die
Kodierung und das Ausgabeformat ändern können.
· 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).
Solche Markierungen müssen am Ende der zu übersetzenden Zeichenkette
hinzugefügt werden, sie müssen mit "[ " (einer öffnenden Klammer,
gefolgt von einem Leerzeichen) beginnen und mit "]" (schließende
Klammer) enden, und dürfen jedes Zeichen außer Klammern oder
Zeilenumbrüchen enthalten. Zum Beispiel ist "[ blahblah]" eine
gültige Markierung während "[ bla[bla]bla]" nicht gültig ist. Für
Anhänger von regulären Perl-Ausdrücken: Die Markierungen werden
mittels folgender Regel erkannt (und entfernt):
$msg =~ s/\[\s[^\[\]]*\]$//s;
· Leerzeichen werden in "po-debconf" und "debconf-utils" leicht
verschieden gehandhabt; bei letzterem werden Absätze neu formatiert,
wenn Übersetzungen aktualisiert und zusammengeführt werden, daher ist
"debconf-utils" 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).
"po-debconf" auf der anderen Seite verlässt sich auf "Gettext", 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 PO- und POT-Dateien auftauchen.
Aus dem gleichen Grund, den nicht passenden Leerzeichen, kann
debconf-gettextize Text als unscharf markieren, und Übersetzer haben
solche Zeichenketten manuell zu prüfen/aktualisieren. Dies passiert
nur einmal, wenn Vorlagen in das "po-debconf"-Format konvertiert
werden, falls Sie nicht zufällige Änderungen von Leerzeichen in den
Master-Vorlagendateien vornehmen, die dann für Übersetzer sehr
unangenehm sein würden.
· Normalerweise darf das Feld Default: nicht übersetzt werden, wenn der
Vorlagentyp Select oder Multiselect ist. Unter seltenen Umständen
(z.B. bei der Auswahl der Standardsprache für eine Anwendung) können
angepasste Werte von Bedeutung sein.
Der angepasste Wert darf nicht übersetzt werden, sondern muss von den
englischen Werten, die im Feld Choices 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.
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
Der Standardwert erscheint dann auch in dem Feld Choices, und beide
haben verschiedene Übersetzungen: der erstere ist ein unübersetzter
Wert, der aus den Choices-Werten ausgewählt wird, während der
letztere eine normale Übersetzung ist. Da "Gettext" nicht zwei
verschiedene Übersetzungen für die gleiche msgid haben kann, müssen
sich beide msgids unterscheiden, in dem Kommentare in eckigen
Klammern verwendet werden, wie dies im vorherigen Abschnitt
beschrieben wurde.
Vor "po-debconf" 0.8.0 waren solche Kommentare nicht verfügbar und
die Betreuer mussten das Feld _Default: durch _DefaultChoice:
ersetzen, um solche Felder in PO-Dateien hervorzuheben:
#. 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"
Einfache Kommentare in Vorlagendateien sind weniger fehlerträchtig
und sollten verwendet werden.
STATUS-WEBSEITEN
Statistiken für "po-debconf"-Übersetzungen sind unter
<http://www.debian.org/intl/l10n/po-debconf/> (oder von Spiegeln)
erhältlich; sie werden automatisch nach dem Hochladen von Paketen
aktualisiert. Nur Pakete, die die Dateien debian/po/templates.pot und
debian/po/POTFILES.in enthalten, werden betrachtet. Stellen Sie daher
sicher, dass Ihr Quellpaket diese bereitstellt.
Übersetzer können sich von dort die PO- 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-<sprache>@lists.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.
Nachdem sie diese Dateien übersetzt haben, sollten sie ihre Arbeit an
den Betreuer mittels eines Fehlerberichts der Schwere wishlist mit der
Markierung patch einreichen.
SIEHE AUCH
debconf-gettextize(1), debconf-updatepo(1), dh_installdebconf(1),
podebconf-report-po(1). po2debconf(1).
AUTOREN
Martin Quinson <Martin.Quinson@ens-lyon.fr>
Denis Barbier <barbier@linuxfr.org>
ÜBERSETZUNG
Die deutsche Übersetzung wurde von Helge Kreutzmann
<debian@helgefjell.de> angefertigt. Diese Übersetzung ist Freie
Dokumentation; lesen Sie die GNU General Public License Version 2 oder
neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.
2007-11-05 PO-DEBCONF(7)