ASP.NET MVC: ValidationAttribute e ErrorMessage localizado

Eu tenho ValidationAttribute como:

    public class Username : ValidationAttribute
 {
  public override bool IsValid(object value)
  {
   if (value == null)
    return false;

   return RegExp.Validate(RegExpLib.Username,value.ToString());
  }
 }

..e usá-lo assim:

    public class AccountSignIn
 {
  [Username(ErrorMessageResourceName ="txtUsername",ErrorMessageResourceType=typeof(SignIn))]
  public string Username { get; set; }

  public string Password { get; set; }

  public bool RememberMe { get; set; }

  public string ReturnUrl { get; set; }
 }

SignIn é um arquivo de recurso em App_GlobalResources e "txtUsername" - é o nome da string no arquivo de recursos.

Problema: Mensagens de erro não são mostradas.

Pergunta: Como definir a mensagem de erro se eu tiver poucos idiomas no site.

Outra informação:

Sou capaz de acessarSignIn.txtUsername das exibições ou de qualquer arquivo no projeto. Do controlador

ModelState.AddModelError("Username", Resources.SignIn.txtUsername);

funciona bem também .. Eu posso atribuir ErrorMessage dentro ValidationAttribute, mas tenho erro após segunda validação tentar ... se eu colocar cheque como este -

   if(ErrorMessage != Resources.SignIn.txtUsername)
       ErrorMessage = Resources.SignIn.txtUsername; 

Eu tenho erro depois de mudar para outro idioma - ErrorMessage pode ser atribuído apenas uma vez.

Por favor, conselhos como eu posso resolver isso.

Agradeço antecipadamente.

questionAnswers(3)

yourAnswerToTheQuestion