🍎

【Rails】エラーメッセージ日本語化

2023/07/23に公開

はじめに

バリデーションによるエラーメッセージを表示させることはできたが、英語・・・

altテキスト

ということで、ユーザーが使いやすいように日本語化していきたいと思います!

完成はこんな感じ↓

altテキスト


1.Gemをインストール

Gemfile
最下部に追記
gem 'rails-i18n'

記述後、下記コマンドを実行

ターミナル
$ bundle install

2.configファイルを編集

config/application.rb
:
:
module アプリケーション名
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.1
    config.i18n.default_locale = :ja  ← これを追記!!
:
:

↓ ここまでで一部メッセージが日本語化!

altテキスト

しかしまだ英語の部分が残っているので、編集していきます!

「Bookに2個のエラーが発生しました」・・・モデル名
「Title」「Body」・・・カラム名

3.モデル名、カラム名を日本語化する

1.config/localesに「ja.yml」ファイルを新規作成する

2.下記内容を記述

config/locales/ja.yml
ja:
  activerecord:
    models:
      user: ユーザー       ← モデル名:表示したい日本語を記述
      book: 投稿         モデルが複数ある場合は繋げて記述
    attributes:
      user:           ← モデル名を記述
        name: 名前        ← カラム名:表示したい日本語を記述
        email: Eメール
        password: パスワード
        introduction: 自己紹介文
      book:
        title: タイトル
        body: 内容

3.config/application.rbファイルに
「config.i18n.load_path+=Dir[Rails.root.join('config','locales','**','*.yml').to_s]」追記

config/application.rb
:
:
module App2
  class Application < Rails::Application
   # Initialize configuration defaults for originally generated Rails version.
   config.load_defaults 6.1
   config.i18n.default_locale = :ja
   config.i18n.load_path+=Dir[Rails.root.join('config','locales','**','*.yml').to_s] ← これを追記!!
:
:

↓ モデル名、カラム名も日本語化されました!

altテキスト


バリデーションによるエラーメッセージの日本語化は以上です!

deviseのエラーメッセージもこれで日本語化できているかと思いきやできていなかったので、続きます🙋

https://zenn.dev/h_hana/articles/e10a4f0acbe0e5

Discussion