安装成功后在package.json文件中查看:
在main.js中
import Vue from 'vue' import App from './App' import router from './router' Vue.config.productionTip = false //1、引入插件 (前提是要先引入 vue) import VueI18n from 'vue-i18n' //2、注册使用插件 Vue.use(VueI18n) //3、引入语言文件 import zh from './lang/zh'; import en from './lang/en'; //4、创建带有选项的 VueI18n 实例 const i18n = new VueI18n({ locale: localStorage.getItem('language') || 'en', //通过localStorage 缓存的language 来为 locale 对象赋值,要是值为空,就设置默认语言是英文 messages :{//在构造器中配置这个语言包 zh, en } }); //5、把 i18n 挂载到 vue 根实例上 new Vue({ el: '#app', router, i18n, render: h => h(App), })en.js
export default{ message: { hello: 'Hello,World!' } }zh.js
export default{ message: { hello: '你好,世界!' } }注意是 t ( ) , 不 是 t() ,不是 t(),不是()
<template> <div style="background-color: brown;"> <h1>Home组件</h1> <h4>{{ $t("message.hello") }}</h4> <span>切换语言:</span> <select v-model="selLocale" placeholder="切换语言"> <option value="zh">简体中文</option> <option value="en">English</option> </select> </div> </template> <script> export default { name: 'Home', data () { return { selLocale: this.$i18n.locale } }, watch: { //切换多语言 selLocale(newValue){ this.$i18n.locale = newValue; localStorage.setItem("language", newValue); console.log(this.$t("message.hello")); console.log(this.$i18n.t("message.hello")); } }, } </script>