Seit über zwanzig Jahren gibt es Linux – ein stolzes Alter, das etliche andere Betriebssysteme nicht einmal annähernd erreicht haben, bevor sie wieder von der Bildfläche verschwanden. Noch älter als Linux ist das GNU-Projekt, das sich bereits seit 1985 der proprietären Computerwelt mit einer quelloffenen Alternative entgegenstemmt.

Wie schaffen es freie Projekte, ein solches Alter zu erreichen? Gerade in den Anfängen gab es noch nicht einmal Denkansätze, das Konzept in irgendeiner Form kommerziell zu verwerten und damit auf eine solide finanzielle Basis zu stellen. Neben echten Sponsoren, die entsprechende Ressourcen bereit stellen, war freie Software stets auf den Enthusiasmus und Idealismus von Freiwilligen angewiesen.

Freie Software lebt also vom Mitmachen. Dabei gehörten und gehören Übersetzungen zu den Favoriten der Benutzer, die ihren Teil zum Fortbestand des Betriebssystems beitragen wollen. Vielleicht suchen ja auch Sie nach einem Einstieg? Die Hürden für Übersetzungen liegen angenehm tief: Sie brauchen dazu keineswegs Quelltexte zu durchforsten und zu bearbeiten. Englischkenntisse sind natürlich notwendig (siehe Kasten "Do You Speak Denglish?").

Die Gettext-Suite

Die meisten Entwickler setzen auf die Werkzeuge des Gettext-Pakets [1]. Diese Programmsammlung stellt Hilfsmittel bereit, die in den Quelltexten die zu übersetzenden Teile ermitteln, diese herauslösen und in eine Vorlagendatei mit der Endung .pot schreiben. Im weiteren Verlauf nutzen Sie als Übersetzer diese Vorlage, um daraus eine sprachspezifische Datei zu erstellen, die für Deutsch dann üblicherweise de.po heißt. Eine Po-Datei besteht im Wesentlichen aus aneinander gereihten, übersetzbaren Zeichenketten. Listing 1 zeigt ein Beispiel.

Listing 1

#: src/gdbmerrno.c:46
#: src/testgdbm.c:387
#, c-format
msgid "Item not found"
msgstr "Objekt nicht gefunden"
...

Die Kommentarzeilen am Anfang verweisen darauf, aus welchen Quelldateien und aus welcher Zeile Gettext den String extrahiert hat. Bei Bedarf stehen hier zusätzlich spezielle Anforderungen an das Formatieren, abhängig von der Programmiersprache. Häufig steht dort außerdem das Wort fuzzy, das darauf hinweist, dass die Bedeutung der entsprechenden Zeichenkette unklar ist und es am besten wäre, diese zu überarbeiten. Nach dem Berichtigen müssen Sie nur noch die Zeile mit der Fuzzy-Marke entfernen, um dafür zu sorgen, dass der String beim späteren Erstellen des Programms mit einfließt.

Natürlich können Sie einen gewöhnlichen Texteditor heranziehen, um die Strings zu bearbeiten. Viele Editoren beherrschen das farbliche Hervorheben der typischen Syntax. Vim und Emacs bieten sogar diverse Extras, wie das Einfügen von Übersetzernamen, Datum und Zeit sowie weiterer Meta-Daten. Doch mit den im Folgenden vorgestellten grafischen Werkzeugen geht das oft eleganter: Sie bieten ganz spezielle Funktionen an, die Ihnen die Arbeit erleichtern.

Do You Speak Denglish?

Überhaupt eine Übersetzung in Angriff zu nehmen, setzt selbstverständlich Englischkenntnisse voraus. Auch wenn bei Ihnen nicht das Cambridge First Certificate in English an der Wand hängt, ist noch nicht alles verloren: Schließlich gibt es Wörterbücher – nicht nur die universellen gedruckten und Online-Versionen, sondern auch spezielle, von diversen Übersetzungsteams zusammengestellte Listen. Diese dienen vorrangig dazu, englische Begriffe programmübergreifend konsistent ins Deutsche zu übertragen, um den Benutzer nicht unnötig zu verwirren.

