Da kommt es vermutlich auch wieder ein wenig auf die Art der Daten an. Bei uns sind das oftmals Dinge wie Rezeptbetrieb in einer intustriellen Produktionsanlage. Wenn dort z.B. ein Rezept ausgewählt wird, soll per Combobox ein Zielmischer wählbar sein. Ich habe alle Quellbehälter und Zielmischer in meiner
DB, sowie deren Inhalte. Zudem eine Kreuztabelle, die mir sagt welche Quellen auf welche Ziele fahren können. Dann steht im Rezept, welche Rohstoffe nötig sind. Aus diesen Infos kann ich dann eine Liste der Zielmischer erzeugen, die von allen Quellen, die die nötigen Stoffe beinhalten erreicht werden können. Alle Behälterdaten inkl. ihrer Namen stehen auch in der
DB, so dass ich meine Combobox damit gleich befülle. (Und den Index in die Objects-Property.)
Baut der Kunde dann mal einen neuen Behälter dazu, muss ich zur EInbindung in den Vollautomatikbetrieb einfach nur den neuen Tank in die Behältertabelle packen, und in der Kreuztabelle mit seinen Zielen verbinden. Und schon ist die neue Komponente "on the fly" voll einsatzfähig. Unsere Programme sind halt auch kundenspezifisch, und der Kundenstamm besteht eher aus wenigen großen als vielen kleinen. Dadurch fällt das "Breiten-Update-Problem" quasi weg. (Man hätte dieses aber auch bei in-code Daten, da muss dann eben überall das Programm getauscht werden, statt die
DB angepasst.)
Bleibt am Ende fast wieder nur: Es kommt halt immer darauf an, wofür man die Dinge genau einsetzt
Edit: Jetzt erst deinen letzten Satz gesehen, wodurch mir klarer wurde, wo du das Problem siehst. Ich habe es in einem Fall so gelöst, dass ich die Übersetzungen in eine separate Tabelle mit Fremdschlüssel und Tabellenname gepackt habe. War im Programm dann eine andere Sprache gewählt, wurden die Texte aus der jeweiligen Übersetzungstabelle geholt. Zugegeben: Das war an ein bestehendes Projekt "angebaut", und ginge vermutlich besser wenn man es von Anfang an voll integriert. Bei Übersetzungen statischer Texte in der
GUI, also Dingen, die nichts mit den Arbeitsdaten zu tun haben, nutzen wir ein 3rd Party Tool.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)