MVC多语言设置 实战简洁版
此方式可以通过更改进行更改进程语言设定,支持从系统获取默认的区域设定,支持自定义,自定义的方式可以为cookie,可为资料库获取,session等方式。
具体怎么设定就看个人需要了。
第一步:
添加资源文件,添加的时候要将资源文件类型设定为public
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ0AAAAzCAIAAAACd8o2AAAEO0lEQVR4nO2cT2rbQBSHc5bsBQYvfICAIS3tbhAYsozJwmQ9CON7DGN8jZHdbbftbnSOzg26GGn+Sn6y3cZO8vv4LaRYtlQyn997UuhdUUwQBDmeu6tfAYLcfuAJgtCBJ2Pz8DBHXK7+63jjDHpyf38/n3+5+vXdTh4e5tPpDJlOZ/DEB54kgSfwpCfwJAk8gSc9gSdJ4Ak86ckRT5jQigc/4XW0W0yKYsKVFmxSMKlNhpas97281qI875/BRC1YeEky2v0XOdeTp23TbBf5zzd7c1hfe8XDk5E5s560GgzsFsWkKEqhTe5PUZRCeU+4qnm7XalYpu4DKxHIExwfJnxvzYtSBHb6a2BSm58/2pd+/zL5NR9L7MnTtvGnaLZP53uy2DWm94DbDTzxGdF3JSs7Wt8DC3oSe1IpVRW8VkJqU3NXW+Ii46uQ244dsMXEVTm7m6lbKWMvKd8YlcwTt7g3e2P263M9eYeBJz6DnthWSsdrPTvMesKEjh0qI094bawn3L3LLn//gVzYgyultbY/Z1KF7ZnbtRuueWNSB58T9IpeDyb0+E5v2JPZYtsMlxR48hFyXj3JasKgJ+HYYDso995SKK19PXH1wXZN7XgjeCmUZLxWouSxddGcU1Qq2k10KoUOG7xum0lt38Wkptow2pPFrml2i/QAu7HZd1fdVR7nSSiMP+xoLwdP3tyT5+fnx8evF3mSVoyRnlRCSBXXk74veH+u9tNaAZI5xyje2wda90KLwnbrhNZr0BM3YAx6YowzYbFrUj3CjSP921tnuXwRAcvly6f25Nu3770vjPUk+tr2M/cITyZ+PuHt5N02Zjpcu7QnXBmTV4P4wgY8Sc51kifBGO+EGawnfv2t91aGzJP1wew3V9cjzGr1aiVZrV4/ez0ZemGsJ+HMHSzNUfOJ96T9BCa0XfFMSJ6dq98TJrWq3Eta9wv8HzzJpo7Ik83e9HrytG3ejSdWlUQSeHKiJ7xWPL6vFU3kp9zviupJ0n215zKBDEpIFc8nvnAxqa0GJ80nI0J74t2YTdcHY4K+ywmwPphRfddmi/nklnL28xNjb1VF48T5nnSvMqmDISc6V+GPUdlNqvQ5Y3ZYd7/LPVppy52/OXbBHO+ycN3Yfhf1XdtDV1PDkT2b4xe7Jj3sFgNPfOjnJ8GN166/8m70e2IfgPhF7+6Vdct39Ld7ktAT1+zFTznzkf2S5yefOvDE5wP+fReT2vgnleqi5/GfOvDE5wN6clngCTzpCTxJAk/gSU/gSRJ4Ak96Ak+SwBN4gtC5+n/dcFO5+q/jjQNPEIQOPEEQOvAEQejc/QEAUMATAGjgCQA08AQAGngCAA08AYAGngBAA08AoIEnANDAEwBo4AkANPAEABp4AgANPAGABp4AQANPAKCBJwDQwBMAaOAJADTwBAAaeAIADTwBgAaeAEDzFzuwiqxgOey5AAAAAElFTkSuQmCC" alt="" />
第二步:
新定义类:
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多语言设置 实战简洁版的更多相关文章
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装
微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...
- 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发
第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...
- ASP.NET MVC 4高级编程(第4版)
<ASP.NET MVC 4高级编程(第4版)> 基本信息 作者: (美)Jon Galloway Phil Haack Brad Wilson K. Scott All ...
- 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容
第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
- 第四篇 :微信公众平台开发实战Java版之完成消息接受与相应以及消息的处理
温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...
随机推荐
- JedisConnectionPool scala
/** * Created by lq on 2017/8/29. */ object JedisConnectionPool { val config = new JedisPoolConfig() ...
- WPF重写Button样式
首先指定OverridesDefaultStyle属性为True: 然后添加样式: 重写ControlTemplate: <Window.Resources> <Style x:Ke ...
- Go Revel - Templates(模板)
revel使用Go官方的模板库.它会在两个目录查找模板文件: 1.应用的`views`目录以及它的所有子目录 2.revel库自己的`templates`目录 revel为错误页面提供了模板(在`de ...
- textbox 控制输入整数,小数
/// <summary> /// keypress事件控制输入 /// </summary> /// <param name="sender"> ...
- linux 计划任务(十)
[教程主题]: 计划任务 [1]at 在windows系统中,windows提供了计划任务这一功能,在控制面板 -< 性能与维护 -< 任务计划, 它的功能就是安排自动运行的任务. 通过' ...
- Extjs4.x treepanel,treegrid 节点选择,选中某个节点
//官方推荐 this.getModuleGrid().getRootNode().cascadeBy(function () { this.set("checked", fals ...
- openCV—Python(5)—— 图像几何变换
一.函数简单介绍 1.warpAffine-图像放射变换(平移.旋转.缩放) 函数原型:warpAffine(src, M, dsize, dst=None, flags=None, borderMo ...
- vs自己主动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法
近日.在项目中须要引用java公布的WebService,加入服务引用后,调用一切正常. 配置例如以下: <system.serviceModel> <bindings> &l ...
- UI设计 - 手机列表风格总结
1 概述 1.1 背景 对UI设计过程中常见的列表风格进行总结.希望对后续的设计工作有所帮助 1.2 预期读者 UI设计师,用户体验设计师,项目经理,美工 1.3 ...
- android AlertDialog.Builder
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog. 要创建一个AlertDialog,就要用到AlertD ...