Polylang allows you to create a bilingual or multilingual WordPress site. You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation of a post, whether it is in the default language or not, is optional.

  • You can use as many languages as you want. RTL language scripts are supported. WordPress languages packs are automatically downloaded and updated.
  • You can translate posts, pages, media, categories, post tags, menus, widgets…
  • Custom post types, custom taxonomies, sticky posts and post formats, RSS feeds and all default WordPress widgets are supported.
  • The language is either set by the content or by the language code in url, or you can use one different subdomain or domain per language
  • Categories, post tags as well as some other metas are automatically copied when adding a new post or page translation
  • A customizable language switcher is provided as a widget or in the nav menu

The author does not provide support on the wordpress.org forum. Support and extra features are available to Polylang Pro users.

If you wish to migrate from WPML, you can use the plugin WPML to Polylang

If you wish to use a professional or automatic translation service, you can install Lingotek Translation, as an addon of Polylang. Lingotek offers a complete translation management system which provides services such as translation memory or semi-automated translation processes (e.g. machine translation > human translation > legal review).


Thanks a lot to all translators who help translating Polylang.
Thanks a lot to Alex Lopez for the design of the logo.
Most of the flags included with Polylang are coming from famfamfam and are public domain.
Wherever third party code has been used, credit has been given in the code’s comments.

Do you like Polylang?

Don’t hesitate to give your feedback.


  • The Polylang languages admin panel
  • The Strings translations admin panel
  • Multilingual media library
  • The Edit Post screen with the Languages metabox


  1. Se till att du använder WordPress 4.9 eller senare och att din server kör PHP 5.6 eller senare (samma krav som WordPress själv)
  2. Om du provat andra språktillägg, avaktivera dem innan du aktiverar Polylang. Annars kan du få oväntade resultat!
  3. Install and activate the plugin as usual from the ’Plugins’ menu in WordPress.
  4. Gå till ”Språk” under ”Inställningarna” och skapa de språk du behöver
  5. Lägg till widgeten ”Språkväljaren” för att kunna göra det möjlig för dina besökare att byta språk.
  6. Se till att ditt tema innehåller motsvarande .mo-filer (Polylang hämtar dem för teman och tillägg som levereras via WordPress). Om ditt tema ännu inte är förberett för översättning ber vi dig studera Temahandboken, eller kontakta temats författare och be dem anpassa temat för översättning.

Vanliga frågor

Var hittar man hjälp?
Är Polylang kompatibel med WooCommerce?
  • You need a separate addon to make Polylang and WooCommerce work together. A Premium addon is available.
Do you need translation services?
  • Om du vill använda professionell, eller automatisk översättningstjänst, installera och aktivera tillägget Lingotek Translation.


9 april, 2020
perfect. the best plugin for multilingual sites. thanks to the development team
7 april, 2020
I read everything, followed the tutorials and tried to use professional translators with this through Lingotek. It COMPLETELY ruined my website! As in ENTIRELY COMPLETELY! The front page was redirected to a french version of the page that didn't exist. The original front page in English was completely deleted. Not even traceable in the database. Completely GONE! I was extremely lucky that I did a backup of the site before trying my luck with this. Otherwise, my business would have been RUINED! I strongly advise making as if this plugin never existed. Just forget you ever saw it!
Läs alla 1 422 betyg

Bidragsgivare och utvecklare

”Polylang” är programvara med öppen källkod. Följande personer har bidragit till detta tillägg.

Bidragande personer

”Polylang” har översatts till 37 språk. Tack till översättarna för deras bidrag.

Översätt ”Polylang” till ditt språk.

Intresserad av programutveckling?

Läs programkoden, kika på SVN-filförvaret eller prenumerera på utvecklarloggen via RSS.


2.7.1 (2020-04-09)

  • Pro: Fix untranslated post types filtered by the parameter in the REST API #493
  • Fix fatal error when the function idn_to_ascii is not available
  • Fix PHP warning warning when a 3rd party plugin declares options not stored in DB in wpml-config.xml #492
  • Fix fatal error when a 3rd party plugin declares options stored as objects in wpml-config.xml #494

2.7 (2020-04-06)

  • Minimum WordPress version is now 4.9
  • Pro: Strings translations can now be exported and imported (in PO format)
  • Pro: Allow to decide individually which ACF fields to copy or synchronize
  • Pro: Add action pll_inactive_language_requested
  • Pro; Fix fatal error in The Events Calendar compatibility when no language is defined yet
  • Pro: Fix bulk translate when a post has no language
  • Pro: Fix reusable block saved without language
  • Pro: Fix post requested by slug not filtered in REST API, when the slug is shared
  • Add a setup wizard
  • Add Swahili, Upper Sorbian, Sindhi and Spanish from Uruguay to the list of predefined languages
  • Add flags in the predefined list of languages
  • Allow to hide the metaboxes from the screen options
  • The deletion of the plugin’s data at uninstall is now controlled by a PHP constant instead of an option #456
  • Add parent in ajax response when selecting a term in autocomplete field #328
  • Add Vary: Accept-Language http header in home page redirect. Props @chesio #452
  • Improve performance to register/unregister WPML strings
  • Add support for the action wpml_switch_language
  • Add post_status to the list of accepted args of pll_count_posts()
  • Apply the filter pll_preferred_language in wp-login.php
  • Use filtered wrappers to create meta when creating media translations #231
  • Allow to translate the Twenty Seventeen header video Youtube url #460
  • Notices are now dismissed per site instead of per user #478
  • Fix terms not visible in the quick edit when only one language is defined and teh admin language filter is active
  • Fix post state not displayed for translations of the privacy policy page #395
  • Fix wildcards not correctly interpreted in wpml-config.xml
  • Fix product categories with special characters duplicated when importing WooCommerce products #474

