Das K Desktop Environment

11.3. Hinzufügen einer Sprache zu einem Projekt

Selbstverständlich erleichtert KDevelop das Bereitstellen der Anwendung in verschiedenen Sprachen. Wenn Sie ein neues KDE-Projekt anlegen, wird ein Verzeichnis namens po in Ihrem Projekthauptverzeichnis erstellt. Dabei wird eine Datei namens &<;anwendungsname&>;.pot abgelegt. Dieses File enthält alle vom i18n()-Makro umschlossenen Zeichenketten aus Ihrem Quellcode. Von Zeit zu Zeit bietet es sich an, die pot-Datei mit "Projekt"-"Meldungen erstellen und verbinden" zu aktualisieren.

Unterstützung für eine Sprache fügt man über den Menüpunkt "Projekt"-"Neue Übersetzung hinzufügen" ein. Im nun erscheinenden Sprachauswahldialog suchen Sie sich die passende Sprache aus und drücken OK. Damit wird das entsprechende &<;sprache&>;.po-File im po-Verzeichnis erstellt. Beginnen Sie mit der Übersetzung der po-Datei, indem Sie sie in der Dateiansicht (RFV -- "Real File View") unterhalb des po-Directories oder aus dem LFV-Reiter unter "Übersetzungen" anwählen. Falls Sie KTranslator installiert haben, steht dieser nun im "Werkzeuge"-Fenster zur Verfügung, anderenfalls erscheint die Textdatei in der Karteikarte "Header/Ressource-Dateien". KTranslator vereinfacht die Übersetzung insofern, als dass es in Ihrer lokalen KDE-Installation vorhandene Übersetzungen scannt und Ihnen diese Zeichenketten zur Wiederverwendung zur Verfügung stellt.

Editieren Sie das po-File von Hand, so lohnt es sich, zunächst ein Beispiel anzusehen:
 #: kscribble.cpp:619
 msgid "Opens an existing document"
 msgstr ""

Es zeigt eine Zeichenkette, die aus der Datei kscribble.cpp und dort aus Zeile 619 stammt. Die Tags msgid and msgstr enthalten das ganze Geheimnis der Übersetzung: msgid bezeichnet den originalen, msgstr nimmt den übersetzten String auf. Achten Sie hier auf Escape-Sequenzen wie \n or \t, die auch in der Übersetzung wieder auftauchen müssen. Nachdem ein deutscher Übersetzer seine Arbeit getan hat, sähen die obigen Zeilen folgendermaßen aus:

 #: kscribble.cpp:619
 msgid "Opens an existing document"
 msgstr "Öffnet ein existierendes Dokument"

Das wäre schon alles, was es bei der Übersetzung zu beachten gibt, solange Sie darauf achten, die geänderte po-Datei auch abzuspeichern. Wenn make im po-Verzeichnis seine Arbeit verrichtet, wird auch diese Datei abgearbeitet. Fehlermeldungen treten an dieser Stelle auf, wenn die Übersetzung nicht mit dem Original konsistent ist, sprich: wenn Escape-Sequenzen vergessen wurden. In diesem Fall berichtigen Sie die entsprechende Zeichenkette und prüfen, dass make nun fehlerfrei läuft.

Lassen Sie Vorsicht walten bei kaufmännischen Und-Zeichen innerhalb von Zeichenketten. Der Buchstabe nach dem & wird in Verbindung mit der ALT-Taste als Shortcut oder Keyboard-Akzellerator gebraucht, um den Tastaturfokus schneller zu einem ins Auge gefassten Menüpunkt oder Button zu dirigieren. Wenn das Akzellerator-Zeichen mehr als einmal in Reichweite ein und desselben Keyboard-Fokus auftaucht (das wird von Fall zu Fall das Hauptwidget oder ein Dialog sein), kann außer dem ersten Ziel kein weiteres mehr über den Shortcut angesprochen werden. Daher haben sogar Übersetzer eine gewisse Verantwortung dafür, das die Anwendung in ihrer Sprache vernünftig verwendbar bleibt. Da es keinerlei Garantie dafür gibt, dass der Originalbuchstabe in der Übersetzung überhaupt auftaucht, müssen Übersetzer mit Bedacht einen passenden Shortcut aussuchen und die Anwendung in der Übersetzung vor allem sehr sorgfältig auf Fehlfunktionen testen.