Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мультиязыковая поддержка [D7, WinXP]


Страницы:   1 2 3

Still Swamp ©   (2008-01-31 13:07:00) 

Есть проект - около пяти сотен формочек.
Появилась забота перевести его на английский. Подозреваю что этим дело не ограничится.

До чего я додумался для визуальных объектов:
1. Сдлеать некую софтину которая обшуршивает DFM на предмет рускоязычнх сообщений и создает к ним файл. Сопоставляющий сигнатуру и содержимое.
2. Сделать форме метод которым она обшуршивает ресурс и все свои компоненты, подставляя вместо сигнатуры данные из файла.

Для кода.
1. Оббежать код собирая все что между скобками и содержит русский. Слить это в файл заменив текст коде вызовом возвращающим значение по сигнатуре.
2. Перекомпилить.

Прежде чем затеваться с таким деянием, хочу узнать, нет ли каких иных вариантов, или может кто то все вышеописанное уже реализовал?


Dimaxx   (2008-01-31 13:18:00) [41]

Вариант1:

Занести у нуждающихся в локализации контролов в Caption константы типа LNG_LABEL1. При создании формы обшаривать все контролы с caption, содержащей "LNG_", тащить из ini-файла соответствующую константе строку и записывать ее на место константы.

Вариант 2:

Использовать имя компонента в качестве константы. И тащить по нему соответствующие строки.

А для сообщений сделать в ini-файле отдельную секцию и пользоваться константами, например, так:

[SystemMessages]
Warning=<нужный текст>

Далее читать из ini по идентификатору и выводить.

Такой способ наиболее прост для последующего перевода программы на другие языки. Не нужны спец. программы (кроме Блокнота) для изготовления файла для другого языка. Я вообще делал динамическую загрузку в меню всех встреченных файлов локализации и при щелчке на пункте меню с нужным языком он менялся мгновенно.


clickmaker   (2008-01-31 13:16:00) [42]

Integrated Translation Manager попробуй для начала.
Он делает примерно то, что ты описал в 1.1 и создает ресурсные DLL


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо