Schlechte Erfahrungen habe ich mit Systemen gemacht, die die EXE patchen, d.h. Resourcestrings austauschen, denn teilweise funktioniert das Ganze dann nicht mehr. Das waren zwar Einzelfälle, aber es ist mir wurscht. Einige meiner Programme waren darunter und damit war der Ansatz gestorben.
Die TSiLang-Suite ist recht brauchbar, da sie im Quelltext ansetzt. Man muss sich nur angewöhnen, Strings im Quelltext gleich als
VAR
oder
CONST x:String=...
anzulegen und den konkreten Text in der Initialisierung der
Unit aus der Repository zu laden.
Delphi-Quellcode:
Procedure MyInit;
Begin
myString := myTranslation.GetTextOrDefault('the default text of my string');
So oder ähnlich ging das. Die
DFM wird automatisch übersetzt, bzw. werden die Strings gleich in die Repository zum Übersetzen genommen.
Legacy Code wird aber auch über einen rudimentären Parser konvertiert. Manchmal muss man selbst noch Hand anlegen, weil das Teil mit einer heißen Nadel gestrickt ist, aber alles zu verschmerzen. Beim Umstieg von der
ITE auf TSiLang mit gefühlten 100 Units und Formularen hatte ich kaum Probleme. Nur die Übersetzung haben wir nochmal gemacht, aber der Kunde war dankbar und hat mitgeholfen.
Nie Probleme gehabt, ausgereifte Lösung. Das Übersetzerbüro kann Text-Dateien bekommen oder aber ein freies Tool, was die Übersetzungen gleich ins Binärformat packt. Echt praktisch. Umschalten der Sprache zur Laufzeit ist auch kein Problem, ein 'dazulernendes' Wörterbuch hat man auch, also was will man mehr?
"3x an der
ITE verzweifelt" Ist vom Aufwand fast gleichzusetzen mit "TSiLang kaufen".