Railsのバリデーションエラーメッセージを日本語化する方法はすでにQiitaにいくつか上がっていますが、網羅的でなかったりするので、半分自分のメモ用に作成します。
バージョン情報
'rails', '~> 5.1.4'
Gemファイルの設定
Gemfileに下記を追記後、bundle install。
gem 'rails-i18n'
config/application.rbの設定
config/application.rb
config.i18n.default_locale = :ja
カラム名の日本語化
- 日本語変換用のymlファイルを作成する。config/locales/models/に、ja.ymlというファイルを作成して、以下のようにカラム名と日本語の対応表を記述する。
- activerecordとactivemodelで別々に記載。検証したいモデルが複数ある場合は、modelsにmodel名を記載し、attributesで日本語化したいカラムを記載。
config/locales/models/ja.yml
ja:
activerecord:
models:
team: チーム
user: 利用者
attributes:
team:
name: 名前
path: パス
user:
role: 役職
name: 名前
email: メールアドレス
activemodel:
models:
request_form: 申請フォーム
attributes:
request_form:
description: 申請理由
config/application.rbの設定
config/application.rbにこのymlファイルの読み込む一文を追記。
config/application.rb
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.yml').to_s]