Leute bei einem Formular und vielleicht 20 Texten würde ich noch nicht einmal drüber nachdenken, irgend etwas anzupassen. Einfach die Texte, die man übersetzen will, nach meinem Vorschlag einlesen. Wer will, kann noch folgende Funktion verwenden:
Delphi-Quellcode:
Function Translate (string aKey, aDefault : String) : String;
begin
Result := Translations.Values[aKey];
if Result='' then Result := aDefault;
End;
Dann schreibt man einfach:
Delphi-Quellcode:
...
MyLabel.Caption := Translate('MyLabel',MayLabel.Caption);
...
D.h. man übergibt einfach der 'Translate'-Funktion einfach den aktuellen Wert. Wenn nun -aus welchem Grund auch immer- der übersetzte Text nicht vorhanden ist, wird wenigstens der Originaltext verwendet.
Klar, kann man alles verbessern, automatisieren, per
RTTI automatisch erstellen, aber wie schon gesagt: Bei 1-2 Formularen absoluter Overkill. Oder Spielerei.