初识ABP vNext(6):vue+ABP实现国际化
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章。 目录
前言上一篇介绍了ABP扩展实体,并且在前端部分新增了身份认证管理和租户管理的菜单,在实现这两个功能模块前,先来解决一下界面文字国际化的问题。 开始国际化(简称 I18N),本地化(简称 L10N);这两者的目的都是用于让你的应用程序支持多个国家和区域的语言,它们看起来很相似,但是有一些细微的区别,本文不对此进行深入探讨,有兴趣的可以自行搜索。ABP后端支持的是本地化,而vue-element-admin支持的是国际化,使用vue-i18n实现;本文默认它两者是一回事。 前面的章节中,已经大概分析了vue+ABP国际化的实现思路。我们可以在后端实现国际化,然后vue从后端获取国际化文本,展示到界面中;另一种方式是直接在前端部分实现国际化。在前端实现就很简单,直接在vue-element-admin的 语言选项首先,语言选项列表需要根据后端配置得到。 在后端修改支持的语言类型,这里就只支持中文和英文2种吧,其他的注释掉。 srcXhznl.HelloAbp.HttpApi.HostHelloAbpHttpApiHostModule.cs: 请求 此时返回的localization.languages属性只有2个语言了,然后只需要把这个数据绑定到界面上就好了。语言切换用的是一个公共组件 srccomponentsLangSelectindex.vue:
语言切换语言切换时,需要再次调用 srcutilsrequest.js:
srcstoremodulesapp.js:
srclangindex.js:
将后端返回的文本设置到vue-i18n中,就可以使用了。这跟直接在前端做国际化有一点区别就是,后者的文本信息是写在前端,vue-i18n可以直接使用。而这里只是把文本信息改到后端,从后端获取后再设置到i18n中,本质是一样的。 修改后端的配置文本: srcXhznl.HelloAbp.Domain.SharedLocalizationHelloAbpzh-Hans.json: srcXhznl.HelloAbp.Domain.SharedLocalizationHelloAbpen.json: localization.values返回: 接下来只需要把界面上对应的文本使用vue-i18n的 前端需要改动的地方比较多,但都是类似的修改。。。直接看效果: 注意因为 其实上面有一部分本地化文本还是放在了前端:ElementUI自带的文本。因为ABP的本地化json格式只能有一级,key/value: 文本只能写在texts属性中,key/value形式,不支持多层级。 而vue-i18n是支持多层级的: 所以ElementUI的这部分文本还是放在前端了。 最后本篇关于vue+ABP实现国际化就介绍完了。。。其实还是有点繁琐的,要配置的比较多,不知道有没有更好的方法,欢迎评论交流。。。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用RowAction更改Kendo MVC网格中的行颜色
- ASP.NET应用程序中的浏览器缓存
- asp.net – Glimpse手动分析a MiniProfiler?
- 跨ASP.NET网站共享CSS,JS,图像,母版页等
- 在asp.net core 2.0中使用identityserver4时的无限认证循环
- asp.net-core – 调试器中的ASP.NET核心命令行参数
- asp.net-mvc – T4MVC:如何使用说Url.Action?
- asp.net – 我可以在一个Web项目中拥有多个web.config文件吗
- asp.net Web项目中使用Log4Net进行错误日志记录
- asp.net-mvc – 用于字符串的ASP.NET MVC显示模板用于整数
- asp.net – RegisterStartupScript不适用于Scrip
- asp.net – IIS由什么组成,它是如何工作的?
- asp.net-mvc – 如何在SQL Server中为Asp.Net MV
- asp.net-core – ASP.NET 5中RegisterObject / Q
- ASP.Net OnClick vs Function()处理buttonName.C
- asp.net – 实体框架4 – 从模型更新数据库模式
- asp.net-mvc – 使用SharpDevelop构建ASP.NET MV
- asp.net-mvc-3 – 访问帮助程序中的全局页面变量
- asp.net – IIS多线程
- asp.net-mvc – 如何在.net MVC中使用Flux和事件