# Das Handbuch zu &lokalize;

Nick
Shaforostoff

    shaforostoff@kde.ru

Ingo
Malchow

    ingomalchow@googlemail.com

Übersetzung
Justus
Seifert

    justus.seifert@googlemail.com

Übersetzung
Johannes
Obermayr

    johannesobermayr@gmx.de

Überarbeitung der Übersetzung
2007-2009
Nick Shaforostoff
&FDLNotice;
2012-02-20
1.5

&lokalize; ist ein rechnergestütztes Übersetzungssystem, das auf Produktivität und Qualitätssicherung ausgelegt ist. Es besteht aus den üblichen Komponenten für solche Systeme: Übersetzungsdatenbank, Glossar und auch eine einzigartige Möglichkeit zum Zusammenführen der Übersetzung mit dem Quelldokument (Synchronisation). Es ist für die Übersetzung von Software gedacht und bindet externe Umwandlungswerkzeuge für die freie Übersetzung von Bürodokumenten ein.

&lokalize;
Lokalisierung
l10n
Internationalisierung
i18n
Übersetzung
Globalisierung
g11n
XLIFF
gettext
OpenDocument
KBabel

## Einführung

Normalerweise werden die Texte der grafischen Oberfläche und die Dokumentation von Programmen auf Englisch geschrieben. Durch Verwendung von Dienstprogrammen und Bibliotheken ist es möglich, dass diese Programmtexte und Dokumentationen in der Muttersprache des Benutzers angezeigt werden. Der Prozess der Anpassung eines Programms an eine bestimmte Sprache wird Lokalisierung genannt. Lokalisierung umfasst die Übersetzung der Programmtexte und Dokumentation in verschieden Sprachen und für manche Länder und Regionen die Anpassung von Ein- und Ausgaben an die lokalen Besonderheiten. &lokalize; ist ein Werkzeug, das Sie bei der Lokalisierung der Texte in verschiedenen Sprachen unterstützt.

Jedes für die Internationalisierung vorbereitete Programm stellt ein oder mehrere Nachrichtenkataloge bereit. Diese Dateien haben die Erweiterung `class="extension" >.pot`. POT ist ein Akronym für Portable Object Template. &lokalize; ist ein hoch entwickelter und einfach zu bedienender Editor für PO-Dateien (&GNU;-Gettext-Nachrichtenkataloge). Es ist ein computer-unterstütztes Übersetzungssystem, von Grund auf neu auf der Basis der &kde;-4-Plattform entwickelt. Neben der grundlegenden Bearbeitung von PO-Dateien mit raffinierten Hilfen unterstützt es ein Glossar, eine Übersetzungsdatenbank, Diff-Modi zu Qualitätskontrolle, Projektverwaltung &etc; Es enthält Funktionen wie Navigation, erweiterte Bearbeitungsmöglichkeiten, Suchfunktionen, Syntaxüberprüfung und Statistiken.

Portable-Object-Dateien (.po): Jeder Übersetzer nimmt eine Kopie dieser POT-Vorlagen und beginnt damit, die fehlenden Übersetzungen einzutragen. Jede Nachricht wird in die gewünschte Sprache übersetzt. Die Datei mit den übersetzten Texten wird als PO-Datei (Portable Object) bezeichnet.

## Editor

### Hauptfenster

In der Voreinstellung besteht das Hauptfenster aus sechs Bereichen. Oben rechts wird der Quelltext (msgid) der geöffneten PO-Datei nur lesbar angezeigt. Darunter befindet sich der Editorbereich mit dem Zieltext (msgstr), der zur angezeigten msgid gehört. Hier kann die Übersetzung eingegeben und bearbeitet werden.

Das Hauptfenster von &lokalize; in der Voreinstellung
Standardfenster, wenn eine Datei geöffnet wurde.

Oben links im Hauptfenster werden die Übersetzungseinheiten als Liste angezeigt. Darunter befinden sich die Übersetzungs-Metadaten mit Kommentaren zum gerade angezeigten Quelltext. Unten links werden im Bereich Übersetzungsdatenbank Vorschläge vorhandener Übersetzungen aus der Datenbank zum aktuellen Quelltexteintrag angezeigt. Unten rechts im Hauptfenster erscheint das Glossar.

