8. Internationalisierung und Übersetzungen
Debian unterstützt eine immer größer werdende Zahl natürlicher Sprachen. Selbst wenn Englisch Ihre Muttersprache ist und Sie keine andere Sprache sprechen, gehört es zu Ihren Pflichten als Paketbetreuer, die Probleme der Internationalisierung zu kennen (abgekürzt I18n, weil 18 Buchstaben zwischen "i" und "n" im englischen Wort "internationalization" stehen). Daher sollten Sie sogar, wenn Sie mit rein englischen Programmen klarkommen, das meiste in diesem Kapitel lesen.
Gemäß der Einführung in I18n von Tomohiro KUBOTA bedeutet I18n (Internationalisierung) eine Veränderung von Software oder damit verbundener Technologien, so dass eine Software potentiell mehrere Sprachen, Gewohnheiten und so weiter in der Welt handhaben kann, während L10n (Lokalisierung) die Implementierung einer speziellen Sprache für eine bereits internationalisierte Software bedeutet.
L10n und I18n sind miteinander verbunden, aber die Schwierigkeiten bezogen auf jeweils eines davon sind sehr unterschiedlich. Es ist nicht wirklich schwer, einem Programm das Wechseln der Sprache zu erlauben, in dem Texte basierend auf den Benutzereinstellungen angezeigt werden, aber es verschlingt viel Zeit, diese Nachrichten tatsächlich zu übersetzen. Andererseits ist es trivial, die Zeichenkodierung einzustellen, aber den Code so anzupassen, dass mehrere Zeichenkodierungen benutzt werden können, ist ein wirklich großes Problem.
Abgesehen von den I18n-Problemen, für die keine allgemeine Anleitung gegeben werden kann, gibt es tatsächlich keine Infrastruktur für L10n innerhalb von Debian, die mit dem Buildd-Mechanismus für die Portierung vergleichbar ist. Daher muss die meiste Arbeit manuell erledigt werden.
8.1. Wie Übersetzungen in Debian gehandhabt werden
Die Handhabung der Übersetzung von Texten, die in Paketen enthalten sind, ist immer noch eine manuelle Aufgabe und der Prozess hängt von der Art des Textes ab, den Sie übersetzt sehen wollen.
Meistens wird für Programm-Nachrichten die gettext-Infrastruktur verwendet. Dabei werden die Übersetzungen oft direkt in den jeweiligen Projekten gepflegt, wie bei dem Free Translation Project, bei dem GNOME Translation Project oder bei dem KDE Localization Projekt. Die einzige zentrale Ressource bei Debian ist die zentrale Übersetzungsstatistik von Debian, wo Statistiken zu übersetzen Dateien gefunden und heruntergeladen werden können.
Für Paketbeschreibungen gibt es seit vielen Jahren Übersetzungen und Betreuer müssen nichts besonders tun um Übersetzungen von Paketbeschreibungen zu unterstützen, Übersetzer für Paketbeschreibungen sollten das Debian Übersetzungsprojekt für Beschreibungen (DDTP) benutzen.
Für debconf
-Vorlagen sollten Betreuer das po-debconf
-Paket verwenden, um die Arbeit von Übersetzern zu vereinfachen. Einige Statistiken können auf der Seite zur zentralen Übersetzungsstatistik von Debian gefunden werden.
Für Webseiten hat jedes L10n-Team Zugriff auf das passende VCS und die Statistiken sind auf der Site für die zentrale Übersetzungsstatistik von Debian verfügbar.
Für allgemeine Dokumentation über Debian entspricht der Prozess mehr oder weniger dem der Webseiten (für Übersetzer, die Zugriff auf das VCS haben), aber es gibt dort keine Statistikseiten.
Ein weiterer Teil der Internationalisierungsarbeit betrifft paketspezifische Dokumentation (Handbuchseiten, Info-Dokumente und andere Formate). Zumindest die Handbuchseiten werden mit po-Dateien übersetzt, wie die meisten anderen bereits erwähnten Dateien.
8.2. I18N & L10N FAQ für Paketbetreuer
Dies ist eine Liste von Problemen, denen Betreuer bezüglich I18n und L10n gegenüberstehen. Behalten Sie, während Sie dies lesen, im Hinterkopf, dass es über diese Punkte innerhalb von Debian keine Einigkeit gibt und folgendes nur ein Ratschlag sein kann. Falls Sie für die vorliegenden Probleme bessere Ideen haben oder mit einigen Punkten nicht einverstanden sind, tun Sie sich keinen Zwang an und geben Sie Ihre Rückmeldung, so dass dieses Dokument verbessert werden kann.
8.2.1. Wie ein vorliegender Text übersetzt wird
Um Paketbeschreibungen zu übersetzen, müssen Sie nichts tun. Die DDTP-Infrastruktur wird das zu übersetzende Material an Freiwillige schicken, ohne dass Sie dazu etwas tun müssen.
Für alle weiteren Dokumente (debconf
-Vorlagen, gettext-Dateien, Handbuchseiten oder andere Dokumentation) sollte eine Anfrage für die Übersetzung in weitere Sprachen an debian-i18n geschrieben werden. Einige Mitglieder der Übersetzungs-Teams stehen auf der Liste und werden die weitere Koordinierung übernehme, um die Materialien übersetzt und gesichtet zu bekommen. Wenn die Übersetzungen fertig sind, werden Sie die übersetzten Dokumente per E-Mail oder per wishlist
-Fehlerbericht bekommen. Es wird empfohlen die po-debconf
-Werkzeuge für die I18n-Integration zu verwenden.
8.2.2. Wie eine vorliegende Übersetzung überprüft wird
Von Zeit zu Zeit übersetzen Einzelpersonen einige Texte in Ihrem Paket und bitten Sie, die Übersetzung in das Paket aufzunehmen. Dies kann problematisch werden, falls Sie die vorliegende Sprache nicht fließend sprechen. Es ist eine gute Idee, das Dokument an die entsprechende L10n-Mailingliste zu senden und um eine Überprüfung zu bitten. Sobald dies erledigt ist, sollten Sie von der Qualität der Übersetzug überzeugt sein und sich sicherer fühlen, sie in Ihr Paket einzubinden.
8.2.3. Wie eine vorliegende Übersetzung aktualisiert wird
Falls Sie einige Übersetzungen eines vorliegendens Textes herumliegen haben, sollten Sie jedesmal, wenn Sie das Original aktualisieren, den letzten Übersetzer bitten, die Übersetzung mit Ihren neuen Änderungen zu aktualisieren. Behalten Sie im Hinterkopf, dass diese Aufgabe Zeit beansprucht; mindestens eine Woche, um die Aktualisierung korrekturlesen zu lassen und so weiter.
Falls der Übersetzer nicht reagiert, könnten Sie auf der entsprechenden L10n-Mailingliste um Hilfe ersuchen. Falls alles scheitert, vergessen Sie nicht, eine Warnung im übersetzten Dokument zu hinterlassen, die angibt, dass die Übersetzung veraltet ist und der Leser sich, wenn möglich, auf das Originaldokument beziehen sollte.
Vermeiden Sie es, eine Übersetzung vollständig zu entfernen, weil sie veraltet ist. Veraltete Dokumentation ist für Leute, die kein Englisch sprechen, oft besser als gar keine Dokumentation.
8.2.4. Wie Fehlerberichte gehandhabt werden, die eine Übersetzung betreffen
Die beste Lösung ist wahrscheinlich, den Fehler als zu den Originalautoren weitergeleitet zu kennzeichnen und ihn sowohl an den letzten Übersetzer als auch an sein Team zu senden (unter Benutzung der entsprechenden debian-l10n-XXX-Mailingliste).
8.3. I18n- & L10n-FAQ für Übersetzer
Behalten Sie, während Sie dies lesen, im Hinterkopf, dass es über diese Punkte innerhalb von Debian keine Einigkeit gibt, und dass Sie auf jeden Fall mit Ihrem Team und dem Paketbetreuer zusammenarbeiten sollten.
8.3.1. Wie man bei Übersetzungsbemühungen helfen kann
Wählen Sie aus, was Sie übersetzen möchten und stellen Sie sicher, dass nicht bereits jemand daran arbeitet (benutzen Sie Ihre debian-l10n-XXX-Mailingliste), übersetzen Sie es, lassen Sie es durch andere mit dieser Muttersprache auf Ihrer L10n-Mailingliste überprüfen und stellen Sie es dem Paketbetreuer zur Verfügung (siehe nächsten Punkt).
8.3.2. Wie eine Übersetzung zur Eingliederung in ein Paket bereitgestellt wird
Stellen Sie sicher, dass Ihre Übersetzung korrekt ist (bitten Sie auf Ihrer L10n-Mailingliste um eine Überprüfung), bevor Sie sie zur Eingliederung bereitstellen. Es wird für jeden eine Zeitersparnis sein und das Chaos vermeiden, das daraus resultiert, dass Sie mehrere Versionen des gleichen Dokuments in Fehlerberichten haben.
Die beste Lösung ist es, einen regulären Fehlerbericht gegen das Paket einzureichen, der die Übersetzung enthält. Stellen Sie sicher, dass Sie die Kennzeichnung "patch", "l10n" und keinen Schweregrad höher als "wishlist" verwenden, da das Fehlen einer Übersetzung ein Programm niemals an der Ausführung hindert.
8.4. Beste aktuelle Vorgehensweise bezüglich L10n
Bearbeiten Sie als Betreuer niemals die Übersetzungen in irgendeiner Weise (auch nicht, um das Aussehen neu zu formatieren), ohne mit der entsprechenden L10n-Mailingliste zu sprechen. Sie riskieren zum Beispiel, die Zeichenkodierung der Datei zu zerstören, wenn Sie dies tun. Außerdem könnte das, was Sie als Fehler betrachten, in der vorliegenden Sprache richtig sein (oder sogar nötig).
Falls Sie als Übersetzer einen Fehler im Originaltext finden, stellen Sie sicher, dass er gemeldet wird. Übersetzer sind oft die aufmerksamsten Leser eines vorliegenden Textes und falls Sie die gefundenen Fehler nicht melden, wird es niemand tun.
Denken Sie auf jeden Fall daran, dass der Hauptstreitpunkt bei L10n darin besteht, dass mehrere Leute für eine Zusammenarbeit nötig sind und dass es sehr leicht ist, selbst für kleine Probleme aufgrund von Missverständnissen einen Flame-War (schwerwiegende Streitigkeit) heraufzubeschwören. Falls Sie daher Probleme mit einem Gesprächspartner haben, fragen Sie auf der entsprechenden L10n-Mailingliste, Debian-I18n oder sogar Debian-Devel nach Hilfe (aber Vorsicht, L10n-Diskussionen führen auf jener Liste oft zu Flame-Wars :) ).
Kooperation kann auf jeden Fall nur mit gegenseitigem Respekt erreicht werden.