docker環境で開発をしています。
Railsでデフォルトのロケール(言語)を設定するには、
1. config/application.rb ファイル内で config.i18n.default_locale を設定
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
2. Gemfileにi18nを記載→インストールする
gem 'rails-i18n', '~> 7.0.0'
bundle install
3. サーバーを再起動
docker compose restart
4. rails consoleで「I18n.t('date.abbr_day_names')」と打ち、下記のように帰ってきたら設定完了。
irb(main):001:0> I18n.t('date.abbr_day_names')
=> ["日", "月", "火", "水", "木", "金", "土"]
irb(main):002:0>
viewファイルに記載の仕方は下記参照
<%= link_to t('users.new.to_login_page'), login_path %>
※form_withの場合
form_withは優秀なのでmodel: @userという記述から「これはユーザーに関するフォームである」と認識してくれる。
なのでこんな風に書くこともできる。
↓
これを
<%= form_with model: @user, local: true do |f| %>
<%= f.label :email, t('activerecord.attributes.user.email') %>
<%= f.email_field :email %>
こう。
<%= form_with model: @user, local: true do |f| %>
<%= f.label :email %>
<%= f.email_field :email %>
※lazy look up
これを
<h1><%= t('users.new.title') %></h1>
こうすることもできる。
<h1><%= t('.title') %></h1>