rails-i18nによる国際化
rails-i18n
一般的なメッセージについての日本語での国際化設定ファイル(以下)を参照するようにできる。 rails-i18n/ja.yml at master · svenfuchs/rails-i18n · GitHub
インストール
gem 'rails-i18n'
設定
config/application.rb
class Application < Rails::Application # デフォルトを変更 config.i18n.default_locale = :ja # locale/ja.yml以外に用途別の定義ファイルを使えるようにする config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
以上の設定の上、
モデルに関連する内容のみを記載する=locale/appricationrecord/ja.yml と、
Viewの表示のみの内容を記載する=locale/view/ja.yml を作成する。
ビューファイルの名前を省略(Lazy Lookup記法)
ja: books: index: title: "タイトル"
このとき、app/views/books/index.html.erb内で以下の記法が使える。
<%= t '.title' %>
モデル名と属性名の翻訳
ja: activerecord: models: user: 'ユーザー' attributes: user: name: '名前'
User.model_name.human # モデル名の翻訳 => 'ユーザー' User.human_attribute_name(name) # 属性名の翻訳 => '名前'