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.
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.
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.
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.
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:
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.
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.
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.
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.
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.