こんにちはpepeです!
Railsでアプリケーションを作成する際、
バリデーションのエラーメッセージを表示させる機会があるかと思います。
↓こんな感じのやつです!
そんなとき、「できれば日本語で表示したい、、、」と思われた方も多いのではないでしょうか。
日本人の方向けのサイトの場合、エラーメッセージは日本語で表示されたほうが親切ですよね。
今回は、エラーメッセージを日本語で表示させる方法をご紹介していきます!
エラーメッセージを日本語化する方法
gemをインストールする
エラーメッセージを日本語化するために、gemをインストールします。
まずはGemfileに以下の記述をしましょう。
gem "rails-i18n"
記述ができましたら、ターミナルでbundle installを実行しましょう。
# インストールしたいアプリケーションのディレクトリになっているか確認
bundle install
configファイルを編集
次に、config/application.rbのファイルを編集します。
以下を記述することで、エラーメッセージが日本語化されます。
module アプリケーション名
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
config.i18n.default_locale = :ja ← 追記
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after loading
# the framework and any gems in your application.
end
end
これで、晴れてエラーメッセージが日本語化されました!
しかし、このままではカラム名と、modelファイル内に指定したエラーメッセージが英語のままです。
以下のように表示されるはずです。
モデル内に指定したメッセージは、日本語に修正することで対応できます。
次は、カラム名を日本語に直していきましょう。
カラム名を日本語にする
カラム名を日本語にするためには、専用のymlファイルを作成する必要があります。
config/locales/models/にja.ymlのファイルを作成しましょう!
作成時のルールも以下に記載します。
ja:
activerecord:
models:
user: ユーザー ← モデル名を記述
attributes:
user: ← モデル名を記述
name: 名前 ← 以下カラム名を記述
email: Eメール
password: パスワード
ファイルが作成できましたら、このファイルを読み込むための記述を先程のconfig/application.rbのファイルへ追記します。
config.i18n.load_path+=Dir[Rails.root.join('config','locales','**','*.yml').to_s]
これで全てのメッセージを日本語することができました!
以下のような表示になっているはずです。※一部抜粋して日本語化しました。
まとめ
エラーメッセージを日本語化するには
- gem “rails-18n”をインストールし、config/application.rbファイルを編集する
- 専用のymlファイルを作成し、カラム名を日本語化する
コメント