c# – ASP.NET MVC4多语言数据注释
在标准的应用程序中,我有以下内容:
[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应用程序,这将是非常有帮助的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |