Selon le ActionView documentation. Quote:Rails structure i18n et yml pour les étiquettes de formulaire
Le texte de l'étiquette par défaut le nom de l'attribut à moins qu'une traduction se trouve dans les paramètres régionaux I18n en cours ou que vous spécifiez explicitement (par views.labels <modelname> <attribut>..).
J'ai un modèle "utilisateur" et un formulaire d'enregistrement. Voici un extrait de la partie pertinente:
<% form_for(@user) do |f| %>
...
<p>
<%= f.label :username %>
<%= f.text_field :username, :class => 'full_width' %>
</p>
...
<% end %>
Les points masquent un code sans importance.
Comme je comprends la documentation, si je fournir une traduction dans mon fichier de paramètres régionaux, dans ce cas: dk, mon dk.yml ressembler à ceci:
dk:
views:
labels:
user:
username:
"blahblah"
Rails doivent traduire le texte de l'étiquette et insérer " blahblah "au lieu de" Username ".
Cela ne se produit pas, donc j'ai dû manquer quelque chose. Toute aide appréciée.
Et si vous voulez avoir une étiquette comme 'Entrez votre prénom'? Je ne pense pas que l'attribution d'attributs à une phrase comme celle-là soit propre, entraînera probablement des problèmes dans certains cas précis.Voir la réponse de Voldy pour une manière correcte de personnaliser une étiquette de formulaire. Vous pouvez même utiliser les deux approches ensemble, mais l'approche de Voldy remplacera celle-ci sur votre formulaire, et il devrait – mizurnix