我目前正在尝试弄清楚如何本地化 MVC 生成的错误消息。让我以默认模型绑定器为例,这样我就可以解释问题了。
假设我有一个表格,用户可以在其中输入年龄。然后用户在表单中输入“十”,但没有得到预期的错误
“年龄必须在 18 到 25 岁之间。”
消息
“值‘十’对年龄无效。”
被陈列。
实体的年龄属性定义如下:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
经过一番挖掘,我注意到这个错误文本来自文件System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid
中的。MvcResources.resx
现在,如何创建此文件的本地化版本?
作为一个解决方案,例如,我应该下载 MVC 源并添加MvcResources.en_GB.resx
、和MvcResources.fr_FR.resx
,然后编译我自己的版本吗?MvcResources.es_ES.resx
MvcResources.de_DE.resx
MVC.dll
但我不喜欢这个主意。还有人知道更好的方法吗?