WPML String Translation 3.1.10
The String Translation plugin allows to translate interface strings directly from within WordPress without having to use .mo files. The String Translation plugin allows more than just translating static texts. It also lets you translate user-generated texts that are outside of posts and pages. For example, the tagline and SEO data.
- Added a small performance fix.
- Fixed an issue with registering data attributes content as strings.
- Fixed an issue with registering MO files for some languages.
- Fixed the missing expiration time for an upgrade lock.
- Added support for WordPress 5.8 widget blocks.
- Removed legacy multilingual widgets and prepared their migration to text widgets.
- Fixed issue with wp_localize_script in WordPress 5.7.
- Fixed error on String Translation page when string contains encoded HTML entities.
- Improved settings consistency for term link filtering.
- Fixed styling for String Translation database upgrade message.
- Fixed handling of slug translation for Display as translated post types.
- Fixed missing pagination in WPML → String Translation.
- Fixed an issue so that query to create wp_icl_string_batches table is only run once.
- Fixed a 404 error after changing the language of a custom post type's slug.
- Replaced incorrect documentation link.
- Fixed required parameters following optional ones.
- Replaced usage of deprecated function _get_path_to_translation with wp_textdomain_registry class.
- Fixed problem with slug translation when post type slug has a numeric value in it.
- Fixed WPML_Package_Exception when trying to edit translation.
- Remove match function for PHP 8 compatibility.
- Fixed wrong link to the String Tracking documentation page.
- Fixed JS error on Admin texts page caused by unescaped string values.
- Fixed filtering WPML packages.
- Show 'needs update' icon in string translation UI as required.
- Fixed changes comparison in Classic Editor when Gutenberg post is edited.
- Fixed a JS conflict due to different versions of the select2 library.
- Handled the fatal error which appeared when an option's value has been changed from flat to nested value.
- Fixed corruption when saving options in a language different than the original.
- Fixed disabled state of Change the language of selected strings and Change translation priority of selected strings after selecting strings in the String Translation table.
- Removed inactive languages from String Translation interface.
- Fixed adding strings with default language other than English to the Translation Basket.
- Added pagination options and sorting to the Admin Strings table. Changed table rows to have fixed height and expand on click.
- Removed unused code from Admin Strings.
- Improved copyright in the Admin Texts Translation screen.
- Improved styling on the Admin Texts Translation page.
- Changed Admin Texts Translation search to be not case-sensitive.
- Added the ability to automatically (re)generate custom MO files if they are missing or outdated.
- Fixed error in String Translations when the String Translation table contains strings with quotes.
- Fixed translating of the admin texts via the WooCommerce Settings Page.
- Increased the length of domain field in icl_mo_files_domain table to allow for some plugins that have long domain names.
- Fixed problem where MO file translation was not being overridden by translated value in database.
- Fixed 404 error when using display as translated mode for products and product base is /product/%product_cat%/.
- Improved the slug translation compatibility for 3rd party themes and plugins.
- Improved search in String Translation to include also string name and context.
- Fixed problem with String Translation when using multisite and more than 100 subsites.
- Fixed calls to deprecated jQuery functions.
- Fixed unexpected checkbox behaviors due to jQuery changes in WP 5.5.
- Fixed a potential security issue with select2.
- Fixed the translating of a string when its original language is changed.
- Fixed a parse error in PHP 5.6 due to reserved function name forEach.
- Added a meaningful icon and tooltip when a translation is still being processed.
- Fixed incorrect processing of media shortcodes.
- Handle gracefully the fatal error when JED files are generated.
- Detect automatically if an MO file from a domain should be pre-loaded.
- Fixed a performance issue in "WPML_String_Translation::get_string_language_filter" caused by incorrect caching.
- Fixed loading of custom string translations when a language locale is custom and unusual.
- Fixed an error preventing from scanning translation files when the PHP version is older than 7.0.
- Fixed the generation of custom MO Files when a string has an empty original value. It could happen for admin strings.
- Fixed a broken link to one of our documentation pages about performance considerations.
- Fixed deprecation notices (`Function get_magic_quotes_gpc() is deprecated`) when running PHP 7.4.
- Fixed PHP 7.4 notices shown when translating a page created with Beaver builder and OPCache is used.
- Fixed an issue blocking translation memory when a string has quotes.
- Fixed a database error when the wp_icl_mo_files_domains table does not exist yet.
- Fixed the translation of strings with the same value but different names inside a common domain.
- Restored functionality to translate page builder strings from ST UI.
- Implemented a better handling of missing language folders for custom MO files.
- Always display the MO pre-generation button in the troubleshooting page when there's at least one custom translation.
- Fixed a warning in WPML > Theme and Plugins Localization when the plugin was removed.
- Fixed translation of strings translated with `icl_translate` when the original value is not matching.
- Fixed a fatal error when a locale language contained a number (e.g. "fr3_FR").
- Fixed an issue where string translations were not shown on the front-end when strings are registered with long names.
- Fixed an infinite loop error where the "override_load_textdomain" filter would always return "true", even if the MO object was not loaded.
- Fixed a fatal error for WordPress versions older than 5.0.0 with missing function wp_set_script_translations.
- Fixed a warning "Strict standards: Static function..." thrown with PHP 5.6.
- Fixed an error preventing from scanning translation files with PHP < 7.0.
- Added a troubleshooting action to re-display the "pre-generate MO files" dialog if the translation files are deleted from the server.
- Added a troubleshooting option to clean up and optimize the strings tables in the database.
- Fixed an error that could happen when WPML Core, String Translation, and Translation Management plugins were active but the setup was not complete.
- Fixed an issue with too big flags shown in the admin panel when custom flag image of a large size is used.
- Fixed the way of handling quotes in the blog title and description so translated strings are displayed correctly.
- Fixed the generation of PO files on the "Theme and plugins localization" page. Now, we include only strings belonging to a selected domain, instead of all strings from a plugin.
Fixed the generation of the .htaccess file when the permalinks cache is flushed.
- Allow using the "Assume all strings have English original" option on any language to improve performance.
- Improved the performance of upgrade commands.
- Introduced a completely new way of how String Translation handles strings. It is now based on MO Files instead of querying data from the Database. This helps to significantly reduce performance costs.
- Added the Multisite support to the new way String Translation loads strings using MO files. Now, it is possible to define different translations per site for the same string.
- Generate partial MO files for translated strings and use them for displaying strings in other languages, instead of accessing the database.
- Improve the new usage of MO files in the String Translations plugin to support WordPress Multisite setup.
- Significantly improved the site performance on when updating the page, post, or a WooCommerce product page in the admin.
- Don't show package strings in the String Translation user interface.