Translating Strings
Strings are every text on your site that isn’t part of a post, page, or taxonomy term: the site tagline, widget titles, theme labels (Read more, Posted by), plugin labels (Add to cart, Search results), form labels, error messages, button text. Strings are usually short, often single words, and scattered across your theme and plugins.
The Normal Way: Translate Everything Automatically + Auto-Registration
When Translate Everything Automatically is on and Auto-register unmanaged strings is enabled, WPML watches the site as you and your visitors use it. New strings (anything a theme or plugin outputs to the screen) get registered automatically as they appear. WPML picks them up in the next translation pass.
For most sites, this is everything you need to do: keep Translate Everything Automatically on, keep auto-registration on, and your strings get translated alongside your content. You can confirm the toggle in two places: the Detect unmanaged strings entry at the bottom of the Translation Dashboard, or the Auto-register unmanaged strings utility on the Strings tab itself. Both control the same setting.
Fine-Grained Control: The Strings Tab
Open WPML > Translations > Strings. Every registered string on the site is listed there with a column per language. Filter by domain (the theme or plugin a string came from) or by translation status, search by text, and translate manually using the + icon per language.
The Strings tab is where you do the work Translate Everything Automatically can’t do for you:
- Edit a translation. Override what an automatic engine produced.
- Manage the source language. When a theme or plugin was written in a language other than English, change the source language of selected strings or of a whole text domain. WPML translates from the correct source going forward.
- Translate priorities. Set higher priority on strings that visitors see most.
- Track where a string appears on the site. Useful when you can’t tell which page or screen a string belongs to.
A separate row in the Utilities section sends strings to translation through the same methods the Dashboard uses: automatic, your translators, or a translation service.
Strings That Don’t Appear in the Strings Tab
Some strings (settings labels in WordPress admin, widget configuration text, copyright notices) aren’t auto-registered by browsing the site. They live in admin screens that visitors never see. WPML has a separate scanner for these called Admin Texts Translation.
The link to it is in the Strings tab’s Utilities section, under Not seeing strings you are looking for? Open Admin Texts Translation, scan the theme or plugin, select the strings you want translated, and they get added to the Strings tab.
Hand Strings Off as a PO File
When you want to send strings to an external translator, plug them into a translation memory tool, or generate a starting template for a new language, the Import / export po utility on the Strings tab handles both directions.
To export:
- Make sure every string you want included is registered on the Strings tab. If a theme or plugin’s strings aren’t there yet, scan them in via the Admin Texts Translation screen (above).
- Open Import / export po in the Strings tab’s Utilities section.
- Export. WPML produces a
.pofile containing the registered strings. Translations are included if you already have them, or it comes as a blank template if you don’t.
When the translated .po file comes back, import it through the same utility. WPML merges the translations into the Strings table. Existing translations are updated, new ones added.
What Makes Strings Translatable
Strings don’t have a “make this translatable” toggle the way post types and taxonomies do. The gating is whether WPML String Translation (a free add-on included with the Multilingual CMS and Agency plans) is installed and active. Without it, the Strings tab is missing from WPML > Translations, the Detect-unmanaged-strings tool is gone from the Dashboard, and themes and plugins’ UI text won’t translate.
Install it from WPML > Activate & Update if it isn’t on your site yet.
The one site-wide String Translation setting lives at WPML > Settings > String Translation: a single toggle for Detect strings in JavaScript files. Turn it on when you need to scan a theme or plugin whose strings come from JS, then turn it off when scanning’s done (the docs note it can affect performance).
More String Translation Guides
Written by Amir · Last updated July 1, 2026