欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

程序员文章站 2022-03-11 08:40:21
本地化(Localization)也就是多语言功能,借此用户能够选择他的母语或熟悉的语言来使用系统,这显然非常有利于软件系统推向国际化。一个应用程序的UI界面至少有一种语言,ABP开发框架提供了一个弹性的多语言框架,可以简化我们在多语言方面的开发时间。利用ABP实现多语言只需要简单地完成三个步骤:建... ......

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菜单名称是英文的。

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

 

      2.当我们改变页面中右上角处的语言选项时,其他菜单都跟随语言的变化而变化了,我们新增加的module菜单没有变化。 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

 

      3. 在visual studio 2017的“解决方案资源管理器”中,打开“abp.tplms.core”项目中的localization目录。 找到tplms.xml与tplms-zh-hans.xml两个文件。如下图。

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)       

     4. 在visual studio 2017的“解决方案资源管理器”中,打开tplms.xml与tplms-zh-hans.xml两个文件。分别添加关于module菜单的英文与中文信息。如下图1与图2.。

 

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

图1  英文

 

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

图2 中文

       5. 在visual studio 2017中按f5,运行我们的应用程序。在登录界面登录之后。当我们改变页面中右上角处的语言选项时,我们新增加的module菜单跟随语言的变化而变化了,当语言选择为中文时,菜单名称由“module”变为“模块管理”。如下图。 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

 

 

九、bug解决

     在编程的过程中肯定会存在bug,此功能模块的制作过程中也存在bug,现在介绍如下:

    第一个bug

     1. 在visual studio 2017中按f5,运行我们的应用程序。如果出现如下图的错误信息,缺少_validationscriptspartial.cshtml文件。

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

 

      2.解决方法,在visual studio 2017的菜单“文件->新建->项目”,在弹出对话话框“新建项目”中选择asp.net core web应用程序,并点击“确定”按钮。如下图。

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

 

      3.在弹出对话框“新建asp.net core web应用程序-webapplication1”中选择“web应用程序(模型视图控制器)”,然后点击“确定”按钮。如下图。

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

       4.找到我们刚才创建的项目目录,在\webapplication1\views\shared目录中找到_validationscriptspartial.cshtml文件,并把此文件复制到我们的“abp.tplms.web.mvc”项目的views\shared目录下。

 

       第二个bug

       5.如果在新建界面(如下图1)中点击保存时,出现错误信息,如图2。此错误时由于我们并没有把所有的必填字段填写上。如图3。跟图1相比,图1中我们缺少了一个必填字段。

abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

图1

 

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

图2

 

 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

图3