ant-design国际化扩展新语言

ant-design国际化目前支持66中语言。

如果刚好要用的语言它不存在,我们可以参考node_modules中的语言自己写一套组件的翻译。

下面以缅甸语为例子。

引入vue-i18n:npm install vue-i18n

main.js

import i18n from './common/lang' //i18n
createApp(App).use(i18n).mount('#app')

App.vue

<template>
  <a-config-provider :locale="locale" v-if="isRefresh">
    <router-view />
  </a-config-provider>
</template>
<script>
import ant_lang from "@/common/lang/ant_lang_file";
export default {
  data() {
    return {
      isRefresh: true,//用于刷新
      locale: "",//ant-design国际化
    };
  },
  provide() {
    return {
      reload: this.reload,
    };
  },
  computed: {},
  created() {
    this.getLocale();
  },
  methods: {
    reload() {
      this.getLocale();
      this.isRefresh = false;
      this.$nextTick(() => {
        this.isRefresh = true;
      });
    },
    //获取缓存的语言类型
    getLocale() {
      let lang = ant_lang[localStorage.getItem("language")] || ant_lang["zh-CN"];
      this.locale = lang;
    },
  },
};
</script>

 创建语言工具包

 index.js用于翻译业务上的语言

// index.js
import { createI18n } from 'vue-i18n'
import enLocale from './en_US'
import zhLocale from './zh_CN'
import thLocale from './th_TH'
import myLocale from './my_MM'

const messages = {
  "en-US": {
    ...enLocale
  },
  "zh-CN": {
    ...zhLocale
  },
  "th-TH": {
    ...thLocale
  },
  "my-MM": {
    ...myLocale
  }
}

const i18n = createI18n({
  legacy: false,
  globalInjection: true,
  locale: localStorage.getItem('language') || 'zh-CN',
  messages: messages,
});
export default i18n

zh_CN.json为例其他几个JSON语言包都是map对象只是翻译的语言不同

 ant_lang_file.js用于翻译ant_design组件的文件,因为缅甸语ant_design组件也不支持,所以得自己跟着node_modules的来写一套缅甸语的组件翻译

import antEnLocale from 'ant-design-vue/es/locale/en_US'
import antZhLocale from 'ant-design-vue/es/locale/zh_CN'
import antThLocale from 'ant-design-vue/es/locale/th_TH'
import antMyLocale from './ant_exten_lang/es/local/my_MM'
export default {
    "en-US": antEnLocale, //英语
    "zh-CN": antZhLocale, //泰语
    "th-TH": antThLocale, //中文
    "my-MM": antMyLocale, //缅甸语言
}

以中文为准,从node_modules\ant-design-vue\es\locale目录下copy一套中文的改成缅甸语就可以了,路径都改成自己的。

 node_modules\ant-design-vue\es\locale\zh_CN.js

 copy的zh_CN改成了my_MM缅甸语

 弄完这些文件后就OK可以使用了

 效果图:

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ant Design是一套企业级的UI设计语言和React组件库,由蚂蚁金服设计团队开发和维护。它的目的是为开发者提供一套简单易用、美观大方的UI组件库,帮助开发者快速构建高质量的Web应用程序。 Ant Design的工作原理是基于React组件化的开发模式。它提供了一系列的React组件,开发者可以直接在自己的项目中引入这些组件,来构建各种UI界面。Ant Design的组件具有高度的可定制性和可扩展性,可以根据开发者的需求进行二次开发。 Ant Design的作用是提高Web应用程序的开发效率和开发质量。Ant Design提供的组件库已经经过了严格的测试和验证,可以帮助开发者快速构建出符合规范、美观大方的UI界面。同时,Ant Design还提供了一系列的设计规范和最佳实践,可以帮助开发者在设计和开发过程中更好地遵循企业级UI设计标准。 目前,Ant Design在国内的地位非常重要,已经成为了企业级Web应用程序开发的事实标准。由于它的易用性和高质量,越来越多的企业和开发者开始使用Ant Design来构建自己的Web应用程序,使得Ant Design在国内的影响力越来越大。 Ant Design的优点包括: 1. 提供了丰富的UI组件,可以满足大部分企业级Web应用程序的开发需求; 2. 基于React组件化的开发模式,易于开发者使用和二次开发; 3. 具有高度的可定制性和可扩展性; 4. 遵循企业级UI设计标准,提供了一系列的设计规范和最佳实践。 Ant Design的缺点包括: 1. 只有React版本,不支持其他框架; 2. 部分组件的样式较为复杂,需要开发者进行一定的学习和理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值