用rails i18n翻译路径

时间:2015-02-08 19:44:58

标签: ruby-on-rails ruby-on-rails-4 localization internationalization rails-i18n

我有一个使用friendly_id和globalize运行的rails 4.0.0应用程序(即使freindly_id和globalize对于这个问题可能无关紧要)。

我的部分路线.rb是:

scope "(:locale)", locale: /en|de/ do
  resources :mainclasses, :path => :types
end

我现在想要":path => :类型"只是为了英文版(创建一个像www.website.com/types/etc这样的网址,德语版应该是":path =>:typen"(创建www.website.com/de/typen /等)。

有没有办法根据当前区域设置更改路径?

1 个答案:

答案 0 :(得分:0)

我建议你看看route_translator gem。它可以帮助您将路由转换为任何语言环境,使用范围或子域处理语言环境等。

从你的例子中,你会有这样的事情:

MyApp::Application.routes.draw do
  localized do
    resources :mainclasses, path: :types
  end
end

除了语言环境文件routes.yml

en:
  routes:
    types: types
de:
  routes:
    types: typen

希望它有所帮助。