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

前端之家收集整理的这篇文章主要介绍了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应用程序,这将是非常有帮助的.

猜你在找的C#相关文章