1. 程式人生 > 實用技巧 >.Net MVC5(.Net Framework 4.0+)多語言解決方案

.Net MVC5(.Net Framework 4.0+)多語言解決方案

最近專案需要做多語言,原先是2種語言(中文/英文),現在又要加一種語言,成了3種。那麼原來的方式肯定不適用了,只能升級解決方案。

原來的寫法,使用三目表示式,按照當前全域性變數的語言型別,返回不同的語言提示,如圖:

那麼,如果再加一種法語,該咋弄呢?顯然再寫三目表示式是不合適的(其實原來寫三目表示式也是不合適的 -_- || )。所以網上搜索的一些資料,整理了一下記錄下來,以便下次使用起來方便。

一、新建資原始檔夾

二、新建資原始檔

三、配置語言包

各個語言key一致,後邊的值寫不同語言對應的內容就可以了。

四、新建過濾器

我們需要一個過濾器,進入controller的時候,系統自動將語言包切換為與當前系統語言一致的的語言包。如圖:

五、多語言測試

隨意測試一個Controller,加上剛剛的過濾器,裡邊新加一個方法,進行測試,如圖:

這是新建的測試方法,那麼接下來請求一下看看效果

請求語言測試方法,返回了英文提示。

使用者介面切換為中文後,重新請求

如圖,返回了對應的中文!

至此,多語言配置大功告成!

附,程式碼在此

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.Mvc; namespace MT.Common.Filter { public class LocalizationAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!string.IsNullOrEmpty(MTConfig.UserLang)) { Thread.CurrentThread.CurrentUICulture
= CultureInfo.CreateSpecificCulture(MTConfig.UserLang); } base.OnActionExecuting(filterContext); } } }
 public string LangTest()
        {
            return Gloable.SaveSuccess;
        }