Es gibt bei den "üblichen Verdächtigen" (Torry, DSP, Delphi Pages) einige Komonenten, welche das Entwickeln mehrsprachiger Programme erleichtern sollen. Einfach dort mal mit dem Suchbegrif "translate" u. dgl. suchen.
Ich habe das Problem einmal mit der ausschließlichen Verwendung von String-Variablen für alle Texte und je Sprache einer
Unit für die Zuweisungen gelöst, da der Kunde verlangt hatte, dass seine Anwender während der Laufzeit jederzeit die Sprache umschalten können. In diesem Fall werden sämtlichen String-Variablen die neuen Werte zugewiesen und alle Buttons und Menüeinträge neu beschriftet.