user2426176
user2426176

Reputation:

Attribute translation in Rails

So the issue I've encountered days ago still makes me unconfortable with my code. I can't get proper translation for my application: Yml looks like that:

 pl:
   errors: &errors
   format: ! '%{attribute} %{message}'
   messages: 
      confirmation: nie zgadza się z potwierdzeniem

   activemodel:
     errors: 
       <<: *errors
   activerecord:
     errors:
       <<: *errors

And model looks like that:

 module Account
   class User < ActiveRecord::Base
     attr_accessor: password_confirmation
   end
 end

And flash in controller declared:

 flash[:errors] = @user.errors.full_messages

I tried and read activerecord documentation and stack previous questions (How to use Rails I18n.t to translate an ActiveRecord attribute?, Translated attributes in Rails error messages (Rails 2.3.2, I18N)). Yet it still doesn't work as I wanted. password_confirmation remains "Password Confirmation", and not "Potwierdzenie hasła" as it shoul be. The screenshot might explain it better: http://i42.tinypic.com/1glz5.png

Upvotes: 0

Views: 275

Answers (1)

dan
dan

Reputation: 1028

Your User model is in a namespace, thus you have to declare the namespace in your translation file also. Try the following to get the correct translation for password_confirmation:

pl:    
  activerecord:
    attributes:
      account/user:
        password_confirmation: "Potwierdzenie hasła"

Upvotes: 1

Related Questions