
.Net MVC5(.Net Framework 4.0+)多语言解决方案
发布日期:2021-05-09 07:36:52
浏览次数:38
分类:原创文章
本文共 1143 字,大约阅读时间需要 3 分钟。
最近项目需要做多语言,原先是2种语言(中文/英文),现在又要加一种语言,成了3种。那么原来的方式肯定不适用了,只能升级解决方案。
原来的写法,使用三目表达式,按照当前全局变量的语言类型,返回不同的语言提示,如图:
那么,如果再加一种法语,该咋弄呢?显然再写三目表达式是不合适的(其实原来写三目表达式也是不合适的 -_- || )。所以网上搜索的一些资料,整理了一下记录下来,以便下次使用起来方便。
一、新建资源文件夹
二、新建资源文件
三、配置语言包
各个语言key一致,后边的值写不同语言对应的内容就可以了。
四、新建过滤器
我们需要一个过滤器,进入controller的时候,系统自动将语言包切换为与当前系统语言一致的的语言包。如图:
五、多语言测试
随意测试一个Controller,加上刚刚的过滤器,里边新加一个方法,进行测试,如图:
这是新建的测试方法,那么接下来请求一下看看效果
请求语言测试方法,返回了英文提示。
用户界面切换为中文后,重新请求
如图,返回了对应的中文!
至此,多语言配置大功告成!
附,代码在此
using System;using System.Collections.Generic;using System.Globalization;using System.Linq;using System.Threading;using System.Web;using System.Web.Mvc;namespace MT.Common.Filter{ public class LocalizationAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!string.IsNullOrEmpty(MTConfig.UserLang)) { Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(MTConfig.UserLang); } base.OnActionExecuting(filterContext); } }}
public string LangTest() { return Gloable.SaveSuccess; }
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月29日 14时32分31秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 的账号与群组管理
2023-02-01
linux 目录&基础命令
2023-02-01
Linux 目录结构
2023-02-01
Linux 硬链接和软链接到底是什么?怎么理解?
2023-02-01
Linux 磁盘分区详解
2023-02-01
Linux 磁盘划分(3分钟看懂)
2023-02-01
Linux 磁盘和文件系统管理1
2023-02-01
Linux 磁盘和文件系统管理2
2023-02-01
Linux 磁盘满了不用慌,这几个命令在手不断梭哈就好
2023-02-01
Linux 磁盘爆满【解决办法】
2023-02-01
Linux 磁盘管理
2023-02-01
Linux 磁盘管理及监控与性能评估
2023-02-01
Linux 示例中的 apt 命令大全
2023-02-01
linux 禁用磁盘密码,linux 磁盘加密保护
2023-02-01
Linux 系统备份与恢复详解
2023-02-01
Linux 系统安装 Mongodb 数据库
2023-02-01
Linux 系统安装MySQL
2023-02-01
Linux 系统安装配置PHP服务(源码安装)
2023-02-01
Linux 系统快键键汇总
2023-02-01
Linux 系统时间详解
2023-02-01