我想将i18n应用于我的应用程序的根路径。 Rails i18n guides建议:
当然,您需要特别注意应用程序的根URL(通常是“主页”或“仪表板”)。像http://localhost:3001/nl这样的网址不会自动生效,因为您的routes.rb中的根目录:“books#index”声明不考虑区域设置。 (这是正确的:只有一个“根”URL。)
您可能需要映射以下网址:
# config/routes.rb
get "/:locale" => "dashboard#index"
但是,使用URL帮助程序时,此配置无法正常运行。以下内容生成带有查询字符串的URL:
root_path(locale: "fr") # => "/?locale=fr"
但我想在路径中使用语言环境生成一个URL:
/fr
答案 0 :(得分:1)
定义root
和locale_root
:
# config/routes.rb
root to: "dashboard#index"
scope "/:locale" do
get "/", to: "dashboard#index", as: :locale_root
end
然后,您可以使用locale_root_path
和locale_root_url
助手:
locale_root_path(locale: "fr") # => "/fr"