Haldane
Guide chapters

Translation and RTL

Translate interface labels separately from your hotel content. Haldane also supports layouts that read from right to left.

On this page

Set the WordPress language

  1. Open Settings โ†’ General.
  2. Choose Site Language and save.
  3. Review your public pages and dashboard labels.

WordPress supplies its own language packs. Haldane and Haldane Toolkit need translations for their own strings. Your page text, room descriptions, menus, hotel details and saved form wording remain content you must translate yourself.

Translation templates and text domains

  • Theme text domain: haldane. A Haldane POT template is included with this guide.
  • Toolkit text domain: haldane-toolkit. Plugin translation template: haldane-toolkit/languages/haldane-toolkit.pot, also available with this guide.
  • Child theme text domain for its own added strings: haldane-child.

A .pot file is a list of source phrases. A translation tool turns it into a language-specific .po file and a compiled .mo file. JavaScript editor labels can also require the tool's JSON translation files. A translation template alone does not change the site language.

Translate with Loco Translate or a similar tool

  1. Install your chosen translation plugin from Plugins โ†’ Add New Plugin.
  2. In its theme translations, select Haldane and create a translation for the site's language.
  3. Choose a custom or WordPress language location that the tool protects from theme updates. Avoid saving your work inside the parent theme.
  4. Translate the strings, preserving placeholders such as %s and %d, then save and compile.
  5. Repeat under plugin translations for Haldane Toolkit.
  6. Enable JSON output for JavaScript strings if the tool offers it, then check room and block editor labels.

If you translate outside WordPress, use the POT files in a compatible editor such as Poedit. WordPress language files commonly follow names such as haldane-fr_FR.mo and haldane-toolkit-fr_FR.mo. Choose the location supported by your translation workflow and keep a backup outside updateable theme and plugin folders.

Translate saved settings too: the booking button label, children age hint, calendar note, enquiry subject, success message and privacy note. Defaults already saved in English do not change just because the site language changes. Set the separate booking-provider language in Haldane โ†’ Booking.

Translate pages and navigation

Edit the page and room content directly for a single-language site. Theme patterns are translated when inserted if a translation is available, but changing a translation does not rewrite blocks already inserted on a page.

For multiple languages, use a multilingual content plugin of your choice and check its support for block themes, custom post types and navigation. Configure rooms, menus and settings deliberately for each language; Haldane does not include a multilingual content manager.

Right-to-left layouts

Choose a right-to-left site language, such as Arabic or Hebrew. WordPress sets the document direction and Haldane's logical spacing and layout rules follow it. No separate RTL switch is needed in the theme.

Check the header, mobile navigation, room rows, galleries, booking dialog and forms with real translated content. Test keyboard movement in the date picker and confirm that prices and dates remain understandable. External booking pages follow their provider's own language and layout support.

The bundled fonts cover Latin and extended Latin characters. For another script, choose a font with the required character coverage, host it locally using the WordPress font controls or a child-theme font definition, and keep its licence. A browser fallback may display the characters until you set a suitable font.