7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RailsのActiveRecord, ActiveModelのバリデーションエラーメッセージを日本語化

Posted at

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]

参考

Railsのバリデーションエラーのメッセージの日本語化

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?