Polylang

外掛說明

Polylang 與 WordPress 完全整合,僅使用核心程式內建功能 (分類法),以便使網站有穩健的效能表現,並可依據使用者需求建立多語系內容網站。無論是 1 個或 10 個額外的語言,可新增的語言數量不受限制,並會自動下載已準備就緒的 WordPress 語言套件。

外掛功能

依據已建置或規劃中的網站類型,以下所列出的外掛組合可能會對網站有所幫助。全部外掛均內建設定精靈,僅需幾下點擊便能完成相關設定。

Polylang

Polylang 及 Polylang Pro 共用相同的核心程式碼,並提供以下功能:

  • 翻譯文章、頁面、媒體、分類、標籤、自訂內容類型、自訂分類法及 RSS 資訊提供,同時支援 RTL 從右至左的語言。
  • 語言可由網址中的語言代碼所設定,也可以針對不同語言使用不同的子網域或網域。
  • 建立文章或頁面的新譯文時,自動複製分類、標籤及其他中繼資料。
  • 翻譯傳統選單及傳統小工具。在區塊佈景主題中可以使用 Site Editor Classic Features 達成這個目的。
  • 可客製化的語言切換器可設定為區塊、傳統小工具或傳統導覽選單項目。
  • 與 Yoast SEO 相容。

Polylang Pro

協助使用者節省大量翻譯網站內容的時間,並提供一些非常實用的附加功能:

  • 具備與區塊編輯器更好的整合度。
  • 小工具區塊編輯器中可設定語言選項。
  • 在網站編輯器 (FSE) 中可翻譯範本組件。
  • 再製/同步各篇內容的譯文。
  • 改進與其他外掛 (例如 ACF Pro) 的相容性。
  • 不同語言的內容及分類法詞彙可以共用相同網址代稱。
  • 為分類、作者目錄起點、自訂內容類型等項目翻譯網址代稱。
  • 使用 DeepL 進行機器翻譯。
  • 以 XLIFF 格式匯出及匯入內容,以供外包專業翻譯使用。
  • 存取優先技術支援以獲得個人化協助。

Polylang for WooCommerce

這個附加元件與 WooCommerce 完全相容,並提供以下功能:

  • 在 WooCommerce 介面中直接翻譯 WooCommerce 頁面 (商店、結帳、購物車、我的帳號)、商品分類及全域屬性詞彙。
  • 翻譯 WooCommerce 電子郵件內容,並依照客戶的語言偏好傳送對應語言的電子郵件。
  • 商品中繼資料同步處理。
  • 與 WooCommerce 原生 CSV 匯入及匯出工具相容。
  • 與熱門的外掛如 WooCommerce Subscriptions、Product Bundles、WooCommerce Bookings 及 Shipment Tracking 等相容。
  • 能夠使用 WooCommerce REST API (由 Polylang Pro 提供)。
  • 存取優先技術支援以獲得個人化協助。

Switching from WPML?

致謝名單

感謝全體協助本地化 Polylang 的譯者。
感謝 Alex Lopez 設計外掛標誌。
Polylang 使用的旗幟來源大多為 famfamfam 且為公眾領域授權。
外掛中如果使用了第三方程式碼,我們都會在程式碼的註解中表示感謝。

螢幕擷圖

適用於區塊編輯器

這個外掛提供 2 個可供區塊編輯器使用的區塊。

  • Language Switcher Language switcher to insert in content or as a widget.
  • Navigation Language Switcher Language switcher suitable for navigation.

安裝方式

  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).
  2. 如果網站上仍執行其他多語系外掛,在啟用 Polylang 前請先停用這些外掛,否則可能會發生未預期的結果。
  3. 透過 WordPress 管理後台的 [外掛] 選單安裝並啟用 Polylang 外掛。
  4. 啟用外掛後設定精靈便會自動啟動,完成主要功能的組態後,便能輕鬆開始使用 Polylang。

常見問題集

可以在何處尋求協助?

Polylang 是否與 WooCommerce 相容?

  • 這會需要使用上方提及的付費附加元件 Polylang for WooCommerce,這個附加元件能讓這兩個外掛互相搭配使用。

發現外掛的安全性程式碼錯誤,該在何處回報?

  • 使用者可以透過 Patchstack 漏洞揭露計畫回報在 Polylang 外掛中發現的任何安全性程式碼錯誤。Patchstack 團隊會協助使用者進行驗證及 CVE 指派,並負責通知外掛的開發者。

