2019年7月16日 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
abp(net core)+easyui+efcore实现仓储管理系统目录
abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)
abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二)
abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)
abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四)
abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)
上接(abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)),在这一篇文章中我们介绍一下ABP的多语言,以及在创建这个功能是遇到的BUG及解决方法。
八、多语言
本地化(Localization)也就是多语言功能,借此用户能够选择他的母语或熟悉的语言来使用系统,这显然非常有利于软件系统推向国际化。一个应用程序的UI界面至少有一种语言,ABP开发框架提供了一个弹性的多语言框架,可以简化我们在多语言方面的开发时间。利用ABP实现多语言只需要简单地完成三个步骤:建立资源、配置资源以及使用资源。
本地化的内容主要是文本字符串,ABP提供三种方式存储本地化资源的方式,分别是ASP.NET自带的资源文件、XML文件以及自定义的资源获取方式。ABP是分模块的,每个模块可以定义独立的本地化来源,每个本地化资源必须有一个唯一的名称。
接下来我们介绍以XML文件存储本地化资源,XML文件必须是unicode(UTF-8)。
1. 在Visual Studio 2017中按F5,运行我们的应用程序。在登录界面登录之后。如下图,我们添加的Module菜单已经添加到左侧菜单栏中。只不过这个Module菜单名称是英文的。
2.当我们改变页面中右上角处的语言选项时,其他菜单都跟随语言的变化而变化了,我们新增加的Module菜单没有变化。
3. 在Visual Studio 2017的“解决方案资源管理器”中,打开“ABP.TPLMS.Core”项目中的Localization目录。 找到TPLMS.xml与TPLMS-zh-Hans.xml两个文件。如下图。
4. 在Visual Studio 2017的“解决方案资源管理器”中,打开TPLMS.xml与TPLMS-zh-Hans.xml两个文件。分别添加关于Module菜单的英文与中文信息。如下图1与图2.。
图1 英文
图2 中文
5. 在Visual Studio 2017中按F5,运行我们的应用程序。在登录界面登录之后。当我们改变页面中右上角处的语言选项时,我们新增加的Module菜单跟随语言的变化而变化了,当语言选择为中文时,菜单名称由“Module”变为“模块管理”。如下图。
九、bug解决
在编程的过程中肯定会存在BUG,此功能模块的制作过程中也存在BUG,现在介绍如下:
第一个BUG
1. 在Visual Studio 2017中按F5,运行我们的应用程序。如果出现如下图的错误信息,缺少_ValidationScriptsPartial.cshtml文件。
2.解决方法,在Visual Studio 2017的菜单“文件->新建->项目”,在弹出对话话框“新建项目”中选择ASP.NET Core Web应用程序,并点击“确定”按钮。如下图。
3.在弹出对话框“新建ASP.NET Core Web应用程序-WebApplication1”中选择“Web应用程序(模型视图控制器)”,然后点击“确定”按钮。如下图。
4.找到我们刚才创建的项目目录,在\WebApplication1\Views\Shared目录中找到_ValidationScriptsPartial.cshtml文件,并把此文件复制到我们的“ABP.TPLMS.Web.Mvc”项目的Views\Shared目录下。
第二个BUG
5.如果在新建界面(如下图1)中点击保存时,出现错误信息,如图2。此错误时由于我们并没有把所有的必填字段填写上。如图3。跟图1相比,图1中我们缺少了一个必填字段。
图1
图2
图3
2019年7月16日 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)的更多相关文章
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理七(二十五)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之七(五十六)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十三)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十四)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十五)
core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+e ...
- abp(net core)+easyui+efcore实现仓储管理系统——菜单 (十六)
系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) ...
- abp(net core)+easyui+efcore实现仓储管理系统——菜单-下(十七)
实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案 ...
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)
目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) ab ...
随机推荐
- 【DRP】-完成物料修改页面Servlet和JSP开发
本系列博客内容为:做DRP系统中的常用功能. 该项目采用MVC架构 C(Controller)控制器,主要职责;1.取得表单参数:2.调用业务逻辑:3.转向页面 M(Model)模型,主要职责:1.业 ...
- Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
一.线程5种状态 新建状态(New) 新创建了一个线程对象. 就绪状态(Runnable) 线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运行,等待获 ...
- 统计插件,Highcharts,以及modelformset
一.modelfromset组件 1.作用:用于批量处理多个表单 form表单对应的组件是formset Modelform对应的组件是modelformset 2.引入 From django.fo ...
- 解决Mac下sed命令报错的问题
在Mac上准备批量替换一些文字,使用sed命令,如下: sed -i 's/xxx/yyy/g' file 同样的命令在Linux上是可以成功运行的,注意Mac下man sed中-i参数的说明: 原来 ...
- Servlet 3.0异步特性初探
Servlet 是 Java 为了编写服务端程序而定义的一个接口规范,在 Servlet 3.0 以后支持了异步的操作. 最近项目添加了一个代码热部署的功能,在客户端输入信号,信号到达 Web 服务器 ...
- Unity Shader 菲涅尔环境反射
菲涅尔反射描述了一种光学现象,当光照到物体表面时,一部分发生反射,另一部分则进入物体内部,发生折射或散射:相比直接的反射和折射计算,菲涅尔反射更接近真实情况. 可用下面的等式近似计算这种反射效果: F ...
- 使用BurpSuite的Collaborator查找.Onion隐藏服务的真实IP地址
本文转载!!! 原文地址:http://www.4hou.com/technology/10367.html 翻译来自:http://digitalforensicstips.com/2017/11/ ...
- Storm 学习之路(二)—— Storm核心概念详解
一.Storm核心概念 1.1 Topologies(拓扑) 一个完整的Storm流处理程序被称为Storm topology(拓扑).它是一个是由Spouts 和Bolts通过Stream连接起来的 ...
- 系统学习 Java IO (九)----缓冲流 BufferedInputStream/BufferedOutputStream
目录:系统学习 Java IO---- 目录,概览 BufferedInputStream BufferedInputStream 类为输入流提供缓冲. 缓冲可以加快IO的速度. BufferedIn ...
- 【通过ssh oracle11g安装】centos6静默安装oracle11g
转载链接:https://blog.csdn.net/u011391839/article/details/76566316 根据实际情况略作调整~ 博主参考了以上链接成功进行安装,列一下自己遇到的坑 ...