Когда-то была такая задача (в контексте мультиязычной библиотечной системы).
Тогда пришел к выводу, что проще всего рассматривать "перевод" контролов, как частный случай строкового значения какого-либо свойства какого-либо компонента на форме.
А "перевод" хранить в текстовом файле (в кодировке utf8, например) .
Где формат строк такой :
ИмяКомпонента.ИмяСвойства.Язык=Наименование
Например:
Label1.Caption.RUS=Привет
Label1.Caption.ENG=Hello
В этом случае все свелось к однотипным и простым операциям.
С использованием функций модуля TypInfo.
К сожалению, даже "вырванные" тексты соотв. функций занимают примерно 12 тыс. символов.
Поэтому привести их здесь не могу.
Но если кому-то интересно - могу где-нибудь разместить и кинуть сюда ссылку сегодня-завтра.
|