5.6 多言語対応
辞書ファイルを作成する
多言語対応はYAMLで記述された辞書ファイルを元に行います。デフォルトではconfig/locales
以下にあるすべてのファイルは、自動的に読み込みされます。
以下のサンプルでは英語(en)および日本語(ja)の辞書ファイルを定義しています。
config/locales/en.yml
en:
hello: "Hello"
config/locales/ja.yml
ja:
hello: "こんにちは"
デフォルトのロケールを設定する
Railsで利用しているI18nライブラリでは、英語(en)がデフォルトのロケールとして扱われます。
デフォルトのロケールはconfig/application.rb
で変更することが可能です。
以下の例ではデフォルトのロケールを日本語(ja)に設定しています。
require_relative 'boot'
require 'rails/all'
Bundler.require(*Rails.groups)
module Sample
class Application < Rails::Application
def inspect
"#<#{self.class}>"
end
config.i18n.default_locale = :ja # この行を追加
end
end
辞書ファイルを参照する
ロケール設定によって辞書ファイルから文字列を出力するには、Railsのt
ヘルパーを利用します。
t
ヘルパーに辞書ファイルで設定したキーを渡すとそれに対応した文字列を出力してくれます。
以下の例であれば、こんにちは
と出力されます。
<h1>t(:hello)</h1>