iview + vue-i18n Modal和DatePick组件不能翻译

问题描述

项目使用iview 并使用了vue-i18n插件,基本都能翻译,但是目前发现 iview的Modal和DatePick不能翻译,也不报错

问题出现的环境背景及自己尝试过哪些方法

目前网上又两种解决方法:

  1. Vue.prototype._i18n = i18n;(https://www.jianshu.com/p/e22...

clipboard.png
https://segmentfault.com/a/11...

但我这都不起作用

相关代码

----------------------------------分界线-----------------------------------

locale/index
import Vue from 'vue';
import VueI18n from 'vue-i18n';

import customZhCn from './lang/zh-CN';
import customEnUs from './lang/en-US';
import zhCnLocale from 'webbase/dist/locale/zh-CN';
import enUsLocale from 'webbase/dist/locale/en-US';
// import zhCnLocale from 'webbase/src/locale/lang/zh-CN';
// import enUsLocale from 'webbase/src/locale/lang/en-US';

Vue.use(VueI18n);

const locales = {
  'zh-CN': Object.assign(customZhCn, zhCnLocale),
  'en-US': Object.assign(customEnUs, enUsLocale)
};
// 默认语言
const DEFAULT_LANG = 'zh-CN';
// localStorage存储的语言设置
const STORAGE_LANG = 'locale';

// 自动根据浏览器系统语言设置语言
const navLang = navigator.language;
const localLang = locales[navLang] ? navLang : false;
let lang = localStorage.getItem(STORAGE_LANG) || localLang || DEFAULT_LANG;

// vue-i18n 6.x+写法
Vue.locale = () => {
};

const messages = locales;


const i18n = new VueI18n({
  locale: lang,
  messages
});

export default i18n;

----------------------------------分界线-----------------------------------

main.js

Vue.use(webBase, {i18n: (key, value) => i18n.t(key, value)});
new Vue({
  el: '#app',
  i18n,
  router,
  store,
  render: (h) => h(App)
}

其中webBase是相当于iview,加了自己定义的组件,其功能相同

你期待的结果是什么?实际看到的错误信息又是什么?

有没有遇到这个问题的,一起看看

阅读 3.8k
1 个回答

模态框翻译的那个我看iview文档找到了解决办法, 页脚确认和取消是这个 okText:this.$t('mem.ok'),cancelText:this.$t('mem.cancel')做,连起来是这个

this.$Modal.confirm({
    title: this.$t('mem.confirm'),
    content:this.$t('mem.content'),
    okText:this.$t('mem.ok'),
    cancelText:this.$t('mem.cancel'),
    onOk: this.confirmRemove
    })

不过,关于分页的那个,我暂时还没有想到好的方法

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