如题,国际化的 locale 值是用实例变量保存到 applicationController 中吗,然后在视图中取,or 还是有其他方法呢?
/config/locales/*.yml 这是在 view 层使用的啊,跟 controller 没关系
/config/locales/*.yml
#1 楼 @dddd1919 就是我要在地址里面写用户当前选择的语言的嘛?
#2 楼 @egg_show 你的意思是可以根据用户的访问路径或 ip 之类的自动切换语言么?看 这个
#3 楼 @dddd1919 放在 session 里面啊?
有多种方式可以保存,具体看 Rails Guides
#4 楼 @egg_show 比较常见的有: 1) 放在域名里边 (http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-domain-name) 比如 zh.example.com 2) 放在参数字符串里边(http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-url-params) 比如 www.example.com/orders/?locale=zh-CN 3) 放在请求的 Header 里边(http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-client-supplied-information) 4) 放在 session 里边(这个最不推荐,不利于 SEO,而且每次 session 过期之后,用户都得重新选择语言)
这么详细,应该能满足楼主要求了吧?