Home / LinuxUser / 2005 / 10 / Programme übersetzen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Dolmetscher

Programme übersetzen

01.10.2005 Für das Sprachgewirr auf dem Linux-Desktop gibt es eine Lösung: selbst Programme übersetzen. Damit ist sogar ein KDE "op Platt" kein Problem mehr.

In der Linux-Welt gilt Englisch als der kleinste gemeinsame Nenner. Bis auf wenige Ausnahmen spricht jede Anwendung diese Sprache, doch nicht alle Benutzer sind des Englischen mächtig. Außerdem verarbeitet das Gehirn muttersprachliche Texte wesentlich schneller als fremdsprachige. Bei der Übersetzung sind die Entwickler jedoch auf Helfer angewiesen – welcher deutsche Programmierer beherrscht schon fließend Zulu? Damit ein Übersetzer sich nicht mit dem Programmcode auseinandersetzen muss, verwenden viele Entwickler das Gettext-System [1], das die in Programmen verwendeten Textausgaben (Strings) vom Code trennt. Als Ausgabe produziert es so genannte Portable Objects oder kurz PO-Dateien, die zum Teil auch unter dem Namen "Katalog" firmieren. Dabei handelt es sich um herkömmliche Textdateien, welche die englischen Originaltexte und ihre jeweilige Übersetzung enthalten. Nachdem die Datei vollständig ausgefüllt oder korrigiert wurde, bindet der Programmierer sie mittels Gettext wieder in die Software ein.

Vorbereitung

Bevor man sich an die Übersetzung seines Lieblingsprogramms macht, führt der erste Weg auf dessen Homepage. Bei größeren Projekten findet man dort eine Seite, welche die bereits in Angriff genommenen Übersetzungen, deren Fortschritt und ihre jeweiligen Betreuer auflistet. Ein hilfreicher Suchbegriff ist hier Internationalization oder kurz I18N.

Fehlt die gewünschte Sprache, sollte man am besten den oder die Programmierer kontaktieren. Vielleicht arbeitet ja bereits jemand an genau dieser Übersetzung. Gibt der Entwickler oder der zuständige Übersetzer grünes Licht, lädt man das Archiv mit dem Quellcode (engl. Sourcecode) herunter. Haben die Entwickler Gettext benutzt, existiert nach dem Entpacken ein Unterverzeichnis namens po oder locale. Es enthält alle bislang angefertigten Sprachdateien. Leider gibt es keinen verbindlichen Standard, der einen eindeutigen Verzeichnisnamen vorschreibt. So kann es insbesondere bei kleinen Projekten passieren, dass die Sprachdateien irgendwo verstreut liegen. In diesem Fall hilft nur ein Blick in die Anleitung oder eine Suche mit find.

Unter den po-Dateien findet sich auch eine spezielle Datei mit der Endung .pot (Portable Object Template). Dabei handelt es sich um eine Vorlage, die als Ausgangspunkt für sämtliche Übersetzungstätigkeiten dient. Erstellen Sie von ihr ein Duplikat mit der Endung .po. Um ein Chaos zu vermeiden, benennen Sie die Dateien am besten nach ihrem Sprachkürzel. Beispielsweise enthält de_DE.po die deutsche Übersetzung. Der Kasten "Ausschnitt einer PO-Datei" zeigt einige Zeilen eines Beispiels.

Ausschnitt einer PO-Datei

#: ../src/resources/xrc_strings.h:48
msgid "&Find…"
msgstr "Suchen…"

Das #-Zeichen leitet einen Kommentar ein. Der Text in den Anführungszeichen hinter msgid entspricht dem Originaltext, der hinter msgstr der Übersetzung.

Sonderzeichen 

In den Originaltexten tauchen immer wieder eigenartige Zeichen(-kombinationen) auf. Diese sollten Sie bei der Übersetzung tunlichst übernehmen, da das fertige Programm sie später auswertet bzw. ersetzt. Letzteres gilt zum Beispiel für %1. Ein \n kennzeichnet einen Zeilenumbruch, und das & markiert in Menüs die Taste, die später den entsprechenden Punkt aktiviert.

Hilfestellung

Prinzipiell könnten Sie die Datei einfach mit einem Texteditor öffnen und die jeweiligen Zeilen ergänzen. Dies ist jedoch nicht besonders komfortabel und auch recht fehleranfällig. Aus diesem Grund existieren verschiedene Werkzeuge, die das Übersetzerleben vereinfachen. Hierzu zählt POEdit [2], das auf der wxWidget-Bibliothek aufsetzt. Letztere liegt mittlerweile allen guten Distributionen bei. Haben Sie sie eingespielt, genügt ein ./configure && make && make install, um POEdit zu übersetzen und zu installieren. Nach dem ersten Start durch die Eingabe von poedit fragt das Programm einige Benutzerdaten ab (vgl. Abbildung 1).

Abbildung 1: In diesem Einstellungsdialog fragt POEdit die Grundeinstellungen ab. Es genügt dabei die Angabe des Namens und der E-Mail-Adresse.

Alle weiteren Einstellungen können Sie auf den voreingestellten Werten belassen. Nach einem Klick auf OK erscheint das Hauptfenster aus Abbildung 2.

Abbildung 2: Das Hauptfenster von POEdit nach dem Öffnen seiner deutschen Sprachdatei.

Um eine neue Übersetzung zu beginnen, wählen Sie aus dem Menü Datei/Neuer Katalog aus POT-Datei.... Suchen Sie nun die POT-Datei, auf der die neue Sprachdatei basieren soll. Dann erscheint das Fenster aus Abbildung 3.

Abbildung 3: Nach dem Laden einer POT-Datei müssen Sie diese Grundeinstellungen ergänzen.

Dort verlangt es noch ein paar Angaben zum Projekt. Gerade im Hinblick auf eine spätere Veröffentlichung sollten Sie hier so viele Punkte wie möglich ausfüllen. Felder, die Sie nicht vervollständigen können, belassen Sie einfach unausgefüllt oder auf ihren Standardeinstellungen. Alle eingetragenen Daten speichert das Programm in der PO-Datei. Später finden Sie die Daten unter Katalog/Optionen . Nach einem Klick auf OK möchte das Programm noch wissen, wie die neue PO-Datei heißen soll. Damit sind sämtliche Vorbereitungen abgeschlossen.

Falls das Projekt keine POT-Datei enthält oder Sie eine bereits vorhandene PO-Datei bearbeiten möchten, wählen Sie im Menü Datei/Öffnen. Im ersten Fall sollten Sie die Datei zur Sicherheit noch unter einem anderen Namen speichern.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1199 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zum Autor

Tim Schürmann

Tim Schürmann

Tim Schürmann ist Diplom-Informatiker und derzeit als freier Autor unterwegs. Mehr Informationen finden Sie auf seiner Homepage unter http://www.tim-schuermann.de.


Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...