Pau*_*own 10 .net c# asp.net-mvc multilingual data-annotations
在标准应用程序中,我有以下内容:
[Required]
[DisplayName("Email Address")]
public string EmailAddress { get; set; }
Run Code Online (Sandbox Code Playgroud)
...这反过来会自动生成一个英文表格字段的标签.
现在,如果我需要我的应用程序支持5种语言,那么ASP.NET MVC应用程序处理此问题的最佳方法是什么?
适用范围约为400-600个数据字段.
更新:我还需要支持更新应用程序中的小部分文本,如页面名称和每个表单的引入(小段落).
不是将实际值分配给属性属性,而是为资源字符串分配键.然后,您可以使用ModelMetadataProvider了解本地化上下文的自定义,并提供相应的字符串.为了获得更好的解决方案,您可以制定自定义ModelMetadataProvider推断约定(这减少了对详细属性的需求).
Phil Haack有一篇博客文章,名为使用约定的模型元数据和验证本地化,解释了它的工作原理.还有一个名为ModelMetadataExtensions的相应NuGet包,其源代码可在github上获得,网址为https://github.com/Haacked/mvc-metadata-conventions.
作为旁注,我建议回顾一下我在一个老问题上得到的一些很棒的答案:.NET中本地化的有效策略.它们没有专门解决您的问题,但如果您正在使用多语言.NET应用程序,它将非常有用.
| 归档时间: |
|
| 查看次数: |
9864 次 |
| 最近记录: |