How to Translate MotoPress Hotel Booking with the WPML Plugin
Table of Contents
The MotoPress Hotel Booking plugin has been officially tested for compatibility with the WPML plugin for multilingual sites. They work well together.
A cool thing is that you can kill two birds with one stone: do the translation of the entire site + Hotel Booking texts with a single solution from WPML, no need for extra tools or integrations.
First up, why WPML?
This is one of the widely recognized choices on the market, a regularly improved WordPress translation plugin with a highly intuitive and diverse workflow. It’s not cheap, but the quality is there. Moreover, the plugin’s developers approved the Hotel Booking + WPML plugin compatibility, so you may safely use it on your site.
In particular, in this MotoPress WPML tutorial, we’ll be testing one of the latest versions of WPML (4.8.1) which comes with a smart translation workflow and AI features.
When do you need to use WPML?
It’s for vacation rental and hotel websites that serve international travelers or want to add at least a lingua franca version (English) alongside their domestic language to reach a wider audience. Your site visitors will be able to change the language on your site in a click using a handy language switcher.
WPML allows you to translate any part of your site, including external plugins such as MotoPress Hotel Booking.
So, how do you use WPML with the Hotel Booking plugin? To build a multilingual WordPress website, you’ll need:
- A WordPress theme.
- MotoPress Hotel Booking plugin.
- Any premium plan of WPML (also check minimum requirements). WPML Multilingual CMS is the core plugin that lets you build and run a multilingual site.
WPML translation workflows supported
Of course, some of you want to do all the translations with full manual control, others need it quick and automated yet professional.
A nice thing is that WPML adapts to any workflow and budget. For example, for your WordPress site and Hotel Booking plugin, you can choose:
- translate yourself.
- use AI translation (WPML-powered or third-party), which can be also manually adjusted.
- work with your own translators, or hire professionals.
We’ll take a closer look at them below.
For new users, begin with the Setup Wizard
We’ve talked to the WPML team, and they couldn’t stress enough how crucial it is to complete this step carefully.
The WPML Setup Wizard basically sets the whole environment for your site translations.
For example, you can choose languages you want to translate your site to (can select multiple) or choose a preferred URL format, e.g. directories per language (https://yourdomain.com/de).
Moreover, in one of the steps, you’ll be introduced to the AI features related to defining site context. It helps you explain what your site is about, so the AI can generate translations that feel more natural and resonate better with your audience.
If you skip the wizard for some reason or already have WPML running, make sure to visit WPML Settings to create the needed translation conditions that suit your particular needs.
WPML Translation Dashboard
WPML Translation Dashboard is part of the new UI and functionality and is actually one of the central translation management menus.
As of WPML 4.7, the Translation Dashboard centralizes all content to be translated and is the recommended way to translate posts, pages, custom post types, navigation, products, strings, and other content coming from compatible plugins and themes, like MotoPress Hotel Booking.
This is a big progress compared to what WPML was before.
This is the unified convenient screen to translate all the content you need – you don’t need to jump between different menus.
What’s the translation workflow?
Note that it’s structured as logical steps from top to bottom:
step 1. select what to translate.
step 2. choose how to translate.
step 3. send to translation.

To access it, go to WPML → Translation Dashboard from the main menu, or click the Translation Dashboard button in the Language section when editing content.
AI translation in WPML explained
As I’ve mentioned earlier, one of the translation workflow options in WPML is AI-powered one. How good is this? Should you use this service?
Even though it was in the plugin before, WPML AI was rebranded to Private Translation Cloud (PTC). This is the most advanced AI translation engine and the default for new sites, which is a proprietary AI translation system by WPML.
It uses site context, like description and target audience, to translate consistently with highly accurate results. This is why we recommend it for translating efficiently and getting the best translations.
Is it free to use it with MotoPress Hotel Booking? Not really. WPML’s Multilingual CMS and Agency plans include free credits, enough to translate most sites into 2-3 languages.
But if you need more, then the Pay-As-You-Go model is activated or you can use Prepaid Credits, for example, 40,000 credits will cost you €50 if you use PTC.
Needless to say, you can opt for pre-integrated Google, DeepL, or Microsoft AI translations instead of the proprietary PTC by WPML. Credit prices then differ:
- PTC – 4 credits per word (most expensive but the only engine that comes with a quality guarantee).
- DeepL – 2 credits per word.
- Google Translate – 2 credits per word.
- Microsoft – 1 credit per word.
Does it make sense to use them? Well, a solo business owner who can manage translations themselves might not want to spend money on what can be done manually. But, naturally, property management companies that work with multiple accommodations and grow their portfolio, can only benefit from instant quality AI translations.
Examples with Hotel Booking plugin
WPML gives you a few ways to access content for translation: by going to the specific menu in the plugin (e.g. Accommodation types if you need to translate them) or by opening the Translation Editor from the WPML plugin menu (all categorized content from your site is there, including custom post types and taxonomies).
So, how does WPML work with MotoPress Hotel Booking?
Original pages must be in default language
Create all booking system content, including accommodation types, services, and rates in your default language first.
For example, if your default language is English and you plan to add German, build every page in English and translate them only after setup is complete.
If you create any booking pages directly in a translation language (e.g., German), be sure to set the default-language version (e.g., English) as the original page in your translation settings.
Before we jump to what you can translate, let’s highlight what must not be translated.
What should remain untranslated
Some MotoPress Hotel Booking content should not be translated, as it is used only in the admin area.
mphb_booking
mphb_season
mphb_room
mphb_payment
mphb_reserved_room
mphb_coupon
By default these post types are marked as ‘Not Translatable’ and are grayed out in WPML settings.
In WPML → Settings → Custom Fields Translation, do not change any settings.
Fields related to our booking plugin start with the prefix ‘mphb_’. Leave fields marked as ‘Don’t translate’ or Copy unchanged, as they do not appear on the front end.
Translate Accommodation types, services and more
To translate accommodation types, you can use this option:
- Go to Translation Dashboard → Accommodation Types.
- Select the accommodation types you want to translate.
- Scroll down to Step 2: Translate your content.
- Choose the target languages and the preferred translation method.
- Click Translate.
Based on the selected translation method, you will receive instructions for the next steps.
For example, if you choose to translate a property description manually, you will be redirected to WPML → Translations.
Here, you will see a list of all untranslated texts. Look for items with the “Needs translation” status. To proceed: click Translate next to the desired item > You will be redirected to the Advanced Translation Editor (as referred to by WPML) > Complete the translation and save your progress.
If custom fields are present (for example, room types created via the Hotel Booking plugin), WPML will include them alongside the main room description for translation.
Note the handy editor toolbar from the right and the translation progress in percentage. You are supported on every step of your way. You may also use the ‘Save to translation memory’ to re-use it in future if it’s something that repeats.
Rates, services, and other related details can be translated in the same way:
– Either directly from their respective menus within the Hotel Booking plugin, or

– Via the centralized Translation Dashboard available in the WPML menu.
Translate Hotel Booking emails
How can you translate emails with WPML? For example, those at Accommodation > Settings > Emails. Use the WPML String Translation menu.
Go to WPML > String Translation and use the search box to find the string (copy-paste the string from email).
The rest of the content generated with shortcodes e.g. checkout page, button labels, can also be translated via the String translation.
Translate system pages
Translate the system pages selected in Hotel Booking → Accommodation → Settings, including:
- Search Results Page
- Checkout Page
- Terms & Conditions
- Confirmation Page
- Cancellation Page
If you accept online payments, also translate the pages selected in Accommodation → Settings → Payment Gateways: Payment Success Page & Failed Transaction Page.
If you can’t see Hotel Booking plugin content in the WPML Translation Dashboard, what might be the issue?
Even though the default MotoPress Hotel Booking WPML settings come with the correct presets by default, you might have lost your settings and need to mark the required content as “translatable” in WPML. For example, Accommodation types or Services are treated as ‘custom post types’, while Categories/Tags/Amenities are ‘taxonomies’ in WordPress.
- Go to WPML → Settings and scroll down to Post Types Translation / Taxonomies / other content.
- Find the custom post type / taxonomy you want to translate > click the lock icon to unlock it > and set it to Translatable – only show translated items. Click Save to confirm.
In WPML settings, you can identify all Hotel Booking related content by the ‘mphb’ prefix used to to avoid naming conflicts with other plugins. Important: make sure that you don’t unlock content that should not be translated.
Use correct IDs for each language version
Each translation of a booking item is a separate page with its own unique ID. This means the same accommodation type will have different IDs in each language. For example: English accommodation type ID: 99, German accommodation type ID: 150.
When adding booking system shortcodes:
– Use English IDs on English pages, e.g.
[mphb_availability_calendar id="99"]
– Use German IDs on German pages
[mphb_availability_calendar id="150"]
You can find accommodation type IDs so: Accommodation → Accommodation Types and hovering over the accommodation name.
What other handy tools are in WPML for Hotel Booking plugin customers?
- For manual translations, you can add other people to your site as WordPress users so that they can add accurate translations without a middleman like Google Docs (WPML > Translation Dashboard > Translators tab).
- In the Translation Dashboard, you can use the ‘Add note to the translator’ feature to help your translators better understand the context of specific text strings either in MotoPress Hotel Booking or the rest of the site.
- WPML fully supports right-to-left (RTL) formatting and languages, including Arabic, Hebrew, Urdu, Kurdish, and Persian. However, you need to use WordPress themes that support RTL.
Add a language switcher to your WordPress site

WPML lets you add a language switcher to your:
- Site navigation (footer, header menu)
- as a widget
- Inside page content
Visitors can choose their preferred language – you can set those as flags, native language names, or use custom styling. Website menu and footer are probably two most common sections where a language switcher seamlessly works.
To add a language switcher to a menu, widget, or footer, go to WPML → Languages. From here, you can add, edit, and customize each language switcher. For example, customize the order of languages, hide or show it in the footer, etc.
Hotel Booking Multi-Currency
WPML can translate your text, but it doesn’t convert prices if you are not on WooCommerce.
If you’re serving international travelers, make sure they have all they need to understand your offerings, prices, rates, etc. without extra effort.
So, if your WordPress site is multilingual, you may also want to add a currency switcher that seamlessly translates prices for your accommodations via the Hotel Booking plugin. For this, you can use a dedicated Multi-Currency add-on for Hotel Booking.
It smoothly connects to rates and prices that you set with the Hotel Booking plugin and the site visitors can use it to instantly convert prices on your site.
Concluding
WPML is a great solution that integrates with MotoPress Hotel Booking for building a multilingual experience on your site. You can easily:
- Translate any content of the site and booking plugin yourself or use an integrated AI solution.
- Add a language switcher to your site.
- Improve your site’s experience for international travelers.
To use WPML with MotoPress properly, you should remember which content should remain untranslated and how to access those parts that can be translated. Everything from the booking form to availability calendars, rates, services and customer emails can be translated, so don’t hesitate to start your language journey.
Disclosure: this article may contain affiliate links for third-party products. If you click a link and later make a purchase, we may earn an affiliate commission that doesn’t result in additional charges to you.










Hi,
how can I translate (with WMPL) emails for customers (Accommodation > Settings > Emails for customers)?
I also need to translate the description for possible payment methods (Accommodation > Settings > Payment gateways > WooCommerce Payments and Direct Bank Transfer).
Thanks for the advice
Hi Tom,
You can navigate to WPML > String Translation and use search box to find the string of the email templates as well as description of the Payment Gateway.
Hi,
I have translated all the pages and the awesome MotoPress Hotel Booking plugin on my site. It works fine! Except the ‘Accommodation Listing’ in Elementor. Her both languages (nl & fr) are displayed. Even if you choose an other language. Any suggestions?
Hi Nild, Feel free to contact our support team so we will be able to check the configurations.
I am using the WPML plugin and I want to know how I could translate the name of the charges and fees. So that, for example, a customer in English reads “cleaning fee” and in Spanish “gastos de limpieza” in the price breakdown.
Thanks
Hi Dani,
Thanks for your question. You may use String Translations to edit the names of the fees and taxes. Feel free to contact our support team if you have any questions.
Good afternoon,
I’m having a problem with the two booking calendars: the Italian one and the English one.
When I add a manual booking on the site, the calendar on the Italian page is updated, but the one on the English page has completely different available dates, I don’t know how to synchronize them.
Could you kindly help me?
Thank you
Hi, Thanks for your question. Please navigate to Accommodation > Accommodations (units of accommodation type) and check if they are translated. Please remove the translated accommodations completely (even from trash), Navigate to WPML > Settings > Custom Post Types and find Accommodations (mphb_room) and make it not-translatable. That’s it.
I’m having the same problem. I have followed your steps in the settings, but it still doesn’t work. Could you help me?
Hi Trini, Yes, sure. Please contact us by submitting a request to our support team and proving the invoice of the purchased product or specify your license key
This is a helpful Translate motopress plugin blog for me. I know it is going to be beneficial for us all. Many thanks for a blog, so beneficial.
Awesome, thank you for commenting!
I have several problems:
1 / on the home page of each language, I have a search window that works but always says that there are no free accommodations for the chosen date
2 / on another page for each language, I have another search window that doesn’t work (you can’t search for dates, the calendar doesn’t appear) and I also have an availability calendar for each accommodation (with its unique id) and it doesn’t appear, it’s invisible .
if I disable wpml, those pages work perfectly (in the default language of course).
In the default language page (Spanish), everything works fine and I have had an online reservation that has everything perfect
solutions? thanks
Hi Fres,
1. Make sure you have translated Accommodation types and Rates to make the properties available on the translated version of the site. Note: Accommodations (units of accommodation types) and seasons should remain untranslated.
2. After you translate accommodation types there would be applied new IDs for the translated accommodation types. You will need to edit the calendars and availability forms on translated pages in order to update the IDs.
You may also refer to this article on our help desk.
I’m having some issues with Motor Hotel plugin and WPML:
1. everywhere where I have a MH shortcut, the translated page is all blank, If I delete the shortcut, the translated page is visible again, so when it is active, there is javascript error there, preventing content to show.
2. the original site is in Italian, if I search the rooms availability It shows the results, if I switch language (EN-FR-ES) for all of them, a message appears “No accommodations found from DATE – till DATE” that message is correctly translated in all languages! Seams that I want to riceve just Italians!
Any idea on how to solve this problems?
thanks!
Hi,
2. Make sure you have translated Accommodation types and Rates from Italian to all other languages you enabled at WPML. When Accommodation Types and Rates are translated the accommodation types are available on other languages.
1. After you translate the Accommodation Types they will have different IDs. So if you added MPHB shortcodes you need to chnage IDs of accommodation type to fit its trasnlated copy.
but in this way we’ll have a copy of the an accomodation whit a different ID, I guess if then the calendars wont have problem between them…thanks
Hi Riccardo,
Yes, when Accommodation Types is translated there is an assigned new ID for the accommodation type of secondary language. Though you should keep the Accommodations (units of accommodation types) untranslated and then you will not have any difficulty with availability on both language versions of your site.
Hi,
You say that = “As for Seasons, there is no need to add translations to this menu as these are just backend settings.”
You also say that = “Now it’s time to translate your rates. For this, go to Rates > Edit > select the accommodation type and translate rate descriptions. There is no need to edit prices, so WPML will offer you to translate a rate description only.”
Can you please give an online example of translated Season-Prices?
Because on both your themes “AlpenHouse & Villagio” there is only a statement ‘Prices start at:’.
What about Variable Prices and Seasons.?
Let me be more specific:
-We have an Accomodation,,
fe.: House One – Non-refundable.
-This Accomodation has variable prices on seasons,,
fe.: SUMMER -1 Aug to 31 Aug- 100€per night , AUTUMN -1 Sep to 30 Sep- 50€per night.
-In English Version detail page, all the above are in English.
-In Italian Version >> ” SUMMER 1 Aug to 31 Aug , AUTUMN 1 Sep to 30 Sep ” is Un-translated.
Thank you
Hi, Seasons are Rates are different terms. So you do not need to translate Seasons under Dashboard > Accommodation > Seasons but you need to translate Rates under Dashboard > Accommodation > Rates. When you translate rates the seasons are copied automatically. As for the terms ‘SUMMER 1 Aug to 31 Aug’ so I guess those are titles of your Rates so you can edit the translated Rates in order to edit those titles.
Hi and thank you for replying,
no, the terms > ‘SUMMER 1 Aug to 31 Aug’ etc. are the titles of Seasons.
so,
1. as Seasons are not translated, no option to translate the titles.
2. when you want to translate Rates, you Don’t have the option to translate Season Prices (there is only the option to translate the description).
I doono if i made myself clear (wish i had an option for screenshot or link :))
You can get an idea if you go to Dashboard > Rates > Edit any rate.
You have the option to edit the Prices, select Season, Nights, price per night, etc.
Now go to translate that Rate, no option whatever except Title & Description.
Any thoughts?
Thank you.
Hi, By default the seasons and season prices are not public in Hotel Booking plugin so there is no need to translate it. If your theme provider extended the functionality of Hotel Booking plugin and made it possible to show season prices then you should contact your theme provider for assistance.
Hello you didn’t complete the explanation. You didn’t write how to translate bookings
Hi Mauro,
The bookings should not be translated as well as seasons and accommodations (units of accommodation types).
So accommodations post type slug is not possible to translate?
Hi Stefan, There is no reason to translate slug of Accommodations. If you mean the translation of the slug of Accommodation types so this is possible. If you used WPML to edit the slug for each lnguage you need to navigate to WPML > Settings > Post Type Translation and add proper slugs for Accommodation Type post type.