Die Übersetzungsdateien werden in zusätzlichen Unterfenstern mit zwei großen Fenstern zur Anzeige von Original und Übersetzung sowie einigen Werkzeugansichten geöffnet. Diese Ansichten können als Bestandteil des Hauptfensters nebeneinander oder gestapelt als Unterfenster und als unabhängige Fenster angezeigt oder auch ausgeblendet. Die Übersetzungsdateien bestehen aus vielen Paaren von Originaltext und Übersetzung, den sog. Einheiten. Eine Einheit entspricht üblicherweise einer einzelnen Zeichenkette in der Benutzeroberfläche oder einem Absatz in der Dokumentation. Im ersten Fenster (oben) wird der zu übersetzende Text angezeigt. Im zweiten Fenster (unten) kann die Übersetzung dieses Textes bearbeitet werden. Mit Hilfe der Übersetzungsliste oder durch die Verwendung der Tasten Bild ab und Bild auf kann durch die Einheiten geblättert werden.

Eine Einheit kann übersetzt oder nicht übersetzt sein. Eine bereits übersetzte Einheit kann den Status fertig oder nicht fertig (teilweise auch als fraglich bezeichnet) besitzen. Die Übersetzung einer nicht fertigen Einheit wird kursiv dargestellt. In &lokalize; kann anhand des Status schnell durch eine Datei navigiert werden. Die Menüeinträge und Kurzbefehle dazu sind im Menü Gehe zu auffindbar. Die Statusleiste unten im Hauptfenster zeigt die Nummer der aktuellen Nachricht, die gesamte Anzahl der Nachrichten, die Zahl aller nicht übersetzten Nachrichten und Anzahl der nicht fertigen (fraglichen) Nachrichten und den Status der aktuellen Nachricht an. Bei der Navigation in der Übersetzungsliste werden nicht übersetzte Nachrichten als nicht fertig berücksichtigt. Mit Bild ab kann zum nächsten Element in der gefilterten bzw. sortierten Liste gesprungen werden.

Zum Hauptfenster können Sie weitere Abschnitte wie Alternative Übersetzungen, Primärer Abgleich, Sekundärer Abgleich und Binäreinheiten hinzufügen, indem Sie sie aus dem Menü Einstellungen Ansichten auswählen.

### Werkzeugleisten

Sie können Aktionen zur Werkzeugleiste hinzufügen oder entfernen, indem Sie Einstellungen Werkzeugleisten einrichten ... aus dem Menü wählen.

Werkzeugleisten einrichten
Hier können Sie die Werkzeugleisten einrichten

Weitere Informationen dazu finden Sie im Abschnitt Anpassung der Werkzeugleisten der &kde;-Grundlagen.

### Kurzbefehle

Die Benutzung von Kurzbefehlen bei der Übersetzung ermöglicht ein sehr effektives Arbeiten. Um diese Kurzbefehle einzustellen, verwenden Sie Einstellungen Kurzbefehle einrichten ...aus dem Hauptmenü.

Kurzbefehle einrichten
Hier können Sie Kurzbefehle einrichten.

Weitere Informationen dazu finden Sie im Abschnitt Kurzbefehle der &kde;-Grundlagen.

### Allgemeine Hinweise

Beim Übersetzen von &kde; liegt entweder bereits eine Projektdatei (meist `index.lokalize`) im Projektordner vor oder es kann mittels Projekt Neues Projekt erstellen ein neues Projekt erstellt werden. Beim Erstellen eines neuen Projekts lädt der Assistent die Dateien für die Übersetzung herunter.

Zum effektiveren Arbeiten sollten die Tastenkürzel anstelle der Menüeinträge oder der Knöpfe in den Werkzeugleisten verwendet werden. Zum Beispiel wird mit &Ctrl;L zur Eingabezeile der Schnellsuche für das Filtern der Einheiten in der Übersetzungsliste gesprungen. Mit Bild ab ist dann das Bewegen in der gefilterten Liste möglich.

Falls mit Übersetzungsdateien im „XLIFF“-Format (definitiv bei OpenDocument) gearbeitet wird, sind weitere Status verfügbar (Neu, Benötigt Prüfung, Freigegeben, usw.). Diese können im Auswahlfeld Freigegeben in der Werkzeugleiste ausgewählt werden. Das Festlegen des Status Fertig oder Nicht fertig hängt vom aktuellen Arbeitsschritt ab (Übersetzung, Prüfung oder Freigabe). Der standardmäßige Arbeitsschritt hängt von der jeweiligen Rolle innerhalb des Projekts ab (siehe Projekt Projekt einrichten ...). Jede Einheit enthält in der Regel Informationen über die letztmalige Änderung und den jeweils in der Datei festgelegten Eigentümer des Arbeitsschritts.

