【Rails】エラーメッセージを日本語に設定する

環境

Windows 8.1

Ruby 2.3.1

Rails 5.0.0

やりたいこと

Validationエラー時の、エラーメッセージを任意のものに設定する

やること

1. application.rbに以下を追加

module Hogehoge

  class Application < Rails::Application
    # 追加

    config.i18n.default_locale = :ja

  end

end

config.i18n.default_localeは、Rails全体でどの自然言語を利用するか、という設定らしい。


2. 日本語化に必要なファイルをダウンロードする
https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml

3. 日本語化ファイルをconfig/locales/以下にja.ymlで配置する
ここまで設定して、再起動すると、エラーメッセージが
"Modelの属性名(emailなど)"を入力してください
となる。
4. モデルの各属性に対応する日本語を設定する
設定ファイルをconfig/locales/models/にja.ymlで作成
email: メールアドレス
のように各属性に対応する日本語をja.ymlに作成していく
5. application.rbに4で作成したja.ymlを読み込ませる処理を追加する

module Hogehoge

  class Application < Rails::Application

    config.i18n.default_locale = :ja
    # 追加
    config.i18n.load_path += Dir[Rails.root.join('path', 'to', 'ymlfile', '*.{yml}').to_s]

  end

end


あとはRailsサーバーを再起動して、終わりです。

参考

qiita.com