【问题标题】:How to use per directory url structure for Rails internationalization如何使用每个目录 url 结构进行 Rails 国际化
【发布时间】:2012-01-31 15:55:33
【问题描述】:

我正在第一次将 Rails 应用程序 (3.1) 国际化,我想使用以下 url 结构:

www.domain.com/rest-of-url for english (default language)
www.domain.com/es/rest-of-url for spanish

我似乎找不到任何有关如何执行此操作的信息。我想我必须处理我的 ApplicationController 和路由文件,但我很容易迷失后者,所以请解释你的解决方案。

非常感谢

【问题讨论】:

    标签: ruby-on-rails internationalization routes


    【解决方案1】:

    指南中有一些关于如何将 i18n 集成到您的 rails 应用程序中的不错示例:http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-url-params

    简而言之就是

    # app/controllers/application_controller.rb
    def default_url_options(options={})
      logger.debug "default_url_options is passed options: #{options.inspect}\n"
      { :locale => I18n.locale }
    end
    

    -

    # config/routes.rb
    scope "(:locale)", :locale => /en|es/ do
      resources :books
    end
    

    【讨论】:

    • 谢谢,但我已经阅读了该指南,但由于某种原因对我不起作用。另外,这不会让我的两种语言的 url 结构都使用子目录吗?
    • 那么我是否必须将所有路线都放在该范围内?我真的不明白该代码的作用......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    相关资源
    最近更新 更多