Image
Image

Polylang

Descripcion

With Polylang fully integrated to WordPress and using only its built-in core features (taxonomies), keep steady performances on your site and create a multilingual site featuring from just one extra language to 10 or more depending on your needs. There is no limit in the number of languages added and WordPress’ language packs are automatically downloaded when ready.

Foncionalitats

Depending on the type of site you have built or are planning to build, a combination of plugins from the list below might be of interest.
All plugins include a wizard allowing to setup them in just a few clicks.

Polylang

Polylang and Polylang Pro share the same core providing features such as:

  • Translating posts, pages, media, categories, post tags, custom post types and taxonomies, RSS feeds; RTL scripts are supported.
  • The language is either set by the language code in URL, or you can use a different sub-domain or domain per language.
  • Automatic copy of categories, post tags and other metas when creating a new post or page translation.
  • Translating classic menus and classic widgets. Also accessible with Site Editor Classic Features in block themes.
  • Customizable language switcher available as a classic widget or a classic navigation menu item.
  • Compatibility with Yoast SEO.

Polylang Pro

Helps optimizing the time spent translating your site with some very useful extra features such as:

  • Better integration in the new Block Editor.
  • Language switcher available as a block.
  • Language options available in the widget block editor.
  • Template parts translatable in the site editor (FSE).
  • Duplicate and/or synchronize content across post translations.
  • Improved compatibility with other plugins such as ACF Pro.
  • Share the same URL slug for posts or terms across languages.
  • Translate URL slugs for categories, author bases, custom post types and more…
  • Machine translation with DeepL.
  • Export and import of content in XLIFF format for outsourced professional translation.
  • Access to a Premium Support for personalized assistance.

Polylang for WooCommerce

Add-on for the compatibility with WooCommerce which provides features such as:

  • Translating WooCommerce pages (shop, check-out, cart, my account), product categories and global attribute terms directly in the WooCommerce interface.
  • Translating WooCommerce e-mails and sending them to customers in their language.
  • Products metadata synchronization.
  • Compatibility with the native WooCommerce CSV import & export tool.
  • Compatibility with popular plugins such as WooCommerce Subscriptions, Product Bundles, WooCommerce Bookings, Shipment Tracking and more.
  • Ability to use the WooCommerce REST API (available with Polylang Pro).
  • Access to a Premium Support for personalized assistance.

Our other free plugins

Crédits

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.

Screenshots

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

Installacion

  1. Make sure you are using WordPress 6.2 or later and that your server is running PHP 7.2 or later (same requirement as WordPress itself).
  2. If you tried other multilingual plugins, deactivate them before activating Polylang, otherwise, you may get unexpected results!
  3. Install and activate the plugin as usual from the ‘Plugins’ menu in WordPress.
  4. The setup wizard is automatically launched to help you get started more easily with Polylang by configuring the main features.

FAQ

Where to find help ?

Is Polylang compatible with WooCommerce?

Where do I report security bugs found in this plugin?

  • Please report security bugs found in the source code of the Polylang plugin through the Patchstack Vulnerability Disclosure Program. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.

Reviews

Image
23 decembre 2025
I raised serious concerns and a refund request only two days after purchasing Polylang Pro. Despite this early feedback and the fact that the plugin was tested exclusively in a staging environment, the refund was refused and the discussion was immediately pushed toward internal terms and conditions. This set the tone for the entire experience. Polylang Pro is marketed as a professional multilingual solution with DeepL integration. Based on the product presentation, it creates the expectation of a relatively smooth, integrated, and efficient workflow for automatic translations. In practice, however, the setup is far more complex and fragmented than implied. The translation workflow requires multiple additional steps, external configurations, and ongoing third-party costs that are not made sufficiently clear before purchase. Under more serious load, especially when translating larger amounts of text or content containing more complex structures or code, the DeepL connection frequently fails. Translation processes interrupt, errors appear, and the workflow breaks down entirely. This makes the promised automation unreliable in real-world scenarios where volume and consistency actually matter. The gap between the marketing message and real-world usability is significant. What is presented as a professional, streamlined solution feels instead like a technically heavy system that demands substantial time investment just to reach a basic, workable state. Even more disappointing than the product itself was the support experience. When I raised legitimate concerns shortly after purchase, the responses were dismissive and heavily policy-driven. Instead of engaging with the substance of the issues, the communication relied on hiding behind general terms and conditions, avoiding any real responsibility for the mismatch between expectations and reality. The overall tone and behavior from support were off-putting and frustrating. For a plugin positioned toward professional users, this lack of transparency, flexibility, and accountability is unacceptable. This experience left me with the clear impression that once payment is made, customer feedback about real-world usability, stability, and reliability is not taken seriously. This is not about the price. The amount itself is irrelevant. What matters is trust, honest presentation, and professional handling of early customer concerns. Based on the refusal to issue a refund shortly after purchase, the instability of the DeepL integration under load, the misleading expectations created by the product presentation, and the disappointing support interaction, I will not use Polylang Pro again and I do not recommend it to anyone.
Image
20 decembre 2025
We wrote this review because we got spammed with the « write the review » message.
Read all 2 887 reviews

Contributors & Developers

“Polylang” is open source software. The following people have contributed to this plugin.

Contributors

“Polylang” has been translated into 54 locales. Thank you to the translators for their contributions.

Translate “Polylang” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

= 3.7.5 (2025-11-10)

  • Pro: Updated DeepL supported languages list
  • Pro: Fix a regression in cross domain login
  • Pro: Fix post object field not correctly translated
  • Pro: Fix a fatal error in EDD plugin updater when the request to the server fails
  • Pro: Fix locale fallback in WP 6.8+
  • Pro: Add pll_enable_acf_labels_translation filter allowing to disable the translation of ACF labels
  • Pro: Fix ACF image field not correctly translated when media translation is active
  • Pro: Fix ACF image field in reapeater not copied
  • Pro: Fix ACF ajax request unexpectedly filtered by language when editing a field group
  • Pro: Fix ACF blocks not translated when included inside a non-ACF block
  • Pro: Add compatibility of the duplicate tool with Divi
  • Fix Undefined array key « terms » in canonical.php #1691
  • Fix some regressions in the WPML API used by YITH WooCommerce Wishlist #1684
  • Fix LinkedIn site title preview with Yoast SEO #1686
  • Fix HTML language attribute on login page #1601
  • Fix conflict with WP Job Manager Application #1749

3.7.4 (2025-10-28)

  • Pro: Security: Fix a ReDoS vulnerability reported by Janine Moreira.
  • Security: Fix deserialization of untrusted data reported by Phat RiO – BlueRock via Patchstack.

3.7.3 (2025-06-16)

  • Pro: Always display ACF translation settings for field groups formerly translated in versions older than 3.7
  • Pro: Fix translation displayed in child fields of ACF layout fields when they should not
  • Pro: Fix translation of the ACF field « Choice » when the translation is set to « Copy once » or « Synchronize »
  • Pro: Fix a PHP warning when translating some blocks
  • Pro: Fix impossibility to change the language of an empty post in the block editor
  • Fix duplicate values in options #1672
  • Fix JS error in media library (grid view) #1674
  • Fix language dropdown not present in the media modal accessible from the media library grid view #1675
  • Fix DB error introduce by WooCommerce 9.9 #1681

3.7.2 (2025-05-27)

  • Pro: Require ACF 6.0+ to activate the integration to avoid fatal errors with older versions
  • Pro: Add a new ACF field group setting to decide if translations instructions must be displayed
  • Pro: Fix a fatal error when using ACF blocks with ACF < 6.3.0
  • Pro: Fix regression preventing to translate Oembed, URL and Email ACF fields
  • Pro: Fix ACF fields not translated when they have a default value
  • Pro: Fix empty ACF fields values not copied when the field has a default value
  • Pro: Fix ACF field default values not translated when copying a post
  • Pro: Fix possible fatal error if invalid types of data are sent for machine translation
  • Pro: Fix term meta removed when a term is machine translated
  • Fix nav menu locations not saved if invalid data are stored in database #1659
  • Fix parent relationship removed when a new translated term is created without parent #1671

3.7.1 (2025-05-05)

  • Pro: Do not display ACF fields translations settings when language location is set.
  • Pro: Fix ACF taxonomy field terms not synchronized when « Save Terms » and « load terms » settings are activated.
  • Pro: Fix duplicate options when using numeric keys for ACF choice fields.

3.7 (2025-04-22)

  • Requires PHP 7.2 as minimum version
  • Pro: Add DeepL machine translation for strings
  • Pro: Consider Polylang Pro as equivalent to Polylang for plugin dependencies
  • Pro: Add the details block and several labels in other blocks to XLIFF files and machine translation
  • Pro: Allow to translate metas stored as objects
  • Pro: Enhanced multilingual support of archive template hierarchy
  • Pro: Wrap the language switcher block in a nav tag
  • Pro: Support automatic IDs translation in blocks with new filters pll_sync_block_rules_for_attributes and pll_sync_blocks_xpath_rules
  • Pro: Complete rewrite of ACF integration
  • Pro: Add support for ACF blocks, post types and taxonomies.
  • Pro: Remove the possibility to translate ACF field groups
  • Pro: Add languages in ACF locations
  • Pro: Add translation of ACF labels in the strings translations page
  • Pro: Fix incorrect count of translated strings when importing strings translations
  • Pro: Fix incorrect translation when an XLIFF import updates a term sharing its slug
  • Pro: Fix term hierarchy with machine translation
  • Pro: Fix indented items of a list block not translated with machine translation
  • Pro: Fix navigation block inserted in the wrong language
  • Update plugin updater to 1.9.4
  • Add translation of widgets custom html in strings translations #1423
  • Refactor core to manage the plugin options in an object #1451
  • Refactor core to give access to languages management in all contexts #1503
  • Remove the language set from the content option for new installs #1517
  • Allow numbers in language codes #1546
  • Display empty fields in the translations table for untranslated strings (instead of duplicating the original) #1574
  • Add REST API endpoints to manage options and languages #1505 #1569
  • Improve performance by registering the language taxonomy only once #1359
  • Add new API functions to insert and update posts and terms in a given language #1500 #1520
  • Add compatibility with jQuery 4 (planned in core for WP 6.8) #1612
  • Fix translations not loaded when the language is set from the content #1395
  • Fix possible term duplication #1490
  • Fix sanitization of translated options that may impact other strings #1571
  • Fix home link block not translated #1647
  • Fix a conflict with WooCommerce Price Based on Country #1638

See changelog.txt for older changelog