vue-i18n + Element-ui 国际化处理(TS)

npm install vue-i18n

src下新建目录

zh-CN.ts

const zhLocale = require('element-ui/lib/locale/lang/zh-CN')

export default {
  common: {
    save: '保存'
  },
  systemParameter: {
    loading: '加载中...'
  },
  ...zhLocale.default
}

en-US.ts

const enLocale = require('element-ui/lib/locale/lang/en')

export default {
  common: {
    save: 'Save'
  },
  systemParameter: {
    loading: 'Loading...'
  },
  ...enLocale.default
}

index.ts

import Vue from 'vue'
import VueI18n from 'vue-i18n'
import ElementLocale from 'element-ui/lib/locale'
import enUS from './en-US'
import zhCN from './zh-CN'

Vue.use(VueI18n)
// 注册i8n实例并引入语言文件
const i18n = new VueI18n({
  locale: 'en-US',
  messages: {
    'en-US': enUS,
    'zh-CN': zhCN
  }
})
ElementLocale.i18n((key: any, value: any) => i18n.t(key, value))
export const t = i18n.t
export default i18n // 将i18n暴露出去,在main.js中引入挂载

main.ts 里引入

import Vue from "vue";
import i18n from "@/i18n";
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI, {
    size: "mini"
});


new Vue({
  i18n,
  router,
  store,
  render: (h) => h(App),
}).$mount("#app");

页面上使用

<div>
    {{ $t("systemParameter.loading") }}
</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值