sourCEntral - mobile manpages

pdf

PO-DEBCONF

NAME

po−debconf − Einfuehrung

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 praesentiert bekommen. Uebersetzer benoetigen ein Rahmenwerk, um leicht an Uebersetzungen arbeiten zu koennen, ohne die Paketentwicklung nachzuverfolgen. »po−debconf« wurde entwickelt, um beim Uebersetzen der Debconf-Vorlagendateien mit den Standard−»Gettext«−Werkzeugen zu arbeiten.

I18N−UNTERSTUeTZUNG ZU DEBCONF-VORLAGENDATEIEN HINZUFUeGEN

Falls Sie Debconf−Unterstuetzung fuer Ihr Paket hinzufuegen, haben Sie eine Vorlagendatei mit englischem Text erstellt. Um korrekte i18n−Unterstuetzung zu Ihrem Paket hinzuzufuegen, muessen Sie das folgende erledigen:
− Erstellen Sie debian/po/POTFILES.in

Diese Datei enthaelt die Liste der Master-Vorlagen. Typischerweise enthaelt sie eine einzelne Zeile:

  [type: gettext/rfc822deb] templates

Pfade sind relativ zum Elternverzeichnis.

− Stellen Sie uebersetzbaren Feldern einen Unterstrich voran

Normalerweise koennen die Felder »Description«, »Choices« und manchmal »Default« uebersetzt werden.

− Fuehren Sie debconf-updatepo aus

Dies erstellt die Datei debian/po/templates.pot, die dann die Uebersetzer in ihre eigene Sprache uebersetzen werden.

− Fuegen Sie eine Bau−Abhaengigkeit auf "po−debconf" in debian/control
hinzu.

VORLAGEN AKTUALISIEREN

Um Uebersetzern zu helfen, sollten PO-Dateien in Ihren Paketen immer aktuell sein, andernfalls koennten 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 ausfuehren, wenn Sie Ihre englischen Vorlagen aendern, aber auch, wenn Sie neue oder aktualisierte Uebersetzungen erhalten, da Uebersetzer an einer veralteten PO-Datei gearbeitet haben koennten.

Falls Sie einige Vorlagen-Dateien umbenennen, hinzufuegen 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 vollstaendig uebersetzt sind.

Das Programm debconf-updatepo is idempotent, es veraendert PO-Dateien nur, wenn sich ihr Inhalt geaendert hat. Daher ist die beste Loesung, 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 ausfuehren muessen, falls Sie dh_installdebconf verwenden. Letzeres ruft po2debconf auf, das frueher debconf-updatepo ausfuehrte, falls veraltete Dateien entdeckt wurden. Dies passiert nicht mehr, da dies aus mindestens zwei Gruenden keine gute Idee war:

1.

po2debconf verliess sich auf Zeitstempel, um veraltete Dateien zu erkennen. Es kann missbraucht werden, wenn »pbuilder« verwendet wird oder falls eine veraltete Uebersetzung lange nach der Aenderung der Vorlagen auf der Platte gespeichert wird.

2.

dh_installdebconf wird lange nach der Erstellung der Datei ».diff.gz« ausgefuehrt.

UeBERSETZUNGEN UND ORIGINAL ZUSAMMENFUeHREN

Sie muessen sicherstellen, dass beim Paketbau die Uebersetzungen in das gebaute Paket gelangen. Sie koennen dies manuell durchfuehren, oder mit dem Skript dh_installdebconf automatisch (achten Sie darauf, dass die Bau−Abhaengigkeit versioniert ist: »debhelper (>= 4.1.16)«).

