- Migrated
TGoogleTranslatorfrom the deprecated Google Translate v1 API to the Google Cloud Translation API. - Added a new setting in
i18nEditorto configure the Google Cloud Translation API key for programmatic translations.
- Resolved a long-standing issue in the MD5 padding implementation that had existed since the library’s first release, which under rare input-length conditions could produce incorrect hashes or trigger access violations.
- Corrected a parsing failure that occurred during string literal extraction when inline class constant declarations were present.
- Fixed a 64-bit–specific issue in
TFlagImageListthat prevented images from rendering correctly. - Refined phrasing and refreshed translations in the
i18nEditorapplication to improve clarity and readability.
- Improved the Persian calendar:
- Used a more precise astronomical calculation for Nowruz. The new algorithm provides Vernal Equinox time with sub-minute precision, allowing reliable date conversions up to Jalali year 2379 (Gregorian year 3000).
- Improved performance by caching computed Nowruz days, resulting in faster date conversions.
- Added support for the Imperial era alongside the Hijri era. The Hijri era remains the default.
- Updated some captions and translations for better clarity.
- Added support for accepting the misspelled
TragetCultureproperty (TargetCulture) when loading theTLocalizercomponent. - Added the
VernalEquinoxmethod to the Jalali Calendar.
- Fixed Persian calendar by replacing the arithmetic leap-year rule with an astronomical Nowruz calculation (Tehran time).
- Updated the Japanese calendar to include the latest era changes.
- Resolved compiler warnings in Delphi 12.
- Increased the maximum supported date for the Jalali (Persian) calendar.
- Added x64 compilation support, contributed by arhangelsoft.
- Fixed a bug in the Hebrew Calendar that resulted in an incorrect month name when the selected language was Hebrew. Thanks to JHarding for reporting this bug.
- Added the
APIKeyandUserIPproperties to theTGoogleTranslatorclass. These properties are required to make valid Google service calls.
- Added the
AdjustDaysproperty and theOnAdjustmentevent to theTHijriCalendarclass so that Hijri dates can be adjusted.
- Fixed a bug in parsing the ternary operator in C-like expressions.
- Reduced the size of expression trees for C-like expressions by pre-calculating constant sub-expressions.
- Added missing code to save the design-time values of the
CultureandCalendarTypeproperties of theIntlDateTimeLabelcontrol into the DFM.
- Fixed compatibility issues with Delphi XE2 and XE3.
- Fixed a bug with applying translations on Delphi XE3. Thanks to David Esperalta for reporting this bug.
- Handled exceptions that could occur while retrieving translatable properties of an OLE control. Thanks to jjLopaz for reporting this problem.
- Fixed a bug in the
TDBIntlDatePickercontrol that caused the dataset switch to enter edit mode. Thanks to JHarding for reporting this bug. - Fixed the popup position issue of the
TIntlDatePickercontrol on multi-monitor systems. Thanks to Keeny for reporting this problem.
- Fixed a bug that caused invisible forms to become visible after translation. Thanks to Ahell for reporting and fixing this bug.
- Made the package compatible with Delphi 2009. There are some known issues in Delphi 2009: because of a few bugs in the
Controlsunit, mirroring page and tab controls can cause their child controls to go off the screen. Some other common controls may also exhibit odd behavior after toggling the layout direction. - Fixed a display problem in the
TIntlDatePickercontrol on Windows XP. - Minor tweaks.
- First public release.