Skip Navigation
33

WPML 3.3 is ready as “release candidate”. This means that we’ve fixed everything we knew about, was reported to us, or found internally. We’ve done initial testing for everything, but not yet our full QA cycle.

The main feature in this release is the ability to run sites without English, easily. We got good feedback about this and now we’re almost ready to release WPML 3.3 for production sites.

Here is a full list of changes. Some of the updates in WPML 3.3 resolve problems. If a problem that bothers you appears here, we encourage you to try this RC and see that the problem goes away.

WPML Core

Features

  • Sync content between domains, when using languages in domains. This was needed for WooCommerce, and in preparation for other upcoming features
  • Added button to clear all WPML caches
  • WPML now allows to load a taxonomy template by language, also for the default language

Performance improvements

  • Improved browser redirect performance
  • Fixed performance issues when listing posts (easily noticed when listing many WooCommerce products)

Fixes

  • Fixed the “Display hidden languages” options for users
  • Fixed an issue causing a notice and incorrect results for certain taxonomy queries that involved custom post types
  • Filter url for scripts and styles when language is per domain
  • Resolved notice “Undefined index: strings_language” after WPML activation
  • Resolved http(s) protocol and different domains per language issues
  • Added button to to clear all WPML caches
  • Resolved broken settings issue with WooCommerce during WPML activation
  • Fixed redirection for child pages
  • Resolved notices when selecting “All languages” in admin
  • Removed Translation Management dependency when duplicated posts are updated
  • Resolved issues when deleting a Layout which has no cells (hence no package)
  • WPML now allows to load a taxonomy template by language, also for the default language
  • Added ‘blog_translators’ filter to programmatically change the list of translators

String Translation

Features

  • Allow icl_register_string to register a string in any language
  • Added the package language to the URL to the translation dashboard (this applies to the Package box, where used by other plugins like Layouts)
  • Add a language selector to the package metabox (eg. as seen on the Layout editor)
  • Add a language selector to the Admin bar menu to set the language of a package (eg. as seen on GravityForms)
  • Add support for sending strings in any language to the translation basket

Fixes

  • Email footer text is now properly translated
  • Fixed string status, when they are created by packages

Translation Management

Features

  • Add support for sending strings in any language to the translation basket
  • Added action in Translation Jobs tab, to trigger translation download for batches
  • Added words count feature in Translation Dashboard

Fixes

  • Added action in Translation Jobs tab, to trigger translation download for batches
  • Automatically detect the best polling method and update the settings accordingly
  • Created a filter to override \WPML_TM_Blog_Translators::is_translator
  • Fix so that post format is synchronized as required

WPML-Media

Fixes

  • Fix duplication of featured image when using the translation editor

Gravityforms Multilingual

Features

  • Added ability to change the language of a form

WPML CMS Navigation

Fixes

  • Breadcrumb menu for archive pages and CPT single pages

Download

To download, go to your WPML account. Click on Downloads and scroll all the way to the bottom. Download the CMS Beta Package. This ZIP file includes all of WPML’s components. You need to use the WPML components from this ZIP only and not mix development versions with production versions.

Schedule for production release

WPML 3.3 is going into full QA now. It usually takes us about two weeks to run a complete testing cycle. We encourage you to use this RC on development sites. By now, everything should work. Of course, that’s what testing is for.

Feedback?

Questions? Suggestions? Ideas? Leave your comment and we’ll get back to you.

How can we make WPML better for you?

Share your thoughts and comments about our plugin, documentation, or videos by booking a Zoom call with Agnes, our Client Advocate. Your feedback matters and helps us improve.

Book a call with Agnes

