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).

Скачать

DKLang Localization Package v4.01

API для локализации программ, написанных на Delphi 2009+. Исходный код в архиве zip.

DKLang Localization Package v3.01

API для локализации программ, написанных следующих версиях Delphi IDE (все с последними доступными обновлениями):

  • Delphi 6
  • Delphi 7
  • BDS 2005
  • BDS 2006

Исходный код в архиве zip.

Tnt Unicode Controls v2.3.0

Бесплатная версия пакета Tnt Unicode Controls, требуемого DKLang Localization Package v3.x.

Скомпилированные приложения-примеры v3.0

Примеры, скомпилированные из исходных кодов, поставляемых в составе пакета.

Включают переводы, а также исходные языковые файлы, на основе которых вы можете пробовать создавать свои переводы с помощью DKLang Translation Editor.

Конвертер констант v5.2

Конвертер для файлов ресурсов констант, созданных версиями 2.x пакета. Скомпилированный исполняемый файл.

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

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

Лицензия

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

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

Поддержка

Исходный код

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

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

См. также

Поделиться: