以客戶的語言發送電子郵件

慕尼黑的客戶不應該收到英文的訂單確認信,而您也不應該需要三種版面配置和三種工作流程來避免這種情況。一個電子郵件版面配置即可支援您所銷售的所有語言。您的「Shopify Flow」步驟會標示客戶使用的語言,應用程式便會發送對應的版本。其餘客戶則會收到以他們主要語言呈現的版面配置。

本指南將引導您從單一語言的版面配置,逐步轉為以客戶語言發送電子郵件,並涵蓋各種邊緣情況的處理方式:未知語言、地區變體、後續編輯、測試及疑難排解。

運作原理

  • 每個版面設計僅有一種主要語言。那就是版面設計本身,也就是您目前所見的版本。
  • 您可以在其中新增翻譯:德語、法語,每個版面最多可達 30 種。每種翻譯都有其專屬的主題、預覽文字和內容。
  • 在 Shopify Flow 中,「傳送交易型電子郵件」動作設有「語言」欄位。請將其設定為客戶的語言,例如 {{order.customerLocale}}。
  • 當電子郵件發送時,應用程式會選擇相應的翻譯。若無相應翻譯,則發送主要語言版本。電子郵件絕不會因語言問題而被攔截。

一種版面配置、一種工作流程,適用於所有語言。

步驟 1:新增語言

  1. 在「**電子郵件版面配置」**下開啟該版面配置。
  2. 點擊頁面頂端的「新增語言」。
  3. 在**「語言」下方選擇要新增的語言,然後點擊「新增語言**」。

新語言會以您已儲存的版面配置為基礎建立,並立即在編輯器中開啟。請將主旨、預覽文字和內容翻譯完畢,然後點選「儲存」。

只要連線至 AI 服務供應商,您即可選擇**「透過 AI 翻譯」**而非「複製」。所有文字都會被翻譯;而 Liquid 標籤(例如 {{ variables.order_name }})、連結及版面設計則完全維持原樣。在您審閱並儲存之前,系統不會傳送任何內容。請參閱 利用 AI 建立、編輯及翻譯版面配置。

選取德語的電子郵件版面配置之「新增語言」對話方塊
新增語言:選擇語言。系統會先建立一個佈局副本,供您進行翻譯。

在語言出現之前,你所創造的版面配置

在此功能推出之前建立的版面配置,目前尚無主要語言。我們從未詢問過該版面配置使用何種語言撰寫,也不會進行推測。當您首次向此類版面配置新增語言時,對話方塊會額外顯示一個問題:「此版面配置的主要語言」。

  • 目前未預先選取任何選項。請選擇今日版面設計所使用的語言:若要使用德語版面,請選擇「德語」。
  • 在您做出選擇之前,「**要新增的語言」**及「**新增語言」**按鈕將保持停用狀態。
  • 每個版面配置只會詢問一次。從現在起,您所建立的版面配置將在建立頁面中選擇其語言。

正確處理這一點至關重要:若客戶所選語言沒有對應的翻譯,系統將以主要語言為基準,並據此進行翻譯匹配。

在「語言」功能推出前建立的佈局中的「新增語言」對話方塊:此佈局的主要語言會優先顯示且為必填項目,接著是待新增的語言
一個在語言概念出現之前就已建立的版面配置,會先詢問該版面是使用哪種語言撰寫的。系統未預先選取任何選項,且「新增語言」按鈕會保持停用狀態,直到您做出選擇為止。

步驟 2:在同一個編輯器中進行翻譯

翻譯內容將在您熟悉的編輯器中開啟:若為建構器佈局,則使用視覺化建構器;若為其他內容,則使用富文本或 HTML 編輯器。切換語言時,畫面不會改變,僅內容會隨之變更。

  • 使用語言選擇器切換:在視覺化建構器中,畫布上方的工具列內,以及富文本/HTML 佈局中的「電子郵件內容」卡片頂端。
  • 標示為 (版面配置) 的條目即為主語言。
富文本版面的德文版本:畫面相同,名稱與描述為唯讀,主旨與內文為德文
切換語言時,畫面內容將保持不變。名稱和描述在此處為共用且唯讀;主旨、預覽文字和正文則屬於該語言。
顯示訂單確認書德文版本的視覺化建構器
視覺化建構器的運作方式與此相同:請在畫布上方的工具列中選擇語言。

每種語言的附件

一份德語發票的 PDF 檔、一份法語條款清單:附件可能因語言而異。

**視覺佈局。**附件在設計中以「附件區塊」的形式呈現,且每種語言都有其專屬的設計。新增的語言會以複製現有語言的方式建立,因此會繼承相同的附件區塊;若在德文版本中更換該檔案,則僅德文電子郵件會顯示該附件。

**富文本/HTML 版面配置。**翻譯頁面上的「附件」卡片開頭會顯示一個選項:「此語言的附件:」

