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>

results matching ""

    No results matching ""