• 基于资源文件的MVC的国际化处理


    这几天在研究MVC的国际化,MVC的国际化方案有很多,这次主要看的是基于Resources文件的国际化。

    在进行国际化的过程中主要是对Thread.CurrentThread.CurrentUICulture的一个封装处理;

    一般的处理方案: Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(value);

    第一步:

    建立CultureHelper辅助类:

        public class CultureHelper
        {
            protected HttpSessionState session;
            public CultureHelper(HttpSessionState session)
            {
                this.session = session;
            }
    
            public static string CurrentCulture
            {
                get
                {
                    return Thread.CurrentThread.CurrentUICulture.Name;
                }
                set
                {
                    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(value);
                }
            }
        }
    

    CultureHelper主要通过线程来完成语言的切换功能;

    建立基本的BaseController:

     public class BaseController : Controller
        {
            protected override void ExecuteCore()
            {
                string culture = string.Empty;
                if (this.Session["Culture"] == null)
                {
                    // 从配置文件获取语种
                    culture = System.Configuration.ConfigurationManager.AppSettings["Culture"];
                    // 设置默认语种
                    this.Session["Culture"] = System.Configuration.ConfigurationManager.AppSettings["Culture"];
                }
                else
                {
                    culture = this.Session["Culture"].ToString();
                }
                Helpers.CultureHelper.CurrentCulture = culture;
                base.ExecuteCore();
            }
    
            protected override bool DisableAsyncSupport
            {
                get { return true; }
            }
        }
    

    所有的Controller都基于BaseController,在进行设置的时候,只需要对Session["Culture"]进行更改就可以了。

    至于Resources文件的配置,网络上一大堆的介绍,那我就不重复处理了。

    但是需要注意几个问题:

    1. 关于Resources文件的配置;

    2. 怎么进行强制的修改

  • 相关阅读:
    HTTP与HTTPS
    各种排序算法的比较
    数据结构之堆排序
    数据结构之希尔排序
    快速排序与归并排序的区别与联系
    数据结构之快速排序
    DVWA-4.3 File Inclusion(文件包含)-High-利用file协议绕过防护策略
    DVWA-4.2 File Inclusion(文件包含)-Medium-双写绕过str_replace替换规则
    DVWA-4.1 File Inclusion(文件包含)-Low
    DVWA-3.4 CSRF(跨站请求伪造)-Impossible
  • 原文地址:https://www.cnblogs.com/ArrowTip/p/MvcMultiLanguage.html
Copyright © 2020-2023  润新知