zoukankan      html  css  js  c++  java
  • .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;
            }
  • 相关阅读:
    Sonne的健身日志(4)
    Sonne的健身日志(13)16周腹肌计划第四周(2012.3.302012.4.6)
    Sonne的健身日志(1)
    Iphone升级ios6后很耗电的解决办法
    试驾凯迪拉克SRX
    Sonne的健身日志(6)
    Sonne的健身日志(10)16周腹肌计划第一周感受与体会
    关于Iphone 4 如何用itunes备份短信等设置
    上海人2
    签了个100万的合同,我却很失落
  • 原文地址:https://www.cnblogs.com/w821759016/p/13517063.html
Copyright © 2011-2022 走看看