PluginProbe
Polylang / trunk
Polylang vtrunk
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 3.0.3 All 233 releases
← All changes | readme.txt +178 -101 2.9 → trunk View file →
@@ -1,36 +1,68 @@
1 1 === Polylang ===
2 -Contributors: Chouby, manooweb, raaaahman, marianne38, sebastienserre
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: 5.1
6 -Tested up to: 5.6
7 -Requires PHP: 5.6
8 -Stable tag: 2.9
4 +Tags: multilingual, translate, translation, language, localization
5 +Requires at least: 6.8
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 5.1 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.8 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,85 +103,136 @@
77 103 4. The Edit Post screen with the Languages metabox
78 104
79 105 == Changelog ==
80 106
81 -= 2.9 (2020-12-07) =
107 += 3.9 =
82 108
83 -* Add compatibility with WordPress 5.6
84 -* Pro: Add locale fallback used when the theme or plugins translations are not available
85 -* Pro: Fix SSO and browser preferred language redirect when using multiple domains
86 -* Pro: Fix post slugs for German and Danish in the REST API
87 -* Pro: Fix a fatal error in ACF integration when saving url modifications with multiple domains
88 -* Pro: Fix a deprecated notice fired by ACF since the version 5.9.2
89 -* Pro: Fix ACF relationship fields not reloaded when changing the language in the classic editor
90 -* Update plugin updater to version 1.8
91 -* Add Lower Sorbian to the list of predefined language
92 -* Options are now translated on backend when using the admin language filter
93 -* Keep previous translations when modifying an option value
94 -* Add navigation markup to the language switcher widget
95 -* Fix canonical redirect for taxonomy terms
96 -* Fix a fatal error when deleting a post with a translation group corrupted in the database
97 -* Fix a fatal error when switching to plain permalinks and using multiple domains
98 -* Fix a conflict with WP Sweep which could corrupt languages
99 -* Fix title displayed instead of meta description with Yoast SEO > 14.0
100 -* Fix PHP Notice: Undefined index: wp_the_query in /frontend/choose-lang-content.php on line 92
109 +* Require WP 6.8 as minimum version
110 +* Pro: Allow to manage all Business Pack plugins with a single field for the license key
111 +* Pro: Allow to manage fallbacks and active languages with the REST API #2947
112 +* Pro: Allow to manage locale fallbacks and active status of languages with WP CLI #3007
113 +* Pro: Display DeepL billed characters after machine translation #3041
114 +* Pro: Fix inconsistency in translation setting displayed when an ACF field was created before the activation of Polylang Pro #2968
115 +* Pro: Fix bulk copy separating synchronized posts #2949
116 +* Pro: Fix synchronized posts deleted when using "Rewrite & Republish" in Yoast Duplicate Post. Props @krokodok #1536
117 +* Add a dropdown language switcher with optional flags, available as a classic widget or block
118 +* Allow to customize the shape and size of the flags in all language switchers
119 +* Replace PNG 16x11 images by SVG 18x12 images for default flags #1864
120 +* Change the code of some flags to use ISO 3166 for countries or regions, ISO 639 for languages #1865
121 +* Remove the filter `pll_flag_title`, inoperative since v3.0 #1828
122 +* Harmonize flags across the administration area and improve their accessibility #1857 #2992
123 +* Translate taxonomy filter in post list table when switching the language filter #1891
124 +* Allow to filter untranslated posts in the posts list table #1892
125 +* Add views for languages in the posts list table #1899
126 +* Fix the synchronization of meta values when updating a meta with multiple values #1826
127 +* Fix orphan translation group after the language of a term is changed #2015
101 128
102 -= 2.8.4 (2020-11-03) =
129 += 3.8.10 (2026-09-28) =
103 130
104 -* Pro: Remove useless bulk translate action for ACF fields groups
105 -* Pro: Fix the translation of the CPTUI labels when the language is set from the content
106 -* Fix sitemaps redirected to the default language since WP 5.5.1
107 -* Fix object cache not flushed for sticky posts #601
108 -* Fix blog page broken when trashing a page and the blog page is not translated in all languages
109 -* Fix custom flags ignored in WPML compatibility mode
110 -* Fix breadcrumb for untranslated post types in Yoast SEO
131 +* Security: Fix deserialization of untrusted data. Reported by Ananda Dhakal (Patchstack).
132 +* Security: Fix XSS in block attribute. Reported by Intrudify via Patchstack.
111 133
112 -= 2.8.3 (2020-10-13) =
134 += 3.8.9 (2026-09-08) =
113 135
114 -* Honor install_languages capability to download language packs
115 -* Pro: Fix integrations not loaded (with The Events Calendar, CPTUI, Content blocks)
116 -* Pro: Fix fatal error with ACF if a flexible content includes a repeater and a relationship
117 -* Pro: Fix terms sharing their slug impossible to update without changing the slug
118 -* When available, use wpcom_vip_get_page_by_path() instead of get_page_by_path()
119 -* Fix queries filtered when editing a post that was declared untranslatable after it got a language
120 -* Fix issues with Yoast SEO 14.0+ (breadcrumbs, canonical, title and description)
136 +* Fix wrong redirect on home when the URL includes a query var #1998
121 137
122 -= 2.8.2 (2020-09-08) =
138 += 3.8.8 (2026-09-07) =
123 139
124 -* Pro: Fix posts sharing the same slug displayed on the same page
125 -* Fix: Don't use a javascript localized string removed in WP 5.5 #568
126 -* Fix fatal error in site health when no language is defined #563
127 -* Fix various issues with Yoast SEO 14.x #65, #503, #505
128 -* Fix fatal error with MU Domain Mapping when saving domains in Polylang settings #569
140 +* Security: Fix exposure of some draft posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
141 +* Pro: Allow plugins requiring Polylang to be installed when Polylang Pro is active #3051 #3116
142 +* Pro: Fix warning `WP_Post conversion to int` with WooCommerce #3101
143 +* Pro: Fix creation of translation in block editor for WP < 6.7 #3105
144 +* Fix duplicated posts page #1992
129 145
130 -= 2.8.1 (2020-08-25) =
146 += 3.8.7 (2026-08-17) =
131 147
132 -* Pro: Fix fatal error with WP 4.9
133 -* Fix pll_the_languages() with 'raw' option returning html flag instead of flag url #558
134 -* Fix compatibility with Duplicate Posts not correcly loaded #557
135 -* Fix custom flag size in admin bar language switcher #559
136 -* Fix tag clouds mixed in the classic editor #561
148 +* Pro: Add the translation of new blocks introduced by WP 7.1 #3048
149 +* Fix quick edit parent page dropdown for hierarchical custom post types #1947
150 +* Fix wp-editor script enqueued together with the new widgets editor #1968
137 151
138 -= 2.8 (2020-08-17) =
152 += 3.8.6 (2026-07-20) =
139 153
140 -* Pro: Add a language switcher block
141 -* Pro: Add compatibility with block image edition introduced in WP 5.5
142 -* Pro: Fix our private taxonomies being displayed in the ACF field group rules.
143 -* Pro: Fix incorrect flags loaded from the block editor
144 -* Pro: Fix SSO causing a wrong redirect when using subdomains (introduced in 2.7.4)
145 -* Pro: Fix a performance issue on the plugins list
146 -* Pro: Fix option to automatically duplicate media in all languages when uploading a new file not honored in block image
147 -* Use composer for autoload and Polylang Pro dependency on Polylang
148 -* Display a flag for each post in the posts list tables (same for terms). #515
149 -* Add test for the homepage translations to Site Health
150 -* Add debug information to Site Health
151 -* Add compatibility with the sitemaps introduced in WP 5.5 #451
152 -* Always filter WP_Query by the current language
153 -* Support wildcards in "admin-texts" parent keys in wpml-config.xml
154 -* Fix sticky posts showed for all languages when the admin language filter is active #469
155 -* Fix a performance issue on the pages list
156 -* Fix dependency to jQuery Migrate removed from WP 5.5 #539
157 -* Fix: output secure cookie when using a cache plugin and ssl #542
158 -* Fix the possibility to create 2 terms with the same name in the same language, without specifying the second slug.
159 -* Fix sticky posts appearing 2 times in WP 5.5
154 +* Pro: Security: Ensure the user has the required capability for ACF fields when switching language in the editor #3029
155 +* Security: Fix exposure of some private posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
156 +* Security: Fix server side default language encoding for the block editor
157 +* Fix 404 for post type or taxonomy sitemap when its name ends with a language code #1909
158 +
159 += 3.8.5 (2026-06-16) =
160 +
161 +* Pro: Fix language switcher block error in Widget screen #1905
162 +* Pro: Fix "edit" button wrongly disabled in the languages sidebar in the block editor #3011
163 +* Fix edited images files deleted when deleting the first media translation #1887
164 +* Fix error in AJAX context when the parameter `lang` is passed a locale instead of a language code #1896
165 +
166 += 3.8.4 (2026-05-18) =
167 +
168 +* Security: Fix an XSS in the multilingual biography
169 +* Pro: Fix draft post translations not shown in the languages sidebar in the block editor #3006
170 +* Pro: Fix compatibility with libxml 2.15.1 #2920
171 +* Pro: Fix Allowed memory size exhausted with Divi 5 #3008
172 +* Improve accessibility of the multilingual biography on user profile page #1869
173 +* Prevent using unsupported block fields in wpml-config.xml #1868
174 +
175 += 3.8.3 (2026-04-27) =
176 +
177 +* Pro: Improve performance of the languages sidebar in the block editor #2989
178 +* Pro: Fix impossibility to add more than one translation at once from the block editor sidebar #2985
179 +* Pro: Fix HTML entities displayed in translation inputs in the block editor sidebar #2984
180 +* Pro: Fix error when editing a pattern from the post editor #2990
181 +* Pro: Fix sync icon incorrectly shown as active on new posts #2995
182 +* Pro: Fix `pll_sync_post` REST API field returning an empty array instead of an empty object #2995
183 +* Pro: Fix ACF fields in a repeater nested in a flexible content overwritten with wrong values #2975
184 +* Fix language switcher block error in Widget screen #1856
185 +* Fix PHP warning in site health #1862
186 +* Fix wrong cookie sent in some cases #1863
187 +* Fix error with WordPress Importer when the imported file has synchronized posts #1853
188 +
189 += 3.8.2 (2026-04-07) =
190 +
191 +* Pro: Fix refresh issues in block editor languages panel #2965
192 +* Pro: Fix error when unlinking 2 translations in block editor #2970
193 +* Pro: Fix fatal error when a repeater is previously created in ACF Pro but ACF is active #2972
194 +* Fix settings redirect in Playground #1840
195 +* Fix possible fatal error when the default language has been corrupted in DB #1843
196 +
197 += 3.8.1 (2026-03-19) =
198 +
199 +* Fix fatal error when the cache is suspended #1837 #1839
200 +
201 += 3.8 (2026-03-17) =
202 +
203 +* Requires PHP 7.4 and WP 6.5 as minimum version
204 +* Pro: Use autonomous updater #2475
205 +* Pro: Add capabilities allowing to control permissions per language
206 +* Pro: Add capabilities to control access to languages and strings translations
207 +* Pro: Allow to manage languages and settings with WP CLI #2653
208 +* Pro: Add smart duplication in site editor #2559
209 +* Pro: Add support for DeepL glossaries #2687
210 +* Pro: Add locale fallback support to machine translation #2685
211 +* Pro: Add Support encoding for block attributes in wpml-config.xml #1683, #2660
212 +* Pro: Improve extensibility of the block editor languages panel #2553
213 +* Pro: Add support for new blocks introduced in WP 7.0 #2933 #2941
214 +* Pro: Hide language selector on inner blocks in Widget Block Editor #2900
215 +* Pro: Fix page template not copied when creating a new page translation in the block editor #2581
216 +* Pro: Fix SVG icons lost when using machine translation
217 +* Pro: Fix a performance issue with the translation of ACF labels #2670
218 +* Pro: Fix product status wrongly modified when updating a product with the REST API #2540
219 +* Pro: Fix inactive languages not displayed when they should in REST API #2791
220 +* Pro: Fix translation of ACF repeaters with pagination #2674
221 +* Pro: Fix ACF's layout fields instructions #2889
222 +* Pro: Fix ACF's taxonomy fields not synchronized #2948
223 +* Pro: Fix event dates of The Events Calendar not duplicated #2894
224 +* Add language switcher block and navigation language switcher block #1811
225 +* Add support for multiple encodings in wpml-config.xml #1679, #2655
226 +* Enforce transients in DB and in object cache are synchronized #1653, #2598
227 +* Enforce passing all translations when saving the translations of a post or term #1690
228 +* Hide the admin language filter when editing posts #1698
229 +* Improve performance by preventing DB queries to fetch the language terms #1650
230 +* Fix edge cases where the translation group could be corrupted #1690
231 +* Fix a fatal error on multisite when saving a post after having switched to a site without Polylang #1700
232 +* Fix a fatal error when translating a custom table #1730
233 +* Fix warning when requesting a non-existing language #1665
234 +* Fix strings translations import with WP Importer #1637
235 +* Fix edge cases leading to wrong languages order #1777
236 +* Fix a fatal error with the plugin Groups #1834
160 237
161 238 See [changelog.txt](https://plugins.svn.wordpress.org/polylang/trunk/changelog.txt) for older changelog