Создание многоязычных приложений, переводимых пользователями (download, исходники)Источник: tsilang
TЗадача создания многоязычных приложений, в которые пользователи могут добавлять свои переводы и языки, гораздо проще, чем видится на первый взгляд. Конечно, учитывая, что мы используем TsiLang Components Suite в своих разработках. Рассмотрим решение данной задачи на примере проекта MastApp из папки примеров Delphi. 1. Перевод проекта На переводе проекта мы не будем долго останавливаться, подразумевая, что Вы уже освоили эту часть. Можно только обратить внимание на используемые компоненты. В проекте мы будем использовать один TsiLangDispatcher, один TsiLang и TsiLangLinked на остальных формах.
Изображение 1. Мастер перевода Delphi. Вставляем TsiLang и TsiLangDispatcher на модуль MastData, так как он создается автоматически и используется всеми модулями проекта. 2. Создание файла переводов. После ввода переводов для всех форм, а можно и не вводить переводы, оставив только английские термины, мы можем экспортировать переводы во внешний файл. Для этого воспользуемся функцией File/Save/Load Translations/Save Project из меню TsiLang Expert (TsiLang Expert находится в меню Tools). Мы рекомендуем использовать SIB файлы для хранения переводов, так как работа с ними гораздо быстрее, по сравнению с SIL файлами. Но Вы можете выбрать и SIL файлы, так как они хранят данные в обычном текстовом виде и могут быть отредактированы любым текстовым редактором. 3. Использование внешнего файла и динамическое изменение доступных языков. Вы можете использовать два варианта:
В первом варианте, диспетчер будет самостоятельно проверять наличие файла, указанного в свойстве FileName и загружать его во все формы. Для второго варианта можно использовать следующий код:
Вы просто должны определиться, какой из методов будет использован, исходя из собственных предпочтений. Для динамического отображения доступных языков мы:
Изображение 2. Добавление меню языков Delphi.
Внимание! Код обновления и отображения языков должен выполняться после загрузки файла переводов. 4. Заключение. Теперь запускаем проект на выполнение и "вот и все"! Как видите, задача, казавшаяся сложной, решена в течение нескольких минут, используя TsiLang Components Suite. Пользователи смогут переводить Ваше приложение без Вашего участия и перекомпиляции. В каталоге Download Вы можете найти другие полезные материалы - утилиты, программы, документацию, исходники, электронные книги. Если Вы обнаружили неработающую ссылку, пожалуйста, помогите другим посетителям и администратору каталога Download - сообщите об этом редактору. |