![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Многоязычная программа [D6, WinXP]
Knoxville © (2005-01-23 20:31:00)Подскажите пожалуйста где лучше хранить все языки программы (рус, укр, анг) и как их правильно загружать? Я хранил языки отдельных ini замаскированых под *.lng, но при загрузке большого кол-ва текста выдавалась ошибка (access violation вроде-бы).
Спасибо всем!
atruhin (2005-01-24 08:59:00) [1]В EhLib есть очень удобный компонент PropStorageEh позволяет сделать это автоматически, выбираешь какие свойства компонентов сохранить и все. После этого полученный ini файл переводиш на любой язык. Загружать будет сам компонент по автомату
Anonimus (2005-01-23 22:09:00) [2]ЗЫ забыл. Перебираешь все компоненты в цикле, а если текущий компонент может содержать дочерние - то рекурсия. Ни и для TreeView & подобных - своя обработка.
Сорри если немного путано. :) Вечер уже.
Anonimus (2005-01-23 22:07:00) [3]Копай в сторону Application.Components. Пишешь прогу на каком угодно языке (англ, рус....) Далее юзаешь Component.Name, If <ComponentName> Is <ComponentType> then <ComponentName> as <ComponentType> do <ComponentName>.<Text/Caption/Hint/....> := ....
Муторное дело. Мож кто знает готовый компонент.
Я для начала экспортировал тексты со всех компонентов в текстовый файлик, потом потом загружал оригинальный/переведенный файл. Посмотри как Опера сделана. А вообще при таком подходе можно пару процедур универсальных сделать и горя в последствии не знать. Тока со сторонними компонентами траблы будут....
Поручик (2005-01-23 21:47:00) [4]
> Я делал, так...
Я так и представлял, только в тумане =)
Knight (2005-01-23 21:31:00) [5]
> [5] Поручик © (23.01.05 21:21)
> Я автопилоту не доверяю, как это в ручную делается?
Я делал, так... создавал набор переменных типа
BTN_OK, MF_MM_ADD_ITEM и т.п.
а потом подгружал значения из выбранной dll-ки
если таковой не было, то присваивал по-умолчанию значения на английском...
А вообще... как придумаешь, так и делается... %)
KilkennyCat (2005-01-23 21:28:00) [6]Если не ошибаюсь, у RxLib есть пример.
Поручик (2005-01-23 21:21:00) [7]Я автопилоту не доверяю, как это в ручную делается?
Поручик (2005-01-23 21:21:00) [8]в VC++ нету Project>languages>add
Knight (2005-01-23 21:10:00) [9]А объясните коротко использование - Project/Languages/Add...
Поручик (2005-01-23 21:03:00) [10]А где можно почитать про принцип работы, смутно это представляется
Knoxville (2005-01-23 20:45:00) [11]А с XML как работать?
Юрий Зотов (2005-01-23 20:39:00) [12]Хранить - где угодно (ini, xml, dll, IStorage и пр.).
Как загружать - зависит от того, где хранится.
Access Violation - дело было не в бобине, как говорят шоферы...