1
2

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 3 years have passed since last update.

【Rails】エラーメッセージを日本語化してみよう

Posted at

ユーザー作成とか、ログインとか、何か投稿するときのエラー文をカッコよく英語のままにするのもありですが、分かりやすく日本語にしたいときありますよね?

そんなあなたにGemを使った解決法でお伝えしていきます。

#Gemをインストール

Gemfile
gem 'rails-i18n'
$ bundle install

##エラーメッセージを日本語に設定

config/application.rb
module SampleApp
  class Application < Rails::Application

    config.i18n.default_locale = :ja
    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
  end
end

##どのコードが、どの日本語に対応させるのかを設定

専用のファイルを使って設定していきます。

$ mkdir config/locales/models
$ touch config/locales/models/ja.yml
ja.yml
ja:
  activerecord:
    models:
      user: ユーザ
    attributes:
      user:
        name: 名前
        email: メールアドレス
        password: パスワード
        password_confirmation: パスワード(再入力)

##エラーメッセージを手動追加 errors.add

user.errors.add(:base, "追加エラー")

もちろんエラーを生成してから出ないと、追加できないので、流れとしては以下の通り。

> user = User.new
> user.errors
> user.errors.add(:base, "追加エラー")
> user.errors.full_messages
=> ["追加エラー"]
1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?