Как получить доступ к экземпляру i18n в магазине / действии в nuxt? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть приложение с машинописью Vue. js, использующее vue -i18n, и я хочу перенести его на Nuxt. js. В приложении Vue. js я инициализировал i18n в файле, вызывая

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

Чтобы получить доступ к экземпляру i18n из местоположений кода (Vue actions et c.), Где есть нет доступа к {{ $t('my.translation.key' }}, как в шаблонах, я экспортировал объект i18n из файла, в котором я его создал, а затем обратился к нему, вызвав i18n.t('my.translation.key'), чтобы получить переводы и другие свойства, такие как текущий активный язык.

Теперь с nuxt. js и nuxt-i18n такой явной инициализации не существует, и все происходит «волшебным образом» путем настройки nuxt-i18n в конфигурации Nuxt.

Как я могу получить доступ к экземпляру i18n в действиях / других местах кода вне шаблонов? Я пытался использовать только this.$i18n.t(...), но это не сработало. Кроме того, если я import Vue from 'vue' и пытаюсь вызвать его через Vue.$i18n.t(...), это не сработало. Как я могу получить доступ к экземпляру i18n?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...