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 語言管理面板
  • 字串譯文管理面板
  • 多語系媒體庫
  • 編輯內容畫面的 [語言] 中繼資料區塊 (傳統編輯器)

安裝方式

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

常見問題集

可以在何處尋求協助?

Polylang 是否與 WooCommerce 相容?

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

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

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

使用者評論

2025 年 12 月 11 日
I like (and prefer) the “simplicity” of the setup of Polylang. Configuring a multilingual website properly can be challenging but Polylang keeps the configuration options clean and organized. The only thing I don’t like is when you enable translation for Media, any media uploaded for the default language is not visible in the media browser when working in a translation and for instance having to select an image from the media library.
2025 年 12 月 9 日
If I’m building a multilingual website, Polylang is always my first choice. I’ve used it for years on countless WordPress projects, and it has never let me down. Stable, intuitive, and incredibly effective. A solid 5-star plugin!
2025 年 12 月 1 日
El millor plugin de traducció, amb una molt bona opciò gratuïta i millor de pagament
2025 年 11 月 28 日 2 則留言
[Edit: After reading the reply from the plugin author, explaining that there’s another plugin which constitutes a workaround to install the language switcher within FSE, I raised my review from 1 star to 2 stars. I still think the current free version is a dire experience for anyone using FSE, but it’s not totally broken.] After doing a lot of research on Multilingual plugins, Polylang seemed like a sensible choice for my project. I installed it on my site, which uses Twenty Twentyfive, to see how it works, but am completely stuck trying to get a language switcher to show so I can try out the free features of the plugin. I knew in advance that “FSE support” was somehow a paid feature, but I wanted to see for myself if the free version was truly as useless as that implied. I understand if there are FSE features you want to require payment for. I think it’s a bad idea to punish people for using the latest features of WP, but I understand you would want to differentiate that way, and find conveniences related to FSE that you withhold in the free version. But not having ANY way to add a language switcher in the default theme? It’s disastrous to the user experience. I just want to try out the plugin on my personal site, but because I am using Twenty Twentyfive, I have to pay full price just to see how it would work. Without the language switcher, the plugin is just confusing. I can’t see how my translated posts relate to each other, or test any of the features that in theory work in the free version. I also can’t test whether your support for FSE is any good without purchasing, so should I assume it works at all? Most reviews of Polylang don’t mention FSE at all because it’s new, being able to try it out myself is the only course of action. Please: Make the free version compatible with FSE as a baseline, then find aspects of full FSE support that are reserved for the paid version. FSE is normal now, it should be possible to try out the plugin with an FSE site and see if it works before paying for the full version. Thank you and sorry for the negative review, but I think the experience of someone using the plugin with the default theme should be represented. I’ll be happy to change my review if the plugin starts working with the default themes.
閱讀全部 2,882 則使用者評論

參與者及開發者

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

參與者

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

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

對開發相關資訊感興趣?

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

變更記錄

= 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

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