Skip to content

自定义扩展 (展望)

TechUI 的多语言模块在底层设计上预留了完整的扩展接口。虽然目前官方仅内置了简体中文、繁体中文和英文三种核心语言包,但在未来的版本规划中,我们将开放自定义注册与合并策略,使多语言系统能够完全适应您的业务需求。

设计目标

扩展功能旨在解决以下两个核心场景:

  1. 新增语种:当您的应用需要支持日文、法文或德文等官方未收录的语言时,可以通过扩展接口注册全新的语言包。
  2. 业务文案复用:允许开发者将业务组件的翻译文案(如特定行业的术语)注入到 TechUI 的多语言系统中,从而在项目中统一使用 i18n() 函数进行调用,无需引入第三方的 i18n 库。

预期机制

注册新语言

系统将暴露类似 registerLocaleaddLocale 的 API。开发者可以按照 TechUI 标准的语义结构(或者自定义结构),加载并注册新的语言数据。

一旦注册成功,该语言将自动出现在语言切换器的候选列表中,且系统会自动处理该语言的持久化和加载逻辑。

覆盖与合并

对于已存在的语言(如 cn),扩展功能将支持“深度合并”策略。

  • 文案覆盖:如果您不习惯 TechUI 默认的“确定/取消”文案,可以通过注入同名 Key 来覆盖官方文案。
  • 增量补充:您可以在现有的语言树上挂载新的业务节点(例如增加 myBusiness 节点),而不会影响 TechUI 原有的 componentsuniversal 节点。

业务集成

在扩展功能完善后,i18n 函数将成为整个应用唯一的翻译入口。

这意味着您可以在自己的业务组件中,像调用系统文案一样调用业务文案:

javascript
// 假设您注册了自定义的业务文案 'order.status.paid'
import { inject } from 'vue';

const { i18n } = inject('$global');

// 统一调用,无需区分是 TechUI 的文案还是业务文案
const statusText = i18n('order.status.paid');

这种设计将确保应用内的翻译逻辑高度统一,降低维护成本,并共享 TechUI 已有的动态插值和调试能力。