PluginProbe
Polylang / 3.8.10
Polylang v3.8.10
3.8.10 3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 All 234 releases
← All changes | readme.txt +146 -159 2.7.1 → 3.8.10 View file →
@@ -1,36 +1,68 @@
1 1 === Polylang ===
2 -Contributors: Chouby, manooweb, raaaahman, marianne38
2 +Contributors: Chouby, manooweb, raaaahman, marianne38, sebastienserre, greglone, hugod
3 3 Donate link: https://polylang.pro
4 -Tags: multilingual, bilingual, translate, translation, language, multilanguage, international, localization
5 -Requires at least: 4.9
6 -Tested up to: 5.4
7 -Requires PHP: 5.6
8 -Stable tag: 2.7.1
4 +Tags: multilingual, translate, translation, language, localization
5 +Requires at least: 6.5
6 +Tested up to: 7.1
7 +Requires PHP: 7.4
8 +Stable tag: 3.8.10
9 9 License: GPLv3 or later
10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html
11 11
12 -Making WordPress multilingual
12 +Go multilingual in a simple and efficient way. Keep writing posts and taxonomy terms as usual while defining their languages all at once.
13 13
14 14 == Description ==
15 15
16 -= Features =
16 +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.
17 17
18 -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.
18 += Features =
19 19
20 -* You can use as many languages as you want. RTL language scripts are supported. WordPress languages packs are automatically downloaded and updated.
21 -* You can translate posts, pages, media, categories, post tags, menus, widgets...
22 -* Custom post types, custom taxonomies, sticky posts and post formats, RSS feeds and all default WordPress widgets are supported.
23 -* 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
24 -* Categories, post tags as well as some other metas are automatically copied when adding a new post or page translation
25 -* A customizable language switcher is provided as a widget or in the nav menu
20 +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.
21 +All plugins include a wizard allowing to setup them in just a few clicks.
26 22
27 -> The author does not provide support on the wordpress.org forum. Support and extra features are available to [Polylang Pro](https://polylang.pro) users.
23 +### Polylang
28 24
29 -If you wish to migrate from WPML, you can use the plugin [WPML to Polylang](https://wordpress.org/plugins/wpml-to-polylang/)
25 +Polylang and [Polylang Pro](https://polylang.pro) share the same core providing features such as:
30 26
31 -If you wish to use a professional or automatic translation service, you can install [Lingotek Translation](https://wordpress.org/plugins/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).
27 +* Translating posts, pages, media, categories, post tags, custom post types and taxonomies, RSS feeds; RTL scripts are supported.
28 +* The language is either set by the language code in URL, or you can use a different sub-domain or domain per language.
29 +* Automatic copy of categories, post tags and other metas when creating a new post or page translation.
30 +* Translating classic menus and classic widgets. Also accessible with [Site Editor Classic Features](https://wordpress.org/plugins/fse-classic/) in block themes.
31 +* Customizable language switchers available as blocks, classic widget or classic navigation menu item.
32 +* Compatibility with Yoast SEO.
32 33
34 +### Polylang Pro
35 +
36 +Helps optimizing the time spent translating your site with some very useful extra features such as:
37 +
38 +* Better integration in the new Block Editor.
39 +* Language options available in the widget block editor.
40 +* Template parts translatable in the site editor (FSE).
41 +* Duplicate and/or synchronize content across post translations.
42 +* Improved compatibility with other plugins such as [ACF Pro](https://polylang.pro/doc/working-with-acf-pro/).
43 +* Share the same URL slug for posts or terms across languages.
44 +* [Translate URL slugs](https://polylang.pro/doc/translating-urls-slugs/) for categories, author bases, custom post types and more...
45 +* Machine translation with DeepL.
46 +* Export and import of content in XLIFF format for outsourced professional translation.
47 +* **Access to a Premium Support for personalized assistance.**
48 +
49 +### Polylang for WooCommerce
50 +
51 +[Add-on](https://polylang.pro/downloads/polylang-for-woocommerce/) for the compatibility with WooCommerce which provides features such as:
52 +
53 +* Translating WooCommerce pages (shop, check-out, cart, my account), product categories and global attribute terms directly in the WooCommerce interface.
54 +* Translating WooCommerce e-mails and sending them to customers in their language.
55 +* Products metadata synchronization.
56 +* Compatibility with the native WooCommerce CSV import & export tool.
57 +* Compatibility with popular plugins such as WooCommerce Subscriptions, Product Bundles, WooCommerce Bookings, Shipment Tracking and more.
58 +* Ability to use the WooCommerce REST API (available with Polylang Pro).
59 +* **Access to a Premium Support for personalized assistance.**
60 +
61 += Switching from WPML? =
62 +
63 +* [WPML to Polylang](https://wordpress.org/plugins/wpml-to-polylang/) allows migrating from WPML to Polylang in a few clicks.
64 +
33 65 = Credits =
34 66
35 67 Thanks a lot to all translators who [help translating Polylang](https://translate.wordpress.org/projects/wp-plugins/polylang).
36 68 Thanks a lot to [Alex Lopez](http://www.alexlopez.rocks/) for the design of the logo.
@@ -36,39 +68,33 @@
36 68 Thanks a lot to [Alex Lopez](http://www.alexlopez.rocks/) for the design of the logo.
37 69 Most of the flags included with Polylang are coming from [famfamfam](http://famfamfam.com/) and are public domain.
38 70 Wherever third party code has been used, credit has been given in the code’s comments.
39 71
40 -= Do you like Polylang? =
41 -
42 -Don't hesitate to [give your feedback](http://wordpress.org/support/view/plugin-reviews/polylang#postform).
43 -
44 72 == Installation ==
45 73
46 -1. Make sure you are using WordPress 4.9 or later and that your server is running PHP 5.6 or later (same requirement as WordPress itself)
74 +1. Make sure you are using WordPress 6.5 or later and that your server is running PHP 7.4 or later (same requirement as WordPress itself).
47 75 1. If you tried other multilingual plugins, deactivate them before activating Polylang, otherwise, you may get unexpected results!
48 76 1. Install and activate the plugin as usual from the 'Plugins' menu in WordPress.
49 -1. Go to the languages settings page and create the languages you need
50 -1. Add the 'language switcher' widget to let your visitors switch the language.
51 -1. Take care that your theme must come with the corresponding .mo files (Polylang automatically downloads them when they are available for themes and plugins in this repository). If your theme is not internationalized yet, please refer to the [Theme Handbook](https://developer.wordpress.org/themes/functionality/internationalization/) or ask the theme author to internationalize it.
77 +1. The [setup wizard](https://polylang.pro/documentation/support/getting-started/setup-wizard/) is automatically launched to help you get started more easily with Polylang by configuring the main features.
52 78
53 79 == Frequently Asked Questions ==
54 80
55 81 = Where to find help ? =
56 82
57 -* First time users should read [Polylang - Getting started](https://polylang.pro/doc-category/getting-started/), which explains the basics with a lot of screenshots.
58 -* Read the [documentation](https://polylang.pro/doc/). It includes a [FAQ](https://polylang.pro/doc-category/faq/) and the [documentation for developers](https://polylang.pro/doc-category/developers/).
59 -* Search the [community support forum](https://wordpress.org/search/). You will probably find your answer here.
83 +* First time users should read [Polylang - Getting started](https://polylang.pro/documentation/support/getting-started/), which explains the basics and includes a lot of screenshots.
84 +* Read the [documentation](https://polylang.pro/documentation/support/). It includes a [FAQ](https://polylang.pro/documentation/support/faq/) and the [documentation for developers](https://polylang.pro/documentation/support/developers/).
85 +* Search the [community support forum](https://wordpress.org/search/). You will probably find your answers here.
60 86 * Read the sticky posts in the [community support forum](http://wordpress.org/support/plugin/polylang).
61 87 * If you still have a problem, open a new thread in the [community support forum](http://wordpress.org/support/plugin/polylang).
62 -* [Polylang Pro](https://polylang.pro) users have access to our helpdesk.
88 +* [Polylang Pro and Polylang for WooCommerce](https://polylang.pro) users have access to our premium support through helpdesk.
63 89
64 90 = Is Polylang compatible with WooCommerce? =
65 91
66 -* You need a separate addon to make Polylang and WooCommerce work together. [A Premium addon](https://polylang.pro/downloads/polylang-for-woocommerce/) is available.
92 +* You need [Polylang for WooCommerce](https://polylang.pro/pricing/polylang-for-woocommerce/), premium addon described above, which will make both plugins work together.
67 93
68 -= Do you need translation services? =
94 += Where do I report security bugs found in this plugin? =
69 95
70 -* If you want to use professional or automatic translation services, install and activate the [Lingotek Translation](https://wordpress.org/plugins/lingotek-translation/) plugin.
96 +* Please report security bugs found in the source code of the Polylang plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/d83984d2-d748-43e3-88e2-6dd3bd2c881d). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.
71 97
72 98 == Screenshots ==
73 99
74 100 1. The Polylang languages admin panel
@@ -77,153 +103,114 @@
77 103 4. The Edit Post screen with the Languages metabox
78 104
79 105 == Changelog ==
80 106
81 -= 2.7.1 (2020-04-09) =
107 += 3.8.10 (2026-09-28) =
82 108
83 -* Pro: Fix untranslated post types filtered by the parameter in the REST API #493
84 -* Fix fatal error when the function idn_to_ascii is not available
85 -* Fix PHP warning warning when a 3rd party plugin declares options not stored in DB in wpml-config.xml #492
86 -* Fix fatal error when a 3rd party plugin declares options stored as objects in wpml-config.xml #494
109 +* Security: Fix deserialization of untrusted data. Reported by Ananda Dhakal (Patchstack).
110 +* Security: Fix XSS in block attribute. Reported by Intrudify via Patchstack.
87 111
88 -= 2.7 (2020-04-06) =
112 += 3.8.9 (2026-09-08) =
89 113
90 -* Minimum WordPress version is now 4.9
91 -* Pro: Strings translations can now be exported and imported (in PO format)
92 -* Pro: Allow to decide individually which ACF fields to copy or synchronize
93 -* Pro: Add action pll_inactive_language_requested
94 -* Pro; Fix fatal error in The Events Calendar compatibility when no language is defined yet
95 -* Pro: Fix bulk translate when a post has no language
96 -* Pro: Fix reusable block saved without language
97 -* Pro: Fix post requested by slug not filtered in REST API, when the slug is shared
98 -* Add a setup wizard
99 -* Add Swahili, Upper Sorbian, Sindhi and Spanish from Uruguay to the list of predefined languages
100 -* Add flags in the predefined list of languages
101 -* Allow to hide the metaboxes from the screen options
102 -* The deletion of the plugin's data at uninstall is now controlled by a PHP constant instead of an option #456
103 -* Add parent in ajax response when selecting a term in autocomplete field #328
104 -* Add Vary: Accept-Language http header in home page redirect. Props @chesio #452
105 -* Improve performance to register/unregister WPML strings
106 -* Add support for the action wpml_switch_language
107 -* Add post_status to the list of accepted args of pll_count_posts()
108 -* Apply the filter pll_preferred_language in wp-login.php
109 -* Use filtered wrappers to create meta when creating media translations #231
110 -* Allow to translate the Twenty Seventeen header video Youtube url #460
111 -* Notices are now dismissed per site instead of per user #478
112 -* Fix terms not visible in the quick edit when only one language is defined and teh admin language filter is active
113 -* Fix post state not displayed for translations of the privacy policy page #395
114 -* Fix wildcards not correctly interpreted in wpml-config.xml
115 -* Fix product categories with special characters duplicated when importing WooCommerce products #474
114 +* Fix wrong redirect on home when the URL includes a query var #1998
116 115
117 -= 2.6.10 (2020-02-19) =
116 += 3.8.8 (2026-09-07) =
118 117
119 -* Pro: Fix sticky posts not filtered in REST API (introduced in 2.6.9)
120 -* Fix wrong language detected if a child page uses the slug of another language
121 -* Fix a PHP notice with PHP 7.4. #438
122 -* Fix lang-item-first class in language switcher when the current language is hidden. #445
123 -* Fix partially a conflict with Fusion Builder (the other part of the conflict being in Fusion Builder).
118 +* Security: Fix exposure of some draft posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
119 +* Pro: Allow plugins requiring Polylang to be installed when Polylang Pro is active #3051 #3116
120 +* Pro: Fix warning `WP_Post conversion to int` with WooCommerce #3101
121 +* Pro: Fix creation of translation in block editor for WP < 6.7 #3105
122 +* Fix duplicated posts page #1992
124 123
125 -= 2.6.9 (2020-01-15) =
124 += 3.8.7 (2026-08-17) =
126 125
127 -* Pro: Use 'parse_query' rather than 'rest_{$type}_query' to filter REST requests.
128 -* Pro: Filter the comments REST endpoint.
129 -* Pro: Fix duplication of terms without language.
130 -* Pro: Fix fatal error when Admin Columns is activated and no language is defined yet.
131 -* Fix shortlink when using one subdomain or domain per language
126 +* Pro: Add the translation of new blocks introduced by WP 7.1 #3048
127 +* Fix quick edit parent page dropdown for hierarchical custom post types #1947
128 +* Fix wp-editor script enqueued together with the new widgets editor #1968
132 129
133 -= 2.6.8 (2019-12-11) =
130 += 3.8.6 (2026-07-20) =
134 131
135 -* Pro: Fix conflict with JetThemesCore from Crocoblock
136 -* Fix: better detection of REST requests when using plain permalinks
137 -* Fix usage of deprecated action wpmu_new_blog in WP 5.1+
138 -* Fix PHP notices with PHP 7.4
132 +* Pro: Security: Ensure the user has the required capability for ACF fields when switching language in the editor #3029
133 +* Security: Fix exposure of some private posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
134 +* Security: Fix server side default language encoding for the block editor
135 +* Fix 404 for post type or taxonomy sitemap when its name ends with a language code #1909
139 136
140 -= 2.6.7 (2019-11-14) =
137 += 3.8.5 (2026-06-16) =
141 138
142 -* Require PHP 5.6
143 -* Fix PHP warning in WP 5.3
139 +* Pro: Fix language switcher block error in Widget screen #1905
140 +* Pro: Fix "edit" button wrongly disabled in the languages sidebar in the block editor #3011
141 +* Fix edited images files deleted when deleting the first media translation #1887
142 +* Fix error in AJAX context when the parameter `lang` is passed a locale instead of a language code #1896
144 143
145 -= 2.6.6 (2019-11-12) =
144 += 3.8.4 (2026-05-18) =
146 145
147 -* Pro: Fix wrong ajax url when using one domain per language
148 -* Pro: Fix conflict with user switching plugin when using multiple domains
149 -* Pro: Fix latest posts block in WP 5.3
150 -* Fix database error when attempting to sync an untranslated page parent
151 -* Fix a conflict with the theme Neptune by Osetin
146 +* Security: Fix an XSS in the multilingual biography
147 +* Pro: Fix draft post translations not shown in the languages sidebar in the block editor #3006
148 +* Pro: Fix compatibility with libxml 2.15.1 #2920
149 +* Pro: Fix Allowed memory size exhausted with Divi 5 #3008
150 +* Improve accessibility of the multilingual biography on user profile page #1869
151 +* Prevent using unsupported block fields in wpml-config.xml #1868
152 152
153 -= 2.6.5 (2019-10-09) =
153 += 3.8.3 (2026-04-27) =
154 154
155 -* Pro: Require ACF 5.7.11+ to activate the compatibility to avoid fatal errors with older versions
156 -* Pro: Avoid translating empty front slug (could cause a wrong redirect to /wp-admin)
157 -* Pro: Fix filter wp_unique_term_slug not always correctly applied.
158 -* Pro: Fix a conflict with Divi causing post synchronization buttons to be displayed multiple times
159 -* Avoid notice in WP CLI context
155 +* Pro: Improve performance of the languages sidebar in the block editor #2989
156 +* Pro: Fix impossibility to add more than one translation at once from the block editor sidebar #2985
157 +* Pro: Fix HTML entities displayed in translation inputs in the block editor sidebar #2984
158 +* Pro: Fix error when editing a pattern from the post editor #2990
159 +* Pro: Fix sync icon incorrectly shown as active on new posts #2995
160 +* Pro: Fix `pll_sync_post` REST API field returning an empty array instead of an empty object #2995
161 +* Pro: Fix ACF fields in a repeater nested in a flexible content overwritten with wrong values #2975
162 +* Fix language switcher block error in Widget screen #1856
163 +* Fix PHP warning in site health #1862
164 +* Fix wrong cookie sent in some cases #1863
165 +* Fix error with WordPress Importer when the imported file has synchronized posts #1853
160 166
161 -= 2.6.4 (2019-08-27) =
167 += 3.8.2 (2026-04-07) =
162 168
163 -* Pro: Fix a conflict preventing meta synchronization when ACF is active
164 -* Pro: Fix post metas not correctly copied when translating a Beaver Builder page
165 -* Pro: Fix a fatal error when posts made with Elementor are synchronized
166 -* Pro: Fix Prewiew button not working correctly when using one domain per language
167 -* Pro: Fix post synchronization not available for WP CRON and WP CLI
168 -* Fix future posts not available in the autocomplete input field of the languages metabox
169 -* Fix translations files not loaded on REST requests
170 -* Fix deleted term parent not synchronized
169 +* Pro: Fix refresh issues in block editor languages panel #2965
170 +* Pro: Fix error when unlinking 2 translations in block editor #2970
171 +* Pro: Fix fatal error when a repeater is previously created in ACF Pro but ACF is active #2972
172 +* Fix settings redirect in Playground #1840
173 +* Fix possible fatal error when the default language has been corrupted in DB #1843
171 174
172 -= 2.6.3 (2019-08-06) =
175 += 3.8.1 (2026-03-19) =
173 176
174 -* Pro: Fix fatal error when updating an ACF field from frontend
175 -* Pro: Add action 'pll_post_synchronized'
176 -* Allow to get the current or default language object using the API. Props Jory Hogeveen. #359
177 -* Fix empty span in languages switcher widget when showing only flags
178 -* Fix wpml_register_single_string when updating the original string
177 +* Fix fatal error when the cache is suspended #1837 #1839
179 178
180 -= 2.6.2 (2019-07-16) =
179 += 3.8 (2026-03-17) =
181 180
182 -* Pro: Fix slow admin in case the translations update server can't be reached
183 -* Pro: Fix value not correctly translated for ACF clone fields in repeater
184 -* Fix strings translations mixed when registered via the WPML compatibility. #381
185 -
186 -= 2.6.1 (2019-07-03) =
187 -
188 -* Pro: Fix Yoast SEO sitemap for inactive languages when using subdomains or multiple domains
189 -* Fix fatal error in combination with Yoast SEO and Social Warfare
190 -* Fix post type archive url in Yoast SEO sitemap
191 -
192 -= 2.6 (2019-06-26) =
193 -
194 -* Pro: Remove all languages files. All translations are now maintained on TranslationsPress
195 -* Pro: Move the languages metabox to a block editor plugin
196 -* Pro: Better management of user capabilities when synchronizing posts
197 -* Pro: Separate REST requests from the frontend
198 -* Pro: Copy the post slug when duplicating a post
199 -* Pro: Duplicate ACF term metas when terms are automatically duplicated when creating a new post translation
200 -* Pro: Fix hierarchy lost when duplicating terms
201 -* Pro: Fix page shared slugs with special characters
202 -* Pro: Fix synchronized posts sharing their slug when the language is set from the content
203 -* Pro: Fix PHP warning with ACF Pro 5.8.1
204 -* Pro: Fix ACF clone fields not translated in repeaters
205 -* Better management of user capablities when synchronizing taxonomies terms and custom fields
206 -* Extend string translations search to translated strings #207
207 -* Update plugin updater to 1.6.18
208 -* Honor the filter `pll_flag` when performing the flag validation when creating a new language
209 -* Modify the title and the label for the language switcher menu items #307
210 -* Add support for international domain names
211 -* Add a title to the link icon used to add a translation #325
212 -* Add a notice when a static front page is not translated in a language
213 -* Add support for custom term fields in wpml-config.xml
214 -* Add filter `pll_admin_languages_filter` for the list of items the admin bar language filter
215 -* Add compatibility with WP Offload Media Lite. Props Daniel Berkman
216 -* Yoast SEO: Add post type archive url in all languages to the sitemap
217 -* Fix www. not redirected to not www. for the home page in multiple domains #311
218 -* Fix cropped images not being synchronized
219 -* Fix auto added page to menus when the page is created with the block editor
220 -* Fix embed of translated static front page #318
221 -* Fix a possible infinite redirect if the static front page is not translated
222 -* Fix incorrect behavior of action 'wpml_register_single_string' when updating the string source
223 -* Fix fatal error with Jetpack when no languages has been defined yet #330
224 -* Fix a conflict with Laravel Valet. Props @chesio. #250
225 -* Fix a conflict with Thesis.
226 -* Fix a conflict with Pods in the block editor. Props Jory Hogeveen. #369
227 -* Fix fatal error with Twenty Fourteen introduced in version 2.5.4. #374
181 +* Requires PHP 7.4 and WP 6.5 as minimum version
182 +* Pro: Use autonomous updater #2475
183 +* Pro: Add capabilities allowing to control permissions per language
184 +* Pro: Add capabilities to control access to languages and strings translations
185 +* Pro: Allow to manage languages and settings with WP CLI #2653
186 +* Pro: Add smart duplication in site editor #2559
187 +* Pro: Add support for DeepL glossaries #2687
188 +* Pro: Add locale fallback support to machine translation #2685
189 +* Pro: Add Support encoding for block attributes in wpml-config.xml #1683, #2660
190 +* Pro: Improve extensibility of the block editor languages panel #2553
191 +* Pro: Add support for new blocks introduced in WP 7.0 #2933 #2941
192 +* Pro: Hide language selector on inner blocks in Widget Block Editor #2900
193 +* Pro: Fix page template not copied when creating a new page translation in the block editor #2581
194 +* Pro: Fix SVG icons lost when using machine translation
195 +* Pro: Fix a performance issue with the translation of ACF labels #2670
196 +* Pro: Fix product status wrongly modified when updating a product with the REST API #2540
197 +* Pro: Fix inactive languages not displayed when they should in REST API #2791
198 +* Pro: Fix translation of ACF repeaters with pagination #2674
199 +* Pro: Fix ACF's layout fields instructions #2889
200 +* Pro: Fix ACF's taxonomy fields not synchronized #2948
201 +* Pro: Fix event dates of The Events Calendar not duplicated #2894
202 +* Add language switcher block and navigation language switcher block #1811
203 +* Add support for multiple encodings in wpml-config.xml #1679, #2655
204 +* Enforce transients in DB and in object cache are synchronized #1653, #2598
205 +* Enforce passing all translations when saving the translations of a post or term #1690
206 +* Hide the admin language filter when editing posts #1698
207 +* Improve performance by preventing DB queries to fetch the language terms #1650
208 +* Fix edge cases where the translation group could be corrupted #1690
209 +* Fix a fatal error on multisite when saving a post after having switched to a site without Polylang #1700
210 +* Fix a fatal error when translating a custom table #1730
211 +* Fix warning when requesting a non-existing language #1665
212 +* Fix strings translations import with WP Importer #1637
213 +* Fix edge cases leading to wrong languages order #1777
214 +* Fix a fatal error with the plugin Groups #1834
228 215
229 216 See [changelog.txt](https://plugins.svn.wordpress.org/polylang/trunk/changelog.txt) for older changelog