I've used the instructions specifies in http://guides.rubyonrails.org/i18n.html to translate fields of my model, but the labels doesn't come translated. What I'm doing wrong.
I have a User
model with the field name
and I'd like to have it translated to Brazilian Portugues (pt_br), so I got my pt_br.yml:
pt_br:
errors: "Erro!"
activerecord:
models:
user: "Usuário"
attributes:
name: "Nome"
address: "Endereço"
errors:
template:
body: "Por favor, corrija os campos assinalados"
header: "Dados inválidos"
messages:
blank: "é obrigatório"
taken: "já existe"
too_short: "incompleto"
when I got to the page with a form:
<% form_for(@usuario) do |f| %>
<%= f.error_messages %>
<%= f.label :name %>
<%= f.text_field :name %>
<% end %>
I sill have the field labeled as "name" and not as "Nome" as I'd like it to be. I also have
config.i18n.default_locale = :pt_br
in my environment.rb
What is missing?
You need to namespace your attributes under user
, i.e.:
pt_br:
activerecord:
attributes:
user:
name: "Nome"
address: "Endereço"
You can also install the i18n_label plugin to automatically translate the labels.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With