Kennst Du CodesiteLogging? XE5 hat das dabei (denke ich).
CodesiteLogging in den Uses einbinden und dann
Delphi-Quellcode:
if suchwort = 'am' then ton2:='am';
if suchwort = 'im' then ton2:='im';
if suchwort = 'Bär' then ton2:='Baer';
Codesite.Send(Suchwort + '->' + ton2);
mediaPlayer1.FileName := TPath.Combine(TPath.GetDocumentsPath, (ton2+'.mp3'));
mediaPlayer1.Play;
So kannst Du zumindest mal die Ergebnisse verfolgen.
Oder hast Du einfach einen Bereichsüberlauf. Sind Deine Arrays mit 1 initialisiert?
Die Übersetzung würde ich aber wirklich über ein Dictionary, Stringlist oder Ini lösen.
Letzteres hätte den Vorteil, dass Du sie auch mal ohne Neukompilierung ändern und erweitern kannst.