Mit Änderungen umgehen

Unglücklicherweise ändert sich Software hin und wieder. Dies betrifft auch übersetzbare Teile der Anwendungen. Zeichenketten kommen hinzu, ändern sich und manchmal werden diese auch entfernt. Glücklicherweise gibt es Werkzeuge und Prozeduren, die es Ihnen ermöglichen, mit den Änderungen der Anwendungen Schritt zu halten.

Die Statustabellen

Carlos Perelló Marín wartet die Statustabellen der Übersetzungen aller Sprachen, die in GNOME verfügbar sind. Sie sind auch über die Seite des GNOME Übersetzungsprojekts zu erreichen. Diese Tabellen enthalten verschiedene Ansichten und werden dreimal am Tag aktualisiert.

Startseite
GNOME-Grundpakete der stabilen Version: Alle Sprachen
GNOME Grundpakete der Entwicklungsversion: Alle Sprachen
Sonstige Pakete: Alle Sprachen

Für jede Sprache gibt es Tabellen, die den Gesamtstatus und eine Aufspaltung in einzelne Pakete anzeigen. Diese Tabellen enthalten außerdem Links zu den aktuellsten .pot-Dateien (falls noch keine Übersetzung für die jeweilige Anwendung vorliegt) bzw. zur aktuellsten .po-Datei. Sie können direkt von dort heruntergeladen werden, ohne das CVS zu benutzen. Das Hochladen funktioniert nicht auf diese Weise, aber die Möglichkeit des Herunterladens ist sehr nützlich.

Alle diese Funktionen stehen zumindest für die letzte stabile Version und die aktuelle Entwicklungsversion von GNOME sowie für Anwendungen, die nicht dem Veröffentlichungszyklus von GNOME unterliegen (HEAD genannt), bereit.

Sobald Übersetzungen der jeweiligen Sprache in das CVS eingepflegt wurden, erhält diese eine eigene Abteilung in den Statustabellen. Es lohnt sich, persönliche Lesezeichen auf die für die jeweilige Sprache relevanten Tabellen anzulegen. Sie sind sehr, sehr nützlich.

Jede Sprache ist über eine URL in der Form http://l10n-status.gnome.org/gnome-2.10/XX/index.html ereichbar, wobei XX durch die jeweilige Sprachkennung (klein geschrieben) ersetzt werden sollte. Soll eine andere Version angezeigt werden, ist eine entsprechende Anpassung der URL notwendig — entweder durch Angabe der Version in der Form „gnome-X.XX“ oder durch eines der Synonyme „HEAD“, „stable“ und „development“.

Geänderte Pakete aktualisieren

Wenn Sie Ihre Kopie eines Pakets über CVS aktualisieren oder die Statusseiten im Browser aufrufen, werden Sie früher oder später auf Änderungen stoßen. Auch an dieser Stelle sei die Anleitung How to use GNOME CVS as a translator für die notwendigen CVS-Befehle wärmstens empfohlen. Sollten mehrere Zeichenketten zu aktualisieren sein, gibt es verschiedene Wege, um an neue Vorlagen zu kommen. Die einfachste Möglichkeit ist das Herunterladen der fertigen Vorlage bzw. der aktualisierten .po-Datei von den Statusseiten. Die zweite Möglichkeit über das CVS mit Hilfe von intltool ist in der oben angesprochenen Anleitung zu finden.

An dieser Stelle ist ein kleiner Abstecher zu den Hintergründen notwendig. Im Prinzip wird zur Aktualisierung eine neue Vorlage (.pot) erstellt und die vorhandenen Übersetzungen mittels msgmerge in diese Vorlage eingefügt. Das Ergebnis ist dann die aktualisierte .po-Datei.

msgmerge fügt aber nicht nur wirklich passende Übersetzungen ein, sondern erzeugt auch sogenannte „fuzzy“ (ungenaue) Übersetzungen. Hierbei werden die originalen Zeichenketten auf Ähnlichkeiten überprüft und bei ausreichender Übereinstimmung eine eventuell schon vorhandene Übersetzung eingefügt.

