rails i18nによる日本語化
・gemファイルに記述し、ターミナルで bundle install
gem 'rails-i18n'
・config/application.rbに以下を記述する
config.i18n.default_locale = :ja
( デフォルトのlocaleを日本語(:ja)にする )
config.i18n.load_path += Dir[Rails.root.join('config/locales/**/*.{rb,yml}').to_s]
( i18nの設定ファイルを呼び出す )
(i18nの設定ファイル)
・ja.ymlに記述
config/locales/activerecord/ja.yml モデルに関連する内容のみを記載するconfig/locales/views/ja.yml Viewの表示のみの内容を記載する
(*)下記のファイルを作成したら、rails sし直さないと反映されないため注意
( config/locales/activerecord/ja.yml )
ja:
activerecord:
models:
user: 'ユーザー'
board: '掲示板'
attributes:
user:
email: 'メールアドレス'
password: 'パスワード'
password_confirmation: 'パスワード確認'
last_name: '姓'
first_name: '名'
( config/locales/views/ja.yml )
ja:
defaults:
login: 'ログイン'
register: '登録'
logout: 'ログアウト'
users: #usersコントローラ
new: #usersコントローラー内のnewアクション
title: 'ユーザー登録'
to_login_page: 'ログインページへ'
user_sessions:
new:
title: 'ログイン'
to_register_page: '登録ページへ'
password_forget: 'パスワードをお忘れの方はこちら'
boards:
index:
title: '掲示板一覧'
new:
title: '掲示板作成'
bookmarks:
title: 'ブックマーク一覧'
profiles:
show:
title: 'プロフィール'
・実際にViewファイルに記述する
例) app/views/shared/_before_login_header.html.erb
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto main-nav align-items-center">
<li class="nav-item">
<%= link_to (t 'defaults.login'), login_path ,class: 'nav-link' %>
</li>
</ul>
</div>
この( t 'defaults.login' )がconfig/locales/views/ja.yml内のdefaultのloginが呼び出され、"ログイン"のリンクが作成される(日本語化)。
・参考
[初学者]Railsのi18nによる日本語化対応
この記事が気に入ったらサポートをしてみませんか?