Skip Navigation

Released on:

New Translation Basket, added translation services, better performance and more.

Attention ICanLocalize clients

WPML 3.2 doesn’t support ICanLocalize. Please wait with your upgrade until we announce compatibility with ICanLocalize. We are working to complete it ASAP. Then, WPML will arrive with automated updates.


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.

Better Performance

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:

  • admin_texts_theme_twentyfifteen
  • admin_texts_plugin_woocommerce

now we will have contexts that look like:

  • admin_texts_twentyfifteen
  • admin_texts_woocommerce

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:

admin_texts_woocommerce (obsolete)

If the strings appear in a plugin that’s no longer installed in your site, the strings will appear under context:

admin_texts_woocommerce (removed)

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.

13 Responses to “3.2”

  1. I understand from a previous post that “Packages Translation – WPML can Translate Complex Things” will finally allow full support of text items in the Headway theme. Does this require an update from Headway now to add support for this?

    • This is something that we’ll need to work with together with Headway folks. Now that it’s ready in WPML, I’ll write again to Clay and see how they’re doing.

  2. Where’s any further info on Packages Translation? wpml-package-management page only displays the Gravity forms but you cannot do anything with it.

  3. I upgraded… then put a post on my website, with translation.

    When I updated the slider’s comment in English, the string translation for the French Presentation page stopped working – now my French home page, is partially in English!

    What happened with that latest update?? My new entry doesn’t automatically appear in the list of strings (in any status).

    Please help me get the presentation page’s string translations to display again! 🙁

    • Is there a support thread where you reported this? We will need more details, including the debug information from your site, to understand what is happening.

    • Not sure if there is a support thread… How do I find out?

      Debug Information? What is it, and where do I find it?

      My website was created with the Mantra Theme… It was running and string translations for the presentation page worked perfectly until I added a post and changed the text of one of the sliders – now no longer sees that slider in the list “to translate”, and even worst, no longer translates the presentation page (only tabs and footers are translated!).

      I’m now hiding he French version of the site because it’s an embarrassment… but will activate it if you wish to see it.

      Thanks,

      Marie

  4. Question

    The last WPML update said to delete a plugin module. Can’t remember what it was (but the update explanation said that it was now included in another one)… Could that have caused my problem with the string translations?

    Marie

  5. after updating to the latest version it gave me this warning:

    WPML Translation Management requires the following PHP extensions and settings:

    PHP Setting: allow_url_fopen=1

    I read that enabling this option would compromise my website security. Can I leave it off? Why would you have us open it if it is dangerous?

    • This setting allows PHP code that you run to contact outside and get information. It doesn’t allow external code to reach inside your server. Of course, someone could write malicious code that would use external calls, but it’s not an inherent security issue.

  6. I have a problem with the autor discription. Ican see the older one ( 3-4 Weeks ago) but not the new one. I can see the text in the cms but not on the site. The same problem at the string translation there is no desprition to see? Any idea!

    Sascha

  7. Después de actualizar mi woocomerce no funciona y da muchos errores a la hora de pagar ….Warning: Invalid argument supplied for foreach() in wp-content/plugins/woocommerce-multilingual/inc/wc-strings.class.php on line 321