使用 rails i18n 翻译路径
Translate path with rails i18n
我有一个 rails 4.0.0 应用 运行 friendly_id 和全球化(即使 freindly_id 和全球化对这个问题可能无关紧要)。
我的部分routes.rb是:
scope "(:locale)", locale: /en|de/ do
resources :mainclasses, :path => :types
end
我现在想要“:path => :types”只是为了英文版(创建一个 url 像 www.website.com/types/etc,德文版应该是 ":path => :typen" (创建 www.website.com/de/typen/etc).
有没有办法根据当前语言环境更改路径?
我建议你看看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
希望对您有所帮助。
我有一个 rails 4.0.0 应用 运行 friendly_id 和全球化(即使 freindly_id 和全球化对这个问题可能无关紧要)。
我的部分routes.rb是:
scope "(:locale)", locale: /en|de/ do
resources :mainclasses, :path => :types
end
我现在想要“:path => :types”只是为了英文版(创建一个 url 像 www.website.com/types/etc,德文版应该是 ":path => :typen" (创建 www.website.com/de/typen/etc).
有没有办法根据当前语言环境更改路径?
我建议你看看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
希望对您有所帮助。