## Projekte

### Allgemeine Anmerkungen

Projekte sind eines der wichtigsten Konzepte von &lokalize;. Ein Projekt besteht aus einer Datei, die Pfade zu den Ordnern mit Übersetzungen und Vorlagen enthält. Zu einem Projekt gehören noch weitere Dateien wie zum Beispiel eine Glossar-Datei, Skripte und eine Übersetzungsdatenbank. Wenn Sie mit &lokalize; eine Datei öffnen, ohne dass ein Projekt geladen ist, sucht &lokalize; in bis zu 4 Ebenen oberhalb des Ordners mit der Übersetzungsdatei nach einer Projektdatei. Alternativ können Sie die Projektdatei über die Option `--project` angeben, wenn Sie &lokalize; über die Befehlszeile starten.

Für jedes Projekt wird die eigene Rolle (Übersetzer, Prüfer oder Schlusszeichner) vergeben und bestimmt dadurch den automatischen Ablauf für die zu bearbeitenden Dateien.

Anders als die Projektdateien, das Glossar und die Skripte kann die Übersetzungsdatenbank nicht gemeinsam von den Mitgliedern eines Übersetzungsteams genutzt werden, da sie lokal in einem Ordner eines Benutzers erstellt und gespeichert wird. Alle Übersetzungsdatenbanken der verschiedenen Projekte werden im gleichen Ordner gespeichert. Die Einträge in den verschiedenen Datenbanken können dann in allen Projekten verwendet werden.

### Projektübersicht

Wenn Sie &lokalize; zum ersten Mal starten, wird ein leeres Unterfenster Projektübersicht angezeigt. Diese Übersicht enthält eine Dateiverwaltungsansicht mit einem Überblick aller PO-Dateien. &lokalize; hilft Ihnen schnell zu übersetzen und konsistente Übersetzungen zu erstellen. Der Arbeitsablauf in &lokalize; setzt voraus, dass Sie mit dem Öffnen oder Erstellen eines Projekts beginnen. Die Projektübersicht zeigt einen Dateibaum mit Statistiken zum geöffneten Projekt, wie zum Beispiel dem Prozentsatz der fertig übersetzten Nachrichten und dem letzten Übersetzer. In der Projektübersicht können Sie eine Datei öffnen, die dann zur Bearbeitung in einem eigenen Unterfenster geöffnet wird,

Für ein neues Projekt wählen Sie Projekt Neues Projekt erstellen. Im Menü Projekt finden Sie außerdem die Aktionen Projektübersicht, Projekt einrichten, Projekt öffnen und Kürzlich verwendetes Projekt öffnen.

Das Unterfenster Projektübersicht Hier können Sie Ihr Projekt einrichten.

Die Projektübersicht stellt eine Baumansicht der Dateien mit Statistiken wie den prozentualen Anteil übersetzter Einheiten und dem letzten Übersetzer dar. Sie ermöglicht das Öffnen einer ausgewählte Datei in einem neuen Unterfenster in &lokalize;.

## Glossar

Um die mehrfache Eingabe eines identischen Textes zu vermeiden, kann dieser Text in der Glossaransicht gesucht und mit einer Tastenkombination einfügt werden.

Natürlich muss das Glossar zuerst mit Einträgen gefüllt werden. Dazu bietet &lokalize; einen praktischen Glossareditor, der auch eine detaillierte Suche im gesamten Glossar ermöglicht.

Das Glossar rechts unten zeigt alle passenden Einträge für die aktuelle Einheit
Das Glossar rechts unten zeigt alle passenden Einträge für die aktuelle Einheit

## Übersetzungsdatenbank

In das Fenster mit der Übersetzungsdatenbank können beispielsweise Ordner mit Übersetzungsdateien aus &dolphin; gezogen werden. Dann werden die Übersetzungen in diesen Dateien in die Datenbank übernommen. Um Übersetzungsvorschläge in das Übersetzungsfenster einzufügen, wird &Ctrl;1, &Ctrl;2, usw. verwendet (je nach Anzahl der Vorschläge).

Benutzen Sie Extras Übersetzungsdatenbanken verwalten, um Projekte zu Ihrer Übersetzungsdatenbank hinzuzufügen. Hier können Sie auch Daten vom `tmx`-Dateiformat importieren oder in dieses Format exportieren.