Außerdem sollten Sie einige grammatische und syntaktische Grundregeln beachten, bevor Sie mit Ihrem ersten Projekt beginnen. Entsprechende Hinweise finden Sie ebenfalls in den Webauftritten der jeweiligen Teams, zum Beispiel auf den Wiki-Seiten der deutschen Gnome-Übersetzer, deren Regeln sich unter anderem auch die Launchpad German Translators [8] verschrieben haben.

Behalten Sie vor allem die Zielgruppe der Software im Auge. Die Oberfläche eines Debugging-Programms richtet sich vorrangig an Entwickler, die entsprechendes Know-how hinsichtlich der speziellen Begriffswelt mitbringen – ein einfacher Dateimanager muss aber auch ohne tiefgreifende Vorkenntnisse zu bewältigen sein.

Mindestens ebenso wichtig wie Englisch ist auf jeden Fall Deutsch. Das mag banal klingen, aber gerade bei den Übersetzungen von Hilfetexten fallen Defizite oft unschön auf. Die Originale wurden oft nicht von Englisch-Muttersprachlern geschrieben und erschweren es dadurch den Übersetzern, möglichst nahe am Original zu bleiben. Oft lässt es sich nicht vermeiden, etwas auszuschweifen, um den Ursprungstext in eine verständliche deutsche Form zu bringen.

Behalten Sie immer die Benutzer der unterschiedlichsten Niveaus im Auge – sie alle müssen die eingedeutschten Programmoberflächen und Handbücher verstehen können. Eine holprige, schwer verständliche Übersetzung wirkt auf den Benutzer wenig anziehend – in dem Fall wird er wahrscheinlich das englischsprachige Original vorziehen.

Universaltalent Poedit

Falls Sie als Wanderer zwischen den Welten häufig das Betriebssystem wechseln (müssen), bietet sich Poedit [2] an: Da es auf wxWidgets basiert, gibt es das Programm in verschiedenen Geschmacksrichtungen für alle Plattformen, auf denen diese spezielle Grafikbibliothek bereit steht. Zudem passt es sich optisch nahezu perfekt in die jeweilige Umgebung ein, ohne wie ein Fremdkörper zu wirken.

Das Hauptfenster von Poedit (Abbildung 1) wirkt nach dem ersten Start mit einer geöffneten Po-Datei etwas spartanisch. Im oberen Bereich sehen sie die einzelnen Zeichenketten in einer zweigeteilten Übersicht: links die Originale, rechts die übersetzten Versionen. Diese sortiert Poedit nach übersetzten, unklaren und nicht übersetzten Strings. Darunter befinden sich zwei Fenster, die detailliertere Informationen bieten. Im untersten Bereich bearbeiten Sie die Übersetzungen.

Abbildung 1: Poedit wirkt auf den ersten Blick spartanisch, erweist sich bei genauerem Hinsehen aber als durchaus praxisgerecht.

Im Grundzustand fehlen zwei weitere Ansichten: Eine davon zeigt die vom Entwickler eingefügten Kommentare. Die andere dient dem gleichen Zweck, nur haben Sie dort die Möglichkeit, eigene Hinweise und Notizen zu hinterlassen, die das Programm später im Fließtext als Kommentar dem jeweiligen String zuordnet. Diese zusätzlichen Fenster aktivieren Sie im Menü Ansicht. Eine Suchfunktion findet sich ebenfalls: Über [Strg]+[F] oder über das Menü Bearbeiten öffnen Sie einen entsprechenden Dialog, der einige Optionen zum Filtern anbietet und seinen Zweck recht gut erfüllt.

