gpt4 book ai didi

c# - ASP.NET MVC4 多语言数据注解

转载 作者:可可西里 更新时间:2023-11-01 09:11:05 27 4
gpt4 key购买 nike

在标准应用程序中,我有以下内容:

[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# - ASP.NET MVC4 多语言数据注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com