We just released WPML 3.8 after a long period of development, testing and feedback. This version of WPML makes multilingual WordPress sites faster, easier to manage and easier to translate.

Performance gains in WPML 3.8

We’ve made several major improvements to performance in WPML 3.8, mainly around String Translation.

The queries to load string translations and apply them to pages are now a lot faster. We found that WPML was checking too many things and allowing for too many cases, which cannot co-exist. Now, WPML uses intelligent defaults, which allow sites to run a lot faster. For example, String Translation is completely disabled when displaying English pages, if strings are originally in English.

The other major speed improvement is preventing .mo files from loading. In our profiling, we discovered that a lot of the loading time is actually due to WordPress loading a multitude of .mo files. Each of these files is small (and often efficient), but loading dozens of them on every page can be very expensive.

Now, by default, WPML prevents WordPress from loading these .mo files. Of course, this makes the site run a lot faster. But what about the translations in these .mo files? Well, this is what we’ve been so busy working on. We’ve extended WPML’s String Translation to emulate the mechanism of .mo files. Now, WPML scans .mo files just once and stores their translations in its String Translation table. Then, WPML delivers the exact strings that appear on each page, without having to load all these .mo files.

The results of these improvements will vary from site to site. Generally speaking, sites that use a lot of plugins (and big plugins like WooCommerce) will benefit the most. Our own sites load at about 1/2 of the time now. Some pages at less than half of the time.

Simpler Theme and Plugins Localization

I visit many WordPress events and I try to talk with as many developers using WPML as possible. The feedback that I heard a lot is that WPML is nice, but takes a while to configure. Digging in a bit revealed that a lot of the frustration was around the “Theme and Plugins Localization” admin screen.

That page started small and got little additions over time. Over a lot of time. No surprise that it became a bit of a mess. It’s unfortunate because that page controls how WPML’s String Translation works, which is critical to many sites.

We completely redesigned this screen in WPML 3.8. But this isn’t just a visual redesign. We reviewed all GUI options, removed things that made little sense, rewrote the core functionality and added things that were clearly missing.

The new and simplified Theme and Plugins Localization page

Probably, the most important change to this page is the intelligent defaults that it uses. WPML checks what kind of strings exist on your site (their context, type and source language) and sets the best defaults for you. This way, your site runs correctly and fast without having to get a PhD and WPML option values.

All you need to do is to activate the String Translation plugin. It automatically sets the right mode for itself and sets the options that are right for your site. Existing sites will see an admin notice, suggesting better configuration options (faster functionality) and asking your permission to apply them.

Translation Feedback

WPML 3.8 lets you accept feedback from visitors about the quality of your translated content using the new Translation Feedback.

Translation, like any other content in your site, may have typos and other language mistakes. The difficulty with translations is that often, you don’t speak the language, so you can’t notice these problems.

This is why we’ve created the Translation Feedback module. Now, you can allow visitors, who speak these languages, to rate the quality of translations and point out to problems.

Translation Feedback Settings
Translation Feedback Settings

We implemented this in a way that requires the least amount of effort to use. You can enable Translation Feedback, choose which languages accept feedback and when. For example, you can choose to accept feedback on all translations done within the last 30 days.

End-user accounts

WPML 3.8 offers dedicated accounts for end-users. This is something that we’re trying out, we believe will work and can help developers and end-users alike.

The idea is to offer (not force) simplified documentation and direct support to the people who are running sites. This is a new concept in WordPress, but not new in the world. In many industries, manufacturers give much different support to end-users and to developers.

We’re doing this for several reasons:

  • To keep better contact with end-users and know what they need (so that WPML gets simpler over time)
  • To help translation services, who need this kind of end-user support (they’re experts at translation, but don’t need to become experts in running WordPress sites)
  • To improve the satisfaction of people running multilingual sites and are maintaining multilingual content
  • To allow developers to better focus on building sites and end-users to run them

As an example, look at the tutorial emails that we send. Until now, we’ve had a mix of technical subjects, along with content-management subjects. Now, we’re separating these lists. Developers will get more in-depth information on how to build great multilingual WordPress sites. End-users will get material on how to organize content, how to translate, how to work with translators, etc.

This is an opt-in thing. If you want to invite your clients to get translation support from WPML, you’re welcome. The invitation page is now in your Site-Keys page:

Invitation to create end-user accounts

End-users can create their own accounts from the WordPress admin. When they click on the links to instructions for translation, WPML will ask for login/new-account. Once in, they will get detailed instructions for how to translate exactly their site.

These links include information specific to each site on how to translate it

