[Ruby on Rails 3, Ruby on Rails 4] gems: i18n

プロジェクトの国際化(多言語化)対応をするためのプラグイン。

Contents

インストール

Rails をインストールすると一緒に入っています。

% cd ~/project_foo
% bundle list
Gems included by the bundle:
  * i18n (0.6.5)

default_locale を設定する

config/application.rb

# config.i18n.default_locale = :de
config.i18n.default_locale = :ja

辞書ファイルをダウンロードする

config/locale/ に、雛形として使う辞書ファイルをダウンロードする。

% wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/en.yml -P config/locales/
% wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales/

必要な翻訳を追記する

例えば、default でこんな記述がされている。

config/locales/en.yml

en:
  hello: "Hello world"

View 内でこのように書ける。

app/views/store/index.html.erb

<%= t :hello %>
# Files in the config/locales directory are used for internationalization
# and are automatically loaded by Rails. If you want to use locales other
# than English, add the necessary files in this directory.
#
# To use the locales, use `I18n.t`:
#
#     I18n.t 'hello'
#
# In views, this is aliased to just `t`:
#
#     <%= t('hello') %>
#
# To use a different locale, set it with `I18n.locale`:
#
#     I18n.locale = :es
#
# This would use the information in config/locales/es.yml.
#
# The following keys must be escaped otherwise they will not be retrieved by
# the default I18n backend:
#
# true, false, on, off, yes, no
#
# Instead, surround them with single quotes.
#
# en:
#   'true': 'foo'
#
# To learn more, please read the Rails Internationalization guide
# available at http://guides.rubyonrails.org/i18n.html.

サーバを再起動する

% rails s

補遺

辞書ファイルを分割して管理したり、ローケルを振り分けたりといろいろある。