3
3

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

エラーメッセージを日本語で表示したい!-機能実装方法について

Last updated at Posted at 2019-12-15

個人アプリ作成中にエラーメッセージを日本語で表示したい!と思いましたが、想定よりも苦戦したので、以下に記載します。
(想定よりも苦戦した原因はymlファイルの設置と内容の編集です。。笑)

はじめに

-背景:
Tweet機能を持たせたアプリを作成中、文字数制限をValidationで設定していたため、
Tweet時、文字数制限をオーバーしたときにValidationエラーメッセージを出そうとしていました。
この機能自体は、無事実装できましたが、出てくるエラーメッセージのデフォルトは英語になってます。
そこで、今回エラーメッセージを日本語にする方法を調べましたので、以下にまとめます。

機能実装方法

1.rails-i18n(gem)実装

日本語化するにはrails-i18nというgemを使用します。

Gemfile
gem 'rails-i18n'

忘れずにbundle installします。

terminal
bundle install

2.application.rbを編集

次にconfig/application.rb内に以下を追記しましょう。

config/application.rb
# デフォルトのlocaleを日本語(:ja)にする
config.i18n.default_locale = :ja

# 複数のロケールファイルが読み込まれるようpathを通す
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]

これで、各フォルダにおけるymlファイルを読み込めるようになりました。

3.ymlファイルの設置+編集

まず、ymlファイルを設置します。
今回はpostモデルに関する内容だったので、models配下に設置します。

config
└── locales
      └──models 
           └──ja.yml

続いて、ymlファイルを編集します。

models/ja.yml
ja:
  activerecord:
    models:
      post: 投稿
    attributes:
      post:
        address: メールアドレス
        content: 投稿内容

ymlの記載はインデント量で構造を表すので、注意が必要です!
(自分はそれで、何度か引っかかりました。。。笑)

これで、エラーメッセージが日本語で表示できるようになりました!
今回記載しきれなかった内容もございます。
気になる方がいらっしゃいましたら、参考のページをご確認いただけますと幸いです!

以上となります。最後までご覧いただき、ありがとうございました!
今後も学習した事項に関してQiitaに投稿していきますので、よろしくお願いします!
記述に何か誤りなどございましたら、お手数ですが、ご連絡いただけますと幸いです。

参考

Ruby on Railsでエラーメッセージを表示する方法【初心者向け】
https://techacademy.jp/magazine/10024

[初学者]Railsのi18nによる日本語化対応
https://qiita.com/shi-ma-da/items/7e5c3d75c9a9f51abdd5#4-configlocales%E4%BB%A5%E4%B8%8B%E3%81%AB%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%85%8D%E7%BD%AE

Ruby on Rails モデルのエラー表示が日本語にならない
https://ja.stackoverflow.com/questions/38880/ruby-on-rails-%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E8%A1%A8%E7%A4%BA%E3%81%8C%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?