1
0

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 1 year has passed since last update.

🔰【初学者用】Railsのエラーメッセージを日本語化する

Posted at

はじめに

オリジナルアプリケーション実装時にエラーメッセージを日本語化したので、その方法をまとめます。

日本語化の設定

まずは日本語の設定から

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 #jaに変換
      # 省略
    end
end

rails-i18n導入

日本語に対応するGemfileを導入します。
登録されている日本語

Gemfile
#中略
gem 'rails-i18n'

忘れずbundle install

devise.ja.ymlの作成

config/localesディレクトリにdevise.ja.ymlを作成
以下のURLのコードをコピーしてdevise.ja.ymlに貼り付けてください!
divise.ja.yml

警告
インデントミスに注意!!

ja.ymlの作成

config/localesディレクトリに、ja.ymlというファイルを作成
例:

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

↑このような形で書き込んでいきます。
この記述の場合、nickname・text・imageが日本語化されます。

警告
インデントミスに注意!!

単体テストを日本語化していく

includeの中身を編集します。

spec/models/user_spec.rb
context '新規登録がうまくいかないとき' do
  it 'nicknameが空では登録できない' do
    @user.nickname = ''
    @user.valid?
    expect(@user.errors.full_messages).to include('ニックネームを入力してください')
  end    

テストコード実装

テストコードを実装します。

ターミナル
bundle exec rspec spec/models/user_spec.rb 

これでOK!!!

終わりに

基本的なことですが、忘れないうちにアウトプット!
では、また明日!

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?