最近项目需要做多语言,原先是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;
}

最新文章

  1. svd自我学习
  2. Java 在指定目录建立指定文件名的文件 并输入内容
  3. JQuery 控制元素显示隐藏
  4. OAF_文件系列7_实现OAF处理Excel的JXL包介绍(概念)
  5. 专业PHP 7 IDE - Eclipse PDT 4.0 终于出世
  6. phpcms新闻详情页上一篇下一篇的实现
  7. H5小游戏的坑点小结
  8. 如何重启Cloudera Manager?
  9. Wireshark 网络抓包工具Wireshark的使用
  10. MySql中启用InnoDB数据引擎的方法
  11. APUE《UNIX 环境高级编程》读后感
  12. Linux常用命令  新手必看
  13. Mysql 官方Memcached 插件初步试用感受 - schweigen - ITeye技术网站
  14. Windows 驱动发展基金会(九)内核函数
  15. pg_dump命令帮助信息
  16. css3 绘制图形
  17. python基础(六)
  18. [HAOI2018]染色
  19. 树莓派开启SSH
  20. linux配置了dns后导致mysql远程连接慢问题

热门文章

  1. Jpa常用注解@Test
  2. 7.20试机测 T3 阶乘之和 暴力AC题解
  3. DJANGO-天天生鲜项目从0到1-003-用户模块-登录
  4. SYN 攻击原理及解决方法
  5. shell 输出json格式的内容
  6. Laragon修改配置快速创建其他框架的项目
  7. 浅析protobuf应用
  8. 下载数据到csv中(乱码),使用numpy , pandas读取失败 解决方案
  9. 读取 csv , xlsx 表格并添加总分列
  10. Python time altzone()方法