使用者評論

2026 年 10 月 21 日
Especially if you have a smaller homepage like a portfolio, it's a very good choice.
2026 年 10 月 20 日
I use Polylang for providing multi-language capability for several websites. For example [Domains removed by moderators] and it works very well. I developed a plugin for it, so I can translate Elementor pages and posts via AI, while Polylang stays the basis for the multi-language-thing. It's great. We tried other internationalization plugins, but Polylang matched our requirements in the best way.
2026 年 10 月 15 日
Gutes Plugin zur Verwaltung von mehreren Sprachen. Schön wäre es, wenn es möglich wäre, die Ausgangssprache einfach zu kopieren incl. Medieninhalten und dann die Sprachbestandteile zu ersetzen. Vielleicht geht das aber und ich hab nur nicht begriffen, wie…
2026 年 10 月 12 日
Hello, we are using this plugin for more than 5 years and fully satisfied with this.
閱讀全部 3,003 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Polylang〉的開發相關工作。

參與者

〈Polylang〉外掛目前已有 55 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈Polylang〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄。

變更記錄

3.9.1 (2026-10-21)

  • Fix flags of Central African Republic, Honduras and Ukraine.

3.9 (2026-10-19)

  • Require WP 6.8 as minimum version
  • Pro: Allow to manage all Business Pack plugins with a single field for the license key
  • Pro: Allow to manage fallbacks and active languages with the REST API #2947
  • Pro: Allow to manage locale fallbacks and active status of languages with WP CLI #3007
  • Pro: Display DeepL billed characters after machine translation #3041
  • Pro: Fix inconsistency in translation setting displayed when an ACF field was created before the activation of Polylang Pro #2968
  • Pro: Fix bulk copy separating synchronized posts #2949
  • Pro: Fix XLIFF files with SVG images not imported #3118
  • Pro: Fix synchronized posts deleted when using “Rewrite & Republish” in Yoast Duplicate Post. Props @krokodok #1536
  • Add a dropdown language switcher with optional flags, available as a classic widget or block
  • Allow to customize the shape and size of the flags in all language switchers
  • Replace PNG 16×11 images by SVG 18×12 images for default flags #1864
  • Change the code of some flags to use ISO 3166 for countries or regions, ISO 639 for languages #1865
  • Remove the filter pll_flag_title, inoperative since v3.0 #1828
  • Harmonize flags across the administration area and improve their accessibility #1857 #2992
  • Translate taxonomy filter in post list table when switching the language filter #1891
  • Allow to filter untranslated posts in the posts list table #1892
  • Add views for languages in the posts list table #1899
  • Fix the synchronization of meta values when updating a meta with multiple values #1826
  • Fix orphan translation group after the language of a term is changed #2015

3.8.11 (2026-10-12)

  • Security: Fix deserialization of untrusted data. Reported by Ananda Dhakal (Patchstack).

3.8.10 (2026-09-28)

  • Security: Fix XSS in block attribute. Reported by Intrudify via Patchstack.

3.8.9 (2026-09-08)

  • Fix wrong redirect on home when the URL includes a query var #1998

3.8.8 (2026-09-07)

  • Security: Fix exposure of some draft posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
  • Pro: Allow plugins requiring Polylang to be installed when Polylang Pro is active #3051 #3116
  • Pro: Fix warning WP_Post conversion to int with WooCommerce #3101
  • Pro: Fix creation of translation in block editor for WP < 6.7 #3105
  • Fix duplicated posts page #1992

3.8.7 (2026-08-17)

  • Pro: Add the translation of new blocks introduced by WP 7.1 #3048
  • Fix quick edit parent page dropdown for hierarchical custom post types #1947
  • Fix wp-editor script enqueued together with the new widgets editor #1968

3.8.6 (2026-07-20)

  • Pro: Security: Ensure the user has the required capability for ACF fields when switching language in the editor #3029
  • Security: Fix exposure of some private posts metadata to non-authorized users. Reported by Ananda Dhakal (Patchstack).
  • Security: Fix server side default language encoding for the block editor
  • Fix 404 for post type or taxonomy sitemap when its name ends with a language code #1909

