Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

WPML 與 Polylang 比較 [2024 更新]

由於公司網站有多語系需求,因此曾經接觸 WPML 與 Polylang 兩款多語系外掛。

先說結論,這次更新官網後將改用 Polylang Pro。並不是 WPML 不好用,而是這次公司改版的特殊性 (使用 .mo 檔來進行前端的本地化),Polylang 更符合我們的需求。

WPML 與 Polylang 的主要差異

差異一:免費版有無

最早的公司官網,因為想要省錢,因此選用了 Polylang 的免費版。這也是 WPML 與 Polylang 最明顯的差異之一:WPML 只有約期授權版 (Subscription)。單從付費版的價格來看,WPML 的價格比較實惠。

差異PolylangWPML
免費版
約期費用99 EURO99 EURO (首年度)
授權網站數13 正式站
9 個開發測試站

儘管考慮到 WPML 的泛用性,如果想要使用 Polylang 進階功能的話,WPML 的價錢比較划算,但有 3 個原因,導致我並不會考慮使用 WPML。

差異二:易用性

相較於 WPML,Polylang 的介面功能少了許多,最重要的是少了如 WPML 一般的翻譯編輯器。儘管 Polylang 也可以自行加入可翻譯的字串,但必須透過 Polylang 自己的方法來註冊字串,而這種註冊方式與 WordPress 原生的 __()_e() 等方式不同。

差異PolylangWPML
自有編輯器無,以單篇內容為翻譯單位有,以內容的句子與區塊為翻譯單位
安裝精靈
隱藏未使用語言免費版無,付費版可以停用可停用
整合 ACF Pro僅限付費版須安裝擴充套件
翻譯選項 (wp_options)相容 wpml-config.xml透過 wpml-config.xml
外部人員翻譯建立使用者,賦予作者權限提供指定使用者譯者權限,或建立新的譯者角色
預設支援 WooCommerce需另購 WooCommerce 套件WooCommerce 套件已包含在授權中

差異三:效能

從效能來看,Polylang 比起 WPML 輕巧許多。

為了配合其強大的功能,WPML 在使用上需要耗費較多的記憶體。根據官方說明,在記憶體限制至少需要 128MB,執行上也常常需要耗費到這麼多記憶體,因此這次公司網站改版,其中目的之一,便是希望透過 Polylang,讓網站的效能可以提升。

差異Polylang ProWPML
核心檔案大小5.1 mb64.2 mb
記憶體需求未規定128mb
尖峰記憶體使用量 (Peak Memory Usage)*36.4mb53.1mb
未啟用任何多語系外掛
啟用 Polylang Pro 的尖峰記憶體使用量為 36.4mb
啟用 Polylang Pro
啟用 WPML 的記憶體用量明顯提升
啟用 WPML 的記憶體用量明顯提升

差異四:社群支援

這一點 Polylang 真的弱勢許多。

作為當前市占率最高的多語系 WordPress 外掛,WPML 的文件與社群支援都相當完善,而 Polylang 本身並沒有如 WPML 的支援論壇,因此遇到問題的話,會稍微比 WPML 花時間,但大多數的情況,客服都還是會在 24 小時內回覆支援訊息。

值得一提的是,今年前往 WordCamp Europe 時,看到 Polylang 也有在贊助商的行列當中,而 WPML 則在今年的 WordCamp Asia 擔任贊助,或許開始有想要強化亞洲市場的打算。

3 個我不用 WPML 的理由

繁體中文預設國旗使用中國國旗

官方在支援論壇以及版本更新公告中明確表示不使用中華民國國旗表示台灣繁體中文。儘管可以透過手動的方式去更換旗幟,但對於在台灣的開發者,或是針對台灣使用者的網站來說,這一點就足夠讓很多人卻步了。

中文版譯文品質

畢竟要製作多語系網站,對外掛譯文的品質就會比較重視。

WPML 雖然有中文譯文,但是品質很糟糕,把「套件 (Package)」翻譯成「包」,「本地化 (Localization)」變成了「本地化」跟「在地化」兩種譯文,「未啟用 (Inactive)」翻譯成「不活動」。其他錯譯的地方也所在多有,真的會有一種「譯成這樣不如給我原文就好」。

WPML 的譯文品質真的蠻糟糕的

至於 Polylang,因為完全沒有提供繁體中文的譯文,因此沒有這個問題。

耗用資源蠻嚴重

公司網站在 2020 年時曾經使用 WPML 作為多語系外掛,但同事時常跟我抱怨無法登入後台。檢視了主機錯誤訊息後才發現,記憶體不夠用,也在錯誤訊息中,發現了造成大量佔用記憶體資源的外掛正是 WPML。

由於當時將網站架設在共享主機上,主機資源彈性較低,進而導致後來決定改用 Polylang Pro。

結語

這次公司網站選用 Polylang,最主要只是要透過 Polylang 作為語言切換器,替網站內容進行分類管理。最主要的翻譯核心,則是透過 .mo 檔來完成,藉此減低主機的記憶體負擔。

除了透過 .mo 檔以外,我們也透過 wpml-config.xml 相容的機制,將一些佈景主題透過選項 (wp_options) 產生的字串擷取、翻譯,增加實用性。

對於這兩款外掛的比較,也可以參考這篇文章

附錄:實驗環境

針對記憶體的實驗是在 Macbook Pro 14′ (M3 晶片) 上,使用 MAMP PRO (Ver 6.9) 進行。為了控制環境,WordPress 中僅安裝 Query Monitor、WPML (外加 String Translator、Media Translator)、Polylang Pro 等外掛。佈景主題使用預設的 Twenty Twenty-Four。

其他測試參數如下:

項目版本
PHP8.2.13
MySQL5.7.39
Apache2.4.54
WordPress6.6.2
Query Monitor3.16.4
Eric Chuang
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

2 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料