選擇 發送了什麼
與主要語言相同 主語言的附件。請在該處進行修改。這是所有語言的預設設定。
此語言的各種附件 只有以這種語言發送的電子郵件才會附帶這些檔案。

為此語言選擇不同的附件,需從主語言的清單開始操作,因此替換一個 PDF 檔案即代表一次變更。若移除所有檔案,該語言發出的電子郵件將不附帶附件,而主語言則維持原有設定。切換回「與主語言相同」後,該語言將再次遵循主語言的設定。

將某種語言設為主要語言後,所有語言在傳送內容時都會完全維持原樣,因此即使將某個翻譯設為主要翻譯,也不會改變任何人的附件內容。

大小限制以及「附加」/「連結」模式與主要語言相同,請參閱 附件與圖片。

各語言的行銷頁尾

行銷版面配置以「取消訂閱」的句子及貴公司的詳細資訊作為結尾。 翻譯版本可採用其專屬的文字:翻譯頁面上的「行銷頁腳」卡片提供「**與版面配置相同」或「此語言的自訂文字」**選項。若欄位留空,則會沿用版面配置中的文字。關於頁腳的運作方式,以及各語言的全站通用文字存放位置,請參閱 行銷電子郵件與取消訂閱。

步驟 3:告訴 Shopify Flow 應使用哪種語言發送

在「傳送交易型電子郵件」動作中,將「語言」設定為儲存客戶語言的Shopify Flow變數:

觸發器 語言
訂單已建立,訂單已付款 {{order.customerLocale}}
由客戶建立 {{customer.locale}}
已建立訂單履行 {{fulfillment.order.customerLocale}}

若工作流程僅服務單一市場,請輸入固定代碼,例如 de。

此欄位為選填。您先前建立的工作流程將維持原狀繼續運作:若未指定語言,系統會照常傳送主要語言,與以往完全相同。

Shopify Flow 中的「傳送交易型電子郵件」動作,其「回覆至」、「寄件者名稱」及「語言」欄位設定為 order.customerLocale,並包含變數
「Shopify Flow:語言」動作會採用客戶的語言,此處為 {{order.customerLocale}}。回覆對象(Reply-To)和寄件者名稱(From)亦會根據每個步驟分別設定。

客戶會獲得哪個版本

該應用程式會按照以下順序尋找最符合的配對:

  1. 確切的措辭。fr-CA 會將您的 fr-ca 翻譯內容發送出去。
  2. 基礎語言。de-CH 和 de-AT 會傳送您的 de 翻譯內容。一份德語翻譯即可涵蓋德國、奧地利和瑞士。
  3. 一種地區變體。pt 會將您的 pt-br 翻譯發送出去。
  4. **否則即為主要語言。**版面配置本身會一併傳送。

大小寫與分隔符號均不影響結果:de-DE、de-de 以及 de_DE 都是相同的。

如果這種語言並不存在呢?

不會發生任何問題。當出現以下情況時,電子郵件將以主要語言發送:

  • 該客戶的語言沒有對應的翻譯(該客戶是日本人,而您將其翻譯成德語和法語),
  • 「語言」欄位為空,或者該客戶的Shopify Flow變數沒有值,
  • 這個價值根本不是一種語言。

傳送操作絕不會因「語言」欄位而被拒絕或失敗。唯一的檢查發生在建立工作流程時:若您輸入的固定值並非語言代碼(例如 english),Shopify Flow 便會顯示提示,建議使用類似 de、fr 或 pt-BR 的代碼。Shopify Flow 變數總是能通過檢查。

每種語言僅需一種版面配置

有時候,完整的翻譯超出了您的需求:這封電子郵件的內容對所有人來說都是一樣的,唯獨有一句話不同。針對這種情況,每個佈局都支援 {{ language }} 功能。

{{ language }} 此處為您的「Shopify Flow」步驟所傳送的語言,請使用小寫(例如:de、fr、de-at)。當該步驟未傳送任何語言時,則採用版面的主要語言。此功能適用於主旨、預覽文字及正文,無論是在視覺化建構器中、富文本/HTML 版面中,抑或翻譯內容內皆然。

{% if language == "de" %}
  <p>Retouren aus Deutschland gehen an unser Lager in Hamburg.</p>
{% else %}
  <p>International returns are refunded within 10 working days.</p>
{% endif %}

在視覺化建構器中,將此內容放入 HTML / 程式碼區塊中。若使用富文本 / HTML 佈局,請將 main 內容切換為 HTML。

Shopify 通常會隨語言一併傳送地區,例如 de-AT 或 en-GB。{{ language }} 則保留地區資訊(de-at),因此若您指的是「任何德語」,請僅比較前兩個字母:

{% assign lang = language | slice: 0, 2 %}
{% if lang == "de" %}Hallo{% elsif lang == "fr" %}Bonjour{% else %}Hello{% endif %}