3.8.5 (2026-06-16)

  • Pro: Fix language switcher block error in Widget screen #1905
  • Pro: Fix “edit” button wrongly disabled in the languages sidebar in the block editor #3011
  • Fix edited images files deleted when deleting the first media translation #1887
  • Fix error in AJAX context when the parameter lang is passed a locale instead of a language code #1896

3.8.4 (2026-05-18)

  • Security: Fix an XSS in the multilingual biography
  • Pro: Fix draft post translations not shown in the languages sidebar in the block editor #3006
  • Pro: Fix compatibility with libxml 2.15.1 #2920
  • Pro: Fix Allowed memory size exhausted with Divi 5 #3008
  • Improve accessibility of the multilingual biography on user profile page #1869
  • Prevent using unsupported block fields in wpml-config.xml #1868

3.8.3 (2026-04-27)

  • Pro: Improve performance of the languages sidebar in the block editor #2989
  • Pro: Fix impossibility to add more than one translation at once from the block editor sidebar #2985
  • Pro: Fix HTML entities displayed in translation inputs in the block editor sidebar #2984
  • Pro: Fix error when editing a pattern from the post editor #2990
  • Pro: Fix sync icon incorrectly shown as active on new posts #2995
  • Pro: Fix pll_sync_post REST API field returning an empty array instead of an empty object #2995
  • Pro: Fix ACF fields in a repeater nested in a flexible content overwritten with wrong values #2975
  • Fix language switcher block error in Widget screen #1856
  • Fix PHP warning in site health #1862
  • Fix wrong cookie sent in some cases #1863
  • Fix error with WordPress Importer when the imported file has synchronized posts #1853

3.8.2 (2026-04-07)

  • Pro: Fix refresh issues in block editor languages panel #2965
  • Pro: Fix error when unlinking 2 translations in block editor #2970
  • Pro: Fix fatal error when a repeater is previously created in ACF Pro but ACF is active #2972
  • Fix settings redirect in Playground #1840
  • Fix possible fatal error when the default language has been corrupted in DB #1843

3.8.1 (2026-03-19)

  • Fix fatal error when the cache is suspended #1837 #1839

3.8 (2026-03-17)

  • Requires PHP 7.4 and WP 6.5 as minimum version
  • Pro: Use autonomous updater #2475
  • Pro: Add capabilities allowing to control permissions per language
  • Pro: Add capabilities to control access to languages and strings translations
  • Pro: Allow to manage languages and settings with WP CLI #2653
  • Pro: Add smart duplication in site editor #2559
  • Pro: Add support for DeepL glossaries #2687
  • Pro: Add locale fallback support to machine translation #2685
  • Pro: Add Support encoding for block attributes in wpml-config.xml #1683, #2660
  • Pro: Improve extensibility of the block editor languages panel #2553
  • Pro: Add support for new blocks introduced in WP 7.0 #2933 #2941
  • Pro: Hide language selector on inner blocks in Widget Block Editor #2900
  • Pro: Fix page template not copied when creating a new page translation in the block editor #2581
  • Pro: Fix SVG icons lost when using machine translation
  • Pro: Fix a performance issue with the translation of ACF labels #2670
  • Pro: Fix product status wrongly modified when updating a product with the REST API #2540
  • Pro: Fix inactive languages not displayed when they should in REST API #2791
  • Pro: Fix translation of ACF repeaters with pagination #2674
  • Pro: Fix ACF’s layout fields instructions #2889
  • Pro: Fix ACF’s taxonomy fields not synchronized #2948
  • Pro: Fix event dates of The Events Calendar not duplicated #2894
  • Add language switcher block and navigation language switcher block #1811
  • Add support for multiple encodings in wpml-config.xml #1679, #2655
  • Enforce transients in DB and in object cache are synchronized #1653, #2598
  • Enforce passing all translations when saving the translations of a post or term #1690
  • Hide the admin language filter when editing posts #1698
  • Improve performance by preventing DB queries to fetch the language terms #1650
  • Fix edge cases where the translation group could be corrupted #1690
  • Fix a fatal error on multisite when saving a post after having switched to a site without Polylang #1700
  • Fix a fatal error when translating a custom table #1730
  • Fix warning when requesting a non-existing language #1665
  • Fix strings translations import with WP Importer #1637
  • Fix edge cases leading to wrong languages order #1777
  • Fix a fatal error with the plugin Groups #1834

如需較舊的變更記錄,請參閱 changelog.txt