安裝多語系外掛之前,很多站長遇到的問題不是外掛本身出錯,而是主題根本沒有準備好迎接多語系環境。語言切換器放不進去、阿拉伯文版面跑版、中日韓字型和英文版共用一套卻互相干擾——這些問題在選主題的階段就決定了,不是裝完外掛再來修補就能解決的。
了解主題層面的哪些條件需要事先確認,能省下大量除錯時間。本文以 WPML 與 Polylang(波力朗)兩款主流多語系外掛為背景,說明在安裝之前應該對主題做哪些檢查。
多語系環境中的主題相容要求
多語系外掛在技術上的工作原理,是根據語系替換內容、調整 URL 結構,並在前端插入語言切換器。這三件事都需要主題配合,缺一不可。
WPML 的官方相容認證(WPML Compatible)是最直接的篩選依據。通過認證的主題代表開發者已測試過語言切換器的各種嵌入方式,以及內容替換時樣式是否維持正常。Polylang 沒有公開認證清單,但多數符合 WordPress 編碼規範的主題都能正常運作。判斷方式是到主題說明頁面或開發者論壇搜尋「Polylang」,看是否有相關的問題記錄或官方說明。
相容性不是二元的「能用/不能用」,而是一個光譜。有些主題能切換語言,但切換後版面出現小錯位;有些主題能正常顯示各語系內容,但語言切換器只能放選單選項,無法做成圓形旗幟按鈕。在安裝外掛之前先確認主題的相容狀態,有助於設定合理的預期,也能在選題時就排除風險較高的選項。
語言切換器的嵌入位置
語言切換器通常以選單項目、小工具或頁首區塊這三種形式嵌入頁面。主題支不支援每一種嵌入方式,直接影響切換器最終能放在哪個位置。
WPML 和 Polylang 都提供小工具版本的語言切換器,可以拖拉到任何支援小工具的位置。若主題有在頁首或導覽列區域開放小工具區,通常最省力。問題在於,不少主題的頁首是客製化設計,沒有開放標準小工具區,只允許透過主題設定面板或頁面建構工具進行調整。
這種情況下,最穩定的替代方案是把切換器加入導覽選單——WordPress 的選單系統允許加入外掛提供的自訂項目,兩款外掛都支援這個方式。若主題的選單位置只有一個,且已被主導覽佔用,切換器就必須另找位置,可能需要動到主題的範本檔。
使用完整網站編輯器的區塊主題情況稍微複雜。這類主題的版面由區塊組成,語言切換器需要以「外掛區塊」的形式插入。WPML 5.0 以後的版本已支援此用法,但若主題套用了特殊的全域樣式覆寫,切換器外觀可能需要手動調整。
找到最適合的嵌入位置
選定主題後,建議依下列順序測試切換器的可行嵌入位置,找到第一個能正常顯示的方式就固定下來:
- 小工具區:若頁首或頁尾有開放,最快速也最少客製化需求
- 選單項目:主題選單支援外掛自訂項目時,視覺整合性高
- FSE 頁首範本:區塊主題專用,靈活度高但需熟悉區塊編輯器
- 短代碼嵌入:手動將短代碼插入主題模板,適合靜態頁首設計,但須具備基礎 PHP 能力
選項越後面,維護成本越高。日後主題更新也可能造成位置跑掉的問題,所以優先採用前幾項。
由右至左語系的排版支援
阿拉伯語、希伯來語、波斯語等語系的排版方向是由右至左,縮寫為 RTL。若目標語系包含這些文字,主題必須有對應的 RTL 樣式表才能正確呈現。
WordPress 核心會在偵測到 RTL 語系時自動載入 rtl.css。若主題沒有這個檔案,或檔案內容不完整,就會出現文字方向正確但版面跑位的情況——例如側邊欄跑到錯誤的一側、清單縮排方向相反、按鈕靠左而非靠右。
確認方式很直接,在主題的根資料夾搜尋是否有 rtl.css。若使用的是子主題,還需要確認母主題本身的 RTL 樣式是否完整,子主題通常只覆寫部分樣式。另一個快速測試法是在 WordPress 後台暫時切換到阿拉伯語或希伯來語的示範文章,觀察前端版面是否正常。
Polylang 本身不處理 RTL 樣式。WPML 的進階授權版有提供 RTL 預覽輔助工具,但核心樣式仍由主題負責。若主題完全沒有 RTL 支援,即使外掛運作正常,版面仍會損壞。
中日韓文字的換行問題
中文、日文、韓文的排版方向本身是由左至右,不需要 RTL 樣式。但這些文字有另一個獨特的問題,也就是換行規則。英文以空白鍵為換行依據,中日韓幾乎每個字元都可以換行。若主題的 CSS 沒有針對 word-break 或 overflow-wrap 做處理,某些版面區塊可能出現字元排列異常或文字溢出容器的情況。
多語系字型的相容性
字型在多語系環境下是最容易被忽略的相容性問題。同一套字型在西文表現良好,換成中文、日文、韓文後可能缺字,瀏覽器會退回系統預設字型,導致各語系版面字型不一致。
主題使用 Google Fonts 時,若所選字型不包含中日韓字符集,相關內容就會以系統字型代替顯示。解決方式有兩種。一是在主題設定中為不同語系分別指定字型,這需要主題有語系對應字型的選項;二是透過 WPML 的「語言設定」頁面對個別語系載入額外的字型樣式表。
使用網頁字型服務的情況類似,關鍵在於所選字型套件是否包含目標語系的完整字符集。多數西文字型套件的中文字符集需要額外授權或選擇不同的字型方案。
字型載入的彈性程度
可變字型在近幾年已成為主流,它能在單一字型檔中包含多個粗細、寬度變體。但多數可變字型仍以西文為主,中文可變字型選擇有限。若主題預設使用可變字型,切換到中文語系時需要確認是否有對應的備援字型設定,否則文字粗細可能和其他語系呈現不一致。
主題的 functions.php 或區塊主題的 theme.json 控制字型的載入方式。若字型以硬編碼方式寫入,不同語系共用同一個字型設定,就無法做語系層級的字型差異化。確認主題是否允許透過 PHP 過濾器或 WordPress 的「外觀→字型」介面修改字型載入,是評估主題多語系字型彈性的重要指標。
安裝前的相容性檢查清單
主題層面的相容性確認應該在安裝任何多語系外掛之前完成,而不是遇到問題再回頭排查。按照以下幾個面向逐一評估,能有效縮小問題範圍。
| 確認項目 | 確認方式 | 優先級 |
|---|---|---|
| WPML 相容認證 | 到 WPML 官網主題目錄搜尋主題名稱 | 高 |
| RTL 樣式表存在 | 主題根資料夾確認是否有 rtl.css |
依目標語系 |
| 語言切換器嵌入位置 | 確認主題有小工具區或支援選單自訂項目 | 高 |
| 字型字符集涵蓋 | 確認所用字型是否包含目標語系字符集 | 中 |
| 子主題架構 | 若使用子主題,確認母主題 RTL 樣式完整 | 依情況 |
| FSE 區塊相容性 | 區塊主題需確認 WPML 版本在 5.0 以上 | 依主題類型 |
這份清單的邏輯是由影響範圍大到小排列。語言切換器放不進去,整個多語系功能就無從使用;RTL 問題只在特定語系才出現,優先順序隨目標市場決定;字型問題影響視覺但不影響功能,通常可以事後修補,但若字型授權牽涉費用,最好在選定主題與字型方案時一併納入考量。
多語系網站的相容性確認本質上是兩個獨立開發的系統要能無縫協作。檢查工作做得越早,往後因為主題與外掛相互干擾而需要翻改的機率就越低。這個前置作業對多數站長來說只需要半小時到一小時,但省下的除錯時間往往以天計算。