Sabe quando você preenche uma data inválida em uma página usando o ASP.NET MVC e o erro vem em inglês assim:
Isso acontece porque o DefaultModelBinder do MVC não conseguiu converter essa data, no caso acima, é óbvio porque não existe um mês 15. A questão é, como traduzir essa mensagem?
Um jeito que achei foi adicionando uma pasta App_GlobalResources e dentro dessa pasta adicionar um arquivo de resources, que no caso, chamei de CustomMvcResources.resx.
Nesse arquivo de resources adicione a seguinte linha:
No global.asax altere o método Application_Start para que fique assim:
1 2 3 4 5 6 | protected void Application_Start() { AreaRegistration.RegisterAllAreas(); DefaultModelBinder.ResourceClassKey = "CustomMvcResources"; RegisterRoutes(RouteTable.Routes); } |
O importante é que o valor informado à propriedade ResourceClassKey tenha o nome do arquivo de resource criado.
Agora o erro será apresentado do jeito que foi configurado no arquivo de resources.