Ungenaue Übersetzungen sind auch als solche zu verstehen

Die Übersetzungen durch msgmerge treffen oft nicht den eigentlichen Sinn der originalen Zeichenkette. Jeder Übersetzer hat hier seinen eigenen Lieblingsvorschlag, den msgmerge liefert. Mein (Telsa's) persönlicher Favorit ist der Vorschlag, dass die Übersetzung von „Open window“ genutzt werden sollte, um „Close window“ zu übersetzen…

Ungenaue Übersetzungen sind in .po-Dateien durch einen Kommentar oberhalb der Zeichenketten markiert, der das Wort fuzzy enthält. Sollte die Übersetzung gut genug sein, können Sie die Markierung fuzzy entfernen. Wenn dieses Wort als einziges in der Kommentarzeile steht, kann die ganze Zeile gelöscht werden. Sollten Sie dieses Wort nicht entfernen, wird die Übersetzung von der Anwendung nicht genutzt. Ein paar Beispiele dazu:

#, fuzzy
msgid "Blah blah blah."
msgfmt "Gelabere."

Falls die Übersetzung für diesem Fall zufriedenstellend ist, können Sie die Zeile mit dem Wort fuzzy komplett entfernen:

msgid "Blah blah blah."
msgfmt "Gelabere."

Gelegentlich werden Sie aber auch auf so etwas stoßen:

#, c-format, fuzzy
msgid "Very important: %s"
msgstr "Sehr wichtig: %s"

Soll in diesem Fall die Ungenauigkeit entfernt werden, muss die c-format-Markierung intakt bleiben:

#, c-format
msgid "Very important: %s"
msgstr "Sehr wichtig: %s"

Es wird auch einmal vorkommen, dass eine Reihe von Zeichenketten in ein anderes Modul verschoben wird. Das kann teilweise entmutigend sein, wenn die Übersetzungen dafür bereits erledigt sind und man denkt, dass die ganze Arbeit umsonst war. Diese Arbeit können Sie sich aber ersparen, indem Sie die vorhandene .po-Datei mittels msgmerge -o neu.po vorhanden.po vorlage.pot in das neue Modul einfügen.

Sie können sich auch eine persönliche Sammlung von Übersetzungen anlegen, die Sie als Quelle für Übersetzungsvorschläge nutzen können. Dies wird mit dem Befehl msgcat a.po b.po c.po > sammlung bewerkstelligt. Bevor die Sammlung benutzt wird, sollte sie speziell auf Zeichenketten in der Form „#-#-#-#-#“ untersucht werden. Diese zeigen Konflikte zwischen den einzelnen .po-Dateien. Diese Eigenschaft von msgcat kann ebenfalls zur Überprüfung von verschiedenen .po-Dateien auf Inkonsistenzen genutzt werden. Ist einmal eine Sammlung mit msgcat erstellt, kann sie mit msgmerge benutzt werden, um die Vorschläge in eine .po-Datei zu übernehmen. Ein Beispiel dafür: msgmerge -C sammlung -o neu.po alt.po vorlage.pot

Möglicherweise finden Sie auch eine Reihe von Übersetzungen in der .po-Datei, die nicht länger genutzt werden. Sie werden an das Ende der Datei geschoben und auskommentiert. Für die Anwendung haben sie dadurch keine Auswirkungen mehr und werden ignoriert. Diese Zeilen sollten Sie nur löschen, wenn es zu viele geworden und sie wirklich im Weg sind. Vielleicht werden sie zu einem späteren Zeitpunkt wieder in die Anwendung integriert. Sie werden auch durch den Befehl msgmerge für Übersetzungsvorschläge genutzt. Deshalb sollten sie stehen bleiben, wo sie sind.