Ein seit Jahren gewachsenes Projekt habe ich in verschiedene Sprachen übersetzt. Es gibt keine externen Sprachdateien. Alles ist einkompiliert.
Ein netter Nutzer des Programms möchte es jetzt in seine Landessprache übersetzen und hat sich dafür angeboten.
In welchem Format schicke ich denn jetzt die Dateien? Alles ist direkt in
pas-Dateien vorhanden moit den Zuordnungen für jedes Formular und jeder Variablen.
Eine Idee die ich diese Nacht hatte lautet ungefähr: ich schnappe mir die Dateien mit der englischen Übersetzung, filtere jeden String raus und baue daraus eine PO-Datei.
Ein beispiel ist hier zu finden
https://gist.github.com/bosskovic/5930785
Dafür brauche ich einerseits ein Tool, welches mit die PO-Datei baut und andererseits eines, was mit die Strings wieder in eine Pascal-Dummy-Datei packt.
Das könnte eine meiner Sprachdateien sein, wo alle Strings durch die msgid's ersetzt werden.
Pascal-Datei, ein absolut minimalistisches Beispiel
Delphi-Quellcode:
Programm.Caption := 'Programm v1.0 - no bugs - really!';
Programm.lblHello := 'Hello';
Ein Tool erzeugt mir daruas Dummy-Dateien
Delphi-Quellcode:
Programm.Caption := msgid:'Programm v1.0 - no bugs - really!';
Programm.lblHello := msgid:'Hello';
Noch ein weiteres filtert mir die Strings aus der eigentlichen Datei raus und erzeugt eine PO-Datei.
Und das letzte geht durch die PO-Datei und ersetzt die msgstr-Einträge (die Übersetzten strings) mit den msgid's aus der Dummy-Datei.