【发布时间】:2010-03-17 13:48:59
【问题描述】:
我目前正试图弄清楚如何本地化 MVC 生成的错误消息。让我以默认的模型绑定器为例,这样我就可以解释问题了。
假设我有一个表单,用户可以在其中输入年龄。然后用户在表单中输入“十”,但没有得到预期的错误
“年龄必须在 18 至 25 岁之间。”
消息
“值‘十’对年龄无效。”
显示。
实体的年龄属性定义如下:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
经过一番挖掘,我注意到这个错误文本来自MvcResources.resx 文件中的System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid。
现在,如何创建此文件的本地化版本?
作为一个解决方案,比如我是不是应该下载MVC源码并添加MvcResources.en_GB.resx、MvcResources.fr_FR.resx、MvcResources.es_ES.resx和MvcResources.de_DE.resx,然后编译我自己版本的MVC.dll?
但我不喜欢这个主意。还有人知道更好的方法吗?
【问题讨论】:
-
一个关于这个的好博客也在这里:bradwilson.typepad.com/blog/2010/01/…
标签: asp.net asp.net-mvc globalization resx