Deviseの日本語化
gem devise-i18n を使う場合、i18n化されたviewを使う必要があるため、
READMEのとおりに進める必要がある。基本的には以下を実行するだけ。
# Gemfile
gem 'devise-i18n'
$ rails g devise:i18n:views user
$ rails g devise:i18n:locale ja
そのあとに、DeviseのREADMEに載っているとおり、
# config/initializers/devise.rb
config.scoped_views = true
と記述してから、rails serverを再起動する。
日本語化されない
$ rails g devise:i18n:locale ja
のコマンドで、config/locales/devise.views.ja.yml
の日本語化ファイルが出力される。
このファイルを開くと、30行目が devise
となっているため、これを users
に変更する必要がある。
$ rails g devise:i18n:views user
のコマンドで、usersという名前で出力したため。この user
を指定しなかった場合は、デフォルトの devise
という名前で出力される。
admin用管理画面、user用管理画面と分ける場合は、 user や admin などのような名前で出力が必要になる。
devise-i18nのviewファイルの日本語化
app/views/users/ にある以下のファイル群の中で、前項のuser
と名付けて出力した影響箇所(日本語化されなかった箇所)を微修正する。
./unlocks/new.html.erb
./passwords/edit.html.erb
./passwords/new.html.erb
./shared/_links.html.erb
./sessions/new.html.erb
./confirmations/new.html.erb
./registrations/edit.html.erb
./registrations/new.html.erb
たとえば、
<%= t('.remember_me') %>
となっている箇所は、
<%= t('activerecord.attributes.user.remember_me') %>
というように、YAMLファイルの記述にあわせて修正する必要がある。