iview用了vue-i18n国际化,但是全部都不能翻译?

clipboard.png

clipboard.png

在开发环境中会报警告:

clipboard.png

在生产环境中不会报警告,但是依然不会转换,请问大家知道是什么原因吗?

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",

阅读 5.7k
1 个回答

locale 中 lang 的值 和 messages中的 没有对应

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题