Der wohl wichtigste Helfer ist der Speicher für Übersetzungen. Die Strings aus sämtlichen eingelesenen und wieder gespeicherten Dateien landen in einer Datenbank, sofern Sie die Sprache im Menü Katalog | Optionen richtig gesetzt haben. Im laufenden Betrieb fügt das Programm dann auf Wunsch einen kompletten Übersetzungskatalog mit Vorschlägen aus der Datenbank hinzu, oder Sie rufen durch einen Rechtsklick auf eine Zeichenkette in der obersten Ansicht ein Kontextmenü auf, das diverse Vorschläge anzeigt.

Zwar arbeitet Poedit grundsätzlich recht zuverlässig, doch fehlen einige Basisfunktionen – zum Beispiel Funktionen wie Rückgängigmachen oder Wiederholen – die helfen, kleine Fehler beim Editieren auszubügeln. Vorsicht und Sorgfalt sind also angesagt. Außerdem vergisst das Programm oft die nach Ihren Wünschen vorgenommene Einteilung des Hauptfensters wieder, sodass Sie nach dem Start erst einmal die Größen der einzelnen Ansichten nachbessern müssen. Gelegentlich stört auch das separate Suchfenster, weil es im maximierten Modus stets einen Teil des Hauptfensters verdeckt.

Gtranslator

Gtranslator, das inoffizielle Übersetzungsprogramm des Gnome-Desktops [3], liegt derzeit in Version 2.90.7 in den Software-Beständen der meisten aktuellen Distributionen zur Installation bereit. Beim ersten Start begrüßt Sie ein Assistent, der Ihnen beim Einrichten hilft. Hier geben Sie Ihren Namen, Ihre Mailadresse sowie einige weitere Daten an, die später in die entsprechenden Kopfzeilen der Dateien landen.

Dabei zeigt sich bereits ein sehr markantes und praktisches Feature: Sie haben die Möglichkeit, Profile für verschiedene Projekte einzurichten. Insbesondere die E-Mail-Adresse des Übersetzerteams wechselt dabei. Sollten Sie neben Englisch noch weitere Fremdsprachen beherrschen, sind Ihnen hier keinerlei Grenzen bei den Angaben gesetzt.

Das Hauptfenster von Gtranslator (Abbildung 2) wirkt aufgeräumt und informativ. Die Gliederung ähnelt der von Poedit, wobei den Beispielen aus dem Speicher der Übersetzungen ein eigener Platz zukommt. Der Arbeitsablauf präsentiert sich logisch und übersichtlich – selbst für das sonst oft übergangene Bearbeiten der Kopfzeilen der Datei öffnet Gtranslator ein eigenes Fenster.

Abbildung 2: Trotz vieler nützlicher Features erscheint die aktuelle Version von Gtranslator nicht immer ausgereift.

Im Gegensatz zu Poedit bringt Gtranslator eine Funktion für Undo/Redo sowie eine leistungsfähige Suche mit. Auch ein Online-Handbuch hat der Übersetzer mit an Bord, das zwar nicht mehr ganz aktuell ist,t jedoch recht nützliche Hinweise biete. Bei Bedarf binden Sie die Übersetzungsdatenbank sogar an die Online-Datenbank Open-tran.eu an. Mehrere Dateien öffnen Sie gleichzeitig in Reitern, was das Vergleichen verschiedener Varianten erleichtert.

Die Geschichte von Gtranslator verzeichnet allerdings einige unrühmliche Meilensteine: So zum Beispiel das lange Zeit als stabile Version gekennzeichnete Release 1.1.7, das die eigentlich nur als Orientierungshilfe in den Strings angezeigten Steuerzeichen kurzerhand beim Speichern als reale Zeichen mit in die Po-Datei schob. Das war keineswegs im Sinne des Erfinders und führte aufgrund der falschen Syntax gelegentlich sogar zu Verzögerungen beim Veröffentlichen.

Bis heute kämpft die Software mit einigen schwerwiegenden Bugs. So lässt sich etwa in aktuellen Versionen die interne Datenbank für Übersetzungen nicht erstellen, jeder entsprechende Versuch führt unweigerlich zum Absturz. Es bleibt zu hoffen, dass die Entwickler das Problem möglichst bald aus der Welt schaffen. Ansonsten ermöglicht Gtranslator einen sehr angenehmen und flüssigen Arbeitsfluss, wie die Beliebtheit älterer Versionen bei den Übersetzern beweist.

