Iniditor (Delhpi) №1 — Мультиязычность

Автор: | 17.08.2018

В этой статье я расскажу вам как были реализованы некоторые возможности моей программы с примерами кода.

Подготовка

Для реализации мультиязычности в своей программе, я использовал сторонний компонент TsiLang. После установки компонента, нужно создать новый проект и в пункте меню «Tools» выбрать «TsiLang Expert».

В открывшемся окне нажимаем «OK», после этого мы видим такое окно где показываются все наши формы.

Тут нам надо выбрать File->Wizard. После нажимаем «Next>>» и тут уже выбираем нашу форму, а в открывшемся поле «TsiLang» выбираем «TsiLang»

Нажимаем «Next>>» и открывшемся окне, в поле «Form», указываем нашу форму. После нажимаем на кнопку «Create new».

Нажимаем «Yes» и в открывшемся окне переименовываем существующие языки на нужные, и при необходимости добавляем ещё. Нажимаем «OK» и в уже знакомом окне убираем галочку с «Set CommonContainer property to».  Далее до конца нажимаем «Next>>» и готово! Форма готова к переводу.


Перевод

Закрыв TsiLang Expert, вы увидите, что на вашей форме появились TsiLang и TsiLangDispatcher. Если вы хотите подкорректировать существующие языки, или добавить новые, дважды кликните по TsiLangDispatcher. Если вы готовы переводить программу, то дважды кликните по TsiLang и добавляйте нужные значения на другие языки.

Также вы можете назначать для разных языков разный Font в разделе «Fonts» правого меню.

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


Перевод кода

Если вам понадобилось переводить код для других языков, например:

ShowMessage('Hello World!');

На:

ShowMessage('Привет Мир!');

То зайдите в уже знакомый TsiLang Expert, выберете нужную форму, и перейдите по File->Source->With Form. Если у вас есть что переводить, откроется окно, где вы можете посмотреть что будет переводиться, и при необходимости проигнорировать некоторые строчки выделив их и выбрав Ignore->Mark To Ignore. Когда вы будете готовы нажмите на Modify Source, выберите «Yes». Теперь эти строчки кода появятся в TsiLang, в пункте Strings.


 

Применение перевода

Что бы поменять язык программы нужно вставить этот код в нужном вам месте.

siLang1.ActiveLanguage := 1;

Вместо siLang1 нужно указать имя вашего TsiLang, а вместо AvtiveLanguage номер
нужного языка.

Номера языков начинаются с 1, а не с 0, как можно сначала подумать.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.