# Rails 3 Model attributes localization

**URL:** <https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538>\
**Category:** Rails I18n\
**Created:** [September 24, 2010, 7:24pm UTC](https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538 "2010-09-24T19:24:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [September 24, 2010, 7:24pm UTC](https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538/1 "2010-09-24T19:24:10Z")

</div>

I am trying to localize in Rails 3, and I don’t understand the change  
w Rails 2 …

I wrote the following hierarchy :

en:  
model:  
user: User  
attributes:  
login: Login  
email: Email  
password: Password  
roles: Roles

and tried to use in my view I18n.t(‘user.roles’) to get the  
localization of roles  
but cannot find it : translation missing: fr, user, roles

In rails 2 I had to stipulate activerecord: should I do it also w  
Rails 3 ?

thansk for your feedback

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [September 24, 2010, 7:31pm UTC](https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538/2 "2010-09-24T19:31:12Z")

</div>

2010/9/24 Erwin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> ```
> email: Email
> password: Password
> roles: Roles
> 
> ```
> 
> and tried to use in my view I18n.t(‘user.roles’) to get the  
> localization of roles  
> but cannot find it : translation missing: fr, user, roles

I think you don’t have to indent attributes in model. Try this:

en:  
model:  
user: User  
attributes:  
user:  
login: Login  
email: Email  
password: Password  
roles: Roles

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [September 24, 2010, 7:42pm UTC](https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538/3 "2010-09-24T19:42:19Z")

</div>

On Fri, Sep 24, 2010 at 19:22, Erwin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> email: Email
> password: Password
> roles: Roles
> 
> ```
> 
> and tried to use in my view I18n.t(‘user.roles’) to get the  
> localization of roles  
> but cannot find it : translation missing: fr, user, roles
> 
> In rails 2 I had to stipulate activerecord: should I do it also w  
> Rails 3 ?

Haven’t used Rails 3 myself. Just try it and see, though. I would  
guess you need to put the translation in  
activerecord.attributes.user.roles.

Once you use that convention, you can do  
User.human\_attribute\_name(:roles) instead of  
I18n.t(“activerecord.attributes.user.roles”). Assuming that didn’t  
change from Rails 2.

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [September 25, 2010, 8:43am UTC](https://www.ruby-forum.com/t/rails-3-model-attributes-localization/195538/4 "2010-09-25T08:43:38Z")

</div>

Thanks Henrik , no change in Rails 3  
easier mgt of form labels however…
