The Events Calendar allows you to easily create and manage events on your WordPress website. For each event, you can set a venue, organizer, time and date, and many other options. In this tutorial, we explain the process of creating a multilingual event calendar.

Event list in the default language Event list in the secondary language

Contents

Getting started

If you are a developer, make sure that The Events Calendar plugin is activated. In this tutorial, we are using The Events Calendar Pro plugin along with the Filter Bar add-on.

To get started, make sure that the following plugins are activated: WPML Multilingual CMS, WPML String Translation, and WPML Translation Management. WPML Media Translation is required only if you want to translate texts of images or use a different image in each language. Follow the steps described in theGetting Started Guide to verify that your setup is correct.

If you own a website and are working with a developer, please ask the developer for assistance to manage these settings.
For a better translation experience, activate the WPML Classic Translation Editor. To do this, go to WPML -> Settings page. In the section titled How to translate posts and pages, check the Use the Classic Translation Editor option and click the Save button.

Use the Translation Editor

Translating venues

Before you start translating your events, translate the venue, organizer, categories, and tags associated with the specific event you want to translate. In the WordPress dashboard, navigate to Events -> Venues page. Click the + icon below the language to which you want to translate your venue.

Click on the the + icon to translate the venue

This opens the WPML Translation editor. Fill in the fields with your translated content and mark them as Translation is complete. Once you have added your translated content, click the Save & Close button.

Translate the venue texts and save

This is how the translated venue appears on the front-end:

Translated venue on the front-end

Translating organizers

The process of translating the “Organizer” custom post type is exactly the same as the “Venue” custom post type. Choose the organizer you want to translate and follow the same steps you went over to translate the venue.

Translating categories and tags

To translate event categories, go to Events -> Event Categories. Click on the edit link of the category you want to translate.

Click on the Edit icon of the category

In the language meta-box, click the add link next to the language to which you want to translate your category.

Click on the add link to translate the category

Add the translated text in the Name, Slug, and Description fields. Then, click the Add New Event Category button.

Add the translated texts

To translate tags, follow exactly the same steps as explained to translate event categories.

Translating events

You can now proceed to translate the event to which the venue, organizer and categories have been translated. In your WordPress Dashboard, navigate to Events -> Events page. Click the + icon below the language to which you want to translate your event.

Click on the + icon to translate the event

This opens the WPML Translation editor. Fill in the fields with your translated content and mark them as “Translation is complete.” Once you have added your translated content, click the Save & Close button.

Add the translated texts and save

As you may have noticed, only the event fields are being displayed in the translation editor. The reason is that the venue and organizer fields have been translated earlier.
When displaying a translated event, WPML automatically shows the Featured Image of the event’s default (original) language.

This is how the translated event page appears on the front-end:

Translated event on the front-end

Translating recurring events

The premium version of The Events Calendar allows you to create a series of events that repeat over a period of time (weekly, monthly, etc.). When you set a recurring event, The Events Calendar automatically creates instances of that event on the specified dates/interval.

To translate the original instance of the event default language, follow the steps described in the Translating events section. You will notice that events instances are not created in the secondary language(s). In order to create these translated instances, follow the steps below:

  1. Navigate to the event editing page. Use the admin bar language switcher to choose the desired secondary language in which you want to create the translated event instances.
  2. Navigate to the secondary language event editing page using the admin bar language switcher
  3. You will see a warning pop-up about editing a translation using the standard WordPress editor. Click the Edit anyway button.
  4. Click the Edit anyway button
  5. In the publish meta box, click the Update button.

This will create the translated instances in the secondary language. Repeat the steps above to all the languages you have on your website.

translated instances in the secondary language

Translating time and date formats

You can set a different time and date format for each language to which you are translating your calendar. On your WordPress dashboard, navigate to Events -> Settings, then go to the Display tab and fill in your preferred format under the Date Format Settings section.

To translate the time and date format, follow the steps below:

  1. Navigate to WPML -> String Translation, from the Select strings within domain: drop down menu choose the “admin_texts_tribe_events_calendar_options.” You can see a list of the different date formats.
  2. [caption id="attachment_2485635" align="aligncenter" width="1024"] Navigate to the String Translation page and choose the admin_texts_tribe_events_calendar_options text domain[/caption]
  3. Click the translations link to set the time and date format with the desired secondary language. Tick the Translation is complete checkbox and then click the Save button.
  4. Change the date format and save

This is how the default language date format looks on the front end:

Default language date format

This is how the secondary language date format appears on the front-end:

Secondary language date format

Translating the events (listing/archive) page

To translate the events archive page, you only need to translate the base slug of the custom post type events. To do this, navigate to WPML -> Settings page, find the Post Types Translation section. Make sure that the “Events” custom post type is set to “Translatable – only show translated items.” Tick the Use different slugs in different languages for Events option, translate the slug, and then click Save.

Translating the events page

This is how the translated events page looks like on the front-end:

The translated events page on the front-end

Translating the venues and organizer listing page

To create a venue or an organizer listing page, download “The Events Calendar Extension” plugin and follow the instructions in this documentation.
We created a page that lists the organizers in the default language:

The default language organizers page on the front-end

To translate the organizer listing page, follow the steps below:

  1. Navigate to the listing page content editor and click the + icon to translate the page.
  2. Click the + icon to translate the organizers listing page
  3. Add your translated texts and tick the Translation is complete checkbox in all fields. Be sure to translate only the textual elements in your page content keeping the organizer list shortcode the same in both languages. Click the Save & Close button.
  4. Add the translated texts and ensure having the same organizer list shortcode then save

This is how the translated organizer page appears on the front-end:

The translated organizers page on the front-end

You can follow the same steps to translate the venue listing page.

Translating Texts from The Events Calendar

In addition to the content coming from events on your site, there are usually some texts coming from other places. The most common examples are themes and plugins.
To learn how to translate these texts, read our documentation page about translating these texts manually or sending them to others for translation.

Translating the Filter Bar addon

To translate the texts coming from the Filter Bar add-on, follow the steps below:

  1. On your WordPress dashboard, navigate to WPML -> String Translation.
  2. Choose the “admin_texts_tribe_events_filter_current_active_filters” text domain from the Select strings within domain: drop down menu. You will see a list of all the strings coming from the Filter Bar add-on.
  3. Click on the translation link, fill in your translated text then tick the Translation is complete checkbox and click Save.
  4. Navigate to the String Translation page add the translated text then save

This is how the translated filter bar appears on the front end:

The translated filter bar on the front-end

Getting help from our support

We have supporters on our forum who are available six days a week to help you. They are trained in how to use WPML with The Events Calendar plugin.
If you are working with a developer for your site, please use our Translation support forum to get help with translating your site’s content.
If you are setting up the site and WPML yourself, please use our Technical support forum.