If you are using WPML, Polylang or Polylang Pro, download and install the Multilingual add-on to integrate your translations with FacetWP.


The Multilingual add-on supports normal translations, as well as dynamic strings (e.g. facet placeholder text) via the WPML String Translation plugin.

This add-on supports sub-site (fr.mysite.com) and sub-directory (mysite.com/fr/) permalinks, but does not support URL strings (?lang=fr).


The Multilingual add-on supports normal Polylang translations.

Polylang Pro shared slug feature

Polylang Pro comes with a feature that makes it possible for posts, pages or terms to share the same slug across translations.

Currently, this feature does not work with FacetWP. With shared slugs, on pages with the non-default language facets will not return expected options.

The solution for now is to use unique slugs across translations.

Translating dynamic strings with the facetwp_i18n hook

FacetWP has a set of strings that cannot be translated with __() or _e(), because these strings are dynamic, “in-database” strings, which WPML or Polylang cannot access. These strings are mostly labels used in various facet types.

Fortunately, there is a way to translate these strings: with the facetwp_i18n hook.



  • Fixed minor code cleanup / modernization


  • Fixed the correct element_type was not being passed into WPML (props Bram)


  • Fixed reset WPML language after indexing
  • Fixed make sure Polylang language variable is defined


  • Fixed WPML class name (props Derrick Hammer)

See also