1

J'ai un formulaire pour l'enregistrement de l'utilisateur et je veux le localiser via des fichiers yml locaux. Surtout des erreurs de validations.en utilisant i18n avec des rails 3 problème

Par exemple, le fichier locale:

tr: 
    activerecord: 
    errors: 
     models: 
     user: 
      attributes: 
      name: 
       blank: "can't be blank" 

il retournera: name can't be blank dans la zone d'erreurs:

<% @user.errors.each do |error| -%> 
    <p><%= error %></p> 
<% end -%> 

étape suivante Je veux créer est de renommer nom attribut (et d'autres) comme ça (c'est ce qui ne fonctionne pas):

tr: 
    attributes: 
    user: 
     name: "Real name" 

pour obtenir cette erreur après validation: Real name can't be blank

Alors, où je la locale attribuer des noms à les traduire dans les messages d'erreur

Répondre

1

Essayez ceci:

tr: 
    activerecord: 
     attributes: 
      modelname: 
       attributename: "translation" 

Substituer modelname avec le nom de votre modèle, et attributename avec le nom de l'attribut pour lequel vous voulez fournir une traduction, ici nom.

+0

aucune réaction. J'ai essayé d'utiliser _labels.model.attributes_, _helpers.model.attributes_ etc - aucun résultat – fl00r

+0

Je l'ai compris, que Rails 3 n'utilise pas human_attribute_name par défaut dans la liste des erreurs. – fl00r