LoginSignup
8
6

More than 5 years have passed since last update.

ruby on railsのエラーメッセージ日本語対応で躓いたこと

Last updated at Posted at 2018-12-24

エラー文日本語対応は充実したリファレンス多いが

Rails で I18n を使って日本語化

上記の記事を参考に行ったが、少々苦戦した。

これから同じような躓きをする初学者向けに、以下注意点2点投稿する。

1.まずja.yamlテンプレートをgithubからコピーすべし

# 日本語のテンプレートをDL
wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales/

テンプレート置き場は config/locales/

2.ja.ymlに追記したいなら書き順に気をつけるべし

上記の記事では
モデルのファイルは別にconfig/locales/models/ja.yml
に保存しているようだが、
今回はテンプレートに追記してみる。

ja:
  activerecord:
    errors:
      messages:
        record_invalid: "バリデーションに失敗しました: %{errors}"
        restrict_dependent_destroy:
          has_one: "%{record}が存在しているので削除できません"
          has_many: "%{record}が存在しているので削除できません"
    attributes:
      user:
        name: 名前
        password: パスワード
        email: Eメール

(上記はユーザーモデルを追記した場合)

ymlはインデントで階層を認識しているっぽいので
きちんとja.activerecord.attributes.モデル名.
となるように、インデックスを揃えて記述することがポイント
(筆者は当該ファイルの一番下に追記したらSyntaxちゃんに
怒られたので注意)

ただ、管理しやすいようにファイルは分割して管理した方が良いかも

参考記事

YAMLとは何か? - いつもRailsの設定ファイルで出てくるやつの正体
i18nについて

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6