Ich machs bei mir ganz einfach.
Für jede Sprache eine Ini-File.
Die gewüschte ini-File/Sprache wird dann mit einer Prozedur ausgelesen.
Die Prozedur speichert alle Konstanten in ein Array (oder halt mehrere um Übersicht zu bewahren) und anschließend werden alle Komponenten übersetzt. Um Performance zu wahren, übergebe ich mittlerweile ein paar Parameter, mit denen ich bestimmen kann, welche der Forms übersetzt werden sollen (weil die Forms dynamisch erstellt werden) und ob die Ini-Datei neu eingelesen werden soll.
Ansonsten hab ich schon von
DXGETTEXT gehört, der anscheindend auch Unicode unterstützen soll