entrada asp.net mvc / validação de modelo em vários idiomas

Eu sou bastante novo no asp.net mvc, e sei que estou tentando descobrir uma boa prática para validação de entrada.

No projeto, usaremos a estrutura da entidade, na qual você pode adicionar anotações de dados às propriedades da seguinte maneira:

[Required(ErrorMessage = "Please enter a product name")]
[Column]
public string Name { get; set; }

Isso é muito bom, no entanto, temos um site em vários idiomas (como a maioria dos sites), por isso não podemos apenas mostrar as mensagens de erro em inglês. O que pode ser uma maneira de resolver isso? Posso alterar esse erromensagem @runtime, dependendo do idioma do usuário? Devo usar a validação do lado do cliente Jquery?

Obrigado pela contribuição.

Atualização Eu tentei o código no site de Phil Haack. Isso funcionará com recursos estáticos, no entanto, usamos recursos provenientes de um banco de dados e não de recursos estáticos.

Se eu preencher o seguinte para as anotações de dados:

   [MetadataType(typeof(IncidentsMetaData))]
public partial class INCIDENTS
{
    private class IncidentsMetaData
    {
        [Required(ErrorMessageResourceType = typeof(CustomResourceProviders.DBResourceProviderFactory),
            ErrorMessageResourceName="1277")]
        public string SUBJECT { get; set; }
    }
}

Em seguida, recebo o seguinte erro: O tipo de recurso 'CustomResourceProviders.DBResourceProviderFactory' não possui uma propriedade estática acessível chamada '1277'.

É claro que não existe essa propriedade, deveria ser acessada por uma função. Alguma idéia do que eu poderia fazer sobre isso? tnx

questionAnswers(3)

yourAnswerToTheQuestion