Durch Drücken der Taste F7 wird ein neues Unterfenster mit der Übersetzungsdatenbank geöffnet. In diesem Unterfenster können Einheiten in der Übersetzungsdatenbank gesucht werden. Das Klicken auf das Ergebnis einer Suche öffnet die zugehörige Datei mit dieser Einheit. Um eine Datei schnell zu öffnen, die bereits in die Übersetzungsdatenbank eingelesen wurde, muss nur der Dateiname gefolgt von '*' in das Feld Dateimaske eingegeben werden, es ist nicht nötig, die Datei in der Projektübersicht zu suchen.

In der Übersetzungsdatenbank werden alle Einheiten einschließlich der fraglichen und nicht übersetzten indiziert. Damit müssen bei einer Suche nicht mehr alle Dateien im Projekt eingelesen und auf einen passenden Eintrag überprüft werden.

&lokalize; mit dem Ergebnis der Suche für die aktuelle Einheit aus der Übersetzungsdatenbank
&lokalize; mit dem Ergebnis der Suche für die aktuelle Einheit aus der Übersetzungsdatenbank

Grob-Übersetzung:

  Um genau passende Übersetzungen automatisch aus der Übersetzungsdatenbank einzufügen, wählen Sie Extras Alle exakten Übersetzungen einfügen oder Alle exakten Übersetzungen einfügen und als fraglich markieren aus dem Menü. Diese Funktionen entsprechen den Grobübersetzungen in &kbabel;.

## Abgleich von Übersetzungen

Der Abgleichmodus erspart viel Arbeit, wenn zwei oder mehr Übersetzer gleichzeitig an derselben Datei arbeiten, oder wenn ein Übersetzer verschiedene Zweige einer Software betreut.

&lokalize; ermöglicht eine schnelle Navigation durch die Einheiten mit unterschiedlichen Übersetzungen und zeigt die Unterschiede Wort für Wort an. Des Weiteren besitzt &lokalize; zwei Abgleichansichten - den Primären Abgleich und den Sekundären Abgleich. Beide Ansichten verhalten sich gleich, aber die erste wird normalerweise für das Zusammenführen und die zweite zum Abgleich von Übersetzungen in zwei verschiedenen Softwarezweigen verwendet.

Nachdem eine Übersetzung aus einer zusätzlichen Datei kopiert wurde (bzw. mit dieser abgeglichen wurde), werden alle nachfolgenden Änderungen an der entsprechenden Einheit auf die zusätzliche Datei zurück kopiert.

### Zusammenführen

Eine Verwendung findet der Abgleichmodus im Prüfen der (geänderten) Übersetzungen von (neuen) Übersetzern (sofern für die Qualität der Übersetzungen keine Sicherheit gegeben ist).

Hierzu wird die Ausgangsdatei geöffnet, die überarbeitete Datei in das Fenster Primärer Abgleich gezogen und schließlich mittels &Alt;Pfeil runter oder &Alt; Pfeil hoch durch die Einträge mit abweichenden Übersetzungen geblättert.

&lokalize; beim Zusammenführen von Änderungen in Übersetzungen
&lokalize; beim Zusammenführen von Änderungen in Übersetzungen

### Abgleichen

Im Abgleichmodus können Änderungen an Übersetzungen von zwei Zweigen gleichzeitig vorgenommen werden. Der Pfad zum Basisordner des Zweiges wird hierzu als Zweig-Ordner in den Projekteinstellungen gesetzt. Dann werden die Dateien in diesem Zweig automatisch als Sekundärer Abgleich geöffnet. Wenn nun Übersetzungen in Dateien im Hauptzweig geändert werden, werden diese Änderungen automatisch auch in den Dateien des Nebenzweiges vorgenommen (sofern der Originaltext in beiden Dateien übereinstimmt).

Wenn beispielsweise an der Übersetzung von &kde; gearbeitet wird, kann „trunk“ nach `/home/xx/hacking/kde/trunk/l10n-kde4/de` und „branch“ nach `/home/xx/hacking/kde/branches/stable/l10n-kde4/de` ausgecheckt werden. Das &lokalize;-Projekt `/home/xx/hacking/kde/trunk/l10n-kde4/de/projekt.lokalize` wird erstellt und `BranchDir=../../../branches/stable/l10n-kde4/de` gesetzt. Beim Bearbeiten des Projekts werden dann die Änderungen gleichzeitig im „trunk“- und „branch“-Verzeichnis ausgeführt.

