タグ

ブックマーク / rails3try.blogspot.com (2)

  • [Rails3] 国際化 I18n のまとめ(その2:ロケールの切り替え)

    実行環境: ruby 1.9.3 Rails 3.1.3 I18n 文字列を国際化する I18n の使い方のまとめです。 今回は、その2としてロケールの切り替えについて考えてみたいと思います。 表示ロケールを決定する流れ 複数のロケールを定義している場合、表示するロケールがアクセス毎に判断することになります。それをどうやって(どの情報を使って)判断するか、というお話です。 ロケール値が明示的に指定されていたら、そのロケールで表示 ロケール値を URL のクエリ(パラメータ)で指定 ロケール値を URL のパス名で指定(実態はクエリと同じ) ロケール値をセッション情報で指定 アクセス先のURLのドメイン名で判別(複数のドメイン名で運用している場合のみ) TLD(Top Level Domain)で判別 サブドメインで判別 接続元の情報に応じて、適切なロケールで表示 HTTP_ACCEPT_L

    sora_sono
    sora_sono 2012/11/08
    locale
  • [Rails3] 国際化 I18n のまとめ(その3:辞書ファイルの使い方)

    実行環境: ruby 1.9.3 Rails 3.1.3 I18n Railsアプリで表示を担当するのはビューなので国際化するのは当然ビューですね。ページに表示される文字すべてが対象となります。 ページに表示される文字をざっと分類してみましょう。 DBに格納されている文字列 HTMLに直接書く単語や文章 モデルの名前や属性の名前などモデルに関連する文字列 Railsのエラーメッセージ 1. DBに格納されている文字列 DBに格納されているデータを国際化(多言語化)する場合は、各ロケールごとのデータを用意する必要があります(日語だけなら不要です)。 シンプルな方法としては、テーブルに複数のロケール用データをカラムを増やして各ロケールのデータを格納します。 TABLEの構造 +------+----------+------------+ | id | hello_en | hello_ja

  • 1