My main app.js
import Vue from 'vue' import language from './language' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ locale: 'en', messages: language.messages, }) import router from './router' new Vue({ el: '#app', i18n, router, template: '<App/>', components: { App } })
The language.js
export default { messages : { en: { hello: 'hello!' }, ja: { hello: 'こんにちは!' }, zh: { hello: '你好!' } } }
my issue is following route.js code, which I can't use
this.$i18n.t('hello')
, because$i18n
is not available.import Vue from 'vue' import Router from 'vue-router' export const myRouteMap = [ { path: '/', component: MyComponent, redirect: '/myHome', //name: 'Home', name: this.$i18n.t('hello') // can't use $i18n here. } ]
Is there anyone has a similar situation, want to use i18n at vue-route and resolved the issue?