我即将开始为我正在开发的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中检索
>从地理位置猜测
>猜测从浏览器标题接受语言
>回退到应用程序默认值
希望有所帮助;如果你想要阐述任何要点,请告诉我.