Skip to main content

適用於各框架的地區設定回退鏈

大多數 i18n 框架會完全跳過父級地區設定。pt-BR 用戶缺少某個鍵時會看到英語,而不是完全可用的 pt-PT 翻譯。locale-chain 庫通過可設定的深度合併回退鏈解決此問題。

問題:框架跳過父級地區設定

你發佈的 pt-PT 翻譯包含 2,000 個鍵,pt-BR 檔案則有 200 個地區覆蓋項。剩餘 1,800 個相同鍵會怎樣?大多數框架會顯示回退地區設定(通常為英語),而不是父級地區設定。巴西用戶會看到葡萄牙語和英語混雜的內容,體驗不完整。

這並非邊界情況。每個具有地區變體(zh-Hans/zh-Hant、es/es-419、en-US/en-GB、fr/fr-CA)的應用程式都會遇到此問題。幾乎所有 i18n 框架的預設行為都不適合地區地區設定。

深度合併回退的工作原理

用戶選擇 pt-BR 時,該庫會從回退鏈中的每個地區設定載入訊息,並按優先次序順序深度合併。地區鍵覆蓋父級鍵,父級鍵填補缺口。結果是一套完整訊息,不會缺少任何翻譯。

示例:pt-BR 將 'cart.checkout' 定義為 'Finalizar compra'。pt-PT 將 'cart.checkout' 定義為 'Concluir compra',將 'cart.empty' 定義為 'Carrinho vazio'。pt-BR 的合併結果會採用 pt-BR 的結賬文字,並對空購物車訊息回退到 pt-PT,而不是顯示英語。

立即試用 i18n Agent

將翻譯檔案拖放到此處

JSON, YAML, PO, XML, CSV, Markdown, Properties

或點擊選擇檔案

目標語言

無需註冊即時估價

地區設定回退常見問題