Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
由於公司網站有多語系需求,因此曾經接觸 WPML 與 Polylang 兩款多語系外掛。
先說結論,這次更新官網後將改用 Polylang Pro。並不是 WPML 不好用,而是這次公司改版的特殊性 (使用 .mo 檔來進行前端的本地化),Polylang 更符合我們的需求。
內容目錄
最早的公司官網,因為想要省錢,因此選用了 Polylang 的免費版。這也是 WPML 與 Polylang 最明顯的差異之一:WPML 只有約期授權版 (Subscription)。單從付費版的價格來看,WPML 的價格比較實惠。
儘管考慮到 WPML 的泛用性,如果想要使用 Polylang 進階功能的話,WPML 的價錢比較划算,但有 3 個原因,導致我並不會考慮使用 WPML。
相較於 WPML,Polylang 的介面功能少了許多,最重要的是少了如 WPML 一般的翻譯編輯器。儘管 Polylang 也可以自行加入可翻譯的字串,但必須透過 Polylang 自己的方法來註冊字串,而這種註冊方式與 WordPress 原生的 __()
、_e()
等方式不同。
差異 | Polylang | WPML |
---|---|---|
自有編輯器 | 無,以單篇內容為翻譯單位 | 有,以內容的句子與區塊為翻譯單位 |
安裝精靈 | 有 | 有 |
隱藏未使用語言 | 免費版無,付費版可以停用 | 可停用 |
整合 ACF Pro | 僅限付費版 | 須安裝擴充套件 |
翻譯選項 (wp_options) | 相容 wpml-config.xml | 透過 wpml-config.xml |
外部人員翻譯 | 建立使用者,賦予作者權限 | 提供指定使用者譯者權限,或建立新的譯者角色 |
預設支援 WooCommerce | 需另購 WooCommerce 套件 | WooCommerce 套件已包含在授權中 |
從效能來看,Polylang 比起 WPML 輕巧許多。
為了配合其強大的功能,WPML 在使用上需要耗費較多的記憶體。根據官方說明,在記憶體限制至少需要 128MB,執行上也常常需要耗費到這麼多記憶體,因此這次公司網站改版,其中目的之一,便是希望透過 Polylang,讓網站的效能可以提升。
差異 | Polylang Pro | WPML |
---|---|---|
核心檔案大小 | 5.1 mb | 64.2 mb |
記憶體需求 | 未規定 | 128mb |
尖峰記憶體使用量 (Peak Memory Usage)* | 36.4mb | 53.1mb |
這一點 Polylang 真的弱勢許多。
作為當前市占率最高的多語系 WordPress 外掛,WPML 的文件與社群支援都相當完善,而 Polylang 本身並沒有如 WPML 的支援論壇,因此遇到問題的話,會稍微比 WPML 花時間,但大多數的情況,客服都還是會在 24 小時內回覆支援訊息。
值得一提的是,今年前往 WordCamp Europe 時,看到 Polylang 也有在贊助商的行列當中,而 WPML 則在今年的 WordCamp Asia 擔任贊助,或許開始有想要強化亞洲市場的打算。
官方在支援論壇以及版本更新公告中明確表示不使用中華民國國旗表示台灣繁體中文。儘管可以透過手動的方式去更換旗幟,但對於在台灣的開發者,或是針對台灣使用者的網站來說,這一點就足夠讓很多人卻步了。
畢竟要製作多語系網站,對外掛譯文的品質就會比較重視。
WPML 雖然有中文譯文,但是品質很糟糕,把「套件 (Package)」翻譯成「包」,「本地化 (Localization)」變成了「本地化」跟「在地化」兩種譯文,「未啟用 (Inactive)」翻譯成「不活動」。其他錯譯的地方也所在多有,真的會有一種「譯成這樣不如給我原文就好」。
至於 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。
其他測試參數如下:
項目 | 版本 |
---|---|
PHP | 8.2.13 |
MySQL | 5.7.39 |
Apache | 2.4.54 |
WordPress | 6.6.2 |
Query Monitor | 3.16.4 |
想請教 Eric 使用 Polylang 多年下來的心得 (敲碗
感謝 Eric 回應我的許願,收穫很多 🤩