Rails:deviseを含めたバリデーションメッセージを日本語化


最初に

カレンダー企画2020の22日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。

deviseを含めたバリデーションメッセージを日本語化にする

日本人の使用を想定するものであればアプリケーション内は日本語にする方が良いですよね!
そんなわけで日本語化に取り組んだ内容をメモしておきます。

やること

  1. config/application.rbに記述をする。
  2. config/locales下に「ja.yml」「devise.ja.yml」を新規作成する
  3. 新規作成したファイルの中身は先人の力をお借りしてコピペする。
  4. カラム名になるところはおそらくまだ英語なので、ここは自力でja.ymlに記述する。

以上

1. config/application.rbに記述をする

config/application.rb

config.i18n.default_locale = ja

ファイル内に記述をしてください。

2. config/locales下に「ja.yml」「devise.ja.yml」を新規作成する

こんな感じ

(en.ymlはいらないのだろうけど怖くて消してないです^^; 一発でdevise.ja.ymlを作成する事もできるみたいですので興味のある方調べて見てください。)

3. 新規作成したファイルの中身は先人の力をお借りしてコピペする

先人の方に感謝を伝えながら拝借^^

ja.yml
devise.ja.yml

4. カラム名になるところはおそらくまだ英語なので、ここは自力でja.ymlに記述する

config/locales/ja.yml

ja:
  activerecord:
    models:
      member: "メンバー"
      post: "投稿"
    attributes:
      member:
        first_name: "姓"
        last_name: "名"
        email: "メールアドレス"
        encrypted_password: "パスワード"
      post:
        title: "タイトル"
        body: "内容"

私はこんな感じで追記をしました。

最後に

すべてのカラムをやっても良いと思うのですが、エラー文で使うところなど表示されるものだけを行いました。

あと、model用のja.ymlを分けている人もいました。そっちの方が管理しやすかったな〜〜〜って作り終わってから思いました。

参考サイトこんな感じにやると管理しやすいかもしれないです。まだ私はやってないので今度やってみようと思います。