Setting up The Events Calendar with WPML

At the time of writing, the popular WPML plugin is compatible with the following plugins: The Events Calendar, The Events Calendar Pro, and Filter Bar.


  • WPML Multilingual CMS 4.0.6 or above
  • WPML String translation 2.8.6 or above
  • WPML Translation Management 2.6.6 or above
  • The Events Calendar 4.6.23 or above
  • Events Calendar PRO 4.4.32 or above
  • Filter Bar 4.5.8 or above

Previous versions of WPML and The Events Calendar do work together. However, these are the latest versions in which a great number of compatibility improvements have been made in both WPML and our plugins.

As a general rule, for optimal compatibility, it is best to use versions of WPML and of our plugins that were released at around the same date.

Please also understand that while we strive to be compatible with WPML and invest considerably in this effort, we can not guarantee 100% compatibility (as is true of third-party plugins generally).

Several of our other plugins and add-ons are not currently supported or compatible with WPML: Event Tickets, Event Tickets Plus, Community Events, Community Tickets, Eventbrite tickets and Event Aggregator.

The good news is that we are currently working at expanding compatibility and hope to add support for the rest of our premium add-ons in the near future.

If you are looking for more information about setting up our Filter Bar add-on with WPML, please read our dedicated guide on this topic.

Configuring the plugins

There are some important steps that are essential to ensure that these plugins will work together. We'll start by assuming that you've already got The Events Calendar installed and activated and will start with the installation of the WPML plugin.

  1. Install WPML and follow the initial setup steps completely. There aren't any special settings that need to be used at this point, however, it is important that you completely set up the WPML plugin once started without navigating away from the process.
    Setting up The Events Calendar with WPML - Setup WPML
  2. Once the plugin is installed, completely set up, and registered, you'll need to download some additional WPML dependency plugins.
    1. You can download these by navigating to the Plugins > Installed Plugins page within your WordPress dashboard.
    2. Find the WPML plugin you have just installed and look for the "Registered" link.
    3. Click on that link.
      WPML Multilingual CMS Registered Screen
  3. This will take you to a page that will allow you to download some additional plugins for WPML. Select the "WPML String Translation" and "WPML Translation Management" plugins.Make sure that you select the option to "Activate after download" and click "Download"
    WPML String Translation, WPML Translation Management, and Activate after download selected
  4. After those two additional plugins have been downloaded and activated, you'll now have new administration menu items under the WPML section of your WordPress dashboard.
    WPML Languages
  5. Navigate to the Settings page and make sure to select the Multilingual Content Setup tab.
    Multilingual Content Setup
  6. Scroll down to the How to translate posts and pages section. We recommend using the "Create translations manually" option.
    Create Translations Manually
    Note: The Classic Translation Editor will work if you are using only the Events Calendar (free). Recurring events (the Events Calendar Pro) will not work with the Classic Translation editor.
  7. Scroll down to the Slug translations section, check the "Translate custom post and taxonomy base slugs (via WPML String Translation)" box and hit "Save".
    Translate custom post and taxonomy base slugs
  8. Scroll down to the bottom of the same tab to the "Post Types Translation" and "Taxonomies Translation" sections.
  9. By clicking on the "Set different slugs in different languages for Events" link, you can choose to use a different slug for each language if you want to (see screenshot)
    alternate language slugs
  10. The basic plugin set up is now complete! You are ready to start managing translations for your event. Be sure to review our Creating Translations for Events Using WPML article for essential tips.

Displaying your events in other languages when they are not translated

In an ideal world, you would translate all of your events.
But sometimes, that is simply not possible for a handful of reasons.

Head over to WPML > Settings > Post Types Translation and select "Translatable - use translation if available or fallback to default language" for Events.

Post Types Translation Events

You should now be able to display non-translated events in all languages.

This also allows you to "cheat" a little and fake WPML compatibility if you are using Event Aggregator.

To be clear, this does not make Event Aggregator compatible with WPML. It merely allows you to display its untranslated events in all languages :-)

Setting your profile up for success

Some of our awesome customers have experienced issues with some of the elements of Events, Venues and Organizers not being translated properly when toggling between languages.

Before this happens to you too, we highly recommend:

  1. Heading over to your profile
  2. Look for the WPML language settings section
  3. Make sure you check the "Set admin language as editing language." option.

Editing Language

Emptying the WPML cache and preventing 404 errors

Starting with version 3.5.3, WPML uses caching to offer awesome performance on multilingual sites.

With that in mind, sometimes this can also cause 404 error messages, especially after one of the following changes:

  1. Upgrading one of our plugins
  2. Activating a WPML option such as "Custom post slug"

To resolve this, here is the recommended procedure:

  1. Disable WPML custom slug translation (see step 6 above)
  2. Save the settings
  3. Re-enable WPML custom slug translation
  4. Save the settings
  5. Flush permalinks in WordPress under Settings > Permalinks > Save

These steps will flush the WPML cache and avoid 404s errors in the calendar.

If that still does not work, after a quick database backup, try deactivating and reactivating all plugins from the Events Calendar family (the Events Calendar and the Events Calendar Pro).