Description of DKLang Localization Package :
Package features: 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.