Important update for string languages, since WPML 3.3

Since WPML 3.3, you can translate strings from any language to any other language. You can assign the source language to specific strings or to entire string contexts.

Until WPML 3.3, you could only translate strings from English to other languages.

If you are running a site that doesn’t have English as the source language, just update WPML to the current version. You will be able to translate strings from your site’s default language (including if it’s not English) to all other languages.

String Language in WPML Prior to Version 3.3

WPML’s String Translation translates strings from one language to other languages. When the original language is other than English, there are important considerations to keep in mind.

The String Translation module translates all texts that are not in posts, taxonomy or custom fields. This includes:

  • WordPress core
  • Plugins
  • Theme

So, as you can see, all strings for everything in your site are translated in the same place. Keep in mind that you’re translating all of these from one language to other languages.

As you know, WordPress and most every plugin uses English as the source language. This means that the String Translation always translates from English to other languages. Let’s see what this means to you and how to use it the “right way”.

When your site includes English, but it’s not the default language

Let’s say that your site has French, Spanish and English and that French is the default language. You should enter all the texts that go to the String Translation screen in English. Please read that again. Not French, but English.

For example, widget titles or the site’s tagline should be in English. Then, translate to French and Spanish using the String Translation screen. You will see the source text in English and the translation languages as the other languages in your site.

That’s right. The original language of strings does not need to be your site’s default language. It should be that way because the String Translation table will include a great number of strings that are in English (like the WordPress texts and texts from plugins). Now, you’ll be adding your own strings in the same language (English) and translate to the other languages.

When your site doesn’t at all include English

This is the same as above, just a bit more un-intuitive.

The original language of strings should still be English. Even if you’re not using English in your site, WordPress and all plugins from are still coded with English as the source language. This means that we’re still translation a lot of stuff from English.

So, you’re keeping the original language as English and translating everything to your site languages.

If your site includes French and Spanish, the original language of strings will be English. You’ll use the String Translation screen to translate to French and Spanish.

You’ll need to enter widget titles, the site’s tagline and everything else going to String Translation in English, even if you’re not using English in your site.