От установки до многоязычного приложения за несколько шагов. Это руководство показывает, как TsiLang Expert, инструмент, входящий в набор, добавляет перевод в проект Delphi или C++Builder. В примере используется MDI-приложение, которое поставляется с каждой установкой RAD Studio.
Закройте все запущенные экземпляры RAD Studio, Delphi или C++ Builder.
Запустите TsiLangTrialSetup.exe и следуйте инструкциям.
Когда сценарий установки завершится, TsiLang Components Suite будет автоматически установлен в выбранные IDE.
Зарегистрированная версия
Примечание: Если ранее вы устанавливали пробную версию TsiLang Components Suite, удалите ее с компьютера и убедитесь, что все ее файлы полностью удалены.
Закройте все запущенные экземпляры RAD Studio, Delphi или C++ Builder.
Запустите SISETUP.EXE (SIBINARY.EXE для редакции DCU-Only) и следуйте инструкциям. Сценарий установки скопирует исходные файлы в папку назначения и настроит путь к библиотекам для выбранных IDE.
Когда сценарий установки завершится, TsiLang Components Suite будет автоматически установлен в выбранные IDE.
Примечание 2:Пример перевода ниже — упрощенная демонстрация, предназначенная только для иллюстрации.
Чтобы добавить в проект поддержку локализации и многоязычности, выполните следующие действия:
Откройте проект, который нужно перевести.
В главном меню IDE выберите Tools | TsiLang Expert. (TsiLang Expert — мощный инструмент, упрощающий перевод вашего проекта.)
Чтобы продолжить локализацию с помощью TsiLang Expert, выполните следующие действия:
Выберите в списке Expert все формы проекта (щелкните первую форму, удерживая Shift, щелкните последнюю).
На вкладке File в группе Selected нажмите Wizard.
На первой странице мастера нажмите кнопку Next.
В списке форм выберите главную форму проекта.
В раскрывающемся списке справа задайте для главной формы тип TsiLang.
Для всех остальных форм в списке задайте тип TsiLangLinked.
Эти настройки обеспечат правильную связь главной и остальных форм проекта с TsiLang для перевода.
На второй странице мастера (Fine Tunings) оставьте выбранным Set the LangDispatcher property to, выберите главную форму и нажмите Create new…. Откроется диалог Configure Languages (он также открывается кнопкой Configure…, если диспетчер уже существует): задайте Languages Count и названия в Language List (Ordered), используя Move Up, Move Down, Rename, Add и Delete, затем нажмите OK. Мастер добавит TsiLangDispatcher на главную форму. Параметр Set languages settings manually здесь остается недоступным; список языков в нем берется из Default languages list в параметрах Expert.
Оставьте отмеченным Set the CommonContainer property to, с выбранными главной формой и Newly inserted (TsiLang), чтобы формы с TsiLangLinked использовали переводы главной формы. Нажмите Next.
На третьей странице, Configure properties, можно оставить значения по умолчанию. Чтобы изменить дополнительные свойства TsiLang для всех выбранных компонентов, сначала отметьте Configure additional properties, затем измените список. Нажмите Next и дойдите до конца мастера.
Шаг 3. Ввод переводов
Когда мастер завершит работу, вы можете открыть Редактор переводов в TsiLang Expert, выполнив следующие действия:
В TsiLang Expert найдите форму, которую нужно перевести.
Дважды щелкните форму, чтобы открыть Редактор переводов.
Редактор переводов покажет список свойств и компонентов, которые можно перевести.
Выберите нужный компонент или свойство.
Введите перевод в столбец соответствующего языка.
Повторите эти действия для всех компонентов и свойств, которые нужно перевести.
На вкладке Editor в группе Actions нажмите Save & Close, чтобы сохранить переводы и закрыть Редактор переводов.
Редактор переводов дает удобный интерфейс для управления переводами ваших форм.
Исключение элементов из перевода
Если нужно исключить некоторые свойства компонентов из перевода, просто оставьте соответствующее языковое поле пустым в Редакторе переводов. Это означает, что свойство должно остаться без изменений и не переводиться.
Еще один способ исключить компонент или свойство из перевода — контекстное меню Редактора переводов. Вот как это сделать:
Найдите компонент или свойство, которое нужно исключить из перевода.
Щелкните компонент или свойство правой кнопкой мыши, чтобы открыть контекстное меню.
В контекстном меню выберите команду «Exclude».
Выбрав команду «Exclude», вы указываете, что компонент или свойство нужно исключить из процесса перевода. Это значит, что при переводе оно не будет изменено или переведено.
Этот способ позволяет быстро исключить отдельные компоненты или свойства из перевода, не покидая Редактор переводов.
Шаг 4. Смена языка в коде
Чтобы сменить активный язык программно, используйте свойство ActiveLanguage компонента TsiLangDispatcher. Ниже приведен пример кода на Delphi:
procedure TMainForm.MenuItemGermanClick(Sender: TObject);
begin
siLangDispatcher1.ActiveLanguage := 2;
end;
procedure TMainForm.MenuItemEnglishClick(Sender: TObject);
begin
siLangDispatcher1.ActiveLanguage := 1;
end;
Шаг 5. Идите дальше
Жестко заданные строки в исходном коде
TsiLang Expert умеет анализировать исходный файл, собирать и переводить строки и строковые константы, используемые в проекте Delphi. Вот как использовать эту возможность:
Выберите форму для анализа в списке TsiLang Expert.
На вкладке File в группе Strings in Source нажмите w/ Form (или w/o Form для модуля без формы).
TsiLang Expert просканирует исходный файл и откроет диалог Found String Constants со всеми найденными строками и строковыми константами.
Проверьте список: в каждой строке указаны номер строки кода, созданный идентификатор строки, сама строка и код, который ее заменит. Используйте Delete, чтобы удалить выбранные строки, Exclude, чтобы никогда больше не находить строку ни в одном проекте, или Ignore, чтобы пропустить ее при следующем сканировании этого модуля.
Нажмите Modify Source. TsiLang Expert заменит каждую строку в коде вызовом, возвращающим перевод для активного языка, и добавит строки в свойство Strings компонента TsiLang.
Переведите собранные строки в Редакторе переводов, как любой другой текст.
С помощью кнопок Strings in Source TsiLang Expert проанализирует ваш исходный код и автоматически извлечет строки, избавив вас от ручного поиска и сбора строк для перевода.
Перевод DBGrid
Чтобы перевести TDBGrid с помощью TsiLang, выполните следующие действия:
Добавьте нужные поля в редакторе полей TDataSet.
В TsiLang Expert выберите форму и нажмите Translate в группе Selected (или дважды щелкните форму), чтобы открыть Редактор переводов.
В Редакторе переводов найдите и выберите узел DisplayLabels в дереве переводов. Этот узел представляет свойство DisplayLabel полей в TDBGrid.
Введите переводы свойства DisplayLabel для соответствующих полей.
Введя переводы, нажмите Save & Close в группе Actions на вкладке Editor, чтобы сохранить переводы и закрыть Редактор переводов.
Выполнив эти шаги, вы сможете перевести свойство DisplayLabel полей в TDBGrid с помощью TsiLang и Редактора переводов.
Кроме того, если вы предпочитаете переводить таблицы без добавления полей, можно использовать свойство Collections компонента TsiLang. В этом случае вы переводите элементы свойства Columns таблицы, которое описывает заголовки столбцов и другие свойства столбцов таблицы.
Компиляция и поставка
Скомпилируйте проект, чтобы получить многоязычное приложение. Теперь пользователи могут переключать языки во время работы, а новые языки можно добавить позже без изменения кода.