Ant-design-vue + vue-i18n实现前端国际化

简介: Ant-design-vue + vue-i18n实现前端国际化

项目基于Vue-cli3.x进行开发,使用了ant-design-vue框架,然后需要做国际化。此时做国际化需要考虑两方面的国际化,一是ant-design-vue内部组件的国际化,二是国际化我们的业务显示,业务显示我们选用vue-i18n进行国际化。

安装vue-i18n

yarn add vue-i18n

在public文件夹下新建languages文件夹,在新建langs文件夹和i18n.js,langs文件夹下新建index.js、cn.js、en.js。

i18n.js文件内容如下:

image.gif

langs下index.js内容如下:

image.gif

langs下cn.js内容如下(en.js文件和cn格式一样)

image.gif

在main.js中导入语言包

image.gif

比较基础的配置我们已经配置好了,接下来我们写切换多语言功能,在src下的app.vue文件中引入多语言文件和我们写切换的方法:

created内容如下:

上面这个方法可以简单理解就是我们在这里定义了一个方法,在别的组件我们只要调用这个方法就可以切换多语言。调用方法如下:


this.$root.Bus.$emit("switchLanguage", "cn/en");

解释下this.$root.Bus.$on(),这个是组件传值的一种方式,需要在main.js中配置,

moment.locale("cn");这个是ant-design-vue内部组件的国际化切换方法。

页面适配多语言分为view中使用和js中

view中我们用

:label="$t('logistics.search')"

或者

{{$t('logistics.search')}}

js中我们用

this.$t("logistics.search")

简单测试下切换多语言,在login.vue(你可以是任意组件中)写调用方法

image.gif

显示效果

image.gif

image.gif

多语言适配完成,但是,如果我们系统文字多,那一个文件会很大,加载很慢,对用户不友好,那我们优化下,一个vue组件我们对一个json多语言文件,按需加载

这里我们用到了vue的mixin,src下新建mixins文件夹,新建一个utils.js文件,内容格式如下:


/**         * 引入语言包         * @param path         */        importFontpack(path) {            let _nowMsg = require('@/languages/' + path + localStorage.lang + '.json');            this.$i18n.mergeLocaleMessage(localStorage.lang, _nowMsg);            this.$i18n.locale = localStorage.lang        },

src下新建languages文件夹,下面分模块

页面切换多语言

这样就完成了Ant-design-vue + vue-i18n实现前端国际化。


相关文章
|
11月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
1034 1
|
12月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
638 83
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
677 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
11月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
451 22
|
JavaScript 前端开发 搜索推荐
Vue的数据驱动视图与其他前端框架的数据驱动方式有何不同?
总的来说,Vue 的数据驱动视图在诸多方面展现出独特的优势,其与其他前端框架的数据驱动方式的不同之处主要体现在绑定方式、性能表现、触发机制、组件化结合、灵活性、语法表达以及与后端数据交互等方面。这些差异使得 Vue 在前端开发领域具有独特的地位和价值。
570 157
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 jenkins
抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
本文探讨了在不依赖Node和VSCode的情况下,仅使用记事本和浏览器开发一个完整的Vue3前端项目的方法。通过CDN引入Vue、Vue Router、Element-UI等库,直接编写HTML文件实现页面功能,展示了前端开发的本质是生成HTML。虽然日常开发离不开现代工具,但掌握这种基础方法有助于快速实现想法或应对特殊环境限制。文章还介绍了如何用Node简单部署HTML文件到服务器,提供了一种高效、轻量的开发思路。
392 10
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
513 41
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略

热门文章

最新文章