Skip to content

Multilingual Sites

Promptless WP does not translate pages. It works with the translation plugin you choose, so each language of a page is an ordinary Promptless page with its own sections. WPML, Polylang and TranslatePress each handle language-aware addresses, hreflang tags and the language switcher; Promptless makes its pages visible to them.

  • You are building a site in more than one language and want Promptless pages in each.
  • You need to choose a translation plugin. Use WPML or Polylang if translators should edit each language as its own page. Use TranslatePress if you prefer to translate the rendered page string by string.
  • For an Arabic, Hebrew, Persian or Urdu site, also read Right-to-Left Languages.

How to translate a Promptless page with WPML or Polylang

Section titled “How to translate a Promptless page with WPML or Polylang”
  1. Install your translation plugin and add your languages in its settings.
  2. Create a translation of a Promptless page the way the plugin normally does it. In Polylang, that is the ”+” beside the language in the page’s Languages box.
  3. Open the new page in the Promptless editor. It carries every section of the original, with the builder switched on.
  4. Replace the text in each section with the translation, then save.

From that point the two pages are independent. Each has its own sections, revision history, redirects and content audit. Editing the original does not change the translation, and editing the translation does not change the original.

TranslatePress translates the page as it is rendered, so it needs no setup in Promptless. Open the page in the TranslatePress editor and translate each string. Text in post grids is translated too, including the filter options and the results that load when a visitor changes a filter.

What a translation copies and what it does not

Section titled “What a translation copies and what it does not”

Promptless ships a wpml-config.xml file at the plugin root. It is WPML’s own configuration format, and Polylang 3.6 and later reads it too. It tells the plugin which page data to copy.

DataCopied to a new translationWhy
Sections and the Promptless on/off switchYes, onceThe translator starts from the full page.
Display mode and page intentYes, onceThe translation behaves like the original.
Redirect addressesNoAn old address belongs to one page; copying it would point it at two.
Sync state and the editor lockNoThese describe one page’s editing session.
Section backupsNoA backup belongs to the page it was made from.

Polylang has an option to keep custom fields in sync between translations. With that option on, a Promptless translation is still not overwritten when you edit the original, because the sections are declared as copy-once rather than kept in sync.

  • Not part of Promptless. The language switcher, machine translation, translator workflows and per-language menus come from your translation plugin. Configure them there.
  • WPML has not been run against Promptless. The configuration uses WPML’s documented file format and the actions its documentation defines for this case. The behaviour on this page was verified with Polylang 3.8.9 and TranslatePress 3.3.5. If you use WPML, check the first translated page in the Promptless editor before you translate the rest.
  • Promptless CPT Pages records and Promptless Forms were not part of that verification. Test them on your site before relying on them in more than one language.
  • A translated page opens with no sections. The translation was created before Promptless WP 1.8.1, which is when the configuration file shipped. Delete that translation and create it again, or rebuild its sections in the editor.
  • A new language’s pages return “not found”. Your translation plugin’s address rules need refreshing after you add a language. Its admin screens usually do this; if not, open Settings → Permalinks and select Save Changes.
  • A Polylang translation has -2 on the end of its address. This happens when a translation is created outside the admin, for example from a script. Polylang’s shared-address support applies when you create the translation from the page screen.

Available since Promptless WP 1.8.1.