自定义扩展 (展望)
TechUI 的多语言模块在底层设计上预留了完整的扩展接口。虽然目前官方仅内置了简体中文、繁体中文和英文三种核心语言包,但在未来的版本规划中,我们将开放自定义注册与合并策略,使多语言系统能够完全适应您的业务需求。
设计目标
扩展功能旨在解决以下两个核心场景:
- 新增语种:当您的应用需要支持日文、法文或德文等官方未收录的语言时,可以通过扩展接口注册全新的语言包。
- 业务文案复用:允许开发者将业务组件的翻译文案(如特定行业的术语)注入到 TechUI 的多语言系统中,从而在项目中统一使用
i18n()函数进行调用,无需引入第三方的 i18n 库。
预期机制
注册新语言
系统将暴露类似 registerLocale 或 addLocale 的 API。开发者可以按照 TechUI 标准的语义结构(或者自定义结构),加载并注册新的语言数据。
一旦注册成功,该语言将自动出现在语言切换器的候选列表中,且系统会自动处理该语言的持久化和加载逻辑。
覆盖与合并
对于已存在的语言(如 cn),扩展功能将支持“深度合并”策略。
- 文案覆盖:如果您不习惯 TechUI 默认的“确定/取消”文案,可以通过注入同名 Key 来覆盖官方文案。
- 增量补充:您可以在现有的语言树上挂载新的业务节点(例如增加
myBusiness节点),而不会影响 TechUI 原有的components或universal节点。
业务集成
在扩展功能完善后,i18n 函数将成为整个应用唯一的翻译入口。
这意味着您可以在自己的业务组件中,像调用系统文案一样调用业务文案:
javascript
// 假设您注册了自定义的业务文案 'order.status.paid'
import { inject } from 'vue';
const { i18n } = inject('$global');
// 统一调用,无需区分是 TechUI 的文案还是业务文案
const statusText = i18n('order.status.paid');这种设计将确保应用内的翻译逻辑高度统一,降低维护成本,并共享 TechUI 已有的动态插值和调试能力。