abp(net core)+easyui+efcore實現倉儲管理系統——ABP整體介紹(一)html
abp(net core)+easyui+efcore實現倉儲管理系統——解決方案介紹(二)編程
abp(net core)+easyui+efcore實現倉儲管理系統——領域層建立實體(三)框架
abp(net core)+easyui+efcore實現倉儲管理系統——定義倉儲並實現 (四)post
abp(net core)+easyui+efcore實現倉儲管理系統——建立應用服務(五)測試
abp(net core)+easyui+efcore實現倉儲管理系統——展示層實現增刪改查之控制器(六)ui
abp(net core)+easyui+efcore實現倉儲管理系統——展示層實現增刪改查之列表視圖(七)spa
abp(net core)+easyui+efcore實現倉儲管理系統——展示層實現增刪改查之增刪改視圖(八)3d
abp(net core)+easyui+efcore實現倉儲管理系統——展示層實現增刪改查之菜單與測試(九)code
上接(abp(net core)+easyui+efcore實現倉儲管理系統——展示層實現增刪改查之菜單與測試(九)),在這一篇文章中咱們介紹一下ABP的多語言,以及在建立這個功能是遇到的BUG及解決方法。xml
本地化(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
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