Die Sprachauswahl ließe sich noch umschreiben:
Delphi-Quellcode:
const
Languages: array[0..1] of string = ('en', 'de');
function Uebersetzung(const Ausgangstext, sl, tl: string): string;
begin
...
//if i = 0 then
//r := Idhttp1.Get('http://translate.google.de/translate_t?hl=&ie=UTF-8&text=' + t + '+%0D%0A&sl=de&tl=en#');
//if i = 1 then
//r := Idhttp1.Get('http://translate.google.de/translate_t?hl=&ie=UTF-8&text=' + t + '+%0D%0A&sl=en&tl=de#');
r := IdHttp1.Get('http://translate.google.de/translate_t?hl=&ie=UTF-8&text=' + t + '+%0D%0A&sl='+sl+'&tl='+tl);
...
end;
...
Foo := Uebersetzung('Bar','de','en'); // Übersetze 'Bar' von Deutsch nach Englisch
Fuu := Uebersetzung(Foo,Languages[0],Languages[1]); // und wieder zurück