If you don’t want this WPML to invite end-users to create their own accounts, go to WPML->Translation Management->Multilingual content setup and select the option Disable the possibility of creating accounts for users on wpml.org. You can also set a PHP constant:

define( 'WPML_END_USER_ENABLED', false );

Beta testing channel

Following WPML 3.8, it will be a lot easier to try our beta versions. WPML will allow you to choose which ‘channel’ you want to use. You’ll be able to choose between:

  • Production (always available) – the fully tested versions, meant for production sites
  • Beta (only available when there’s a beta release) – public releases of development version, intended for testing
  • Development (only available when there’s a development release) – frequent updates, intended to patch specific problems or run specific tests

To move between these, go to Plugins->Add new->Commercial.

You can switch between the Production and Beta channels in one click, without manually installing ZIP files.

There, choose your channel. WPML will automatically get the plugins it needs from the right channel.

How to update

As always, it’s best to register all your sites for automatic updates. You can also download the recent version of WPML from your WPML account. Then, go to Downloads. When updating, please update all of WPML’s components that you’re using. You cannot use a mixture of old and new versions on the same site.

Remember that this is a major update for WPML. We recommend to back-up your site before applying updates to WordPress, your theme and plugins. You should back-up your site before this update.

What’s next?

The next release of WPML will focus on the translation process. There are already dozens of excellent translation services who offer their work through WPML. We want to make it easier for you to use them. Of course, we’re also going to offer major improvements for people who are translating themselves.

As always, we give top priority to stability, security and compatibility.

Feedback?

WPML team has spent months fine-tuning and optimizing this release. We hope that you like it and enjoy the new GUI and performance.

Let us know what you think by leaving your comments here.

40 Responses to “WPML 3.8.0 – Faster, Simpler and Friendlier”

    • WordPress checks the repository for updates only once every 12 hours. We pushed this update 6 hours ago. If you’re still not seeing it tomorrow morning, it means that something is stuck. Start by clicking on “Check for updates” in WordPress. If there’s still nothing, unregister WPML from your site and register it again. If there’s still nothing, let us know and someone will have to login to your site and check.

    • Go to Dashboard->Updates. There, you can force WordPress to check for updates and you should see the new version of WPML.

    • I need to check if there’s interest with BB team. Have you asked them if they are interested in adding compatibility for WPML? BB plugin is compatible and works great. I don’t know their plans for Beaver Theamer and WPML.

      • Hi Amir, I’ve a ticket open at Beaver Themer and on the WPML site (about 2 month ago). They told me that they’ve allready stay in contact with your technicans. I got the same info from WMPL support.
        Hm… feels a little bit like ping pong…

        • So we should be fine. There’s no ping pong. Our compatibility team has a bit of a queue of projects (like I’m sure that the Theamer team has). If they’re already aware of it, an integration will come.

  1. For future version requests:
    – can you please prevent string re-scan on each update/upgrade?
    – can you please allow option to see strings 500 & 1000 at a time? Going from 100 to SEE ALL is too big of a jump.

      • YES! It’s annoying. I spent an hour removing 8,000 strings yesterday just to save 100. I’ve used WPML for years and just when I think I have it figured out, it surprises me again. Btw, WPML 3.8 broke pagination function on my genesis framework theme. The pagination links are pointing to the main domain instead of the translated domain. :/

        • I want to understand why you had so many strings to remove. If you need to remove them manually, maybe we need to arrange something else. I’ve asked Amit to contact you and check what’s wrong with Genesis. Of course we’ll fix it.

          Can you tell me what cause so many strings to be added, which you need to remove manually?

          • Updating WPML caused it to re-scan all my plugins and themes. It add 6,000 from “default” domain which was basically all the WordPress core text.

            • Thanks for the info. Can you create a support ticket about this and paste the link to it here? I want to see how the String Translation plugin is configured and if it was supposed to auto-register strings. It will be easier to follow-up in a support ticket.

  2. Broke my Genesis site too – sidebars were full of numerous 'call_user_func_array() expects parameter 1 to be a valid callback, function 'icl_sw_filters_widget_title' not found or invalid function name' warnings. Have rolled back site with Vault Press to version 3.7.1 – all working perfectly now. Definitely not playing nicely with Genesis Framework …

    • This shouldn’t happen. We tested WPML 3.8 with Genesis and this sort of thing would have stopped our QA. Dimitris, from our testing team, will contact you right away. We’ll need a copy of your site to debug it locally and see what’s happening. Maybe it’s something with a child theme, or a plugin, or a configuration that we’re not aware of.