微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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中检索
>从地理位置猜测
>猜测从浏览器标题接受语言
>回退到应用程序认值

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

原文地址:https://www.jb51.cc/ruby/264439.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