“Can the site be in German too?” is one of the first questions an owner asks once the booking site is live, and it is a fair one. A guest cannot book what they cannot read, and the booking sites already show the same rooms in the guest’s language. A direct site that answers only in English hands those guests back to the sites that charge a commission on every night.
The answer is yes, and it costs an afternoon rather than a licence, once you see that “the site in the guest’s language” is four separate layers: the booking engine’s own words, the owner’s descriptions, the rest of the site, and everything sent after the booking. The first ships with Solidres in its language packs. The other three come from Joomla’s content languages plus one free extension, Speedy Translate Lite, which adds language tabs to the forms the owner already uses.
The four layers of “in the guest’s language”
Most of the confusion comes from looking for one switch. There is none, because the words a guest reads come from four places, each translated its own way.
| Layer | What the guest sees | Where the words come from | What you set up |
|---|---|---|---|
| The booking engine’s words | Buttons, labels, the date picker, the booking steps, the fixed text of emails and invoices | The language packs that ship with Solidres | Install the language; nothing to translate |
| The owner’s own text | Property and room descriptions, extras, facilities, policies | The owner, in a language tab under each field | Speedy Translate Lite |
| The rest of the site | Menus, the home page, the footer, articles | The owner, in the same tabs | Joomla’s content languages and a language switcher |
| After the booking | The confirmation, status emails, the invoice | Solidres, in the language the guest booked in | Nothing; it follows the booking |
Each layer is its own job because a different person owns its words: the first is ours, the second and third are the owner’s, who only needs a place to type the German next to the English, and the fourth is automatic, provided the booking remembers which language it was made in. Leave one out and the guest notices at once: a translated room page that ends in an English booking form, or a French booking followed by a German confirmation because it was sent from an administrator working in German.
Some things are not translated, and should not be. Prices are formatted and, if you offer it, converted, but never translated; dates follow the language’s format; and the property’s name and street stay as they are, which is what a guest types into a taxi app.
Layer one: the booking engine already speaks it
With Solidres: every label, button, booking step and email comes in 24 languages besides English, in language files that ship with Solidres and its add-ons. One thing to know: Joomla copies an extension’s language files only for the languages installed at that moment, so if French was added after Solidres, install the Solidres packages again over themselves and the French files arrive, with settings, properties and bookings untouched. How to build multilingual sites walks through that step.
Now and then a word will not suit a property: “arrival date” where the owner says “check-in”. That is a language override away, in Joomla’s own Language Overrides screen, and it survives every update. See How to create language overrides for Solidres.
Layers two and three: content languages, and tabs in the forms you already use
What Joomla gives you
Four pieces of Joomla do the work. A content language is a language the site publishes in, with its flag and its URL prefix. The Language Filter plugin puts that prefix into every address, so /fr/ pages are French, and shows each visitor the site in their language. A home menu item per language gives each one a front page. A language switcher lets the guest change their mind.
Setting those up by hand is where a multilingual project loses its first hour, so Speedy Translate’s dashboard opens with a setup check that marks the steps already done and offers a button for each of the others, down to installing the language pack. The steps are in How to configure Speedy Translate.
Translating the property, the rooms and the extras
With Speedy Translate: a property, a room type or an extra stays one item in every language, with its translations stored beside it. Open the property in Solidres and under each translatable field there is a row of flags: click the French one under the description, type, and save once. Nothing is copied per language, so availability, prices and bookings are the same whichever language the guest books in.
The tabs cover what an owner writes about their business: the property’s name, description, address and town, its page title and meta description; each room type’s name and description; the extras; coupon names; the facilities and themes a property is tagged with; the names of currencies and reservation statuses; the custom fields of the booking form and the Custom fields tab of properties and room types, where the policies and the bed sizes live; and, with the Experience add-on, the tours and activities. The full list, with where each item is edited, is in the documentation article above.
Every translation carries a status. Edit the English description of a room and its French and German are marked outdated, with an orange dot on the flag, until someone updates them or confirms the old text still fits, and the Batch translations list shows every property, room type or extra with its status in each language. How to translate content with Speedy Translate covers the tabs and the statuses.
Machine translation is there for the first draft, and only when asked for. Press Translate from en-GB in a tab, read the preview, and press Use this translation to put it into the field, where it can still be edited. Nothing is sent until that button is pressed; the owner uses their own key with Google, DeepL or Yandex in Lite, the provider bills them at its own price, and what it receives is the text of that field and nothing else about the site. Machine translation in Speedy Translate explains the keys.
The rest of the site
Menus, modules, articles, categories and tags get the same tabs, because Speedy Translate translates Joomla’s own content the same way. It is the same workflow, not a second tool.
Everything in this section is in the free edition. Speedy Translate Lite has no backlink, no upgrade banner and no limit on languages, and it updates through Joomla’s updater with no account. Pro, a subscription for larger sites and agencies, installs over it and adds bulk translation in the background, ChatGPT, Claude and Gemini with a glossary, coverage statistics and XLIFF files for a translation agency. The Speedy Translate page lists the two editions side by side.
Search engines: one page per language, and the links between them
A guest who searches in French should land on the French page. For that, each language needs its own address, and the search engine needs to know that the addresses belong together. The address comes from the Language Filter’s prefix and from the alias: translate the alias in its tab and the French room page gets French words in its URL, /fr/chambres/chambre-double; leave it empty and the original alias is used. The link between the versions is a set of hreflang tags in the page’s head, one per language, plus an x-default line for visitors whose language the site does not have. No human sees them, and they do not make a page rank: they tell a search engine which version to show to whom, so the French searcher is not sent to the English page.
With Speedy Translate: in its own mode it writes those tags on every page, switcher or no switcher, following the Add Alternate Meta Tags and Add x-default Meta Tag settings of Joomla’s Language Filter plugin, and its setup check says when the tags are off and offers to turn them on. The five-minute check for any site: open a room page in two languages, view the source, and look for the rel="alternate" lines in the head. Language switcher, SEO and Smart Search shows the tags and the switcher’s four layouts.
Layer four: the booking, the email and the invoice follow the guest
The guest books on the French form, and from then on everything the site sends them should be French, whatever language the staff use. This layer is easy to forget because it only shows after the booking, in a mailbox nobody at the property reads.
With Solidres: a booking records the language of the page it was made on. Every status email about that booking, from the confirmation to a cancellation sent months later from an administrator in another language, is built in the guest’s language, and the invoice PDF of the Invoice add-on follows the same field. There is nothing to configure. The wording of those emails is the first layer again, so it is already translated; a phrase the owner wants changed is a language override in that language.
Before you start, and what this will not do
Every language is a copy of the site to keep up to date. A property with one editor and six languages has six times the maintenance, and a stale translation reads worse than none. Two well-kept languages beat five neglected ones. The outdated status is the to-do list; add a language only when someone will keep it current.
Machine translation is a draft. Cancellation terms, deposit rules and anything with a number in it are read by someone who speaks the language before they go live. A wrong word in a description costs a little charm; in a policy, an argument at the desk.
Pictures, PDFs and the map are not translated. Alt text and captions get their tabs; the words inside an image, an uploaded PDF and the map’s own labels do not.
What you can download today, and what is coming. Everything above works with Solidres 4.4.0 and Speedy Translate 3.0.0. Solidres 4.5.0, the next release, removes the Enable multilingual mode option, because Solidres finds out for itself which extension translates the site; the Hub’s property search finds properties by their translated names and addresses; custom field titles reach emails and PDFs in the guest’s language; and, with Speedy Translate 3.0.1, rate plans and tourist tax names get language tabs too.
If the site translates Solidres with Falang today, plan a move. Solidres 4.5.0 deprecates its support for Falang, and Speedy Translate’s dashboard has a Migrate from Falang step that copies the existing translations across, properties and room types included, and leaves Falang’s own data untouched. How to move from Falang to Speedy Translate is the step-by-step.
And sometimes none of this is needed. A property whose guests all read one language should spend the afternoon on photographs instead.
Your site, in their language
Four layers, one already done, the rest an afternoon with a free extension and the forms the owner already uses. Start with How to build multilingual sites, which takes a Solidres site from one language to two, and download Speedy Translate Lite when you are ready. The guest who then reads the room page, the booking form and the confirmation in their own language, on the owner’s own site, has one less reason to book through a site that takes a cut of every night.
