如何为rails国际化添加扩展?

时间:2016-04-23 16:16:31

标签: ruby-on-rails ruby-on-rails-4 routes internationalization

现在我的rails应用程序适用于两种语言。 Eng和Rus。

但是app现在不代表网址中的语言:example.com/posts适用于eng和rus,但我需要example.com/ru/posts并定期使用英文版example.com/posts

我该怎么做?

路线档案:

  root 'static_pages#home'
  get 'about' => 'static_pages#about'
  get 'contact' => 'static_pages#contact'

  get '/change_locale/:locale', to: 'settings#change_locale', as: :change_locale

1 个答案:

答案 0 :(得分:4)

Rails guides涵盖了此案例并提供了示例。

# app/controllers/application_controller.rb
def default_url_options(options = {})
  { locale: I18n.locale }.merge options
end

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

get '/:locale' => 'your_root#page_action'