您已經知道 i18n 很難。我見過這些症狀:會崩壞的 RTL 版面配置、德文溢出按鈕、API 回應使用錯誤語言,以及推出幾週內就失去同步的翻譯。我不賣萬靈丹。我幫您釐清團隊目前面臨的具體問題,並建立不會再以同樣方式中斷的系統。
您用英文推出了產品。成功了。然後您「只為了登陸頁面」加了法文。現在您來到這裡是因為:
您的程式碼庫中有分散在 47 個檔案裡的 lang= 檢查
產品經理詢問「我們能 A/B 測試文案嗎?」而工程團隊說「不重寫就不行」
您有三套不同的翻譯工作流程,但沒有一套能穩定運作
i18n 是架構,不是功能。想在後期才加入,就像房子都蓋好了才決定要挖地下室一樣。
我協助您挖掘那個地下室——或判斷您是否真的需要一個。
您切換了 dir="rtl",然後看著整個版面炸開:
在每個元件中手動修復 RTL 錯誤是不可持續的。我讓 RTL 支援系統化,而非不斷救急。
英文放得下,德文放不下。您的設計預設了:
然後您翻譯成德文、芬蘭文或泰文,才發現:
按鈕在單字中間被截斷
每一列都要水平捲動的表格
文字換行後變成難以閱讀的區塊
非拉丁文字因為容器具有固定寬度而被截斷
我幫您建立能在翻譯後存活的 UI——在您為不適用的 10,000 個單字付費之前。
您不需要關於 i18n 為何重要的說教。您需要的是在凌晨 2 點除錯 RTL 彈出視窗、與產品團隊爭論字元預算,並設計出真正能運作的翻譯流程的人
這些不是紙上談兵。這些都是在正式環境中實際出過問題的案例:
英文:「1 item」與「2 items」
波蘭文:「1 przedmiot」/「2 przedmioty」/「5 przedmiotów」(3 種複數形式)
阿拉伯文:6 種複數形式
您的 count === 1 ? 'item' : 'items' 邏輯已經行不通了。
您用 toLocaleDateString() 來格式化日期。結果日本的使用者在您的 CSV 匯出中看到「2025 年 2 月 9 日」,然後 Excel 就出錯了。
您的前端請求法文,但您的 API 回傳英文,因為驗證權杖沒有攜帶語言區域設定。現在您的 UI 出現混合語言,使用者還以為是 bug。
您在上線到生產環境之前沒有用 [Ţĥîś îś ţéśţ ţéẋţ ţĥàţ éẋþàñðś 30%] 進行測試。現在您的波蘭文網站根本無法使用。
您以為字串是唯一需要翻譯的東西。結果碰上了日期、數字、貨幣、排序、搜尋——每一項都有地區特定的行為。
您已經搞定了技術,現在卡在流程上:
開發人員合併包含新英文字串的程式碼。翻譯延遲 2 週。使用者看到一半翻譯的 UI
您不知道哪些字串可以安全刪除(它們是否被使用?已翻譯?正在與機構處理中?)
產品團隊想要更新文案。沒有人知道將「Submit」改為「Send」是否會破壞 12 種語言
翻譯檔案與生產環境不同步,一次就是好幾週
技術是可以解決的。工作流程才是阻礙。我設計不需要英雄式維護的工作流程。

橫跨 3 個主要東亞市場的通訊平台。處理 CJK 字元處理、平台生態系整合,以及日本、台灣和泰國之間使用者體驗期望差異等特定挑戰。
韓國最大的通訊平台。處理韓國市場的特定產品需求,包括 UI 中語言敬語層級的要求,以及平台整合需求。
全球連署平台,內容的速度與品質同等重要。協助規劃跨多元市場,使用者自發產出的政治/社會內容翻譯工作流程。

具有複雜國際化需求的全球市集平台。針對多語言環境下的信任與安全機制,以及跨市場平台概念的文化在地化等挑戰提供諮詢。

服務全球企業客戶的客戶溝通平台。負責即時客服工具的產品國際化,以及知識庫的在地化工作。
行動遊戲發行商,旗下遊戲於全球發行。針對特定市場在內容在地化與區域平台需求方面的挑戰,提供有效解決方案。
東亞(日本、韓國、中國):
CJK 字體排版、平台生態系整合、直排文字支援
東南亞(泰國、越南、印尼):
多文字系統支援、行動優先的使用者期望
中東及北非(阿拉伯語地區):
RTL 版面配置需求、正式與口語語言期望、文化內容調整
歐洲:
24 種官方語言,多國產品上線
美洲:
區域語言差異(拉丁美洲西班牙語 vs. 西班牙西班牙語、巴西葡萄牙語),雙語市場
我見證了這些市場中哪些有效、哪些失敗——不是來自理論,而是來自推出真實使用者所依賴的產品
您不需要關於 i18n 為何重要的說教。您需要的是在凌晨 2 點除錯 RTL 彈出視窗、與產品團隊爭論字元預算,並設計出真正能運作的翻譯流程的人
我會告訴您當您新增下 3 種語言時會出現什麼問題,以及修復需要多少成本
您正準備在日本 /MENA/EU 上線,需要有實戰經驗的專家
當您從 2 種語言擴展到 20 種語言時,提供嵌入式諮詢服務
我不搞理論。我做的是分級處理、路線規劃,以及交付。