vue国际化(详情请见Elemnt ui官方文档)
1.首先配置 i18n
安装依赖 npm i i18n@6 -g
2.根据文档中步骤配置好
// 在mian.js文件中,配置好我们的配置文件
import VueI18n from "vue-i18n/dist/vue-i18n.esm.js";
Vue.use(VueI18n); // 通过插件的形式挂载
const i18n = new VueI18n({
locale: "zh", // 语言标识
// this.$i18n.locale // 通过切换locale的值来实现语言切换
messages: {
"zh": require("./lang/zh"), // 中文语言包
"en": require("./lang/en"), // 英文语言包
},
});
new Vue({
i18n,
render: h => h(App),
}).$mount('#app')
我这个例子因为名称不多,就是用了本地翻译的东西来进行翻译
在我们将运用的组件中使用
// App.vue
<template>
<div id="app">
<p>{{ $t("lang.account") }}:张三</p>
<p>{{ $t("lang.password") }}: 123456</p>
<button @click="handClick">切换语言</button>
</div>
</template>
<script>
export default {
name: 'App',
methods:{
handClick(){
if(this.$i18n.locale === "en"){
this.$i18n.locale="zh";
}else{
this.$i18n.locale="en";
}
}
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>