zoukankan      html  css  js  c++  java
  • MVC多语言设置 实战简洁版

    此方式可以通过更改进行更改进程语言设定,支持从系统获取默认的区域设定,支持自定义,自定义的方式可以为cookie,可为资料库获取,session等方式。

    具体怎么设定就看个人需要了。

    第一步:

    添加资源文件,添加的时候要将资源文件类型设定为public

    第二步:

    新定义类:

    namespace System.Web.Mvc
    {
        public static class LangHelper
        {
            //界面普通文字的多语言
            public static string GetLangbyKey(this HtmlHelper htmlhelper, string key)
            {
                string lang = "zh-CN";
               
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
                Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;
    
                Type resourceType = (Thread.CurrentThread.CurrentUICulture.Name == "zh-CN") ? typeof(WebApplication4.Resources.zh_CN) : typeof(WebApplication4.Resources.zh_TW);
               
                PropertyInfo p = resourceType.GetProperty(key);
                if (p != null)
                    return p.GetValue(null, null).ToString();
                else
                    return "undefined";
            }
    
            //js定义多语言弹出框
            public static string LangOutJsVar(this HtmlHelper htmlhelper, string key)
            {
                string lang = "zh-CN";
    
    
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
                Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;
    
                Type resourceType = (Thread.CurrentThread.CurrentUICulture.Name == "zh-CN") ? typeof(WebApplication4.Resources.zh_CN) : typeof(WebApplication4.Resources.zh_TW);
                PropertyInfo p = resourceType.GetProperty(key);
                if (p != null)
                    return string.Format("var {0} = '{1}'", key, p.GetValue(null, null).ToString());
                else
                    return string.Format("var {0} = '{1}'", key, "undefined");
            }
        }
    }

    页面使用方法

    <h2>@Html.GetLangbyKey("name")</h2>

  • 相关阅读:
    fedora 24 使用扇贝网页版没有声音
    Fedora 23安装 NS2 (network simulator 2)
    如何扩大LVM 逻辑分区的大小?
    code::blocks编译出错
    Fedora 23 忘记root密码
    u盘安装Fedora23
    Derived 派生类
    移动点的坐标
    进栈 出栈
    C和C++语言&
  • 原文地址:https://www.cnblogs.com/xuhongfei/p/5226864.html
Copyright © 2011-2022 走看看