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