View Categories

多語網站表單怎麼依語言寄給不同人、用對語言回信

< 1 分鐘閱讀

快速答案:多語網站的表單分流有兩種做法:每個語言各做一份表單,各自設通知人與自動回覆,最不會出錯;或只做一份表單,用隱藏欄位記下語言,再用「條件式通知」決定寄給誰、用哪種語言回信。表單少就用前者,表單多、常改欄位就用後者。

為什麼會這樣 #

WPML、Polylang 翻譯的是頁面,不一定翻得到表單的「行為」。Contact Form 7 搭 WPML 會複製出一份翻譯版表單,Elementor 表單在翻譯頁裡也是獨立的一份——所以英文頁的表單其實是另一個表單,它的通知信、自動回覆要另外設,不會跟著中文版走。英文表單送出後老闆沒收到通知,常見原因就是英文那一份從來沒設收件人。

反過來 WPForms、Gravity Forms 常用同一份表單掛在各語言頁面,這時通知信只有一組設定,不管客人用哪種語言填,都收到同一封中文自動回覆,也無法把英文詢價轉給外銷部門。

怎麼處理 #

做法一:一種語言一份表單 #

  1. 把中文表單複製一份,欄位標籤、必填提示、送出按鈕、成功訊息全部改成該語言。
  2. 各自設定通知收件人與自動回覆的內容;自動回覆的「寄件人名稱」也要換成該語言的品牌名。
  3. 把翻譯頁裡的表單換成這一份。之後每次改欄位,記得每種語言都改一次。

做法二:一份表單加條件分流 #

  1. 在表單加一個隱藏欄位「語言」,預設值用短代碼或外掛提供的目前語言代碼帶入;沒有這種功能的表單,就在各語言頁面放同一份表單、但隱藏欄位的預設值分別填好。
  2. 通知設定建立多組:條件「語言 = en」寄給英文客服並用英文自動回覆,「語言 = zh」寄給中文客服。WPForms、Gravity Forms 的通知都有條件邏輯;Elementor 表單沒有條件式寄信,要靠 Webhook 交給自動化工具分流。
  3. 驗證訊息、必填提示這些字在外掛的語言檔裡,用 WPML 字串翻譯或 Loco Translate 補齊。

不管哪種做法,都送一筆各語言的測試單,確認通知、自動回覆、後台紀錄三處都對。

我們實際遇過的情況 #

一個多語企業官網用 WPForms 搭 WPML 做多語表單,英文頁的詢價與經銷商表單曾經整個不見,中文頁卻好好的——多語站的每種語言,都要逐一確認表單還在、通知有設。同一個站用隱藏欄位標記表單來源,有一頁的隱藏欄位始終抓不到值,第一步就是到表單列表核對那一頁放的是不是同一個表單——多語站裡「看起來一樣、其實是兩份」的表單非常多。

也有網站要改表單送出後的回覆文字,那是在表單的通知與確認訊息設定裡改,不是頁面翻譯的問題。

什麼時候該找人 #

表單超過三種語言且欄位常改、需要依語言或地區把名單推進不同 CRM、或翻譯頁的表單送出後後台完全沒紀錄——這些牽涉多語外掛與表單外掛的相容設定,值得請人一次把架構定好,不然每改一次欄位就漏一種語言。延伸閱讀:浮動按鈕與表單依語言切換表單資料留底

常見問題 #

英文頁的表單送出後沒人收到通知? #

翻譯頁裡的表單通常是獨立的一份,要到英文版表單另外設定通知收件人與自動回覆。

Elementor 表單可以依語言寄給不同人嗎? #

Elementor 表單沒有條件式寄信,可以每種語言各做一份,或用 Webhook 交給自動化工具分流。

英文表單的按鈕和錯誤提示還是中文? #

那些字在表單外掛的語言檔裡,用 WPML 字串翻譯或 Loco Translate 補齊,不是表單設定的問題。

想有人每月幫你顧著多語表單與通知:網站守護方案。先看體質:免費健檢