7

現在取り組んでいるRailsアプリにI18nサポートを追加し始めようとしています。以前は、URLからロケール値を設定していました。ロケールを永続化するのはどれほど悪い習慣になるのだろうかと思っていましたか?

したがって、このようなものの代わりに:

before_filter :set_locale

def set_locale
  I18n.locale = params[:locale] || I18n.default_locale
end

次のようなことをします

before_filter :set_locale

def set_locale
  I18n.locale = current_user.try(:locale) || I18n.default_locale
end

FBがロケールを保持しているように見えますが、このスキーマのトレードオフは何ですか?これはSEOにどのように影響しますか?

ありがとう!

4

1 に答える 1

9

私はこれらの問題に直面し、最終的にこの戦略を使用しました:

  • URL のロケール (ページのキャッシュと特定の言語での直接リンクを許可します)
  • ユーザー Cookie にロケールを保存する

URL にロケールが存在しない場合は、(順番に) 次を試してください。

  • クッキーから取得
  • 位置情報から推測
  • ブラウザのヘッダーから推測する 受け入れる言語
  • アプリのデフォルトにフォールバック

お役に立てば幸いです。詳細な点があれば教えてください。

于 2012-05-14T21:02:12.180 に答える