Aber nebenbei: Benutzt eigentlich wirklich jemand produktiv diese Delphi-eigenen Übersetzungswerkzeuge?
Ich habe das Anno dazumal versucht und recht schnell sein gelassen.
Mir ging es genauso, allerdings ist das schon mindestens 15 Jahre her. Vielleicht sind sie ja besser geworden?
Dafür ist es zu einschränkend und umständlich. Zum Beispiel um Strings in einer
Unit zu übersetzen, musst du diese als
resourcestring
-Konstante deklarieren.
Es gibt immer wieder Leute, die das fuer einen Vorteil halten. Ich konnte deren Argumente nie nachvollziehen, ausser einem: Man kann die Uebersetzung dann mit einem beliebigen Tool, das Resource Strings unterstuetzt, durchfuehren.
Schau dir mal
GNU GetText an. Einen ähnlichen Ansatz nutzen wir auch für unsere Anwendung (Deutsch, Englisch, Slowakisch, Spanisch, Japanisch, Russisch, ...)
Bei GNU GetText extrahiert er automatisch Strings aus
DFM Dateien. Und für deine Texte im Code musst du diese in
_('...')
kapseln. Also zB ...
Delphi-Quellcode:
MessageDlg(_('Hallo Welt'), ...);
Label_Status.Caption := Format(_('Kopiere %s nach %s'), [strSourceFile, strTargetFile]);
// usw.
Da fehlt noch was: Man muss die Uebersetzung eines Formulars im Constructor oder in OnCreate mit
Delphi-Quellcode:
constructor TMyForm.Create(_Owner: TComponent);
begin
inherited;
TranslateComponent(Self);
end;
anstossen.
Es gibt keine DLLs und der Übersetzer braucht nur einen Texteditor.
Oder er benutzt ein Tool, das bequemer ist, z.B.
PoEdit oder das von mir favorisierte
Gorm bzw. ein
neueres Release