首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在nuxt的store/action中访问i18n实例?

如何在nuxt的store/action中访问i18n实例?
EN

Stack Overflow用户
提问于 2020-03-12 01:17:57
回答 1查看 559关注 0票数 3

我有一个使用vue-i18n的typescript Vue.js应用程序,我想把它移植到Nuxt.js上。在Vue.js应用程序中,我通过调用以下方法在文件中初始化了i18n

代码语言:javascript
运行
复制
// 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实例呢?我试着只使用this.$i18n.t(...),但这不起作用。此外,如果我import Vue from 'vue'并尝试通过Vue.$i18n.t(...)调用它,它不起作用。如何访问i18n实例?

EN

回答 1

Stack Overflow用户

发布于 2021-07-08 22:35:53

我可以像这样在*.vue文件部分使用它:

代码语言:javascript
运行
复制
this.$t("locale.string");

我在nuxt.config.js中包含了i18n模块,如下所示:

代码语言:javascript
运行
复制
  modules: [
    ['nuxt-i18n', {
      locales: [
        {
          name: 'Türkçe',
          code: 'tr',
          iso: 'tr-TR',
          file: 'tr-TR.js'
        },
        {
          name: 'English',
          code: 'en',
          iso: 'en-US',
          file: 'en-US.js'
        },
      ],
      langDir: 'lang/',
      defaultLocale: 'en',
    }]
  ],
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60641348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档