Delphi-Quellcode:
PROCEDURE GetComponentCaptions(frm:TForm);
VAR
texts: TStringList;
comp: TComponent;
capt: String;
i: Integer;
BEGIN
texts := TStringList.Create;
TRY
WITH texts
DO BEGIN
Duplicates := dupIgnore;
Sorted := True;
FOR i:=0 TO frm.ComponentCount-1
DO BEGIN
comp := frm.Components[i];
capt := comp.Caption;
IF (comp.Name <> '')
AND
(capt <> '')
THEN Add(comp.Name+'='+capt)
END;
SaveToFile(CaptionFileName)
END;
FINALLY
texts.Free
END
END;
Du mußt dann nur über alle Forms iterieren, Dialoge müssen geöffnet sein. Die Beschriftungen der Buttons in den Dialogen kann auch geändert werden, bis auf wenige Ausnahmen.
Ach so, beim Setzen der Sprache dann genau umgekehrt verfahren:
Finde comp.Name
Setze die Caption