返回文章列表

系統整合 · 實作指南

AI 翻譯很通順,訂單編號卻填不進去了

保留翻譯範本的欄位識別名稱,分開檢查程式契約與語言含義,避免通知遺失訂單編號。

AI 翻譯很通順,訂單編號卻填不進去了

AAHouse 原創解說影片,採用 AI 輔助概念畫面、合成旁白及原創音樂。

英文逐字稿 · 簡體中文普通話逐字稿 · 台灣華語逐字稿 · 澳門粵語逐字稿

審稿桌上的一個小括號

假設一家美國維修店把訂單通知交給 AI 翻譯。原句是“Order {order_id} is ready.”,譯稿變成“訂單 {订单号} 已準備好。”中文很順,卻可能無法填入系統提供的 order_id。這裡的括號不是給顧客看的文字,而是程式與文案之間的介面。本文用虛構通知做一次編輯演練。

審稿台:流暢不等於可用
審稿台:流暢不等於可用 — 輸入資料:order_id = A-104; 原始欄位:{order_id}; 錯誤譯稿:訂單 {订单号} 已準備好。
  • 輸入資料:order_id = A-104
  • 原始欄位:{order_id}
  • 錯誤譯稿:訂單 {订单号} 已準備好。

說明圖重繪 · 合成資料,非實際業務結果

第一張退稿單:欄位名被翻譯了

在本文採用的 Python str.format 語法中,花括號包住替換欄位,名字必須與傳入資料相符。[1] 我們用合成編號 A-104 執行本機測試:保留 {order_id} 的譯稿正確填入編號;改成 {订单号} 則出現 KeyError。不能把這個結果推廣為所有範本引擎的行為,但足以說明“讀起來通順”不是程式驗收。

退稿 1:欄位被改名
退稿 1:欄位被改名 — 保留 {order_id} → 填入 A-104; 改成 {订单号} → KeyError; 結果僅限本文的 Python 合成測試
  • 保留 {order_id} → 填入 A-104
  • 改成 {订单号} → KeyError
  • 結果僅限本文的 Python 合成測試

說明圖重繪 · 合成資料,非實際業務結果

第二張退稿單:能執行,卻漏了編號

另一份譯稿只寫“訂單已準備好”。它沒有語法錯誤,卻丟掉了顧客區分訂單所需的編號。本機測試確認它仍可產生文字,因此只檢查程式是否回報錯誤不夠。對這類簡單通知,應先列出必須保留的欄位,再對照解析結果和實際輸出。欄位存在也不保證放在正確的位置,仍需人工檢查含義。

退稿 2:無聲的遺漏
退稿 2:無聲的遺漏 — 譯稿:訂單已準備好。; 程式能執行,卻沒有 A-104; 必填欄位檢查 ≠ 只檢查有沒有錯誤
  • 譯稿:訂單已準備好。
  • 程式能執行,卻沒有 A-104
  • 必填欄位檢查 ≠ 只檢查有沒有錯誤

說明圖重繪 · 合成資料,非實際業務結果

可以換語序,不能拆掉上下文

保留欄位名,不等於要求譯文照搬英文語序。ICU 文件建議把訊息作為完整單元翻譯,讓變數位置隨目標語言調整;其 MessageFormat 也支援按語言規則選擇複數分支。[2] 給 AI 完整句子、欄位含義和示例值,比逐段翻譯碎片更有用。Python 與 ICU 的語法不能混用,驗收要使用產品實際採用的解析器。

完整訊息,保留上下文
完整訊息,保留上下文 — 可以:依目標語言調整語序; 保留:欄位名稱與業務意思; 驗證:使用產品實際採用的範本剖析器
  • 可以:依目標語言調整語序
  • 保留:欄位名稱與業務意思
  • 驗證:使用產品實際採用的範本剖析器

說明圖重繪 · 合成資料,非實際業務結果

一張可交付的驗收單

把“訂單 {order_id} 已準備好。”連同示例資料交給審核人,輸出應包含 A-104,意思應仍是訂單已準備好。再測試缺少資料、較長編號及產品支援的語言分支。我們的建議是把欄位規格約定檢查與語言審核分開記錄;任一項失敗就保留草稿。本文只執行了簡單 Python 合成測試,沒有接入客戶系統或傳送通知。

交付審核:兩項獨立檢查
交付審核:兩項獨立檢查 — 欄位契約:必填欄位、範例輸出; 語言審核:語序、意思、上下文; 任一項失敗 → 保留草稿,不寄送
  • 欄位契約:必填欄位、範例輸出
  • 語言審核:語序、意思、上下文
  • 任一項失敗 → 保留草稿,不寄送

說明圖重繪 · 合成資料,非實際業務結果

想把想法變成可驗證的試行?

聊聊你的工作流程

來源與延伸閱讀

編輯原則

本系列以 AI 輔助原創撰寫,並對照連結的公開來源。實作建議與假設情境屬編輯分析,並非客戶實績。來源發布日期及產品細節可能與本系列整理日期不同。