We are ready with a first public beta of WPML 3.2. This release is the result of months of development and brings many new capabilities to WPML.
The Translation Basket allows you to choose content to translation a lot more easily than before. It’s very similar to a shopping cart in an e-commerce site. You can add any kind of content (including strings) to the basket. When you’re ready, send it at once to your translators.
Let’s say you’re adding a showcase to your site and you want to translate it.
You will start with the Translation Dashboard and select the new page, where the showcase displays. Add it to the basket.
Now, change the filter and choose ‘showcase entry’ type. Add the showcase entries you want to translate to the basket.
Finally, go to the String Translation screen and locate the stings that appear in the theme for the showcase (like ‘visit site’, ‘Link’, etc.). Select all those and add to the basket.
So far, nothing was actually sent to translation. Go to the Translation Basket, review everything you’ve added and send to translation in one batch. You can give the batch a name, so that you remember what it was about.
Your translator will love you for collecting all relevant information and sending it together. It’s also so much easier for you to keep track of translations, when they are grouped by subject.
Sending to translation became a lot better with the Translation Basket. You may never notice it, but WPML now sends the basket content in chunks, with AJAX updates. This means that you can put unlimited amounts of content into the basket and send it as one big package. You don’t need to worry about servers timing out. WPML sends it in small chunks, but your translator still gets it as one package.
Yes, we love our own translation service, ICanLocalize, but you can choose. WPML 3.2 will allow you to select between different professional service providers. Right now, we are working with several leading translation services, integrating them with WPML.
We are now (finally) ready to work with any translation service that has an API. This breakthrough is a result of our new Translation Proxy.
The Translation Proxy is our new server, which bridges between the protocols of different translation service providers and WordPress sites. It allows WPML to communicate with different translation services, without knowing their protocol.
WPML sends content to the Translation Proxy. The Translation Proxy queues it and sends to the translation service, using their native API. So now, to support a new translation service, we don’t need to update WPML in every website in the world. We add the support to our Translation Proxy and everyone has access to a new translation service.
Our first translation partners are the team from Cloudwords. We’ve been quietly working with Cloudwords in the past months integrating WPML and our Translation Proxy with Cloudwords API. As soon as WPML 3.2 is released in production, you will be able to receive translation work from Cloudwords.
Some plugins and themes use their own tables and complex data structures to hold data. We’ve seen this with visual editors, event managers and niche-market themes.
Now, WPML can handle these data structures with ease.
The ‘Translation Packages’ support in WPML allows plugins and themes to (easily) declare their data structures and make them known to WPML.
Using the new Translation Packages is almost too easy. You just call one hook (wpml_register_string) when saving your data. This single hook tells WPML that there is a piece of information that belongs to an object. Call it as many times as you need to add fields.
WPML collects all this information and constructs translatable objects. Then, it allows users to translate them using the Translation Dashboard, just like any other WordPress content.
When you render, pass your data through the WPML_translate_string filter. If the object is translated, you will receive the correct string in the right language.
Adding WPML support to our Layouts plugin took just a few lines of PHP. We created the entire Layouts plugin without much thought over language and made it multilingual-ready in a couple of hours.
Compatibility with W3TC Object Caching
WPML 3.2 helps you run sites (a lot) faster by supporting object caching by W3TC. Object caching means that complex items don’t need to be re-computed on every page render (or often, several times inside the page render).
The Object Cache engine checks if an ‘object’ was recently computed. If so, no need to compute it again. This can greatly speed up dynamic sites, where entire pages cannot be cached.
In the past, object caching would not work with WPML, because objects got mixed between languages. WPML 3.2 fixes this problem by filtering the object keys and adding languages to them.
But this is just part of the improvement in WPML 3.2. We’ve also refactored the String Translation code, making it much more optimized to work with object caching.
If your site has just a few stings, you’re not going to notice a great improvement. If you are running a site with loads of strings (typical to WooCommerce sites), you should feel a considerable improvement in speed – especially if you use W3TC with Object Caching.
XLIFF and Translation Analytics Merged In
WPML 3.2 includes both the XLIFF module and Translation Analytics, inside the Translation Management module. We’ve unified all three because while opening WPML to different translation services, we moved to using XLIFF files for all. So, there’s no more need for a separate XLIFF module for WPML. XLIFF rules!
New versions of Gravity Forms appear to be acting up with WPML. This isn’t entirely related to WPML 3.2, but we’re looking into this.
Also, WPML 3.2 deprecates a call that our CRED plugin uses. We’ll be releasing an update to CRED to be completely compatible with WPML 3.2.
This version of WPML is not intended for production sites (yet). It doesn’t support ANY professional translation, including from ICanLocalize.
Download and Give Us Feedback
You can get WPML 3.2 Beta from your WPML account. Log in, click on Downloads and get the recent beta. This ZIP includes ZIP files of all of WPML’s components. Unzip it locally and upload the components that you are using.
If you have XLIFF or Translation Analytics installed, deactivate them to avoid conflicts. Otherwise, update all WPML components that you are using (don’t use a mix of ‘production’ and ‘beta’ components).
Overall, WPML 3.2 beta is pretty close to our final version. We’d love it if you could take it for a spin and try it on your development sites.
We are looking to release WPML 3.2 in the next couple of weeks. We would love to hear your feedback. Leave your comments and we’ll get back to you.