I know this is old, but getting localized messages into metadata is a subclass of DataAnnotationsModelValidator and overriding GetClientValidationRules and Validate to provide your own messages.
You register the adapter using DataAnnotationsModelValidatorProvider.RegisterAdapterFactory.
I created a factory builder to create a factory delegate. The out parameter is here because I use this inside the loop when I discover all the adapters in the assembly through reflection, so I need to get the attribute type for each adapter to call RegisterAdpaterFactory. I could enable registration, but after that I do other things using adapter / attribute information
public static class ModelValidationFactory {
This also works in MVC3, and I think MVC2 too.
source share