Originally written
September 25, 2009
July 3, 2020

WPML enables you to translate the texts coming from themes and plugins you use in your sites. This allows you to have a completely translated site. Additionally, it allows the users of your site’s administration area to use the interface in their native language.

How WPML loads theme and plugin strings

Themes and plugins usually come with their own translations for the texts you can find in their user interface as well as their front-end output. They store these translations inside translation files.

By default, WPML doesn’t scan or load these translation files into the database. Because of this, you will not be able to find these strings on the WPML String Translation page.

If you want to translate or edit these strings, you first need to scan the translation files of the related theme or a plugin.

Finally, WPML doesn’t need to access the database to display translations of theme and plugin texts. Because of this, translating theme and plugin texts will have no impact on your site’s performance.

How to translate texts coming from the theme and plugins

Scanning the theme and plugins

To translate texts coming from the theme and plugins, you need to scan them first. Go to the WPML → String Translation page and click the Can’t find the strings you’re looking to translate? message at the top.

A dialog will slide open. Select the themes and plugins you want and click the Scan translation files button.

Scanning the theme and plugin translation files
Scanning the theme and plugin translation files

After the scan is complete, the page refreshes and you can now select the related theme or plugin in the Select string within domain dropdown.

Selecting a domain from the newly scanned theme or plugin
Selecting a domain from the newly scanned theme or plugin


Scanning for hard-coded strings

Some themes or plugins have hard-coded strings wrapped in a gettext function. String Translation only scans the MO files for translatable strings so any hard-coded strings will be missing. To scan for such strings, go to the WPML → Theme and Plugins Localization page, select the theme or plugin, and click to scan it. After the scan is done, you should be able to find the strings on the String Translation page, as previously mentioned.

Scanning for hard-coded strings
Scanning for hard-coded strings

Translating the strings

Once the theme or plugin strings are scanned you can translate them on the WPML → String Translation page:

  1. Use the search controls at the top of the page to filter the specific strings. Most importantly, select the domain (it should feature a theme or plugin’s name) whose texts you want to display and translate.
  2. To manually translate listed texts, click the translations link for the text in question, enter the translation, select the Translation is complete checkbox and click Save.
Translating texts via WPML’s String Translation
Translating texts via WPML’s String Translation

You can also send strings for translation by your designated local translators or professional translation service. For this, you need to have the WPML Translation Management module installed on your site.

Select the strings to translate, the languages to translate them into and click on the button to Add to translation basket.

From the Translation Basket tab of the WPML → Translation Management page, you will then be able to select the translator and send the selected texts for translation.

Your local translators will be able to access the String Translation screen and translate just the ones that you’ve sent them for translation.

Unable to find a text using String Translation?

If you can’t find the string you are searching for in String Translation, it may be under the page that lists admin texts. Check out our page about translating options coming from themes and plugins to see how to translate such texts.