Decryption key:
WPML String Translation Addons v5.3.0
What's New
- Security hardening.Performance
- With string auto-registration disabled, String Translation no longer watches every translated text and preloads theme strings on each request.
- Saving a page-builder page reads its strings once and no longer rewrites strings that did not change.
- Admin texts of very large options, such as Avada's theme settings, are read faster: only their registered keys are walked on the front end.
- In the admin-only string registration mode, visitor requests no longer run the registration work.
- Translated URL slugs are read with one batched query per request.
- Clearing the skipped translation files is one database update instead of one per file, so admin pages of large sites no longer hold the table.Fixes in Translate Everything
- Strings left "in progress (automatic translation)" by an automatic translation that ended are released, also when automatic translation is off.Fixes in Admin Texts
- An admin text registered while its value was empty, for example by an importer or on plugin activation, is translated on the front end once it gets a value.
- Translated date and time formats and other admin texts work again after the update to String Translation 5.2.0: the translation files that update removed are rebuilt once.Fixes in Translation Files
- After a language's locale changes, its translation files keep the language's plural rule even when other pages load at the same moment.
- A language that still had an outdated locale from an old WPML version gets it corrected once and its translation files rebuilt, so its translated strings show on the front end again.
- A translation file that went missing, for example after a migration or a restore, is rebuilt on the next admin page instead of the front end showing the original text.
- Fixing links, converting absolute links and the other actions that change translations without a save now update the translation files too, so the front end shows the new translations.
- A text domain with capital letters, such as Widgets, stays translated after a plugin switches the locale and back.
- Custom translations of a plugin's or theme's own text domain apply again after updating, even with no native translation file.Other Fixes
- The Strings tab links to the theme and plugin string scan.
- Page builder texts are saved when a translation is delivered through WP-CLI.
- The Widget and Widgets labels of block widgets in the Translation Dashboard are shown in your admin language.
- Images set in theme options, such as Blocksy's header and off-canvas logos, show their translated version for the first item of a list too.
- Saving a site option such as the site title in a secondary language with the original value no longer replaces that language's translation.
- Untranslated strings on a page an administrator views are registered even when another request is saving strings at the same moment.
- A translated shop or product category base saved with a leading slash stays in the URL rules, so translated category archives no longer show a 404 error.
- Users who can manage translations, not only administrators, can save translations of taxonomy labels.
- A translated slug base that is the same as another post type's or taxonomy's base no longer breaks that type's URLs, so product category archives no longer show a 404 error.
- Registering untranslated strings that an administrator sees while logged in no longer switches itself off two hours after setup, and sites where WPML 5.0 to 5.2 switched it off get it back once.
- No fatal error while String Translation updates: language pack translations are reloaded on the next admin page instead of during the update.
- A failed read of the stored String Translation settings no longer reruns upgrades or empties the MO scanning table.
- A text translated as part of a package shows where to translate it.
- String Translation works when WordPress loads it before WPML.
Decryption key:
WPML String Translation Addons v5.2.0
What's new
- The theme and plugin scan can ignore strings from text domains that belong to other themes and plugins.
- The settings explain what each translation preference, Page URL option and scan option does to your content.
- Duplicate string packages can no longer be created.
- Translation files are regenerated when a language's locale changes.
- Security hardening: stored values are escaped, stored data is read more strictly, request input is validated and translation file names are safe.
Performance
- The site's languages are read once per request instead of once per plugin translation file, and no translation file loads twice.
- Front-end pages viewed by an administrator no longer look up every plugin's folder for each translation file, which took seconds on some hosts.
- Saving a post reads each of its string packages only once.
- Translated URL rules are built once instead of on every read, which speeds up WooCommerce pages.
- Translated URL rules are no longer rebuilt twice on every page when a theme or plugin registers post types late.
- Looking up categories and tags by slug no longer repeats the same work on every call.
Fixes in theme and plugin scanning
- The theme scan works for themes whose stylesheet sits in a subdirectory.
- Must-use plugins listed on Theme and plugins localization can be scanned for strings again.
- Theme and plugins localization lists must-use plugins as active with their text domain, and scanning a loader file also scans the folder it loads.
- Must-use code in a folder below mu-plugins can be scanned.
- With a child theme active, the parent theme is listed as active on Theme and plugins localization.
- Viewing the source of a string from a must-use plugin's folder shows its file and line.
- The 'No TextDomain' label of a theme or plugin without a text domain is no longer a link to an empty list.
- The theme scan logs each file the theme loads from outside its folder, which the scan skips, and says how to register those strings.
Fixes in translation files
- Generated translation files carry only the strings the site changed, so WordPress core plurals are no longer overridden.
- A parent theme's translation files are registered while a child theme is active.
- Translation files are imported on sites whose content folder is not directly under the WordPress folder.
- Translation files of a theme in an additional theme folder are recorded as the theme's, not as WordPress core files.
- A customization that only changes letter case, an accent or spacing regenerates the translation file.
- After translation files are rebuilt, a text domain whose customized translations all need updating gets its file back.
- Changing the language of strings regenerates the translation files of both languages, so each language's pages show the right text.
- Plugins that load translations before WPML sets the language, such as must-use plugins, get the page's language instead of the default.
Fixes in plural forms
- Every plural form of imported and customized strings is kept, and the form follows the language's plural rule.
- Plural strings use the language's plural rule everywhere in String Translation, and "0 items" no longer shows as "0 item" while translations load.
- Languages with three or more plural forms, such as Polish, get the right form for every number.
- Plural strings for zero or negative numbers use the plural form while translations load, as WordPress does.
- Text domains whose names differ only in letter case share one translation file and one plural rule.
Fixes in admin texts
- Showing the translated site title and tagline no longer costs database queries on every page.
- Admin texts stored as JSON are translated value by value instead of as one long string.
- No fatal error when a theme or plugin reads a translated admin text before WPML knows the language.
- Updating from 5.1.0 keeps a translated option's text in its own language and the file that serves it.
- Registering the first admin text on a site no longer writes an empty entry that runs extra code on every request.
- The translation files prompt also shows on Admin Texts Translation, and old Theme and plugins localization links open the theme and plugin scan.
- The translation files prompt links to the Admin Texts Translation page instead of a menu entry that no longer exists.
Fixes in Translate Everything
- Turning Translate Everything off while strings are translating no longer leaves them "Translation in progress" for good.
- Translate Everything no longer re-sends a job you cancelled during the first site-wide pass, so it is not charged twice.
- Translate Everything no longer sends and charges a taxonomy label twice when its status record is lost.
- A discarded failed automatic translation job stays discarded, and the strings pass no longer slows down on sites with many past batches.
- Admin texts registered for translation are sent by Translate Everything automatically, like every other string.
- Translate Everything's record of completed languages no longer grows with repeated entries, and stays accurate when a language is removed.
- Translate Everything no longer loses its progress record when two requests save its settings at the same time.
- Taxonomy labels that Translate Everything sends have their own row in the estimate.
- The setup wizard's estimate includes the category and tag fields each post's job carries.
- The setup wizard's estimate includes the taxonomy label strings sent right after setup.
- The setup wizard's estimate includes the string packages that the first pass sends on page-builder sites.
- The estimate row for block widgets is titled Widget and Widgets instead of Block.
Other fixes
Read the release announcement for WPML 5.2 for the full story behind this version.
- Translating or duplicating a post into several languages at once no longer saves a link to a custom post type with a translated slug in the wrong language.
- After you click Update Now, the "WPML needs to update the database" notice no longer returns on every admin page.
- The Elementor editor and other admin screens stay in your profile language instead of mixing in the page's language.
- A string registration batch interrupted by a server limit is set aside, and background registration stops while automatic string registration is off.
- Two admin requests at the same time no longer register the same string package twice.
- String package tables are created on sites set up through WP-CLI or REST, so saving posts logs no errors.
- Changing a string's language no longer leaves a translation in that same language behind.
- The String Translation screen no longer shows "No strings found" after you delete one domain's strings while others remain.
- The Translation Dashboard section for block widgets is titled Widgets again, not Block.
- Custom post type and taxonomy addresses with a translated slug, such as the Avada Portfolio, no longer return 404 errors.
- Translated WooCommerce Brands links and language switcher links no longer lead to 404 errors.
- WPML creates all its tables with one character set and collation.
- String Translation re-checks the strings table index until it is in place instead of remembering a failed check.
- WooCommerce Memberships "Ended" emails reach customers in their own language when sent in the background.
- The Translation Priority setting is removed.
WPML String Translation Addons v5.1.0
Fixed in String Translation v5.1.0
This release fixes removing strings by domain, the string filters and the status of string packages, and speeds up two checks that ran on every request.
Removing strings
“Remove strings by domain” clears the whole domain: a lost batch is retried in smaller pieces, the screen says when the removal stopped, and strings whose automatic translation is in progress are left alone.
Closing the “Remove strings by domain” dialog no longer forgets the domains you ticked.
String packages and word counts
A string package’s translation status reflects strings translated in String Translation or written by code.
Packages synced from an automatic translation job no longer land in a “Manual Translations” batch.
Package and string translations made without a job count as translated in the word quote and in the string lists.
Word counts for strings match what the bill counts.
Also in this release
“Check for string issues” filters the list again.
Taxonomy labels are looked up with one query for all taxonomies instead of two per taxonomy on every admin page, and registering an unchanged string no longer looks up its language.
WPML String Translation Addons v5.0.2
= What’s new in String Translation 5.0
String Translation 5.0.0 focuses on a faster, more reliable Strings screen and translation queue, fixes taxonomy and slug translation, and makes string handling consistent on sites whose default language is a regional English variant.
Faster, more reliable string screen and queue
- The String Translation screen now loads faster because it uses an indexed lookup instead of scanning every string.
- Adding a new language no longer times out and only loads the translations you actually need for that language.
- Sites with a large number of auto-registered frontend strings no longer run into timeout errors while the queue is processed.
- String registration and the pending-strings queue are now more fault-tolerant, so a single bad file or database write no longer blocks every later string.
- The cache behind your site’s translated language files now stays within a safe memory budget instead of growing without limit.
Taxonomy and slug translation fixes
- Translating a taxonomy’s slug now actually takes effect on the front end.
- Taxonomy labels are now registered and shown under the correct source language, fixing labels that incorrectly appeared as translated.
Consistent behavior on English-variant sites
- String Translation now behaves consistently when your site’s default language is a regional English variant such as en-US or en-GB.
Also in this release
- Searching strings by language name or text now returns results again.
- Uploading a .po file and adding the selected strings works again on the Strings tab.
- Changing a string’s language now works correctly for non-admin Translation Managers, without a JavaScript error.
- String Translation now correctly scans themes and plugins when WPML is installed through a symbolic link.
- WPML now respects a custom REST API prefix instead of assuming the default one.
Security
- This release includes security hardening.
Fixed in String Translation 5.0.2
This release fixes a fatal error on hosts that disable a PHP function WPML relied on.
- Sites on hosts that disable PHP’s getmypid() function no longer get a fatal error in wp-admin and on the front end after updating to WPML 5.0. String Translation writes its translation files again, so translated strings show as before.
- The download no longer includes .po translation source files. Your translations are unaffected.
WPML String Translation Addons v5.0.0
= Version 5.0.0
September 15, 2026
String Translation 5.0.0 focuses on a faster, more reliable Strings screen and translation queue, fixes taxonomy and slug translation, and makes string handling consistent on sites whose default language is a regional English variant.
Faster, more reliable string screen and queue
- The String Translation screen now loads faster because it uses an indexed lookup instead of scanning every string.
- Adding a new language no longer times out and only loads the translations you actually need for that language.
- Sites with a large number of auto-registered frontend strings no longer run into timeout errors while the queue is processed.
- String registration and the pending-strings queue are now more fault-tolerant, so a single bad file or database write no longer blocks every later string.
- The cache behind your site's translated language files now stays within a safe memory budget instead of growing without limit.
Taxonomy and slug translation fixes
- Translating a taxonomy's slug now actually takes effect on the front end.
- Taxonomy labels are now registered and shown under the correct source language, fixing labels that incorrectly appeared as translated.
Consistent behavior on English-variant sites
- String Translation now behaves consistently when your site's default language is a regional English variant such as en-US or en-GB.
Also in this release
- Searching strings by language name or text now returns results again.
- Uploading a .po file and adding the selected strings works again on the Strings tab.
- Changing a string's language now works correctly for non-admin Translation Managers, without a JavaScript error.
- String Translation now correctly scans themes and plugins when WPML is installed through a symbolic link.
- WPML now respects a custom REST API prefix instead of assuming the default one.
Security
- This release includes security hardening.
WPML String Translation Addons v3.5.4
= New
- Ensures full WordPress 7.1 compatibility
- Extensive security hardening pass across WPML String translation
WPML String Translation Addons v3.5.3
=Fixes
- Removed an unused regex helper file that was causing false positives in some malware scanners.
- Cleaned up deprecation notices related to PHP 8.4 and 8.5.
- Removed leftover translation files that were no longer needed
WPML String Translation Addons v3.5.2Improvements
- Removed unreliable file hash caching from String Translation scanner to prevent database corruption on large plugins.
- Fixes
- Fixed an issue with date and time formats not being localized correctly for secondary languages.
- Fixed an issue with custom post type slugs not being translated correctly in sitemaps when using the “Use translation if available or fallback to default language” translation setting.
Decryption key:
WPML String Translation Addons v3.5.0
Released on: February 4, 2026
Feature
Fixes
- Added support for translating strings found in JavaScript files.
- Added a meaningful status feedback for stuck jobs.
- Added the JavaScript files to the “Can’t find strings section?” on the WPML > String Translation page.
- Fixed incorrect formating in right-to-left (RTL) language emails.
- [Object Cache] Fixed an issue where a scan done on the WPML > “Themes and plugins localization” page would only register new strings after clearing object cache.
- [Object Cache] Fixed an issue where the translation term page didn’t work on the frontend after translating the term slug with String Translation.
- [Object Cache] Fixed an issue with deleted strings not added after rescanning.