加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET MVC4多语言数据注释

发布时间:2020-12-15 17:48:10 所属栏目:百科 来源:网络整理
导读:在标准的应用程序中,我有以下内容: [Required][DisplayName("Email Address")]public string EmailAddress { get; set; } …这反过来用英文自动生成此表单字段的标签. 现在,如果我需要我的应用来支持5种语言,那么ASP.NET MVC应用程序最好的方法是什么来处理
在标准的应用程序中,我有以下内容:
[Required]
[DisplayName("Email Address")]
public string EmailAddress { get; set; }

…这反过来用英文自动生成此表单字段的标签.

现在,如果我需要我的应用来支持5种语言,那么ASP.NET MVC应用程序最好的方法是什么来处理这个问题?

应用范围约为400-600个数据字段.

更新:我还需要支持更新应用程序中的小部分文本,如页面名称和每个表单(小段落)的介绍.

解决方法

不要将实际值分配给属性属性,而是为资源字符串分配键.然后,您可以使用自定义的ModelMetadataProvider来识别本地化上下文,并提供适当的字符串.要获得更好的解决方案,您可以使自定义的ModelMetadataProvider推断约定(这减少了对详细属性的需求).

Phil Haack有一篇名为Model Metadata and Validation Localization using Conventions的博客文章,解释了如何运作.还有一个相应的NuGet软件包,名称为ModelMetadataExtensions,源代码可在github上提供https://github.com/Haacked/mvc-metadata-conventions.

作为一个附注,我建议您回顾一下我在一个旧问题上的一些令人敬畏的答案:Effective Strategies for Localization in .NET.他们没有专门解决你的问题,但如果你正在使用多语言的.NET应用程序,这将是非常有帮助的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读