環境:ruby 2.5.1 / rails 5.2.3
やりたいこと
- エラーメッセージなど英語で表記される箇所を日本語の置き換えたい
- DBのカラム名やclassの属性を表示する時に、予め日本語に置き換えたものを表示されるようにしたい
結論
- gemの
rails-i18n
を導入する - 変換したい単語を
ja.yml
ファイルに設定する
やり方
- gemの
rails-i18n
を導入する
Gemfile
# 記述する場所はファイルの一番下か、group :development, group :development, :test 以外の場所に記述
gem 'rails-i18n'
- gemをインストールする
-
config/application.rb
内のデフォルトのlocale(ロケール)をjaにする
application.rb
# ↑これより上のコードは割愛
module App
class Application < Rails::Application
config.i18n.default_locale = :ja
config.time_zone = 'Tokyo'
end
end
-
config/locales/ja.yml
のファイルを作成する -
ja.yml
の中に、日本語に変換したい設定をyml形式
で記述する
例:DBのカラムに関する文字 →activerecord: attributes: モデル名:
viewに関する文字 →views: リソース名:
ja.yml
ja:
activerecord:
attributes:
user:
name: ユーザー名
email: メール
password: パスワード
password_confirmation: パスワード(確認)
tweet:
name: 名前
title: タイトル
body: 本文
comment:
name: 名前
comment: コメント
views:
pagination:
first: 最初
last: 最後
previous: 前
next: 次
truncate: ...
- 設定が完了したら、サーバーを立ち上げ直す(これをしないと反映されないため)