Help us understand the problem. What is going on with this article?

Rails エラーメッセージを日本語化したいとき

私自身の備忘録のためにも記事を投稿してみたいと思います。

Railsでエラーメッセージを日本語化したい場合

言語設定の変更

まずはconfigのapplication.rbファイルを下記のように編集します。

config/application.rb
# 中略
module Pictweet
 class Application < Rails::Application
   # Initialize configuration defaults for originally generated Rails version.
   config.load_defaults 6.0

   # 日本語の言語設定
   config.i18n.default_locale = :ja
  # 省略
 end
end

Gemの導入

日本語に対応する'rails-i18n'というGemを導入します。

gemfile
gem 'rails-i18n'

上記を記述したらターミナルでbundle installを実行。

これで「〜を記入してください」などの日本語化はできていると思います。
ですが、カラム名などは日本語化できていなので、次はその設定をしていきます。

Localeファイルの作成

deviseを導入している場合

localeファイルに対応する日本語を記述していくことで日本語化しています。
deviseを使ってユーザー登録等を導入されている方は下記の方法が便利かもしれないです。

config/localesディレクトリに、devise.ja.ymlというファイルを作成します。

https://github.com/tigrish/devise-i18n/blob/master/rails/locales/ja.yml

上記URLに記載されている記述を全て作成したymlファイルにコピペしましょう。
これでユーザー登録関係の一部のカラム名の日本語化はできているはずです。

自分で設定したカラム名の日本語化

config/localesディレクトリに、ja.ymlというファイルを作成します。
作成したら例のように編集していきましょう。

config/locales/ja.yml
ja:
 activerecord:
   attributes:
     user:
       nickname: ニックネーム
     tweet:
       text: テキスト
       image: 画像

この例であれば、nicknameとtext,imageが日本語化されます。

これでエラーメッセージの日本語化はできると思います!

Yoshimi_abe
TECH CAMPで20年10月よりRailsやJavaScriptを中心に勉強中です!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away