Nabend.
Hier möchte ich mal den Lingus, ein kleines Übersetzungswerkzeug für Delphi-Projekte, vorstellen. Über die Weihnachtszeit habe ich etwas rumgebastelt und dabei ist eben Lingus herausgekommen (kA ob der Name Sinn ergibt, mein Latein ist lange her). Die letzte Zeit habe ich in etwas Feinschliff investiert und ich denke, das Teil läuft schon ganz gut
.
Was macht dieser Lingus?- Ihr habt ein Delphi-Projekt
- Ihr importiert das Delphi-Projekt in Lingus, übersetzt es und speichert das Lingus-Projekt, wobei in den Ordner, der die neu erstellte Lingus-Projektdatei beinhaltet, auch eine Resourcendatei geschrieben wird
- Ihr fügt dem Suchpfad eures Projektes die LanguageObjects.pas hinzu (In der Zip und im Setup enthalten, im Quelltext sowieso)
- Ihr fügt den Units, die Forms oder Strings beinhalten, "uses LanguageObjects" hinzu
- Ihr ersetzt in diesem Delphi-Projekt alle Strings, z.B. wird 'EinString' zu _('EinString') (gettext-ähnlich)
- Ins OnCreate oder den Konstruktor der Formulare kommt ein Language.Translate(Self);
- In der Projektdatei eures Projektes muss nun noch ein {$R PfadZurLanguageRes.res} hinzugefügt werden, damit die Übersetzungen geladen werden können
Habe es hier mit Delphi 7 und 2010 getestet - Die Projekte, die die LanguageObjects.pas am Ende einbinden, benutzen dann die Units "Windows, SysUtils, Classes, StrUtils, TypInfo, Controls" - also noch nicht ganz Non-
VCL kompatibel, aber wäre noch ein interessantes Feature. Ich vermute, alles über NT4 oder 2000 funktioniert als Betriebssystem. Daten speichert der Lingus in der Registry unter HKEY_CURRENT_USER\Software\mistake.ws\Lingus.
Also, ich kann keine Garantie dafür übernehmen, dass es überall direkt ohne Probleme läuft, aber Lingus hat sich quasi selbst übersetzt und der streamWriter wurde auch mit Hilfe von Lingus "lokalisiert".
Bevor jetzt kommt, dass Lingus überflüssig ist: Ich habe vorher gettext benutzt, aber fand es irgendwie nicht ganz so schön. Möchte ich hier auch nicht näher drauf eingehen, jedenfalls ist das der Grund, weshalb ich Lingus gebaut habe.
Würde mich natürlich sehr freuen, wenn das irgendjemand ausprobiert und Feedback gibt.. Verbesserungsvorschläge, Fehlerberichte, Lob und so sind auf jedenfall erwünscht.
Danke schonmal.
Achja, im Anhang natürlich Zip, Source und Screenshots.
Weitere Infos, wenn z.Z. auch nicht mehr als hier gepostet:
Lingus-Webseite