Comment puis-je traduire le ActiveRecord nom de l'attribut dans les Rails 3.2?

J'ai la suite de la validation de mon modèle ( Utilisateur ):

  validates :first_name,:length => {:minimum => 2,:maximum => 50},:format => { :with => /[a-zA-Z]+/ }

J'ai la suite dans ma yml locales fichier:

 attributes:
   first_name:
     too_short: "First name is too short"
     too_long: "First name is too long"
     invalid: "First name is not valid"

Maintenant, si je commence un rails console, et écrivez ce qui suit:

a = User.new
a.valid?
a.errors.full_messages

Je vais voir les erreurs suivantes:

["First name First name is too short", "First name First name is not valid"]

Comme vous pouvez le voir, le nom de l'attribut est également ajouté au champ d'erreur. Jusqu'à présent, partout dans mon code, j'ai utilisé model.errors[:field], et ce sera toujours de me montrer la chaîne que j'ai dans le fichier yml, mais je voudrais changer les cordes:

 attributes:
   first_name:
     too_short: " is too short"
     too_long: " is too long"
     invalid: " is not valid"

Et l'utilisation de la full_messages version. Le problème est, je ne sais pas comment traduire le nom de l'attribut. Disons, par exemple, que j'aimerais à la place du prénom, de Nom en premier. Comment aurais-je le faire?

OriginalL'auteur Geo | 2012-05-30