Skip to content
bjmillerpa edited this page May 22, 2014 · 7 revisions

2014.5.21: DKLang 5.2

  • Fixed stream reset when dynamically creating forms
  • Updated pre-unicode alpha test for characters to TCharHelper.IsLetter
  • Modified installation packages to work around differences in how IDE and command line read dpk files.

2014.2.22: DKLang 5.1

  • Fixed stream issue for constant editor
  • changed $ERROR to $WARN for minimum Delphi version

2013.12.07: DKLang 5.0

  • Packages rewritten for full Delphi XE5 compatibility.
  • Version upgrading simplified by using {$LIBSUFFIX xxx} for package naming.
  • Added Packages\build_all.bat to automate package building and installation.
  • Moved TList and TObjectList based classes to generic versions of TList, TObjectList, and TDictionary
  • Removed Win dependencies
  • Removed requirement for mutable strings
  • Made agnostic to string indexing (0 vs 1 based indexing)
  • Added internal ISO639 lookup support - codes, LCIDs, culture names, culture native names, language names, and language native names
  • All string handling is UTF16 only. Moved RawByteString to TBytes (used for legacy stream read).
  • Decentralized exception handlers back to where originally raised (ASM not available on all platforms)
  • Added test for write-ability of string properties to fix conflict with FireDAC components
  • Added zlib file storage component for translations
  • Added design time editor to manage new file storage component
  • Updated design time editors
  • Added icons to IDE menu items
  • Added IDE splash screen entry
  • Made TDKLanguageManager static
  • Renamed existing examples to reflect their framework (VCL vs FireMonkey Desktop vs FireMonkey Mobile)
  • Added new examples for new frameworks and new features
  • Added two new units:
    • DKLangStorage
    • DKL_LanguageCodes
  • Help updated.

2013.12.07: DKLang 4.01

  • Added support for FireDAC

2008.12.13: DKLang 4.0RC1

  • Package rewritten for BDS 2009 compatibility, thanks to Bruce J. Miller.
  • Component names moved from ANSI to Unicode
  • DFM resources moved from ANSI to UTF-8 (maintains backward compatablity)
  • Examples upgraded to Delphi 2009
  • TntUnicode dependencies eliminated.
  • AnsiString returns eliminated.
  • TDKLanguageManager.TranslateFromStream(Stream: TStream) added. (Thanks to DenisDL.)
  • Removed ANSI example.
  • Help updated.

2006.08.22: DKLang 3.01

  • Updated for BDS 2006 compatibility, thanks to Robert Lee.

2006.08.08: DKLang 3.0

  • The package is rewritten to implement full Unicode support; initial Unicode-enabled version is developed by Bruce J. Miller:
    • String values became WideString (component property values, constants and all others except component, property and constant names).
    • Added new TDKLanguageManager properties: CodePage, ConstantValueA[], ConstantValueW[].
    • Added new TDKLanguageController options: dklcoIgnoreNonAlphaProps (ignore all properties with no alpha characters), dklcoIgnoreFontProps (ignore all TFont properties).
    • Added new global functions for retrieving constant values: DKLangConstW(), DKLangConstA().
    • Removed function GetLangIDName(); WideGetLocaleStr() should be used instead.
  • Constants are no longer stored in project resource file (.res). Instead, they are stored in a separate resource file (.dkl_const.res).
  • New examples: Ansi, Notepad.
  • Converted all readme files into single .chm including API reference.
  • Added support for BDS 2006.

2005.06.23: DKLang 2.4

  • Added property TDKLanguageController.SectionName which allows customizing section which stores language data.
  • Added properties TDKLanguageManager.LanguageIndex, TDKLanguageManager.LanguageResources[].
  • Bug fix: TDKLanguageManager.IndexOfLanguageID() returned value less by 1 than correct value for non-default languages.
  • New examples: Frames, MDI, Resource.

2004.12.21: DKLang 2.3

  • DKLang now uses a double licensing system. You may use, modify or redistribute it either under Mozilla Public License 1.1, or under GNU Lesser General Public License 2.1 terms. In particular, this means the library can be used in any GPL-licensed application or library.
  • Fixed dcldklang installation problem under non-English versions of Delphi.

2004.11.27: DKLang 2.2

  • Added support for Delphi 2005.
  • Changed the order of applying a language: first constants are updated, then controllers. This allows to read correct constant values in controllers' OnLanguageChanged event handlers.

2004.09.26: DKLang 2.1

The first public release (all prior versions were only for private use).