Lokalize

Natürlich darf in einer integrierten Arbeitsumgebung wie KDE ein spezielles Werkzeug zum Übersetzen nicht fehlen. Lokalize [4] ähnelt vom Aufbau des Hauptfensters her den anderen bereits erwähnten Programmen, wobei lediglich die Anordnung der einzelnen Ansichten etwas anders ausfällt. Das Layout lässt sich nicht frei konfigurieren, doch das ist nicht weiter tragisch und nur eine Frage der Gewöhnung. Die üblichen Features wie Suchfunktion und Übersetzungsspeicher hat Lokalize selbstverständlich an Bord.

Öffnen Sie Lokalize, ohne einen Dateinamen als Parameter anzugeben, fällt sofort die Projektverwaltung ins Auge (Abbildung 3): Hier definieren Sie wie in Gtranslator eigene Identitäten und erstellen darüber hinaus bei Bedarf ein autarkes Projekt mit spezifischen Einstellungen für Sprache, Mailingliste des Übersetzungsteams und noch einiges mehr. In der Übersicht finden Sie Statistiken zu den einzelnen Dateien, wie man sie von den Online-Statusseiten diverser Teams kennt.

Abbildung 3: Die Projektverwaltung in Lokalize bietet einen Überblick über alle laufenden Arbeiten.

Insbesondere die Schreibweise zum Eintragen der Zugriffstasten für Menüs stellen Sie an dieser Stelle ein (Abbildung 4). Während Gtk-Programme einen vorangestellten Unterstrich verwenden, um die später unterstrichen dargestellten Buchstaben für Tastenkürzel zu kennzeichnen, benutzen KDE-Programme in aller Regel hierfür ein Kaufmanns-Und (&). Solche Feineinstellungen beherrschen andere Werkzeuge nicht.

Abbildung 4: Lokalize verfügt über ungeahnte Möglichkeiten zum Feintuning.

Qtlinguist

Die Entwickler der Grafikbibliothek Qt spendieren sich ein ganz besonderes Übersetzungswerkzeug [5], das Sie in Ihrer Distribution zumeist in den Entwicklerpaketen zu Qt finden. Beim Start von Qtlinguist mit einer Po-Datei zeigt sich nicht sofort, dass das Programm in mancher Hinsicht seinen Mitbewerbern einen Schritt voraus ist. Es beherrscht außerdem das Format sogenannter TS-Dateien. Dabei handelt es sich nicht um Teile der Struktur einer Video-DVD, sondern um spezielle Dateien, die nur in Qt-Software zum Einsatz kommen.

Sofern sich die TS-Datei am korrekten Ort innerhalb der Quelltexthierarchie des Programms befindet, zeigt QtLinguist nicht nur die zu übersetzenden Zeichenketten an, sondern auch die den jeweiligen String umgebenden Teile der Quelltextdatei sowie, als besonderes Feature, denjenigen Teil des Programmfensters der zugehörigen Software, in dem der Text später erscheint (Abbildung 5). Das funktioniert allerdings nur, wenn der Programmierer konsequent mit Qt-Werkzeugen gearbeitet hat, und klappt mit Po-Dateien generell nicht.

Abbildung 5: QtLinguist bringt einige spezifische Features mit, die beim Übersetzen Qt-basierter Programme helfen.

Zwar wirken die Funktionsvielfalt und das entsprechend etwas überfüllt erscheinende Programmfenster zunächst verwirrend, doch nach etwas Eingewöhnung arbeiten Sie sehr effektiv mit der Software. Den guten Eindruck trübt lediglich, dass einige der Funktionen nur bei einem sehr begrenzten Programmkreis nutzen. Doch selbst als reiner Gettext-Editor macht die Applikation eine gute Figur.

Installation

