JeecgBoot-antd JeecgVue前端国际化

原官方前端的国际化解决方案:
http://doc.jeecg.com/2043980

1.我的需求说明

在页面中,有个切换语言下拉框,切换语言后,页面切换所选择的语言,并且下次打开默认之前选择语言(目前只要求做到根据浏览器保存到本地。如果需要根据用户,就需要保存到数据库,记录到用户表中)。

注:

由于切换语言后,不刷新页面时效果不理想,有些部分内容不会切换,而且我的用户一般切换一次语言后,很少会再次切换语言

因此我是通过 window.location.reload() 刷新页面使页面重新加载,完成语言切换

2.版本

Ant Design Jeecg Vue

*====*

当前版本: 2.4.3(发布日期:20210322)

#### 前端技术

- 基础框架:ant-design-vue - Ant Design Of Vue 实现

- JavaScript框架:Vue

- Webpack

- node

- yarn

- eslint

- @vue/cli 3.2.1

- vue-cropper - 头像裁剪组件

- @antv/g2 - Alipay AntV 数据可视化图表

- Viser-vue - antv/g2 封装实现

3.组件国际化

antd UI 组件国际化

文档参见【LocaleProvider 国际化

ant-design-vue 所有语言包可以在 这里 找到

修改 App.vue 文件

<template>
  <a-config-provider :locale="locale">
    <div id="app">
      <router-view/>
    </div>
  </a-config-provider>
</template>
<script>
  import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
  import enUS from 'ant-design-vue/lib/locale-provider/en_US'
  import enquireScreen from '@/utils/device'
  
  export default {
     
    data () {
     
      return {
     
        locale: enUS,
      }
    },
    created () {
     
   
      //获取本地缓存中的语言配置,并切换
      let language = this.$ls.get("language");
      if( language == 'zh-CN'){
      
          this.locale =  zhCN
      } else if(language == 'en-US'){
      
         this.locale = enUS
      }
    }
  }
</script>
<style>
  #app {
     
    height: 100%;
  }
</style>

4.业务文案的国际化需求

(1) 安装 vue-i18n:

$ npm install vue-i18n

(2) 创建语言js

在 src/components/lang/ 中 创建语言js 例如 en-US.js 和 zh-CN.js

在 en-US.js 和 zh-CN.js 中分别作了如下配置:

// zh-CN.js
export default {
   
  lang: '中文',
}

// en-US.js
export default {
   
  lang: 'English',
}

(3) 在main.js实例化组件

//i18n设置
import VueI18n from 'vue-i18n' 
import enLocale from '@/components/lang/en-US'
import zhLocale from '@/components/lang/zh-CN'
Vue.use
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值