アプリケーションの国際化対応についてのメモ(一部)

Ruby on Railsほど国際化対応が重要なものもないんでないかしら?.NETにいた頃はこんなことはほとんど考えたこともなかったけど、デフォルト英語なので日本語に置き換えるための設定はとても重要なのです。ということで、理解したところから簡単にメモを残します。あくまで個人的なメモなので、役に立たなかったらごめんなさいw

Ruby on Railsの国際化対応については、基本的には次のステップで対応可能。

  1. 辞書ファイルの用意
  2. ロケールの設定
海外からのお客さんが来ないのであればロケールは "ja" 固定にするのが一番らくかもしれない…。ということで、こちらは特にメモらないで辞書ファイルの用意だけちょっとはまったのでメモっておこうと思う。
辞書ファイルは、基本的には /locales に ja.yml として保存したYAML形式のファイルに設定すればOK。ただ、モデルごとに辞書ファイルを分けたいので少し工夫が必要となる。
具体的には、モデルごとに辞書ファイルを分ける場合、 /locales/models/(各モデル名)/ja.yml というようにフォルダを作成して、それぞれの辞書ファイル内にモデルで使用する辞書を定義すれば良い。
(下記の場合、paymentとuser_infoというモデルが存在し、それぞれに辞書ファイルを作成するような構成となっている。 )
もちろん、この場合も /locales フォルダには ja.yml ファイルが存在するが、定義する必要がなければ内容を特に設定する必要はない。
次に、このままでは辞書ファイルはデフォルトの /locales/ja.yml しか読み込まれないので application.rb に /locales/models 以下に作成した辞書ファイルを読み込ませるための設定が必要になる。
この設定をapplication.rbに追記することで各モデルの辞書ファイルが読み込まれるようになる。
application.rbを変更した場合、WEBricの再起動が必要になるので注意!
ちなみに、参考にしたのはRuby on Rails 3 アプリケーションプログラミングの 9.3 アプリケーションの国際化対応 です。