Mes principaux app.jsComment utiliser vue-i18n dans ma vue route?
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 } })
Les language.js
export default { messages : { en: { hello: 'hello!' }, ja: { hello: 'こんにちは!' }, zh: { hello: '你好!' } } }
mon problème suit le code route.js, que je ne peux pas utiliser
this.$i18n.t('hello')
, parce que$i18n
est indisponible.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. } ]
Est-ce qu'il ya quelqu'un a une situation similaire, veulent utiliser i18n à vue route et résolu le problème?
'this' n'est pas une instance Vue dans ce fichier. Pourquoi essayez-vous de lier le nom de la route à une variable traduite? Le nom ne devrait jamais changer – thanksd
J'utilise 'route.name' pour afficher à l'interface utilisateur et que vous voulez changer pour les différentes langues. – user2650480