{{ language }} 這是該步驟所要求的內容,而非實際找到的翻譯。對於日本客戶,即使已傳送主要語言,系統仍會顯示「ja」,因此即使某個版面配置中沒有任何翻譯,仍能對此做出反應。編輯器中的「系統變數」卡片會列出該變數及其當前值,並可透過點擊直接複製該值。 在尚未設定主要語言的佈局中,該欄位將保持空白,直到「Shopify Flow」步驟傳送語言資訊為止。

一個 HTML 版面配置,其 body 標籤使用「if language equals de」條件,位於列出語言變數的「系統變數」卡片旁邊
{{ language }} 在版面配置中:一個段落供德國客戶閱讀,另一個段落則供其他所有客戶閱讀。系統變數卡會顯示其當前值。

上線前請先進行測試

  • 一旦版面配置具備翻譯內容,「發送測試電子郵件」功能便會出現語言選擇器。請將每種語言的郵件各發送一次給自己。
  • 此測試使用您的「測試變數」,而非實際資料。實際的工作流程執行才是最終的檢查;請參閱 測試您的電子郵件設定。
  • 要測試整個流程,請針對一位客戶語言與您翻譯目標語言相符的訂單,執行該工作流程。

查看已發送的內容

系統會記錄每封電子郵件的語言。開啟一項活動:在「活動詳情」下的「語言」欄位中,會顯示已傳送的翻譯內容,或是版面的主要語言。**「重新傳送」**功能會再次傳送相同語言的內容。

一則關於已發送電子郵件的歷史事件,其「事件詳情」欄位中包含狀態、持續時間,以及語言為德語。
「歷史事件:語言」位於「事件詳情」下方,顯示了實際發佈的版本。

變更主要語言

您的商店最初是英文版,現在大部分顧客都是德國人嗎?請開啟德語翻譯版本,並點擊**「設為主要語言」**。這樣一來,德語將成為主介面,而英文則轉為翻譯版本:兩者位置互換,內容不會有任何遺失。從此之後,對於沒有對應翻譯的顧客,以及未指定語言的電子郵件,系統都會顯示德語版本。您可透過版本歷史記錄撤銷此設定。

對話框「將德語設為主要語言」,說明這兩種語言將互換位置
設定為主語言:翻譯與版面配置會互換位置。內容不會遺失,且可透過版本歷史記錄撤銷此變更。

移除一種語言

開啟該翻譯,點擊**「刪除」,接著點擊其名稱(例如「刪除德語**」)。使用該語言的客戶將從下一封電子郵件開始收到主語言的內容。該翻譯仍會保留在版面配置的版本歷史紀錄中,並可隨時還原。請參閱 版面配置版本歷史紀錄。

如果某件事與預期不符

**某位客戶收到的郵件顯示的是主要語言,而非其本國語言。**請在「歷史紀錄」中開啟該封電子郵件,並查看「語言」欄位。「佈局的主要語言」表示未找到相符的翻譯:這可能是因為「Shopify Flow」步驟的「語言」欄位為空、該變數對該客戶沒有值,或是您未針對該語言提供翻譯。 請先檢查該步驟;步驟 3 中的表格應針對每個觸發器列出正確的變數。

**「新增語言」按鈕呈灰色且無法點選。**此版面配置目前尚未設定主要語言。請先在對話方塊頂端選擇「此版面配置的主要語言」。

**我需要的語言不在清單中。**該清單列出了最常見的語言。任何有效的語言代碼均可透過 API 進行新增。

**我已經修改了版面配置,但德語電子郵件中仍顯示舊的文字。**這些翻譯內容只是複製而來。請也將德語版本進行相應修改。

**我已更換附件,但其中一種語言仍會傳送舊檔案。**在富文本/HTML 版面配置中,該語言設定為「此語言使用不同的附件」,因此會保留其專屬的附件清單。請開啟該翻譯並在該處修改檔案,或將其切換為「與主語言相同」。 在視覺化佈局中,請直接在該語言的「附件」區塊中替換檔案。

**我在「Shopify Flow」動作中看不到「語言」欄位。此步驟是在本次更新之前新增的,而「Shopify Flow」會保留步驟建立時設定的欄位。請刪除「Send Transactional Email」步驟並重新新增:此時「語言」欄位便會出現在「寄件者名稱」與「變數 (JSON)」**之間。

透過 API

可透過 GET 和 PUT /api/v1/email-templates/:id/translations/:locale 讀取及寫入翻譯內容;透過 POST /api/v1/email-templates/:id/translations/:locale/promote 可將某個翻譯設為主要語言;而 MCP 工具則包含 list_template_translations、set_template_translation 及 promote_template_translation。若要設定富文本/HTML 版面配置,翻譯的 attachments 欄位即為其專屬清單;若要設定主要語言的版面配置,則使用 null;marketingTexts 則存放該語言行銷版面配置的頁尾文字。 系統接受任何有效的語言代碼,每個版面最多可支援 30 種語言。請參閱 REST API 參考手冊 及 連接 AI 助理(MCP)。

相關