Railsで日本語化をするとき、「あれどうやるんだっけ」と意外と忘れてしまうこともあると思います。
今回はそんな日本語化の話をしたいと思います!
事前準備
config/application.rb
に以下の設定を追加します。
config.i18n.default_locale = :ja config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
ファイルを設置する
雛形ファイルを持ってくる
日本語の雛形ファイルは以下を使うのがおおすすめです。
バリデーションエラーなどで使用する文言があらかじめ準備されています。
config/locales/ja.yml
として設置しましょう。
モデルの日本語ファイルを別で設置する
config/locales/ja.yml
に追記していく形でもよいですが、モデル数やカラム数が増えていくと管理が大変になるので別のファイルにしましょう。
config/locales/models/ja.yml
または config/locales/models/user/ja.yml
ja: activerecord: attributes: user: name: 名前 email: メールアドレス
Formオブジェクトを使用している場合
Formオブジェクトを使用している場合は、activerecord
ではなく、 activemodel
を使用することに注意しましょう。
app/forms/sign_in_form.rb
を以下のように定義している場合
class SignInForm include ActiveModel::Model include ActiveModel::Attributes attribute :email, :string attribute :password, :string end
config/locales/forms/ja.yml
または config/locales/forms/sign_in_form/ja.yml
ja: activemodel: attributes: sign_in_form: email: メールアドレス password: パスワード
enumを使用している場合
以下の記事を参考にしてみてください。
【日本語対応あり】Railsでenumを使う - もふもふ技術部
終わり
雛形ファイルの場所ってついつい忘れがちになりますよね!