Da Übersetzungswerkzeuge mittlerweile zu den Brot-und-Butter-Applikationen einer Distribution gehören, brauchen Sie in aller Regel nur über den Paketmanager nach dem Namen des jeweiligen Programms zu suchen, und schon wandert es auf die Festplatte und ins Menü.

Einige Besonderheiten gibt es dennoch: Poedit und Gtranslator finden Sie bei Ubuntu im Universe-Repository, das Sie im Zweifelsfall erst in der Paketverwaltung aktivieren müssen. QtLinguist gibt es nicht als separates Paket, sondern als Teil der qt4-dev-tools. OpenSuse versteckt es im Paket libqt4-devel, aber das Abspalten in ein eigenes Paket steht auf dem Plan. Poedit und Gtranslator hält YaST dagegen ohne Aktivieren zusätzlicher Quellen bereit.

Online-Plattformen

Wäre es nicht pfiffig, wenn Sie zum Übersetzen gar kein Programm brauchen würden? Kein Problem: Im Web finden sich einige browserbasierte Lösungen, für die Sie keine Software brauchen, sondern nur einen Internet-Anschluss mit einem nahezu beliebigen Endgerät. Gleichgültig, ob es sich dabei um einen iMac mit 24-Zoll-Display oder ein nicht mehr ganz taufrisches Smartphone handelt – auf Plattformen wie Launchpad oder Transifex dürfen Sie Ihren Ambitionen freien Lauf lassen.

Wollen Sie vorwiegend oder ausschließlich für Ubuntu oder dessen Derivate übersetzen, vermag Launchpad [6] unter Umständen dauerhaft ein Offline-Tool zu ersetzen. Sämtliche Po-Dateien der Ubuntu-Kernpakete (und darüber hinaus vieler zusätzlicher Programme) stehen dort zum Bearbeiten bereit. Doch hier offenbart sich schon ein entscheidender Nachteil der Online-Versionen: Zwar steht auch hier ein Übersetzungsspeicher zur Verfügung, neben einigen anderen Features, die Sie auch von den Offline-Werkzeugen kennen. Eine Gesamtübersicht über eine Po-Datei ist auf Grund der begrenzten Möglichkeiten eines Browser-Fensters nicht möglich.

Distributionen wie Fedora oder Mandriva setzen auf Transifex [7]. Diese Plattform wurde zwar vor einigen Monaten runderneuert, reicht aber an die Möglichkeiten von Launchpad noch immer nicht heran – geschweige denn an jene der Offline-Tools. Dafür liefert Transifex eine Po-Datei auf Anfrage praktisch in Echtzeit zum Download aus, während Launchpad sich für die gleiche Aktion im besten Fall einige Minuten gönnt, unter Umständen aber auch eine Stunde Zeit herumtrödelt, bis es endlich eine E-Mail mit dem Download-Link liefert.

Beiden Plattformen verfügen über Grundfunktionen wie das direkte Gegenüberstellen von Original-String und Übersetzung (Abbildung 6), das Platzieren geeigneter Vorschläge und eine Plausibilitätsprüfung, die grobe Schnitzer in der Formatierung der übersetzten Strings direkt ausbügelt.

Abbildung 6: Die Übersetzung des Backup-Werkzeugs Déjà Dup in Launchpad.

Transifex und Launchpad sind mehr als nur Hilfskonstruktionen für Leute, die die üblichen grafischen Werkzeuge nicht mögen. Ein ganz entscheidender Vorteil liegt in der Möglichkeit zur Teamarbeit. Jemand übersetzt einige Strings, markiert diese zur Revision, und ein weiterer Übersetzer schaut über kurz oder lang nach dem Rechten. Die Versionsverwaltung im Unterbau der Online-Plattformen macht dies möglich, ein umständlicher Austausch kompletter Dateien über Mailinglisten entfällt.

Allerdings implementieren beide Systeme das Markieren von unklaren Strings, die einer Überarbeitung bedürfen, nur sehr spärlich bis gar nicht. Das macht mitunter den Zeitgewinn durch das kollaborative Arbeiten wieder zunichte.

