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 提供)。
  • 存取優先技術支援以獲得個人化協助。

我們提供的免費外掛

致謝名單

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

螢幕擷圖

  • Polylang 語言管理面板
  • 字串譯文管理面板
  • 多語系媒體庫
  • 編輯內容畫面的 [語言] 中繼資料區塊 (傳統編輯器)

適用於區塊編輯器

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

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

安裝方式

  1. 確認網站執行的是 WordPress 6.5 或更新版本,且伺服器執行的是 PHP 7.4 或更新版本 (與 WordPress 最低版本需求相同)。
  2. 如果網站上仍執行其他多語系外掛,在啟用 Polylang 前請先停用這些外掛,否則可能會發生未預期的結果。
  3. 透過 WordPress 管理後台的 [外掛] 選單安裝並啟用 Polylang 外掛。
  4. 啟用外掛後設定精靈便會自動啟動,完成主要功能的組態後,便能輕鬆開始使用 Polylang。

常見問題集

可以在何處尋求協助?

Polylang 是否與 WooCommerce 相容?

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

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

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

使用者評論

2026 年 3 月 23 日
I would have loved to continue using Polylang, but its complete incompatibility with Divi 5 forces me to turn to a working solution (WPML). It was already complicated to use it under Divi 4 (with a workaround in a modified wpml-config.xml file in my child theme), but now that this workaround no longer works, it’s impossible to keep this plugin with the new version of Divi :(. It would have been really great if the development team had worked on making the plugin fully compatible. Fingers crossed that this will finally happen 🤞🏻
2026 年 3 月 17 日
The plugin doesn’t work. To translate a page, you need to make a copy of it, fine. But no matter what change you make, the translated page never gets shown, only the default page. It is hopeless and frustrating to use.
2026 年 3 月 16 日
Radi perfektno. Hvala.
2026 年 3 月 15 日
I used this plugin to set up a bilingual website. Everything works easily, intuitively, and flawlessly—even the sidebar changes depending on the language. Perfect! It has exceeded my expectations in every way!
閱讀全部 2,927 則使用者評論

參與者及開發者

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

參與者

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

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

對開發相關資訊感興趣?

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

變更記錄

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

3.7.8 (2026-02-23)

  • Pro: Add ‘pll_create_post_translation’ filter #2890
  • Pro: Fix ACF’s layout fields instructions #2889

3.7.7 (2026-01-26)

  • Pro: Add DeepL support for 70 new languages. #1793 #2871
  • Fix advanced menu properties not displayed in customizer. Props Viktor Szépe. #1722
  • Fix incorrect slug when changing the language of a term. #1790

3.7.6 (2026-01-06)

  • Pro: Add support for WP 6.9 new blocks #2790
  • Pro: Fix insertion of navigation language switcher block in WP 6.9 #2847
  • Pro: Fix current post URL in site editor for WP 6.8+ #2843
  • Pro: Fix a conflict with Sensei LMS #2845
  • Fix categories not filtered per post language in quick edit #1785

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 repeater 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

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