We’re very proud to announce WPML 2.6.0. This is a major upgrade, with completely new functionality and a ton of stability improvements.

Auto Download for WordPress Translations

The biggest new feature in WPML 2.6.0 is the ability to automatically download translations for WordPress code. I discussed it in detail in the beta announcement.

WordPress core translation downloader

This new feature means that you never again have to worry about getting .mo files for WordPress itself. WPML will locate the correct translation file, download it and save the translation in the String Translation in the database. Yup, that means that you can even edit these translation from the WordPress admin.

Just between us here, when you upgrade WordPress, do you really remember to also locate and download the .mo files for all the languages you’re using? I don’t, and now, I’m not going to have to either. WPML will get the updated translations for me automatically.

WPML will get updated translations when you add a new language or when WordPress has been upgraded. You can also trigger it manually.

A Lot More Compliant with W3TC

Caching isn’t “nice to have”. It’s essential for any WordPress site, with some traffic. We’ve been using W3TC on our own sites for years, but have always been pretty ‘conservative’ about the caching features that we’re using. Turns out that there were a number of issues between W3TC and WPML, especially related with persistent object caching. Object Caching is a technique that allows WordPress to save partial results of complex operations. It saves processing and DB access and lets you run faster sites with less server load.

The problem was that W3TC cached all objects for all languages with the same keys. So, when WordPress processed (for example) categories for one language, it would use the objects from another language. I bet you can already see how this is going…

Well, WPML 2.6.0 filters the objects caching calls and adds language information. Now, you should be able to use W3TC with the powerful object caching and not get any problems with WPML.

A Brand New Install and Upgrade Process

We’re hitting two birds with one stone here.

  1. A good number of clients has had problems with WPML’s upgrade process.
  2. The age-old question – if XYZ plugin/theme compatible with WPML?

We’ve created a new plugin called Installer. It replaces the upgrade logic in WPML with a lot more modern solution. Installer takes commercial plugins and theme install to a whole new level. Once you’ve installed Installer, WPML.org will become a standard plugins source for your site. This means that the install and upgrade process runs the same as plugins that come from WordPress.org.

In short, we’re not going to see any more problems with getting automatic updates for WPML, or its add-on plugins. In the near future, you’ll also be able to get upgrades for other popular commercial plugins and themes via the same Installer.

Installer also uses collective wisdom to indicate how the new plugins or theme will work with the ones you already have installed. Theme and plugin search results will report problems that others have reported, so you can see cross-compatibility issues, before you install on your site. We’ve been working on this system for almost a year now, it’s been through extensive testing and beta and is finally going live now with WPML.

BTW, Installer is optional. You can always download WPML from our ‘downloads’ page. Installer merely replaces old and incomplete upgrade logic from WPML, and puts it in a separate plugin.

WooCommerce Multilingual (and now, working)

This time, we combined the release efforts for WPML and WooCommerce Multilingual.

In our view, multilingual e-commerce is a strategic thing. WooCommerce, today, is the most complex (and maintained) e-commerce plugin for WordPress, so we made a test case of it.

This new release of WooCommerce Multilingual fixes the difficult issues we had with product variations, product attributes synchronization, product duplication and many other issues.

If you’re running a large e-commerce site with WooCommerce, you should be able to turn it multilingual with WPML and WooCommerce Multilingual now.

We’re at a ‘stable but not complete’ stage. It’s working, but you’ll need to use a slightly patched WooCommerce version. That version includes a few new filters and some small changes that are not yet released in WooCommerce. You’ll find both downloads in WooCommerce Multilingual page.

While we’re at it, you might be interested to know that WooCommerce is also fully integrated with our Types and Views plugins. Have a look at what we’ve built with WooCommerce and Views (and no PHP coding at all), and get a feel for what you can do to. Very soon, we’re going to enhance that reference site with multilingual content. You’ll see a complete e-commerce site, with WPML, Types and Views. You’ll be able to test drive it on our server and see how you like it for yourself. I’ll write a lot more about it when it’s ready.

And, it’s not just WooCommerce. We’re going to update the support for JigoShop very soon too. MarketPress is running smooth with WPML already and we’re looking at adding support for Cart66 in the near future.

Compatibility Problems with ACF, Types and Other Custom Field Plugins

This started as a bug in WPML, but we then traced it to weird behavior in WordPress core. Seems that WordPress automatically serializes and de-serializes content of custom fields, based on their structure. The end result is that when you translated custom fields, you might have had content double-serialized or unserialized, making things look erratic and random.

We found where it’s starting and which function is safe to use without allowing WordPress to do this. Now, when you translate serialized custom fields, WPML will synchronize them correctly. This sounds pretty technical, but was the source of a lot of wasted time for folks using custom fields with serialized content (us included). WPML will now work a lot smoother with Advanced Custom Fields (which uses serialized fields extensively) and better with Types. If your theme uses serialized arrays in custom fields and you’re trying to synchronize them in different languages, you’ll also notice a big improvement.

Download WPML 2.6.0

If you scrolled down here directly, you might have missed my announcement about the new upgrade mechanism for WPML 2.6.0 (and the coming versions as well).

You can download and install WPML 2.6.0 manually from your WPML account.

To get this upgrade automatically, please first install our Installer plugin. Then, go to the ‘plugins’ page, put the mouse over WPML and click on the ‘login’ link. Enter your email and password for wpml.org and you’re all set. Of course, Installer is saving your password after encrypting it, just like WordPress handles other passwords.

From that point, WPML upgrades will appear normally in the Plugins page. You’ve just allowed WordPress to automatically get upgrades from WPML.org, as if you’re downloading plugins from the WordPress plugins repository.

Credits, and Feedback

WPML 2.6.0 has been one of the most intensive releases since we started. I’d like to quickly mention the people who made it possible.

  • Mihai – project leader
  • David – our new support chief (and a talented developer)
  • Bruce – project leader for Types and Views
  • Dominykas – responsible for WooCommerce Multilingual
  • Nikos – Installer lead developer
  • Bigul – QA and testing
  • Boban – QA and testing
  • Harshad – support and QA
  • Brooks – support

As always, if you need technical help, please start a new thread in our forum. To tell us what you think about this release, ask a question or make a suggestion, leave your comments here.