首页 > 编程语言 > 详细

MVC多语言设置 实战简洁版

时间:2016-02-29 12:13:19      阅读:349      评论:0      收藏:0      [点我收藏+]

此方式可以通过更改进行更改进程语言设定,支持从系统获取默认的区域设定,支持自定义,自定义的方式可以为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>

 

MVC多语言设置 实战简洁版

原文:http://www.cnblogs.com/xuhongfei/p/5226864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!