2.6.10 (2020-02-19)

  • Pro: Fix sticky posts not filtered in REST API (introduced in 2.6.9)
  • Fix wrong language detected if a child page uses the slug of another language
  • Fix a PHP notice with PHP 7.4. #438
  • Fix lang-item-first class in language switcher when the current language is hidden. #445
  • Fix partially a conflict with Fusion Builder (the other part of the conflict being in Fusion Builder).

2.6.9 (2020-01-15)

  • Pro: Use ’parse_query’ rather than ’rest_{$type}_query’ to filter REST requests.
  • Pro: Filter the comments REST endpoint.
  • Pro: Fix duplication of terms without language.
  • Pro: Fix fatal error when Admin Columns is activated and no language is defined yet.
  • Fix shortlink when using one subdomain or domain per language

2.6.8 (2019-12-11)

  • Pro: Fix conflict with JetThemesCore from Crocoblock
  • Fix: better detection of REST requests when using plain permalinks
  • Fix usage of deprecated action wpmu_new_blog in WP 5.1+
  • Fix PHP notices with PHP 7.4

2.6.7 (2019-11-14)

  • Require PHP 5.6
  • Fix PHP warning in WP 5.3

2.6.6 (2019-11-12)

  • Pro: Fix wrong ajax url when using one domain per language
  • Pro: Fix conflict with user switching plugin when using multiple domains
  • Pro: Fix latest posts block in WP 5.3
  • Fix database error when attempting to sync an untranslated page parent
  • Fix a conflict with the theme Neptune by Osetin

2.6.5 (2019-10-09)

  • Pro: Require ACF 5.7.11+ to activate the compatibility to avoid fatal errors with older versions
  • Pro: Avoid translating empty front slug (could cause a wrong redirect to /wp-admin)
  • Pro: Fix filter wp_unique_term_slug not always correctly applied.
  • Pro: Fix a conflict with Divi causing post synchronization buttons to be displayed multiple times
  • Avoid notice in WP CLI context

2.6.4 (2019-08-27)

  • Pro: Fix a conflict preventing meta synchronization when ACF is active
  • Pro: Fix post metas not correctly copied when translating a Beaver Builder page
  • Pro: Fix a fatal error when posts made with Elementor are synchronized
  • Pro: Fix Prewiew button not working correctly when using one domain per language
  • Pro: Fix post synchronization not available for WP CRON and WP CLI
  • Fix future posts not available in the autocomplete input field of the languages metabox
  • Fix translations files not loaded on REST requests
  • Fix deleted term parent not synchronized

2.6.3 (2019-08-06)

  • Pro: Fix fatal error when updating an ACF field from frontend
  • Pro: Add action ’pll_post_synchronized’
  • Allow to get the current or default language object using the API. Props Jory Hogeveen. #359
  • Fix empty span in languages switcher widget when showing only flags
  • Fix wpml_register_single_string when updating the original string

2.6.2 (2019-07-16)

  • Pro: Fix slow admin in case the translations update server can’t be reached
  • Pro: Fix value not correctly translated for ACF clone fields in repeater
  • Fix strings translations mixed when registered via the WPML compatibility. #381

2.6.1 (2019-07-03)

  • Pro: Fix Yoast SEO sitemap for inactive languages when using subdomains or multiple domains
  • Fix fatal error in combination with Yoast SEO and Social Warfare
  • Fix post type archive url in Yoast SEO sitemap

2.6 (2019-06-26)

  • Pro: Remove all languages files. All translations are now maintained on TranslationsPress
  • Pro: Move the languages metabox to a block editor plugin
  • Pro: Better management of user capabilities when synchronizing posts
  • Pro: Separate REST requests from the frontend
  • Pro: Copy the post slug when duplicating a post
  • Pro: Duplicate ACF term metas when terms are automatically duplicated when creating a new post translation
  • Pro: Fix hierarchy lost when duplicating terms
  • Pro: Fix page shared slugs with special characters
  • Pro: Fix synchronized posts sharing their slug when the language is set from the content
  • Pro: Fix PHP warning with ACF Pro 5.8.1
  • Pro: Fix ACF clone fields not translated in repeaters
  • Better management of user capablities when synchronizing taxonomies terms and custom fields
  • Extend string translations search to translated strings #207
  • Update plugin updater to 1.6.18
  • Honor the filter pll_flag when performing the flag validation when creating a new language
  • Modify the title and the label for the language switcher menu items #307
  • Add support for international domain names
  • Add a title to the link icon used to add a translation #325
  • Add a notice when a static front page is not translated in a language
  • Add support for custom term fields in wpml-config.xml
  • Add filter pll_admin_languages_filter for the list of items the admin bar language filter
  • Add compatibility with WP Offload Media Lite. Props Daniel Berkman
  • Yoast SEO: Add post type archive url in all languages to the sitemap
  • Fix www. not redirected to not www. for the home page in multiple domains #311
  • Fix cropped images not being synchronized
  • Fix auto added page to menus when the page is created with the block editor
  • Fix embed of translated static front page #318
  • Fix a possible infinite redirect if the static front page is not translated
  • Fix incorrect behavior of action ’wpml_register_single_string’ when updating the string source
  • Fix fatal error with Jetpack when no languages has been defined yet #330
  • Fix a conflict with Laravel Valet. Props @chesio. #250
  • Fix a conflict with Thesis.
  • Fix a conflict with Pods in the block editor. Props Jory Hogeveen. #369
  • Fix fatal error with Twenty Fourteen introduced in version 2.5.4. #374

See changelog.txt for older changelog