У меня есть приложение с машинописью 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?