【问题标题】:Rails internationalizationRails 国际化
【发布时间】:2011-07-16 02:46:05
【问题描述】:

我正在按照http://guides.rubyonrails.org/i18n.html 的指南添加几个翻译到我的页面,使用“http://mysite/en/page”并且一切正常,除了我是无法将语言切换器添加到我的页面。

我想转到我正在显示但使用其他语言的同一页面。为此,我认为我应该使用相同的 url,除了 :locale 参数。如何通过 link_to 调用来做到这一点?

真是个愚蠢的问题,但我刚刚开始使用 Rails,我被它困住了。

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 internationalization


    【解决方案1】:

    要链接到具有不同区域设置的当前页面,请仅使用带有区域设置参数的 url_for:

    url_for(:locale => "de")
    

    这将保留任何其他 URL 参数。因此,例如,要提供指向当前页面的德语版本的链接:

    link_to "German version", url_for(:locale => "de")
    

    【讨论】:

      【解决方案2】:

      您可以使用额外的方法来设置用户的本地无缝(它将存储在 cookie/会话中)为

      controllers/application.rb

      before_filter :set_user_language
      def set_user_language
        I18n.locale = current_user.language if logged_in?
      end
      

      请查看更多详情at Railscasts.com

      【讨论】:

      • 这也很好。但是现在我的页面真的很简单。希望很快会添加新功能!谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多