在开发环境中会报警告:
在生产环境中不会报警告,但是依然不会转换,请问大家知道是什么原因吗?
main.js :
import Vue from 'vue';
import iView from 'iview';
import router from './router';
import store from './store';
import App from './app.vue';
import 'iview/dist/styles/iview.css';
import axios from 'axios';
import VueI18n from 'vue-i18n';
import Locales from './locale';
import zhLocale from 'iview/src/locale/lang/zh-CN';
import enLocale from 'iview/src/locale/lang/en-US';
import moment from 'moment';
Object.defineProperty(Vue.prototype, '$moment', { value: moment });
Vue.use(VueI18n);
Vue.use(iView);
axios.defaults.baseURL = BASE_URL;
// 自动设置语言
const navLang = navigator.language;
const localLang = (navLang === 'zh-CN' || navLang === 'en-US') ? navLang : false;
const lang = window.localStorage.getItem('language') || localLang || 'zh-CN';
Vue.config.lang = lang;
Vue.config.productionTip = false;
// 多语言配置
const locales = Locales;
const mergeZH = Object.assign(zhLocale, locales['zh-CN']);
const mergeEN = Object.assign(enLocale, locales['en-US']);
Vue.locale = () => {};
const i18n = new VueI18n({
locale: lang, // 语言标识
messages: {
'CN': mergeZH, // 中文语言包
'EN': mergeEN // 英文语言包
},
})
new Vue({
el: '#app',
i18n,
router: router,
store: store,
render: h => h(App)
});
版本:"vue-i18n": "^7.3.2",
locale 中 lang 的值 和 messages中的 没有对应