以下の設定でなぜか I18n.t('activerecord.models') で ja.yml で設定した内容が反映されないです。
% rails -v
Rails 5.2.4.1
[config/application.rb]
ruby
1 config.time_zone = "Tokyo" 2 config.i18n.default_locale = :ja 3 config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s] 4
[Gemfile]
gem 'devise-i18n' gem 'devise-i18n-views'
[config/locales/devise.views.ja.yml]
一部抜粋
yaml
1ja: 2 activerecord: 3 models: 4 user: "ユーザ" 5
[config/locales/ja.yml]
yaml
1ja: 2 activerecord: 3 models: 4 user: "登録者情報" 5 workshop: "ワークショップ" 6
試したことは以下の通りです。
上記の設定でコンソールを立ち上げて workshop を読み込もうとすると読み込まれない。
[1] pry(main)> I18n.t('activerecord.models.workshop')
=> "translation missing: ja.activerecord.models.workshop"
ユーザーの設定も異なる設定が表示される。
[2] pry(main)> I18n.t('activerecord.models')
=> {:user=>"ユーザ"}
そこで devise.views.ja.yml を以下のように編集
yml
1 user: "ユーザ。。。。" 2
コンソールを立ち上げ直して
[1] pry(main)> I18n.t('activerecord.models')
=> {:user=>"ユーザ。。。。"}
ファイルが読み込まれ、設定が反映していることを確認
次に、config/locales/ja.yml を編集し、以下を追加
yml
1ja: 2 hello: 3 everybody: "皆さん" 4
コンソールを立ち上げ直して
[1] pry(main)> I18n.t(:hello)
=> {:everybody=>"皆さん"}
ファイルが読み込まれていることを確認
config/locales/devise.views.ja.yml からactiverecord の記述を削除
コンソールを立ち上げ直して
[1] pry(main)> I18n.t('activerecord.models')
=> {:user=>"ユーザ"}
と削除したにもかかわらず、 devise.veiws.ja.yml の設定が反映さ、ja.yml の設定が反映されない
そこで、activerecord の内容を確認すると
[2] pry(main)> I18n.t('activerecord')
=> {:attributes=>
{:user=>
{:confirmation_sent_at=>"パスワード確認送信時刻",
:confirmation_token=>"パスワード確認用トークン",
:confirmed_at=>"パスワード確認時刻",
:created_at=>"作成日",
:current_password=>"現在のパスワード",
:current_sign_in_at=>"現在のログイン時刻",
:current_sign_in_ip=>"現在のログインIPアドレス",
:email=>"メールアドレス",
:encrypted_password=>"暗号化パスワード",
:failed_attempts=>"失敗したログイン試行回数",
:last_sign_in_at=>"最終ログイン時刻",
:last_sign_in_ip=>"最終ログインIPアドレス",
:locked_at=>"ロック時刻",
:password=>"パスワード",
:password_confirmation=>"確認用パスワード",
:remember_created_at=>"ログイン記憶時刻",
:remember_me=>"ログインを記憶",
:reset_password_sent_at=>"パスワードリセット送信時刻",
:reset_password_token=>"パスワードリセット用トークン",
:sign_in_count=>"ログイン回数",
:unconfirmed_email=>"未確認Eメール",
:unlock_token=>"ロック解除用トークン",
:updated_at=>"更新日"}},
:models=>{:user=>"ユーザ"},
:errors=>{:messages=>{:record_invalid=>"バリデーションに失敗しました: %{errors}", :restrict_dependent_destroy=>{:has_one=>"%{record}が存在しているので削除できません", :has_many=>"%{record}が存在しているので削除できません"}}}}
となる。
Gemfile から
gem 'devise-i18n'
gem 'devise-i18n-views'
を削除し bundle し直してからコンソールを立ち上げ直して実行しても結果は変わらず。
原因が分かるようでしたらご教授いただけると大変助かります。
宜しくお願い致します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。