
适用于各框架的区域设置回退链
大多数 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,而不是显示英语。
支持 17 个框架
每个框架都有一个与其 i18n 系统原生集成的专用 locale-chain 库。安装软件包并配置回退链,加载时便会自动完成深度合并。
立即试用 i18n Agent
将翻译文件拖放到此处
JSON, YAML, PO, XML, CSV, Markdown, Properties
或点击选择文件
目标语言
无需注册即时估价