Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Projektübersetzung mittels Ressource Dlls

  Alt 15. Okt 2014, 16:12
Mit der Delphi ITE hatte ich auch schon so meine Problemchen - obwohl immer mal wieder ausprobiert.

Mit dem Prinzip von DxGetText konnte ich mich auch nach mehreren Anläufen nicht so recht anfreunden. Andererseits ist das Ding kostenfrei.

Seit einigen Jahren verwende ich den Korzh Localizer. Wie wohl jedes System hat auch dieses seine kleinen Macken und Eigenheiten, aber ich komme für meine Zwecke ganz gut damit zurecht. Im Laufe der Zeit habe ich mir ein paar kleine Tools geschrieben, die einem die Arbeit insbesondere im automatischen Build etwas erleichtern.

Auch der Localizer arbeitet im Endeffekt mit dem Prinzip der Resourcen-DLLs, da dieser Mechanismus in Delphi halt auch schon implementiert ist. Damit halten sich die Eingriffe in das System und insbesondere in die Sourcen schon ziemlich in Grenzen. In der Standard-Version reicht es schon, die Sprach-DLLs neben die Exe zu legen. Wenn man die Systemsprache nicht will, setzt man einfach einen Registry-Eintrag. Bei der On-The-Fly-Version kann man die Sprache im laufenden Betrieb umstellen. Dabei werden die Sprach-Dlls dynamisch erzeugt und dann geladen. Das erfordert natürlich das einbinden der dazu nötigen Localizer-Units. Das Problem der kontextsensitiven Button-Captions löst man sinnvollerweise mit resourcestring über Actions in deren OnUpdate-Event (übrigens auch ohne das Übersetzungsproblem).

Wenn man im Programm eine Liste der verfügbaren Sprachen anzeigen bzw. eine daraus auswählen will, dann tut man sich mit dem Einbinden der entsprechenden Units auch einen Gefallen. Andernfalls müsste man die Liste selbst zusammenstellen bzw. den Registry-Eintrag selber setzen.

Zu TsiLang und Sisulizer kann ich nichts sagen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat