Inhaltsverzeichnis
Translate

GnuGetText-Werkzeuge für Delphi


Grundfunktionen

Erstellen einer po-Schablone aus den Komponenten eines Delphi-Projektes

Das Programm ggdxgettext.exe durchsucht die Quelltexte (dpr, dfm und pas-Dateien) eines Delphi-Projekts nach zu übersetzenden Strings und erstellt daraus ein po-Schablone.

Einstellungen

Nach dem Start des Programms öffnet sich das rechts angezeigte Fenster, in dem an oberster Stelle das Projektverzeichnis (Basisverzeichnis) zu benennen ist. Es kann entweder bereits beim Aufruf des Programms in der Befehlszeile angegeben (s.u.) oder mit einem Klick auf das Symbol rechts in einem Dialog ausgewählt werden. Weitere Optionen:

Nach Klick auf OK startet das Durchsuchen der ausgewählten Quelldateien.

Verarbeitung

Im Dialogfenster (siehe Abb. rechts) wird der Verlauf der Suche nach zu übersetzenden Strings angezeigt. Ein besonderes Augenmerk sollte man darauf haben, ob Fehler angezeigt werden, z.B. wenn nicht ASCII-kodierbare Zeichen in den Quelltexten verwendet werden. In diesem Fall muss man entweder diese Zeichen ändern oder eine andere Text-Kodierung auswählen (s.o.).
Die Ausgabe der Schablone erfolgt grundsätzlich immer im UTF-8-Format.

Befehlszeile

Aufruf: ggdxgettext.exe <name> [options]
  <name> Name des Basis-Verzeichnisses oder der Datei, die zu durchsuchen ist
  /dom:<domain> Verwende eine andere Text-Domäne (anstelle von default)

Beispiel:
  ggdxgettext.exe "E:\Projects\Translate\sample\" /dom:sample.



Zusammenführen einer Übersetzung mit einer aktualisierten Schablone

Mit dem Programm ggmerge.exe werden die in einer aktualisierten Schablone neuen und geänderten Strings in die po-Datei mit der Übersetzung eingefügt. Diese muss dann mit einem geeigneten Editor (z.B. PoEdit) weiter bearbeitet werden.

Einstellungen

Nach dem Start des Programms öffnet sich das rechts angezeigte Fenster, in dem an oberster Stelle die zu aktualisierende po-Datei anzugeben ist. Sie kann entweder bereits beim Aufruf des Programms in der Befehlszeile angegeben (s.u.) oder mit einem Klick auf das Symbol rechts in einem Dialog ausgewählt werden. Danach wird die zum Abgleich zu verwendende po-Schablone ausgewählt. Weitere Optionen:

Befehlszeile

Aufruf: ggmerge.exe <poname> [options]
  <poname> Name der zu aktualisierenden, übersetzten po-Datei
  /noedit Der zugeordnete Editor wird nicht gestartet.

Beispiel:
  ggmerge.exe "E:\Projects\Translate\sample\languages\de\default.po".



Konvertierung einer po-Datei in ein mo-Datei und umgekehrt

ggfmt.exe ist eine Konsolenprogramm, mit dem po-Dateien (Text) in binäre mo-Dateien und zurück konvertiert werden können.

Aufruf: ggfmt.exe <filename> [options]
  <filename> Name der zu konvertierenden Datei
Voreinstellung: Erzeuge eine binäre Liste (mo-Datei) aus den übersetzten Texten.
  /u Konvertiere eine binäre Liste in eine po-Datei (Text)
Standarderweiterung für die Ausgabedatei: .po
  /e:<ext> Erweiterung der Ausgabedatei, wenn anders als vorgegeben

Einbettung der Übersetzungen (mo-Dateien) in die exe-Datei des Programms

Mit dem Programm ggassemble.exe kann eine oder auch mehrere Übersetzungen in eine Exe-Datei eingebunden werden. Damit ist es für die Weitergabe des Delphi-Programms nicht mehr erforderlich, die Unterverzeichnisse locale\<Sprach-Id>\LC_MESSAGES\ beizufügen, da die Übersetzungen in die Exe-Datei integriert sind.

Das Programm benötigt die Angabe der zu bearbeitenden Exe-Datei. Diese wird normalerweise in der Befehlszeile angegeben (s.u.). Wenn diese Angabe fehlt, wird der Benutzer aufgefordert, die gewünschte Exe-Datei auszuwählen. Nach dem Start wird im Verzeichnis der exe-Datei in den Unterverzeichnissen vom o.g. Typ nach mo-Dateien gesucht und diese in einer Liste angezeigt. Der Benutzer wählt die einzubettenden Sprachen und Text-Domänen aus und klickt auf Starten. Voraussetzung für ein Funktionieren dieser Funktion ist es, dass in den Quelltexten des Programms die Unit GnuGetText.pas eingebunden ist und die exe-Datei frisch kompiliert ist, d.h. es wurden noch keine Übersetzungen eingebettet. Eine erfolgreiche Aktion wird durch eine entsprechende Nachricht (siehe Abb. rechts unten) angezeigt.


Befehlszeile

Aufruf: ggassemble.exe <filename> [options]
  <filename> Name der Exe-Datei, in die die mo-Dateien eingebettet werden sollen.
  /lang:<list> Liste der Sprachen, die eingebettet werden sollen
<list> ist eine Komma-separierte Liste der Sprachcodes nach ISO 639.
Beispiel: /lang:de,fr,es
  /dom:<list> Liste der zusätzliche einzubettenden Domänen (andere als default)
<list> ist eine Komma-separierte Liste der der Domänen-Namen
Beispiel: /dom:delphi10,dialogs,units
  /force Das interaktive Fenster nicht anzeigen, sondern sofort mit dem Einbetten beginnen (z. B. bei Stapelverarbeitung).

Integration der Funktionen in die Windows-Kontextmenüs

Bei der Installation des Programmpakets werden automatisch die erforderlichen Registry-Einträge vorgenommen, um die Windows-Kontextmenüs anzupassen:

1. Rechtsklick auf ein Verzeichnis, z.B. sample   2. Rechtsklick auf eine Quelltextdatei, z.B. GgtUtils.pas
durchsucht alle Programm-Quelltexte in dem ausgewählten Verzeichnis, um eine Übersetzungsschablone (po-Datei) zu erzeugen.   durchsucht die ausgewählte Quelltext-Datei, um daraus eine Übersetzungsschablone (po-Datei) zu erzeugen.
 
3. Rechtsklick auf eine po-Datei, z.B. default.po   4. Rechtsklick auf eine exe-Datei, z.B. GgtTranslate.exe
führt die Übersetzung mit der aktualisierten Schablone zusammen und startet einen Editor (z.B. PoEdit) für die Nachbearbeitung.   bettet die Übersetzungen in die ausgewählte exe-Datei ein.

J. Rathlev, D-24222 Schwentinental, Oktober 2024