ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-国际化,本地化,多语言应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-国际化,本地化,多语言应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1986字,纯文字阅读大概需要3分钟。
内容图文
开篇
早年写过一篇多语言的应用 : 本地化(多语言) 讲述了如何创建多语言的资源文件,并利用资源文件来获得页面和请求的语言属性
本次补充这篇文章,的原因是在实际项目中,有多种需要多语言的情况
比如:日志要根据当前语言显示
而有些情景比较复杂,我们可能的key是提取自数据中,或者说一些错误的提示和模型界面字段的显示
下面我们回顾和新增一些实际应用
1.多语言使用
多语言基础使用,请跳转开篇早年写的连接中 本地化(多语言)
多语言使用的命名空间是 using System.Threading;
所以在后端.cs页面或者前端视图,你都必须引用 System.Threading
2.获得当前多语言的名称
string info = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
可获得资源文件的语言名称 en-US / zh-CN / zh-TW
3.改变当前请求的语言
比如用户请求的时语言是zh-CN,即中文,通过下面3行代码可设置改变当前的请求语言
CultureInfo culture = CultureInfo.GetCultureInfo("en-US"); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture;
示例代码
public ActionResult Create(string name) { int a=1; CultureInfo culture = CultureInfo.GetCultureInfo("en-US"); Thread.CurrentThread.CurrentCulture = culture; Thread.CurrentThread.CurrentUICulture = culture; return View(Resource.创建成功); }
不使用时候,返回:创建成功 使用时返回:Insert Succeed
3.使用方式
由于资源文件的后端代码也是一个类,Key是属性,使用使用非常简单
string value1 = Resource.Key00001; string value2 = Resource.Key00002;
4.使用场景一
举个栗子:
比如我要写段日志:其中 姓名 与电话是变量
张三成功创建了一条客户信息,客户名称:李四,客户电话:13800138000
那么你可以使用格式化的方式来填充显示的内容,日志中,只要存储值就可
string.Format(Resource.Key0001, "李四", "138XXXXXXXX");
5.通过Key反射出值
如果你不喜欢上面的情景,那么可以使用下面一个方法,将key和值一起存到数据库
举个例子:表数据- Key00002:张三
那么可以资管管理器提取Key来反射
ResourceManager resMan = new ResourceManager(typeof(Resource)); string val = resMan.GetString("Key000002");
6.MVC中模型属性的注解
注解主要用于2个地方
- 1.模型验证中的错误提示
- 2.DisplayFor 界面显示
我们来看一个例子:
4个key中前面2个是错误提示
那么我们的模型就是这么做
[Display(Name = "Key00003", ResourceType = typeof(Resource))] [Required(ErrorMessageResourceType = typeof(Resource), ErrorMessageResourceName = "Key00001")] publicstring Name { get; set; }
那么将获得一个非空通过翻译的提示和一个前端显示翻译的处理,这个MVC的支持还是最简单完美的
@Html.LabelFor(model => model.Name) 获得字段 @Html.ValidationMessageFor(model => model.Name) 错误提示
最后
如果你的系统有很多国家在使用,或者说一个系统有很多不同地区的人在使用
那么这篇文章的知识点非常实用,因为通过处理
可以使一些原本在数据库的数据的固定通用部分也能得到完美的翻译
原文:https://www.cnblogs.com/ymnets/p/11664583.html
内容总结
以上是互联网集市为您收集整理的ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-国际化,本地化,多语言应用全部内容,希望文章能够帮你解决ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-国际化,本地化,多语言应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。