每个单位的 spec 创建自己的 i18n 实例以挂载一个组件
作者: Piyush-r-bhaskar创建于 2026年9月10日更新于 2026年9月17日
标签area/frontendkind/cooldown
几乎每个安装组件的单元都会首先创建自己的 vue-i18n 实例: 导入 `createI18n`,将其调用为 `legacy: false` 和 `locale: "en"`,决定是否传递消息,然后通过 `global.plugins` 将其传递给 `mount`。在 `ui` 中,设计系统、拓扑和 `ui-ee` 这 164 个单元都采用了相同的设置,只是略有变化,而且这些包中没有共享的安装辅助函数。这带来了除了噪音以外的成本。当设计系统组件开始使用 `$t` 时,没有 i18n 插件的单元会出现 `_ctx.$t 不是一个函数` 错误,这更像是组件 bug,而不是缺少测试设置。共享的辅助函数使这种错误成为不可能。
内容来源: kestra-io/kestra