se puede hacer de muchas formas, normalmente se hace leyendo los valores
Componente.Caption des de un .ini o un xml.
Yo siempre lo he hecho con un ini, por ejemplo:
Código Delphi
[-]
procedure ChangeLanguage(Lang: String);
var
IniFile: TIniFile;
begin
IniFile := TIniFile.Create('.\'+lang+'.ini'); try
Componente1.Caption := IniFile.ReadString('Form1','Componente1','Componente1');
Componente2.Caption := IniFile.ReadString('Form1','Componente2','Componente2');
Form2.Componente1.Caption := IniFile.ReadString('Form2','Componente1','Componente1');
finally
IniFile.Free; end;
end;
Luego para ejecutarlo, pues nada:
Código Delphi
[-]
ChangeLanguage('Español');