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版之完成消息接受与相应以及消息的处理
温馨提示: 这篇文章是依赖前几篇的文章的. 第一篇:微信公众平台开发实战之了解微信公众平台基础知识以及资料准备 第二篇 :微信公众平台开发实战之开启开发者模式,接入微信公众平台开发 第三篇 :微信公众 ...
随机推荐
- matplotlib-plot-style
style 1.绘制x=1 2.不同线宽 enumerate(Widths) 3.线型(实线,虚线,点划线) linestyle set_dashes 4.自动设置线颜色 5.点的显示形式 marke ...
- iptables配置文件/etc/sysconfig/iptables内容详解
#头两行是注释说明# Firewall configuration written by system-config-securitylevel# Manual customization of th ...
- 【转】android学习日记01--综述
转自:http://www.cnblogs.com/aiguozhe/p/3541941.html 一.总体框架 先上一张google提供官方的Android框架图: Android系统架构由5部分组 ...
- .net lock的使用
内容参考自:http://daimajishu.iteye.com/blog/1079107 一. 基本使用形式 二.应用举例 三.需要注意的地方 四.lock应避免锁定public 类型或不受程序控 ...
- mongo 杀掉慢的程序killMyRunningOps("12.23.32.21") #####这个是客户端的ip
mongodb运维(3) db.currentOp与db.killOp命令 2018.08.12 23:55 113浏览 字号 好久没更新mongo运维这块知识了,这次介绍 db.currentOp ...
- Java设计模式(3)建造者模式(Builder模式)
Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构 ...
- 17个CSS知识点整理
1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率:使用外链css和js脚本.结构行为表现的分离.文件下载与页面速度更快:内容能被更多的用户所访问.内容能被更 ...
- Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/lidroid/xutils/task/TaskHandler;
Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files defi ...
- sparkR集群启动脚本的封装。
sparkR默认是以单机方式运行的.实现sparkR的集群启动,需要指定master地址,占用内存.CPU,及UI端口等,这对分析人员来说是比较麻烦的. 如何实现对其启动的封装,方便分析人员来使用: ...
- ubuntu 挂载硬盘
https://cndaqiang.github.io/2017/10/11/ubuntu-disk/ 查看硬盘 查看方法一 查看/dev下面的设备文件 ll -h /dev/sd* 通过sudo f ...