我正在尝试用 Vue.js 做一个多语言站点,但我不知道如何调用 consti18n或如何引用它。我已经尝试过该eventBus选项,但我认为这不是正确的选择。我正在使用vue-router.
导航栏.vue
<template>
<a v-on:click="changeLocale">EN</a>
</template>
<script>
export default {
methods: {
changeLocale: function() {
console.log("es");
i18n.locale = "es";
}
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
主文件
import VueI18n from 'vue-i18n';
import VueRouter from 'vue-router';
import App from './App.vue';
import {routes} from './routes.js';
import {messages} from './i18n.js';
Vue.use(VueRouter);
Vue.use(VueI18n);
const router = new VueRouter({
routes,
mode: 'history'
});
const i18n = new VueI18n({
locale: 'en',
messages
});
new Vue({
el: '#app',
router,
i18n,
render: …Run Code Online (Sandbox Code Playgroud)