You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue-i18n v9中mergeLocaleMessage报错,如何正确使用?

vue-i18n v9 中使用 mergeLocaleMessage 的正确方式

vue-i18n v9(适配 Vue 3 的版本)重构了 API 结构,mergeLocaleMessage 方法不再直接挂载在 createI18n 创建的实例上,需要通过实例的 global 属性访问。

修改你的代码如下:

const vueI18N = createI18n({
    locale: 'en',
    fallbackLocale: 'en',
    messages: {
        en: messagesEn,
        de: messagesDe,
    },
});

// 通过 global 属性调用 mergeLocaleMessage
vueI18N.global.mergeLocaleMessage('en', customStringsEn);
vueI18N.global.mergeLocaleMessage('de', customStringsDe);
vueI18N.global.mergeLocaleMessage('en', wikiLinksEn);
vueI18N.global.mergeLocaleMessage('de', wikiLinksDe);

export default vueI18N;

如果是在组件内部调用该方法,可通过 useI18n 钩子获取实例后,同样访问 global 属性:

import { useI18n } from 'vue-i18n';

export default {
  setup() {
    const { global } = useI18n();
    // 合并新的语言消息
    global.mergeLocaleMessage('en', newAdditionalMessages);
    return {};
  }
}

内容的提问来源于stack exchange,提问作者coure2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:15:57