Fazit

Wie überall führen auch beim Übersetzen viele Wege nach Rom. Ob Sie nun Ihre ersten Schritte in Online-Plattformen unternehmen oder lieber den konventionelleren Weg der bekannten grafischen Programme wählen, bleibt Ihnen überlassen. Beide Varianten weisen spezifische Vorzüge und Nachteile auf, weshalb es müßig wäre, eine allgemeingültige Empfehlung zu geben. Obwohl bis auf Poedit die beschriebenen Programme bestimmten Arbeitsumgebungen oder Grafikbibliotheken zugeordnet sind, lassen sich alle ohne viel Aufhebens als Universalwerkzeuge verwenden.

Wichtiger ist, dass Sie etwas tun haben. Wie eingangs erwähnt, lebt freie Software vom Mitmachen. Durchweg alle Übersetzerteams klagen über Personalmangel und bestehen selbst bei großen Projekten wie Gnome meist nur aus einer Handvoll kontinuierlich aktiven Mitstreitern. Doch dieses Problem ist allgegenwärtig und für alle freien Projekte typisch. Ganz gleich, wo Sie letztendlich Ihre Berufung finden: Die immer größer werdende Open-Source-Gemeinde wird es Ihnen danken. 

Glossar

wxWidgets

Auf C++ aufsetzendes Cross-Platform-Toolkit zum Entwickeln von grafischen Anwendungen für mehrere Zielsysteme aus einer Codebasis heraus. Es unterstützt neben Umgebungen wie Linux (Gtk+), Windows und OS X auch mobile Plattformen wie Windows Mobile, iOS und Embedded Gtk+. Zudem stehen Bindungen für Programmiersprachen wie Perl, Python und Ruby bereit.

Infos

[1] Gettext-Programme: http://www.gnu.org/software/gettext/

[2] Poedit: http://www.poedit.net

[3] Gtranslator: http://live.gnome.org/gtranslator

[4] Lokalize: http://userbase.kde.org/Lokalize

[5] Qtlinguist: http://developer.qt.nokia.com/

[6] Launchpad: https://launchpad.net

[7] Transifex: https://www.transifex.net

[8] Deutsches Launchpad-Übersetzerteam: https://launchpad.net/~lp-l10n-de

Der Autor

Mario Blättermann blickt auf einige Jahre Erfahrung als Gnome-Übersetzer zurück und hinterlässt gelegentlich auch beim Translation Project, bei Launchpad und bei Transifex seine Spuren.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare
alternative Lokalisierungsmodalitäten
Houlle (unangemeldet), Donnerstag, 30. Oktober 2014 11:02:03
Ein/Ausklappen

Guten Tag! Wenn Sie neugierig auf alternative Softwarelokalisierungsmodalitäten sind, empfehle ich Ihnen diese Übersetzungsplattform: https://poeditor.com/


Bewertung: 46 Punkte bei 3 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
pootle
foobar (unangemeldet), Mittwoch, 22. Februar 2012 22:21:46
Ein/Ausklappen

Pootle ist auch ein nettes Tool für die Onlineübersetzung


Bewertung: 172 Punkte bei 25 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: pootle
mariobl (unangemeldet), Dienstag, 28. Februar 2012 22:36:59
Ein/Ausklappen

Stimmt, es ist auch eine Online-Plattform wie Transifex oder Launchpad. Es ist aber nicht so universell, da es keine globale Webpräsenz gibt, sondern einzelne Projekte (auch größere wie LXDE) sich eine eigene Impementation des Pootle-Frameworks ins Netz stellen.

Der Artikel erhebt natürlich keinen Anspruch auf Vollständigkeit. Er sollte einige Offline-Werkzeuge und Online-Plattformen vorstellen und einem Einsteiger eine erste Orientierung in diesem Metier ermöglichen.


Bewertung: 180 Punkte bei 28 Stimmen.
Den Beitrag bewerten: Gut / Schlecht