3

我有一个使用 vue-i18n 的打字稿 Vue.js 应用程序,我想将它移植到 Nuxt.js。在 Vue.js 应用程序中,我通过调用在一个文件中初始化 i18n

// Create VueI18n instance with options
const i18n = new VueI18n({
  locale: 'ja', // set locale
  messages, // set locale messages
})

为了从模板中无法访问的代码位置(Vue 操作等)访问 i18n 实例{{ $t('my.translation.key' }},我从实例化它的文件中导出了i18n对象,然后通过调用i18n.t('my.translation.key')检索翻译和其他属性(如当前属性)来访问它活跃的语言。

现在,使用 nuxt.js 和 nuxt-i18n,没有这样的显式初始化,并且通过在 Nuxt 配置中配置 nuxt-i18n,一切都“神奇地”发生了。

然后如何在模板之外的操作/其他代码位置访问 i18n 实例?我尝试使用just this.$i18n.t(...),但这不起作用。另外,如果我import Vue from 'vue'尝试通过它调用它Vue.$i18n.t(...)也不起作用。如何访问 i18n 实例?

4

0 回答 0