Um dies manuell zu erreichen, muessen Sie die Vorlagen und die Uebersetzungen beim Bauen manuell zusammenfuehren (und Sie muessen eine Bau−Abhaengigkeit 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 ueberhaupt nicht identisch. Die erste enthaelt nur englischen Text, und enthaelt Markierungen, um einige Felder als uebersetzbar zu kennzeichnen, waehrend die zweite alle Sprachen enthaelt. Anders ausgedrueckt, Sie KOeNNEN NICHT nur die zusammengefuehrten Vorlagen behalten, oder Sie werden nicht in der Lage sein, mit Uebersetzungen umzugehen, wenn diese bei Ihnen eingereicht werden.

NEUE MASTER-VORLAGEN

Das neue Quellformat der Vorlagendateien ist nahezu identisch zu einer der verteilten Vorlagendateien, aber uebersetzbaren 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 duerfen uebersetzte Felder zwei fuehrende 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

gaebe es fuenf verschiedene msgids. Beachten Sie, dass Leerzeichen nach Kommata nicht signifikant sind.

Kurz gesagt, wenn sich eine Auswahlliste nie aendert, ist »_Choices« gut geeignet, andernfalls erleichtert »__Choices« das Leben der Uebersetzer.

Ungluecklicherweise werden alle Uebersetzungen unscharf (XfuzzyX), wenn Sie sich entscheiden, zwischen diesen beiden Formaten zu wechseln. Es folgt eine Erlaeuterung, wie Sie diese Aenderung ohne Verlust an Uebersetzungen realisieren koennen (hierfuer wird »po−debconf« >= 1.0 benoetigt). Nehmen Sie an, dass wir das bisherige Beispiel auf »__Choices« umstellen wollen. Sie kopieren die Datei templates in eine temporaere 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

Fuehren Sie debconf-gettextize mit den Schaltern »−−merge« und »−−choices« aus, um PO-Dateien so zu schreiben, als ob »__Choices« geschrieben waere und fuehren Sie diese PO-Dateien mit den existierenden zusammen:

  $ debconf−gettextize −−merge −−choices debian/foo

Schliesslich muessen Sie foo entfernen und debian/templates manuell bearbeiten, um »_Choices« durch »__Choices« zu ersetzen, bevor debconf-updatepo ausgefuehrt wird.

KOMMENTARE FUeR UeBERSETZER EINFUeGEN

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 koennen wertvolle Informationen fuer Uebersetzer enthalten. Zufaelligerweise ignorierten aeltere Versionen von »po−debconf« Zeilen, die keinen Doppelpunkt enthielten, falls daher Ihre Kommentare keinen Doppelpunkt enthalten, brauchen Sie keine versionierte Abhaengigkeit 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 eingefuegt, um mit Zeichenketten umzugehen, die aus mehreren Eintraegen (wie bei Choices−Feldern) oder Absaetzen (wie bei Description) bestehen. Mit diesen Direktiven haben Entwickler eine bessere Kontrolle darueber, was fuer Uebersetzer sichtbar ist. Sie haben die Form »#flag:Direktive«; die Direktiven werden im Detail weiter unten beschrieben.
translate:
Spezifikation, translate!:Spezifikation

Markiere nur einige Eintraege als uebersetzbar; Spezifikation ist eine durch Kommata getrennte Liste von Zahlen, die angibt, welche Zeichenketten in PO-Dateien abgedruckt werden. Bereiche koennen ueber 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 Schluesselwort translate von einem Ausrufezeichen gefolgt wird, gibt Spezifikation an, welche Zeichenketten fuer die PO-Datei verworfen werden, alle anderen Zeichenketten werden abgedruckt. Das vorhergehende Beispiel ist aehnlich 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 Schluesselwort kann auch fuer das Feld Description verwendet werden, um sicherzustellen, dass einige Zeichenketten nicht uebersetzt 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 gefaehrlich, da aus den PO-Dateien Kontext entfernt werden koennte, fuegen Sie daher in diesem Fall Kommentare hinzu, so dass Uebersetzer nicht durcheinander gebracht werden.

comment:Spezifikation, comment!:Spezifikation

Der Kommentar direkt unterhalb dieser Direktive betrifft die Zeichenketten, die durch Spezifikation (siehe oben) angegeben werden. Standardmaessig wird ein Kommentar, der vor einem uebersetzbaren Feld eingefuegt wurde, bei allen Zeichenketten abgedruckt, die zu diesem Feld gehoeren (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:*« hinzugefuegt. Dieser Kommentar erscheint bei allen Zeichenketten, aber der Kommentar bezueglich Stop for Maintenance wird nur vor der relevanten Zeichenkette abgedruckt.

partial

Dieses Schluesselwort teilt po2debconf mit, uebersetzte Zeichenketten zu behalten, selbst wenn nicht alle Zeichenketten uebersetzt wurden. Verwenden Sie dies bitte vorsichtig, dieses Schluesselwort wurde fuer sehr spezielle Zwecke hinzugenommen.

UeBERSETZER VOR DEM UPLOAD INFORMIEREN

Normalerweise bemerken Uebersetzer auf Status-Webseiten (siehe unten), dass Uebersetzungen veraltet sind und schicken Patches, die dann in zukuenftigen Uploads hinzugefuegt werden. Entwickler werden aber ermutigt, die Betreuer von veralteten Uebersetzungen vor einem Upload um Aktualisierungen zu bitten, zum Beispiel eine Woche vorher. Ein spezielle Werkzeug − podebconf-report-po − wurde fuer diesen Zweck geschrieben. Zoegern Sie nicht, es zu missbrauchen!

WARNUNGEN

»Debconf« 1.2.0 erkennt Felder der Form NameSprache.Kodierung, z.B. »Description−de.ISO−8859−1« oder »Choices−ru.KOI8−R«. Standardmaessig schreibt po2debconf Vorlagendateien im neuen Format. Aeltere »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 aendern koennen.

Eine vorgegebene englische Zeichenkette darf nur eine eindeutige Uebersetzung in einer vorgegebenen Sprache haben. Es ist unmoeglich, abhaengig vom Kontext zwei verschiedene Uebersetzungen zu geben. Um dieses Problem zu beheben, muessen Sie spezielle Markierungen bei verschiedenem Auftreten einer gegebenen Zeichenkette hinzufuegen, um diese Zeichenketten zu unterscheiden (dieses Markierungen werden nur von den Uebersetzern gesehen und werden aus der Zeichenkette entfernt, bevor diese dem Benutzer angezeigt wird).

Solche Markierungen muessen am Ende der zu uebersetzenden Zeichenkette hinzugefuegt werden, sie muessen mit »[ « (einer oeffnenden Klammer, gefolgt von einem Leerzeichen) beginnen und mit »]« (schliessende Klammer) enden, und duerfen jedes Zeichen ausser Klammern oder Zeilenumbruechen enthalten. Zum Beispiel ist »[ blahblah]« eine gueltige Markierung waehrend »[ bla[bla]bla]« nicht gueltig ist. Fuer Anhaenger von regulaeren Perl−Ausdruecken: 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 Absaetze neu formatiert, wenn Uebersetzungen aktualisiert und zusammengefuehrt werden, daher ist »debconf−utils« sehr klug und Leerzeichen werden nicht als Teil der Zeichenketten betrachtet, wenn die unscharfen (XfuzzyX) Eintraege bestimmt werden (d.h. diejenigen, die der Aufmerksamkeit der Uebersetzer beduerfen, da sich das Original geaendert hat).

»po−debconf« auf der anderen Seite verlaesst sich auf »Gettext«, um unscharfe Eintraege zu erkennen, und behandelt Leerzeichen nicht als besondere Zeichen. Daher muessen ueberfluessige 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 Uebersetzer haben solche Zeichenketten manuell zu pruefen/aktualisieren. Dies passiert nur einmal, wenn Vorlagen in das »po−debconf«−Format konvertiert werden, falls Sie nicht zufaellige Aenderungen von Leerzeichen in den Master-Vorlagendateien vornehmen, die dann fuer Uebersetzer sehr unangenehm waeren.

Normalerweise darf das Feld Default: nicht uebersetzt werden, wenn der Vorlagentyp Select oder Multiselect ist. Unter seltenen Umstaenden (z.B. bei der Auswahl der Standardsprache fuer eine Anwendung) koennen angepasste Werte von Bedeutung sein.

Der angepasste Wert darf nicht uebersetzt werden, sondern muss aus den englischen Werten, die im Feld Choices aufgefuehrt sind, ausgewaehlt werden. Der beste Weg, um dies zu erreichen, besteht darin, ein Kommentar in Ihre Vorlagendatei einzufuegen, 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 Uebersetzungen: der erstere ist ein unuebersetzter Wert, der aus den Choices−Werten ausgewaehlt wird, waehrend der letztere eine normale Uebersetzung ist. Da »Gettext« nicht zwei verschiedene Uebersetzungen fuer die gleiche msgid haben kann, muessen 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 verfuegbar 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 fehlertraechtig und sollten verwendet werden.

STATUS-WEBSEITEN

Statistiken fuer »po−debconf«−Uebersetzungen sind unter <http://www.debian.org/intl/l10n/po−debconf/> (oder von Spiegeln) erhaeltlich; 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.

Uebersetzer koennen sich von dort die PO− und POT-Dateien holen, sie muessen aber immer mit dem vorherigen Uebersetzer Kontakt aufnehmen (deren E−Mail-Adresse in der PO-Datei gefunden werden kann) und/oder mit ihren Mituebersetzern auf debian−l10n−<Sprache>@lists.debian.org (falls eine solche Liste existiert), um sicherzustellen, dass keiner derzeit an der gleichen Uebersetzung arbeitet, und aktuelle Fehlerberichte fuer das Paket lesen, das sie uebersetzen wollen, um zu schauen, ob eine Uebersetzung bereits eingereicht wurde.

Nachdem sie diese Dateien uebersetzt 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 AT linuxfr DOT org>

UeBERSETZUNG

Die deutsche Uebersetzung wurde von Helge Kreutzmann <debian AT helgefjell DOT de> angefertigt. Diese Uebersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer fuer die Kopierbedingungen. Es gibt KEINE HAFTUNG .

pdf