Skip to content

翻译插件

通过 ctx.dshI18n.registerLocale(lang, dict) 键级覆盖主插件界面文案(zh/en),插件停止自动还原。

js
module.exports = {
  name: 'my-translation',
  inject: ['dshI18n'],
  apply(ctx) {
    ctx.effect(() => [
      ctx.dshI18n.registerLocale('en', {
        'chat.send': 'Send it!',
        'chat.header.newSession': '+ New Conversation',
        // 不写的 key 保持主插件原文
      }),
    ])
  },
}
  • 查找链:扩展文案(后注册优先)→ 内置字典 → key 本身。
  • 多插件注册同一 key:后注册者生效,任一插件卸载只移除自己的注册。
  • v1 仅支持覆盖 zh/en 两种内置语言,不新增语言。