- Released
- September 29, 2026
- Channel
- Stable
- Tested with WordPress
- 7.1
- Product
- WPML Multilingual CMS
Changelog
WPML 5.0 brings a redesigned admin, languages as language and country pairs, and Translate Everything Automatically running in the background. WPML 5.0.1 and 5.0.2 fix issues some sites ran into after updating to it. The full list of what is new in 5.0 comes first, and the fixes follow.
What’s new in WPML 5.0
A redesigned WPML admin
- WPML now has one menu: Translations, Settings, Support, Activate & Update, and AI Translation Billing when automatic translation is set up.
- All settings live on one Settings page, with a search box that jumps to the section holding a setting.
- Links and bookmarks to the old WPML admin pages redirect to their new places.
- String Translation and Media Translation are tabs under Translations; Sticky Links, CMS Navigation and Export and Import sit under an Add-ons group.
Languages are now language and country pairs
- Languages are set up as language and country pairs, with regional variants such as Spanish (Mexico).
- You can add custom languages, upload your own SVG flags, and edit language labels in one place.
- When you add a language that shares a name with one already active, WPML adds the country to the new language’s name, so you see Spanish and Spanish (Mexico).
- A regional language you add is ready for automatic translation without any mapping step; where the engine has no regional variant, WPML translates it as the base language.
- Custom languages that cannot be translated automatically are labelled “Manual translation only”.
- Existing sites are updated automatically; your languages, URLs and settings carry over.
Translate Everything Automatically runs in the background
- Once Translate Everything Automatically is on, WPML keeps sending and receiving translations with no browser tab open.
- Background translation needs a site the translation service can reach from the internet; on a private or password-protected site, WPML tells you to keep the page open, as before.
- Content written in any of the site’s languages is translated into all the others, not only content in the default language.
- You can set a cut-off date per post type so content published or edited before it is left untranslated, and adjust it later without turning Translate Everything Automatically off.
- The setup wizard and the Translation Dashboard show what will be translated per content type, the word count, and the total cost before you turn Translate Everything Automatically on.
- You can turn Translate Everything Automatically on from the Translation Dashboard without sending a test translation first.
- Adding a language picks up background translation for that language. Making a post type translatable opens the cost table so you choose what to include before anything is translated.
Pay once per page and language
- With Translate Everything Automatically on PTC, each page translated after you turn it on is billed once per language, and later edits are free until the content grows past what you already paid for.
- Content that was translated before you switched Translate Everything Automatically on counts as done and is not billed again.
- Translation credits are now called words across WPML, and WPML shows the words it will charge before you send.
Taxonomies are translated like posts
- The Translation Dashboard has a Taxonomies section for sending categories, tags and custom taxonomy terms for translation.
- Taxonomy labels can be translated from the Translation Dashboard alongside the terms themselves.
- Under Translate Everything Automatically, new and edited terms are queued automatically and re-translated when they change.
- Term descriptions and SEO fields from Yoast SEO and Rank Math are included in term translation jobs.
Translation engines
- PTC, WPML’s own AI translation engine, is the recommended engine. DeepL, Google and Microsoft remain available and are labelled “Legacy”.
- Translate Everything Automatically needs PTC and a site description. If your site uses a legacy engine, switch to PTC from the Translation Dashboard in one dialog before turning it on.
- After switching to PTC, new translations are published without review by default; with a legacy engine they wait for your review by default.
- The Improve Translations tab under Translations suggests fixes based on the edits you keep making and applies the ones you accept to future translations, with a badge when new suggestions are waiting. Available with PTC only.
Also in 5.0
- WPML 5.0 is tested on PHP 8.5, including its bundled libraries.
- Translators can open any translation in a language pair assigned to them, without being assigned the job first.
- The Translation Dashboard now flags categories and tags that changed after they were translated, alongside posts.
Security
- This release includes a number of security hardenings, including one reported by Wordfence, whose collaboration we are grateful for.
Fixed in WPML 5.0.1
This release fixes issues some sites ran into after updating to WPML 5.0, including a fatal error on sites whose database table prefix starts with a digit and an update that would get stuck.
Updating to WPML 5.0
- Sites whose database table prefix starts with a digit no longer get a fatal error on the front end and on the Custom Fields Translation screen after updating to WPML 5.0, and the “could not save” notice that came with it clears itself once your settings save again.
- Updating WPML from 4.9.x to 5.0 from the Commercial tab of the Add Plugin screen no longer spins endlessly without finishing.
Translation Dashboard and setup wizard
- The Translation Dashboard no longer sends taxonomy terms to every language when you have chosen specific languages and reviewed the cost.
- The setup wizard’s “Calculate Translation Costs” step no longer shows 0 words with a disabled Continue button until you refresh the page.
Translation settings and jobs
- Saving translation settings on a site without the Advanced Translation Editor no longer stores an invalid editor value that crashed every page in wp-admin.
- Translation jobs no longer show an invalid deadline when none was set.
Also in this release
- A translated product category whose slug matched another term in the original language no longer redirects visitors to the wrong page.
Fixed in WPML 5.0.2
This release fixes more issues some sites ran into after updating to WPML 5.0, including database errors and login timeouts on multisite networks, and makes the download smaller.
Updating to WPML 5.0
- Multisite networks no longer log “Unknown column ‘l.country’” database errors, or time out at login, while their sites are still being updated to WPML 5.0 one by one.
- After an update, browsers load WPML’s new scripts and styles instead of cached copies from the previous version.
Translate Everything Automatically
- Translate Everything Automatically no longer sends a draft for translation before you save it again.
Also in this release
- Translated pages no longer answer 404 when a product, media item or other content shares their slug.
- A malformed string-package setting left by a page builder no longer causes a fatal error.
- The root page setting accepts only published pages. Its “HTML file” field now says which files it accepts and rejects the rest.
- The download is smaller, 17.4 MB instead of 22.6 MB, because packages no longer include
.potranslation source files. Your translations are unaffected.
What’s new in WPML 5.1
WPML 5.1 lets Translate Everything Automatically run on any translation engine, bills automatic translation in words, and fixes issues reported on 5.0, including on multisite networks, Blog accounts and large stores.
Translate Everything Automatically on any engine
- Translate Everything Automatically now works with DeepL, Google Translate and Microsoft Translator as well as PTC; the engine decides the price, pay once per page with PTC or per word with the other engines, and the Translation Dashboard shows the engine and its pricing before you turn it on.
- A site running Translate Everything Automatically on another engine can switch to PTC in place from the Translation Dashboard, without turning translation off; the switch applies to new and changed content.
- On PTC without a site description, the Translate Everything Automatically box stays on screen with its start button disabled until you add the description, and adding it enables the button without a reload.
- WPML → Settings → AI Translation shows one recommendation per engine, and the WPML 5 upgrade notice no longer asks for PTC before Translate Everything Automatically can be turned on.
Words instead of credits
- Automatic translation is billed and shown in words everywhere: the AI Translation billing page in WPML, the words page on your wpml.org account, and the estimates on the Translation Dashboard.
- Word counts for strings and string packages now match what the bill counts, and stored counts are recalculated on update.
- When the billing service cannot be reached, WPML says so instead of showing a zero balance, and the Settings page says which setting was not saved.
Updating WPML and registering your site
- The “WPML Update is Incomplete” notice names the plugins that stopped loading and links to Activate & Update.
- Notices about a missing site key, a configuration error or missing requirements are dismissed per administrator instead of for the whole site, and the site-key notice comes back on Activate & Update.
- A Blog account sees the plugins its plan does not include as rows it cannot download, with an offer to upgrade, instead of nothing.
- Upgrading a Blog account to CMS no longer causes a fatal error on the first load of Translations.
- Switching the update channel on Plugins → Add New → Commercial refreshes the list and installs nothing by itself.
- Database updates that were interrupted are resumed instead of staying stuck, and the update no longer flushes the object cache on every front-end request.
- A fatal error no longer occurs when the host disables
ini_get_all()orset_time_limit(), after a move from a host without zlib, or when a plugin in your plan has no download available.
Translation Dashboard, jobs and editors
- Step 2 “Duplicate” no longer replaces an existing translation silently; the Translation Dashboard says what it skipped.
- Saving a translated post in the WordPress editor keeps its Advanced Translation Editor job, so opening the editor again creates no replacement job and does not rewind the status.
- Translation Jobs offers “Edit translation” on completed post jobs, and the spinner stays until the editor opens.
- A stale translation whose post no longer exists is removed when its review link is built and shows as not translated.
- Two saves of the same post at the same time no longer leave a translation job without its content.
- When the translation service cannot be reached, Retry says so in the dialog instead of staying silent, and a delivery refused during an outage is accepted once the service is back.
- New translators default to the Contributor role and translation managers to Editor.
- After a site moves to a new address and starts fresh with automatic translation, the translation jobs of the old address are cancelled instead of being delivered to the new site.
- The setup wizard no longer builds a word count it never shows, so it is lighter on large sites, and its address sends an already configured site to the Translation Dashboard.
- “Switch to PTC instead” opens its window centred.
Languages, URLs and links
- Changing the default language in domain-per-language mode keeps a domain for the language that stops being the default.
- A language you are removing can no longer be set as the default in the same save.
- Trashing a translation of the static front page no longer resets Settings → Reading, and that language’s home shows the default-language page instead of a 404.
- After the root page is deleted, the URL format section saves again and a notice tells every translation manager once.
- Converted internal links to a draft page no longer lead to a 404, and a link to a deleted page is hidden only when the page is shown, never saved into the content.
- The language folder stays out of
.htaccess, and REST URLs on plain permalinks with languages in directories keep working. - Terms of a taxonomy whose name is only digits are handled like any other taxonomy: Translate Everything Automatically translates them, so they use words, they appear in the Translation Dashboard, and they follow duplication, hierarchy sync, Sticky Links and “display as translated” counts.
Faster on large sites
- Non-translatable taxonomies no longer run one count query per term on every request; their term counts are shown across all languages, as in WPML 4.9, until a language-aware count returns in a later release.
- The taxonomy-label check runs one query for all taxonomies instead of two per taxonomy on every admin page.
- The author-language query with “display as translated” is fast again for authors with many posts.
- Admin pages load less CSS, and the browser language redirect script is 6 KB instead of 172 KB.
Support and repair tools
- Each repair tool has its own Support page, and a tool whose plugin is not installed shows an install notice with a link to Activate & Update.
- The repair tools work for a user with the WPML support capability, not only for administrators.
- “Assign status to duplicates” and “Remove ghost entries” no longer mark a genuine translation as a duplicate or delete the group’s original.
- The Support pages read the server’s answer before saying “Done”, and the post type repair reports the changes the database refused.
- Running the activation again keeps the element type column at its full width.
- The XML configuration screen reads “Never” when the configuration index was never fetched.
- System information, the debug report and the support report show the site key masked.
Page builders and images in translations
- WPML’s own page builder integration now loads even when the old standalone WPML Page Builders plugin is still active, so its fixes reach those sites and you can deactivate the standalone plugin.
- Images referenced by a relative URL, or linked from an image, are replaced by their translations in Divi, Enfold and block backgrounds.
- Clearing the Elementor cache after a translation touches only the translated template’s CSS.
- No page builder warning appears for a translation made in the WordPress editor with no open job.
- Elementor custom fonts load on secondary-language domains without a browser error.
Also in this release
- The Translate Everything Automatically offer for new content types closes after “Review cost and include”.
- The custom language dialog can be closed with Escape or a click outside it, and the setup wizard puts the focus on each step.
- Resetting WPML can no longer re-create part of its settings halfway through the reset.
Security
- This release includes security hardening.
Update or download
The update is available to all WPML clients with an active subscription — it appears on the Plugins page in your WordPress admin within 24 hours of release. You can also check for it right away under Plugins → Add New Plugin → Commercial. To download and install manually, go to Downloads in your wpml.org account (see the installation instructions) and remember to update all components together without mixing versions.
Need help or want to give feedback? Please use our technical support forum.