ruby-on-rails – Rails持久化语言环境

我即将开始为我正在开发的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的东西?

谢谢!

解决方法

我遇到了这些问题并最终使用了这个策略:

> URL中的语言环境(允许页面缓存和特定语言的直接链接)
>将区域设置存储在用户cookie中

如果URL中不存在区域设置,请尝试(按顺序):

>从cookie中检索
>从地理位置猜测
>猜测从浏览器标题接受语言
>回退到应用程序默认值

希望有所帮助;如果你想要阐述任何要点,请告诉我.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...