33 Responses to “WPML 3.3 RC – String Languages, Stability and Performance”

      • Hi Amir, i will use it on the header of some themes, i know that can be done via funtions but it will be good its that is now integrated.

        Some themes had html places on their header but not widgets.

  1. Seems to be pretty stable. Good work 🙂

    One minor issue:

    I have the same link (about us) in the main and in the footer menu. After updating to WPML 3.3 the menu link was recreated in the main menu. Now it is there twice.

    When removing the “extra” link from the main menu, it also disappeared from the footer menu.

    I remember I had similar issues when updating to WordPress 4.3. It had something to do with shared terms. Somehow I now have similar behavior when updating WPML to 3.3.

    • Can you open a support issue for the menu issue so we can handle it there. We’ll need to get some more details from you so we can debug it.

      Include a link to the support thread here so I can follow up.

  2. I suggest answering support calls before bringing new versions.

    Opps I figure you consider 18 days waiting time “very good”. Gotcha.

    Sorry but 0 respect for any news, when you can’t answer support calls in less than 2 weeks.

    Well then again you migth consider 4 weeks ok 🙂

    Awww my bad.

    And no, I am not a frustrated user. I am a p1$$3d off user.

  3. Looking forward to install it!
    I didn’t see in the list if the problem with Visual Composer (unable to select the submenu’s under “Product Data” in the product page) will be resolved with that version.
    Is it the case?
    Thanks!

  4. This is great news. I’ve tested it and does solve the bug where duplicated posts weren’t updated automatically. That is

    Although it doesn’t solve the less urgent issue where wpml overrides forever the value of a CPT field with a translation, when auto-register strings is enabled, even if it’s configured to not translate it in “Custom fields translation settings”.

  5. I just updated my WPML plugins and i get this error :

    WordPress database error: [Table ‘wysote.b’ doesn’t exist]
    SELECT CONCAT(b.domain, b.path) FROM b WHERE blog_id = 0 LIMIT 1

    • This doesn’t seem to be related to WPML. The table you are referring to comes from another plugin. Are you sure that you only updated WPML and not something else?

      • I’m not sure if it’s related, but i have this message on Language URL Format :

        Notice: Undefined index: host in D:\htdocs\wysote\wp-includes\class-http.php on line 208
        Langues différentes dans les répertoires ((http:/ – Anglais, http:/fr/ – Français))

        • Same problem here after updating only WPML to RC. Same error in dev and live sites.

          I’m trying to get this issue fixed: https://wpml.org/forums/topic/wpml-is-not-copying-custom-fields-when-using-translation-editor/

          WordPress database error: [Table ‘DBNAMEHERE.b’ doesn’t exist]
          SELECT CONCAT(b.domain, b.path) FROM b WHERE blog_id = 0 LIMIT 1

          And WPML -> Languages -> Language URL format:
          Notice: Undefined index: host in /home/visitpar/public_html/dev/wp/wp-includes/class-http.php on line 208

          Notice: Undefined index: host in /home/visitpar/public_html/dev/wp/wp-includes/class-http.php on line 208

          debug.log:

          [02-Nov-2015 17:17:13 UTC] WordPress database error Table ‘visitpar_devwp.b’ doesn’t exist for query SELECT CONCAT(b.domain, b.path)
          FROM b
          WHERE blog_id = 0
          LIMIT 1 made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘/home/visitpar/public_html/dev/wp-config.php’), require_once(‘wp-settings.php’), include_once(‘/plugins/sitepress-multilingual-cms/sitepress.php’), load_essential_globals, load_wpml_url_converter, WPML_Lang_Parameter_Converter->__construct, WPML_URL_Converter->__construct, WPML_URL_Converter->get_abs_home
          [02-Nov-2015 17:17:18 UTC] WordPress database error Table ‘visitpar_devwp.b’ doesn’t exist for query SELECT CONCAT(b.domain, b.path)
          FROM b
          WHERE blog_id = 0
          LIMIT 1 made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘/home/visitpar/public_html/dev/wp-config.php’), require_once(‘wp-settings.php’), include_once(‘/plugins/sitepress-multilingual-cms/sitepress.php’), load_essential_globals, load_wpml_url_converter, WPML_Lang_Parameter_Converter->__construct, WPML_URL_Converter->__construct, WPML_URL_Converter->get_abs_home
          [02-Nov-2015 17:17:25 UTC] WordPress database error Table ‘visitpar_devwp.b’ doesn’t exist for query SELECT CONCAT(b.domain, b.path)
          FROM b
          WHERE blog_id = 0
          LIMIT 1 made by require_once(‘wp-load.php’), require_once(‘/home/visitpar/public_html/dev/wp-config.php’), require_once(‘wp-settings.php’), include_once(‘/plugins/sitepress-multilingual-cms/sitepress.php’), load_essential_globals, load_wpml_url_converter, WPML_Lang_Parameter_Converter->__construct, WPML_URL_Converter->__construct, WPML_URL_Converter->get_abs_home

  6. Hi Amir,
    the “display hidden languages” issue seems to be working now on my test site.

    I also tried to export/import some xliff data. It seems that WMPL does NOT understand his own xliff files. If I export and then import the same unchanged xliff file WPML says:

    “The uploaded xliff file does not seem to be properly formed.”

    The same happens if I used files with translated data. Can you please have a look?

    Thanks
    Martin

  7. mycollectionarte.com is a test site for the main mycollection.it.
    I just installed the update and gives me this error:
    Warning: Invalid argument supplied for foreach () in /home/mycolle8/public_html/wp-content/plugins/wpml-string-translation/inc/slug-translation.php on line 197

  8. Hi Amir,
    after installing 3.3 RC2 package (all components) on a testing site [http://www.spah14.it/_dvlp/] I found the following errors in my debug.log:

    [05-Nov-2015 10:59:14 UTC] PHP Warning: Invalid argument supplied for foreach() in […]/wp-content/plugins/sitepress-multilingual-cms/inc/installer/includes/class-installer-theme.php on line 691
    [05-Nov-2015 11:22:54 UTC] PHP Warning: require_once([…]/wp-content/plugins/sitepress-multilingual-cms/classes/../lib/Twig/Autoloader.php): failed to open stream: No such file or directory in […]/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-twig.php on line 6
    [05-Nov-2015 11:22:54 UTC] PHP Fatal error: require_once(): Failed opening required ‘[…]/wp-content/plugins/sitepress-multilingual-cms/classes/../lib/Twig/Autoloader.php’ (include_path=’.:/usr/share/php’) in […]/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-twig.php on line 6
    [05-Nov-2015 11:24:51 UTC] PHP Fatal error: Class ‘WPML_Helper’ not found in […]/wp-content/plugins/sitepress-multilingual-cms/sitepress.class.php on line 64

    Also, when I complete a purchase on WooCommerce shop, no mail is sent neither to the customer nor to the administrator.

    P.S. Actually I’m having the emails not sent problem also on the public site since after installing the new released version of WooCommerce Multilingual 3.7.1. I was hoping that it was solved in the beta package but no luck there! I really need to solve this asap as you can imagine…

    Could you please see into this issue?

    Thank you