Rails国際化(i18n)を簡単に導入する
Railsにはよくあるエラーメッセージがerrorsメソッドで呼び出される。 デフォルトの状態では英語での出力となっているため、日本語に対応させる必要がある。 簡単に日本語対応するには2つのステップで対応させることができる。(他にもやり方は色々あるが、自分がやりやすいやり方で紹介する)
ステップ1
$ wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales
ターミナルでこのコマンドを叩く。
コマンドのオプションに関してはLinuxの範囲になるので、詳しくは割愛するが、
wgetコマンド + URLを指定することによってそのURLのファイルをダウンロードすることができる。
実際にhttps://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.ymlにアクセスしてみるとわかるが、i18nの日本語ymlファイルがある。
また、-Pオプションで保存先となるディレクトリを指定することができる。つまり、configディレクトリ内のlocalesディレクトリにja.yml ファイルがダウンロードされている。
--- ja: activerecord: errors: messages: record_invalid: 'バリデーションに失敗しました: %{errors}' restrict_dependent_destroy: has_one: "%{record}が存在しているので削除できません" has_many: "%{record}が存在しているので削除できません" date: abbr_day_names: - 日 - 月 - 火 - 水 - 木 - 金 - 土 abbr_month_names: - - 1月 - 2月 - 3月 - 4月 - 5月 - 6月 - 7月 - 8月 - 9月 - 10月 - 11月 - 12月 day_names: - 日曜日 - 月曜日 - 火曜日 - 水曜日 - 木曜日 - 金曜日 - 土曜日 and more...
詳しくは↓のページに色々書いてるので参考に。 www.atmarkit.co.jp
ステップ2
あとはデフォルトで日本語のコンテンツを使うようにアプリケーションの設定を変更する。 config/initializersディレクトリにlocale.rbというファイルを作って
Rails.application.config.i18n.default_locale = :ja
とすることで、Railsアプリケーションのエラーメッセージなどを日本語化することができる。