### Alternative Übersetzungen

Jede Einheit hat verschiedene Alternative Übersetzungen, die mit ihr im Zusammenhang stehen. Solche Übersetzungen können während der Aktualisierung der Datei bei kleineren Änderungen der Quelle entstehen. In diesem Fall wird die alte Übersetzung zusammen mit der alten Quelle zu den Alternativen Übersetzungen verschoben und beide sind somit nicht verloren.

Beim Übersetzen von Software werden meist die „gettext“-Werkzeuge für die Aufbereitung der Übersetzungsdateien verwendet. Wenn sich der Originaltext für die Übersetzung ändert, aktualisieren die „gettext“-Werkzeuge die Übersetzungsdateien und markieren Einträge mit verändertem Originaltext als nicht fertig. Sie speichern den früheren Originaltext, sodass die Übersetzer genau sehen können, was sich verändert hat. &lokalize; erleichtert die Übersetzung, indem es die veränderten Teile des Originaltextes im Fenster Alternative Übersetzungen hervorhebt.

&lokalize; hebt die Teile des Ausgangstextes hervor die seit der letzten Überprüfung der Übersetzung verändert wurden
&lokalize; hebt die Teile des Ausgangstextes hervor die seit der letzten Überprüfung der Übersetzung verändert wurden

## Skripte in &lokalize;

&lokalize; ist durch die Verwendung von Skripten in verschiedenen Programmiersprachen (einschl. Python und JavaScript) erweiterbar. Die Skripte werden üblicherweise als Menüeinträge (ggf. mit Tastenkürzel) in die grafische Benutzeroberfläche von &lokalize; eingebunden. Der Ort und Name des Menüeintrags für das Skript wird in seiner `.rc`-Datei festgelegt. Beim Öffnen jedes Projekts durchsucht &lokalize; den Ordner `Projektordner/lokalize-scripts` nach `.rc`-Dateien und fügt diese zur Zwischenspeicher-Datei namens `Projektordner/lokalize-scripts/scripts.rc` hinzu (daher sollte vom Hinzufügen seines Projektverwaltungssystems abgesehen werden). Die `.rc`-Dateien enthalten auch die Skript-Pfade, welche möglicherweise relativ zum Ordner der `.rc`-Datei oder eines System-Skripts sind - sie unterstützen beides (die `.rc`-Dateien sollten für die gemeinsame Nutzung im Projekt `relativ` sein). Damit kann beispielsweise in `../../scripts/lokalize/opensrc.py` festgelegt werden, dass Skripte vom allgemeinen Skript-Ordner geladen werden (und nicht vom sprachenspezifischen Ordner).

Beispiele für `.rc`-Dateien sind möglicherweise im Installationsordner von &lokalize; (`/usr/share/kde4/apps/lokalize/scripts/` und &kde;-Quelltextarchiv zu finden. Hier sind weitere Skript-Beispiele wie beispielsweise das JavaScript-basierte `check-gui.js`, das bei jedem Speichern einer Datei läuft (dies wird durch eine spezielle Einstellung in der `.rc`-Datei bewerkstelligt). Bei Kenntnissen in Python oder JavaScript sollte der Quelltext selbsterklärend sein.

Nachstehend werden Verknüpfungen zu den Programmierschnittstellen (API-Referenzen) aufgeführt. Alles mit Q_SCRIPTABLE kann in Skripten Verwendung finden.

- Editor-Programmierschnittstelle

- &lokalize;-Programmierschnittstelle

- Projekt-Programmierschnittstelle

## Danksagungen und Lizenz

&lokalize;

Programm Copyright © 2007-2009, Nick Shaforostoff shaforostoff@kde.ru

Einiger Quelltext wurde vom &lokalize;-Vorläufer &kbabel; übernommen.

Dokumentation Copyright © 2007-2009 Nick Shaforostoff shaforostoff@kde.ru

Autor:

- Nick Shaforostoff shaforostoff AT kde.ru; Shankar Prasad svenkate AT redhat.com; Sweta Kothari swkothar AT redhat.com

Weitere Informationen finden sind auf der &lokalize;-Webseite verfügbar.

Übersetzung: Ingo Malchow ingomalchow@googlemail.com, Justus Seifert justus.seifert@googlemail.com

Überarbeitung der Übersetzung: Johannes Obermayr johannesobermayr@gmx.de

&underFDL; &underGPL;

&documentation.index;