- 登入
- 註冊
同一篇文章顯示中英雙語:用群組區塊做語言條件顯示
想在同一篇部落格文章裡同時放中文與英文,讓造訪中文版的讀者只看到中文、造訪英文版的讀者只看到英文嗎?這不需要逐句翻譯。秒站多國語言模組支援「語言條件顯示」,你把兩種語言的內容各自做成「群組」,再指定每個群組要顯示的語言就完成了。
指定語言有兩種做法:一種是直接在區塊設定面板上點選(最簡單,所見即所得),另一種是用條件顯示短代碼包住群組。本文兩種都會教。和翻譯編輯器逐句對照翻譯不同,這個做法讓你完全手寫兩種語言的版本,適合中英文想各自發揮,不是一字一句對譯的情境。本文假設你的網站已經啟用多國語言模組,若還沒啟用,請先看〈用秒站多國語言模組翻譯編輯器〉。
什麼時候用「語言條件顯示」,什麼時候用翻譯編輯器#
兩種做法都能做出多語版本,差別在於你想不想逐句對譯。
- 翻譯編輯器:你只寫一份原文,再到前台逐句填入對應的譯文。適合內容固定,要一句中文對一句英文的頁面,例如選單、按鈕、產品說明。
- 語言條件顯示:你手寫中文版和英文版兩段獨立內容,再各自指定顯示的語言。適合部落格文章這種「兩種語言想各自發揮,舉的例子和語氣可以不一樣」的情境。
這篇教的是後者。如果你寫完條件顯示的內容,之後想再針對共用元素(選單、頁尾)逐句翻譯,兩者可以並用。
開始前:先認得你網站的語言#
條件顯示是指定「這段內容要給哪個語言看」,所以動手前先確認網站啟用了哪些語言。用區塊面板的做法會直接列出語言名稱讓你勾選;用短代碼的做法則要填語言代碼。常見的語言代碼如下:
| 語言 | 代碼 |
|---|---|
| 繁體中文(台灣) | zh_TW |
| 英文(美國) | en_US |
| 簡體中文 | zh_CN |
| 日本語 | ja |
請用你網站「實際啟用」的語言為準。多數秒站網站的預設組合是繁體中文 zh_TW 搭配英文 en_US;如果你的英文版啟用的是 en_GB 或其他代碼,下面短代碼範例就要改成對應的代碼,否則該段內容會不顯示。
共同第一步:把中文和英文各自「群組」#
不論用哪種方法,第一步都一樣。在文章編輯器裡,先寫好或貼上中文版的所有段落,把它們全部選起來,按工具列或右鍵選「群組」,讓這段中文變成一個「群組」區塊。接著用同樣方式寫好英文版,再選起來「群組」一次。
做完你會有兩個群組:一個裝中文、一個裝英文。把整段內容打包成一個群組,等一下指定語言時就能一次套用到整段,不必逐個區塊設定。
方法一(推薦):在區塊設定面板直接選顯示語言#
這是最直覺的做法,不用記任何短代碼。點一下中文群組把它選起來,看編輯器右側的區塊設定面板,切到「區塊(Block)」分頁,往下找到 TranslatePress 提供的「TranslatePress Language Restriction」(語言限制)這一區。
接著做兩個設定:
- 把「Content Restriction Mode」(顯示模式)設成「Include」,代表「只在選到的語言顯示」。
- 在語言清單勾選「繁體中文」。這個中文群組就只會在中文版顯示。
然後點英文群組,同樣切到「區塊」分頁,找到語言限制,模式選「Include」,語言改勾「English」。設定完更新文章就生效。整個過程都在右側面板完成,文章版面也保持乾淨。
來源:TranslatePress:Gutenberg Integration(更新時間:2026-05)
方法二:用條件顯示短代碼包住群組#
如果你習慣用短代碼,或想把同一段設定複製到別的地方,可以改用 [language-include] 短代碼,它會讓包在裡面的內容只在指定的語言顯示。做法是把群組夾在「開頭」和「結尾」兩個短代碼區塊中間。
在中文群組的正上方插入一個「短代碼(Shortcode)」區塊(在區塊插入器搜尋框輸入 shortcode 就找得到),填入開頭標籤:
[language-include lang="zh_TW"]
再到中文群組的正下方插入另一個短代碼區塊,填入結尾標籤:
[/language-include]
英文群組做法完全一樣,只是把開頭標籤的語言代碼換成英文:
[language-include lang="en_US"]
排好之後,文章裡由上到下的區塊順序會像這樣:
- 短代碼:
[language-include lang="zh_TW"] - 群組(你的中文內容)
- 短代碼:
[/language-include] - 短代碼:
[language-include lang="en_US"] - 群組(你的英文內容)
- 短代碼:
[/language-include]
開頭和結尾標籤要成對出現,少一邊就會失效,這點是最容易漏掉的地方。
來源:TranslatePress:Conditional Shortcode Based on Language(更新時間:2026-05)
切換語言預覽,確認各看各的#
不論用哪種方法,更新文章後都要到前台驗證。用網站上的語言切換器切到中文,確認頁面只出現中文群組;再切到英文,確認只出現英文群組。如果兩種語言的內容同時出現,多半是某個群組的語言沒設到,或短代碼的開頭結尾漏掉、代碼填錯了。
切換語言、邊預覽邊微調的操作,可以參考〈用秒站多國語言模組翻譯編輯器〉裡的語言切換說明。
進階:只想「排除」某個語言#
如果你的情況反過來,是「某段內容除了某個語言以外,其他語言都要顯示」,兩種方法都有對應的排除模式。
- 區塊面板:把「Content Restriction Mode」改成「Exclude」,再勾選你「不想顯示」的語言。
- 短代碼:改用
[language-exclude],包法和開頭結尾標籤都和前面一樣。例如下面這段,只有英文版看不到,其他語言都會顯示:
[language-exclude lang="en_US"]
短代碼的 lang 可以一次填多個語言代碼,用半形逗號分隔,例如 lang="zh_TW, en_US" 就代表這兩個語言。區塊面板的語言清單則是直接勾選多個。
下一步:如果你想針對選單、頁尾這類每頁共用的元素做逐句翻譯,回到〈用秒站多國語言模組翻譯編輯器〉,用前台點字的方式補上譯文。
常見問題
「語言條件顯示」和「翻譯編輯器」差在哪?我該用哪一個?
翻譯編輯器是寫一份原文,再逐句填入譯文,適合內容固定,要一句對一句對譯的頁面,例如選單、按鈕、產品說明。語言條件顯示則是你手寫兩種語言的獨立版本,再各自指定顯示語言,適合部落格文章這種兩種語言想各自發揮的情境。兩者可以並用:用條件顯示處理文章主體,再用翻譯編輯器補上選單、頁尾等共用元素。
區塊設定面板和短代碼,兩種方法哪個比較好?
兩種方法效果一樣,挑順手的用就好。區塊設定面板不用記語法、所見即所得,適合大多數情況;短代碼則方便把整段設定複製到別的文章或頁面重複使用。同一篇文章裡兩種也能混用,不會衝突。
短代碼貼進去後,前台顯示成一段純文字、沒有生效,怎麼辦?
先確認你用的是「短代碼(Shortcode)」區塊,而不是一般段落區塊,貼進段落區塊不會被當成短代碼執行。再確認開頭和結尾標籤成對出現,語言代碼和你網站實際啟用的代碼一致。都正確後仍沒生效,清一次網站快取再重新整理。
我之前看過用 trp_language 的舊教學,那個還能用嗎?
trp_language 短代碼在 TranslatePress 2.9.21 版之後已標記為不建議使用。它目前還能運作,但官方建議新內容改用 language-include 與 language-exclude,功能更彈性,也能控制內容要不要被翻譯。新做的文章請直接用新的短代碼。
條件顯示的內容,會被另一個語言的頁面看到嗎?會不會造成重複內容?
不會。語言條件顯示是在伺服器端依目前語言決定要不要輸出,所以英文頁面只會輸出英文群組,中文頁面只會輸出中文群組,另一個語言的內容不會出現在該頁的原始碼裡。每個語言版本看到的都是各自乾淨的內容。
除了文章,頁面或其他地方也能用嗎?
可以。只要是支援短代碼的內容區域都能用,包含頁面與文章。把要限制的內容夾在開頭和結尾短代碼之間即可,做法和文章完全一樣。