New Translation Basket, added translation services, better performance and more.
Translation Basket – Allowing to Manage Translation Work Easier
When I need to update translations for our sites, I prefer to send everything that requires update together. It’s also a lot easier for translators to work when they receive everything to translate in one batch.
WPML 3.2 makes collecting and sending batches of translation a lot easier than before. The Translation Basket works much like the shopping cart of e-commerce websites. You add different content from around your site into the basket. As you do this, nothing is yet sent to translation. When you’re done, go to the Translation Basket, review its content and send to translation.
The new Translation Basket works with both your local translators and with translation services.
Besides the added convenience, WPML 3.2 also dramatically improves the performance when sending content to translation. We’ve added AJAX updates, which allow sending batches of any size without running the risk of timeout.
More Translation Services to Choose From
WPML 3.2 is open for any translation service in the world. Translation services are invited to integrate with our system and appear inside WPML’s GUI. Right now, we will see our ICanLocalize and Cloudwords. We are already integrating WPML with two additional services and more are coming.
Appearing inside WPML’s dashboard is an excellent opportunity for translation services to gain more visibility. For end-users, it means enjoying a streamlined process for sending content to translation, and getting translations back.
We completely redid the interface to translation services in WPML 3.2, so that it’s easy for any translation service to connect.
If you are using a translation service, which has an API for receiving and returning jobs, talk with us. Make the introduction between us and the folks running the translation service and we’ll take it from there.
Packages Translation – WPML can Translate Complex Things
WPML can easily translate posts, pages, custom content, fields and taxonomy. But what happens when themes and plugins create complex ‘things’ in their own database? If WPML cannot understand it, it cannot translate.
WPML 3.2 comes with a new mechanism called Packages Translation. Themes and plugins can declare packages, which contain texts. WPML displays these packages in the Translation Dashboard and makes them easy to translate, just like normal WordPress content.
When you translate these packages, you don’t see the underlying complexity. You only translate texts. When translation completes, it’s easy for the theme or plugin to use these texts and display translated ‘things’.
WPML 3.2 already uses Packages Translation for Gravity Forms and Layouts. Instead of our legacy Gravity Forms translation, which required multiple hooks and filters, WPML 3.2 now uses Packages Translation for Gravity Forms. It’s much more elegant, clear and easy to maintain. Using Packages Translation, we’re able to translate all the texts in Gravity Forms, with just a few lines of PHP.
WPML 3.2 makes Layouts fully translatable using Packages Translation, so you can design sites with drag and drop and translate all texts in your layouts. Easy.
Taxonomy Hierarchy Sync Under Your Control
In previous versions of WPML, the hierarchy of your taxonomy tree got updated automatically when translating content. This worked, but had some side-effects that we weren’t happy with.
In WPML 3.2, you will find a new Synchronize Hierarchy tab under the Taxonomy Translation screen. This tab lets you synchronize the hierarchies of taxonomy in your site between languages.
We’ve decided that it’s better to do this manually, when you choose, rather than happen automatically.
Typically, the taxonomy hierarchy changes a lot less frequently than content (posts, pages). There’s no reason to run an expensive sync operation every time you translate content. Also, it’s nicer (we think) to see what changes are going to happen to the taxonomy tree and approve them.
Use Any Language for WordPress Admin
Who says that you need to select the admin language from the site’s active languages. Say you’re building a site for a Swedish client, but the site only includes German, French and English. Why not allow your client to see the WordPress admin in his native language Swedish?
WPML 3.2 makes this possible. When users go to their profile page, they can select their language. They will see the entire list of languages and not only those languages active in the site.
WPML 3.2 runs faster and more efficient than previous versions. Our testing shows about 1/2 of the DB queries and execution times in different places. We’re touching every corner of the code to make it leaner and smarter. The performance gain for your site depends a lot on your content, theme and other plugins. We’ve seen very significant performance improvements for large sites which need to load many posts and fields.
Compatibility with W3TC Object Caching
WPML now plays nice with the object caching in W3TC. Object caching is especially important for dynamic sites (like e-commerce), which cannot cache entire pages, but would benefit from caching parts of a page.
Better and Clearer API
If you’re developing themes and plugins and want to make them play nice with WPML, you’ll enjoy the updated WPML API. We added ‘filter’/’hook’ versions for all WPML calls. This way, you can call these functions safely, without first checking ‘if_function_exists’ and without worrying about load order.
All old API functions are still working normally. We’ve added the new filters and hooks to make it easier, when you write new code.
Together with the new API, we also rewrote the API documentation. Now, every function is easier to find and explained in detail.
Context for Admin Strings Changed
WPML 3.2 simplifies the contexts for admin texts. Instead of contexts that look like:
now we will have contexts that look like:
The words ‘theme’ and ‘plugin’ are removed from the string context. WPML 3.2 will update the strings on your site automatically.
If there are strings that are no longer needed (after the re-scan), they will appear with either ‘(obsolete)’ or ‘(removed)’. If the plugin is still active but no longer uses strings, these strings will now be under context:
If the strings appear in a plugin that’s no longer installed in your site, the strings will appear under context:
We kept these contexts as backup. They are not used anywhere in your site. You can feel free to delete all strings belonging to ‘obsolete’ or ‘removed’ contexts.
Download and Update
You can get this release directly to the WordPress admin or download and install manually. To receive automatic updates, you need to register WPML on your site. Then, visit the Plugins or Updates admin pages. To download manually, visit your wpml.org account and go to Downloads. Follow the installation and upgrade instructions for complete details.
When you update WPML, be sure to update together all the components that you are using. Don’t use a mixture of new and older versions.
Feedback? Need Help?
We love feedback. To make a suggestion, ask a question or give an idea, leave your comment here. If you need technical support and help troubleshooting problems, please use our technical support forum.