【发布时间】:2012-10-09 20:04:45
【问题描述】:
在标准应用程序中,我有以下内容:
[Required]
[DisplayName("Email Address")]
public string EmailAddress { get; set; }
...这又会自动为该表单域生成一个英文标签。
现在,如果我需要我的应用程序支持 5 种语言,那么 ASP.NET MVC 应用程序处理这个问题的最佳方法是什么?
适用范围约为400-600个数据字段。
更新:我还需要支持更新应用程序中的小部分文本,例如页面名称和每个表单的介绍(小段落)。
【问题讨论】:
-
我所做的(它是一个集群****)类似于:
[DisplayName(ResourceManager.GetTag("EmailAddress", GetCurrentLocale())]- 我创建了该类和方法并让它工作,但也许有更好的内置方式。 -
您可以使用每种语言的资源并使用注释。
-
@Serg - 那不是只能在开发人员的工作站上工作吗?据我了解,属性在编译时被序列化到程序集元数据中,因此如果您将代码带到另一个国家并运行它,我认为您仍然会得到编译时使用的任何语言。
-
GetCurrentLocale()并不是真正调用 .NET 语言环境,它只是我使用的名称。它实际上从客户端获取 cookie 值。例如:en-US, en-GB, es-ES -
为 cmets 和答案干杯,将在下周完成这些工作,然后重新访问并标记答案。
标签: c# .net asp.net-mvc data-annotations multilingual