Different Languages on the same website

How to Translate Booking Forms, Email Templates, and Settings in Booking Calendar

Important for Booking Calendar 10.15.6 or newer:
If you are using the latest Booking Calendar version, you no longer need to use language shortcodes inside the same booking form.
Instead, for booking forms, you can create separate custom booking forms in the required languages and use the correct booking form on the corresponding language page.

Important:
This recommendation applies only to booking forms.
For email templates and other translatable text options in the Booking Calendar settings, you still need to use the [lang=LOCALE] shortcode method.

Recommended Method for Booking Forms in Booking Calendar 10.15.6 or Newer

The easiest way to configure booking forms in different languages is to create a separate custom booking form for each language.

  1. Create one custom booking form in the first language, for example English.
  2. Create another custom booking form in the second language, for example French, Spanish, German, or any other language.
  3. Open the page in the required language.
  4. Insert the booking shortcode with the corresponding booking form.

For example, use the English booking form on the English page, and use the French booking form on the French page.
This method is simpler, easier to manage, and avoids the need to configure multiple language sections inside the same booking form.

However, this method is only for the booking form layout and form field labels.
For email templates, search settings, confirmation messages, and other text options in the Booking Calendar settings, use the language shortcode method described below.

Using Language Shortcodes for Emails and Other Settings

Paid versions of Booking Calendar support multilingual configuration for email templates and other text options in the settings.
The active language depends on the current website locale.

Booking Calendar supports multilingual plugins such as WPML and Polylang, which can dynamically change the website locale.
When the locale changes, Booking Calendar can show the corresponding translated text section.

Language Shortcode Format

Use the following shortcode to start a translation section for a specific language:

[lang=LOCALE]

Replace LOCALE with the locale code of the required language.
For example:

  • fr_FR for French
  • de_DE for German
  • es_ES for Spanish
  • it_IT for Italian

Important Note About the Default Language

English is the default language in Booking Calendar.
You should start the email template or text option with the English version first, without adding a [lang=...] shortcode at the beginning.

After the default English section, you can add additional language sections separated by the [lang=LOCALE] shortcode.
You can configure more than two language sections if needed.

Simple Example

Example of an English and French translation of the “Thank you” message:

Thank you for your booking.
[lang=fr_FR]
Je vous remercie de votre réservation.

Example of a Multilingual Email Template

You can configure multilingual email templates at:

Booking Calendar > Settings > Emails

For example:

Hello,

Thank you for your booking.

[lang=fr_FR]

Bonjour,

Merci pour votre réservation.

Alternative Method for Booking Forms: Using Language Shortcodes

In paid versions of Booking Calendar, it is also possible to use language shortcodes inside the same booking form.
However, if you are using Booking Calendar 10.15.6 or newer, we recommend creating separate custom booking forms for each language instead.

This older method can still be useful if you prefer to keep all language versions inside one booking form configuration.

Example of a booking form configured in English and French:

[calendar]

<p>First Name (required): [text* name]</p>
<p>Last Name (required): [text* secondname]</p>
<p>Email (required): [email* email]</p>
<p>Visitors: [selectbox visitors "1" "2" "3" "4"]</p>
<p>Details: [textarea details]</p>
<p>[submit "Send"]</p>

[lang=fr_FR]

[calendar]

<p>Prénom (obligatoire): [text* name]</p>
<p>Nom (obligatoire): [text* secondname]</p>
<p>Email (obligatoire): [email* email]</p>
<p>Visiteurs: [selectbox visitors "1" "2" "3" "4"]</p>
<p>Détails: [textarea details]</p>
<p>[submit "Envoyer"]</p>

Important:
When translating the booking form, keep the same form field names in all language sections.
For example, if the English form uses [text* name], the translated form should also use [text* name].
Only the visible labels and button text should be translated.

Translating Other Text Options

You can use the same language shortcode method for other text options in the Booking Calendar settings, including search form text and other configurable messages.

For example, multilingual configuration can be used at:

  • Booking Calendar > Settings > Emails
  • Booking Calendar > Settings > Search
  • Other text-based options in the Booking Calendar settings

Summary

For Booking Calendar 10.15.6 or newer, the recommended solution for booking forms is to create separate custom booking forms for each language and use the correct form on the corresponding language page.

For email templates and other translatable settings, continue using language shortcodes such as [lang=fr_FR], [lang=de_DE], or [lang=es_ES].

> Settings > Search page, etc..