DKLang Localization Package

DKLang Logo DKLang Localization Package is a set of classes intended to simplify the localization of applications written in Delphi.

Package features

  • Ease of use. Put a TDKLanguageController on the form, save the project (this will automatically create a language source file) and add a couple of lines to program code: you get a functional multilanguage application! See the provided demos to get the details.
  • Full integration with Delphi VCL component library. A possibility of automated change tracking in structure or properties of forms, frames, data modules etc., and owned components.
  • Storing property values for String (AnsiString), ShortString and WideString properties (no Unicode support is implemented though). Storing property values of class TStrings, TCollection item properties and property values of TPersistent descendants. Only the properties recognized by Delphi streaming mechanism as stored are processed. For the time being no support implemented for VFI (visual form inheritance) and custom-defined properties (ones specified with DefineProperties() call).
  • A possibility for defining a set of string constants for a project. A constant is referred to by its name (binary name search is implemented).
  • Storing translations in plain-text files, which can be edited with any text editor. However, there's a much more convenient tool available for creating the translations: the DKLang Translation Editor.
  • Synchronous language switching in all displayed forms by changing the current language of global TDKLanguageManager instance.
  • Events fired in a non-visual component just before and after the language change.
  • A possibility for ignoring any properties, as well as a list of forcibly stored properties recognized as not stored. Both lists are formed using name masks (eg, *.Font.Name).
  • Automated saving the localization data for the whole project into a so-called language source file (a file having .dklang extension).
  • A possibility of using the localization mechanism when no visual forms instantiated (for localizing constants only). A possibility of building the project with DKLang runtime package.
  • A thread-safe design allowing for proper functioning in multithreaded environment. This allows non-blocking data read access with a number of threads at once.

Target platforms

The package was tested with Borland Delphi 6, 7 and 2005 (the latest updates applied).

Usage terms

The contents of DKLang Localization Package are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this package except in compliance with the License. You may obtain a copy of the License at

Alternatively, you may redistribute this library, use and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. You may obtain a copy of the LGPL at

Software distributed under the License, and any related documentation is provided on an as is basis, without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the software remains with you.

See the License for the specific language governing rights and limitations under the License.

DKLang Translation Editor

DKLang Translation Editor screenshot

This is a free tool for creating and editing DKLang package using application translations. Program features:

  • Translation using a dictionary (so-called Translation Repository).
  • Automatic tracking of source and translation discrepancies. On project open a difference log is generated showing you the entries added to or deleted from the translation. An option for autotranslation of new entries using the Translation Repository is also available.
  • A possibility of using an additional translation file to display the source values from. For example, when you wish to make a translation but it is more convenient to translate not from the original language but from another one, more close to the destination language.

go icon DKLang downloads

lang-ru icon Russian - Home - Products - Info - Download - Support - Miscellaneous - Top