Icon

DKLang Localization Package

Библиотека для локализации Delphi-приложений.

DKLang Localization Package — это набор классов, предназначенных для облегчения локализации (перевода на другие языки) приложений, написанных на Delphi.

Особенности

  • Простота использования. Положите на форму экземпляр TDKLanguageController, сохраните проект (при этом автоматически будет создан исходный языковой файл) и добавьте пару строк кода: вы получаете работающее многоязычное приложение! Подробности реализации см. в прилагаемых примерах.
  • Полная интеграция с библиотекой визуальных компонентов Delphi VCL. Возможность автоматизированного отслеживания изменений в структуре и свойствах форм, фреймов, модулей данных и т. п., и компонентов, им принадлежащих.
  • Полная поддержка Unicode.
  • Запоминание значений строковых свойств. Запоминание свойств класса TStrings, элементов списков класса TCollection и потомков TPersistent. При этом сохраняются лишь свойства, опознаваемые streaming-механизмом Delphi, как хранимые (stored).
  • Возможность определения набора строковых констант для проекта. Обращение к константам производится по имени (применяется быстрый бинарный поиск по имени).
  • Хранение переводов в обычных текстовых файлах, доступных для редактирования любым текстовым редактором. Кроме того, имеется и намного более совершенный инструмент для редактирования переводов, DKLang Translation Editor, предоставляющий гораздо больше возможностей.
  • Автоматическое переключение языка во всех отображаемых формах путём изменения языка глобального экзмепляра класса TDKLanguageManager.
  • В невизуальном компоненте до и после смены текущего языка вызываются специальные события.
  • Возможность игнорирования любых свойств, а также принудительного сохранения свойств, опознаваемых, как несохраняемые (not stored). Эти свойства определяются с помощью списком IgnoreList и StoreList компонента TDKLanguageController, соответственно, при этом поддерживаются маски имён (например, *.Font.Name).
  • Автоматическое формирование так называемого исходного языкового файла (файла с расширением .dklang), содержащего исходные данные для локализации всего проекта.
  • Возможность применения механизма локализации без визуальной составляющей (форм и компонентов), только для локализации констант.
  • Возможность сборки проекта с использованием runtime-библиотеки DKLang.
  • Thread-safe-дизайн, позволяющий применять механизм в многопоточных приложениях. При этом обеспечивается неблокирующее чтение данных несколькими потоками одновременно.

Авторы

  • Дмитрий Канн — изначальный дизайн и разработка до версии 3 включительно.
  • Брюс Миллер (Bruce J. Miller) — текущий разработчик (начиная с версии 4).

Документация

Полная документация проекта доступна по этой ссылке.

Лицензия

Если иное не указано явно, это программное обеспечение может распространяться по одной из следующих лицензий:

Программное обеспечение и любая сопроводительная документация предоставляются без каких-либо гарантий. Вы используете их исключительно на свой страх и риск.

Поддержка

Исходный код

Чтобы загрузить самую новую версию исходных кодов, склонируйте мой репозиторий на GitHub:

git clone https://github.com/yktoo/dklang.git

См. также

Поделиться: