Ruby on rails 4 I18n线路轨道
我想用英语编程,但我的输出路径必须是另一种语言 今天,我使用以下方法,我没有得到Ruby on rails 4 I18n线路轨道,ruby-on-rails-4,routes,rails-i18n,Ruby On Rails 4,Routes,Rails I18n,我想用英语编程,但我的输出路径必须是另一种语言 今天,我使用以下方法,我没有得到索引操作和新建和编辑仍然缺少翻译。我尝试使用测试:一:另一:,但没有成功 resource :activities, path: I18n.t('routes.test') # config/routes.rb activities POST /teste(.:format) activities#create new_activities GET /teste/new
索引
操作和新建
和编辑
仍然缺少翻译。我尝试使用测试:一:另一:
,但没有成功
resource :activities, path: I18n.t('routes.test')
# config/routes.rb
activities POST /teste(.:format) activities#create
new_activities GET /teste/new(.:format) activities#new
edit_activities GET /teste/edit(.:format) activities#edit
GET /teste(.:format) activities#show
PATCH /teste(.:format) activities#update
PUT /teste(.:format) activities#update
DELETE /teste(.:format) activities#destroy
# config/locales/routes.yml
fr:
routes:
test: "teste"
我如何才能做到这一点?您应该创建一个routes.yml文件,其中routes:作为主键,并且您要将这些路由翻译更深一层
# config/locales/routes.yml
routes:
activities: "something_else"
在routes.rb中这样称呼它
resources :activities, path: I18n.t('activities', locale: :routes)
那么您就独立于I18n.locale中设置的语言
输出如下所示:
Prefix Verb URI Pattern Controller#Action
activities GET /something_else(.:format) activities#index
POST /something_else(.:format) activities#create
new_activity GET /something_else/new(.:format) activities#new
edit_activity GET /something_else/:id/edit(.:format) activities#edit
activity GET /something_else/:id(.:format) activities#show
PATCH /something_else/:id(.:format) activities#update
PUT /something_else/:id(.:format) activities#update
DELETE /something_else/:id(.:format) activities#destroy
编辑:如果您还想翻译新内容并进行编辑,您可以执行以下操作:
scope(path_names: { new: I18n.t('new', locale: :routes), edit: I18n.t('edit', locale: :routes) }) do
resources :activities, path: I18n.t('activities', locale: :routes)
end
或者您可以在routes.rb中重写它,就像在中提到的那样。您应该创建一个routes.yml文件,将routes:作为主键,并将您要转换的路由更深一层
# config/locales/routes.yml
routes:
activities: "something_else"
在routes.rb中这样称呼它
resources :activities, path: I18n.t('activities', locale: :routes)
那么您就独立于I18n.locale中设置的语言
输出如下所示:
Prefix Verb URI Pattern Controller#Action
activities GET /something_else(.:format) activities#index
POST /something_else(.:format) activities#create
new_activity GET /something_else/new(.:format) activities#new
edit_activity GET /something_else/:id/edit(.:format) activities#edit
activity GET /something_else/:id(.:format) activities#show
PATCH /something_else/:id(.:format) activities#update
PUT /something_else/:id(.:format) activities#update
DELETE /something_else/:id(.:format) activities#destroy
编辑:如果您还想翻译新内容并进行编辑,您可以执行以下操作:
scope(path_names: { new: I18n.t('new', locale: :routes), edit: I18n.t('edit', locale: :routes) }) do
resources :activities, path: I18n.t('activities', locale: :routes)
end
或者您可以在routes.rb中重写它,就像在中提到的那样。您应该创建一个routes.yml文件,将routes:作为主键,并将您要转换的路由更深一层
# config/locales/routes.yml
routes:
activities: "something_else"
在routes.rb中这样称呼它
resources :activities, path: I18n.t('activities', locale: :routes)
那么您就独立于I18n.locale中设置的语言
输出如下所示:
Prefix Verb URI Pattern Controller#Action
activities GET /something_else(.:format) activities#index
POST /something_else(.:format) activities#create
new_activity GET /something_else/new(.:format) activities#new
edit_activity GET /something_else/:id/edit(.:format) activities#edit
activity GET /something_else/:id(.:format) activities#show
PATCH /something_else/:id(.:format) activities#update
PUT /something_else/:id(.:format) activities#update
DELETE /something_else/:id(.:format) activities#destroy
编辑:如果您还想翻译新内容并进行编辑,您可以执行以下操作:
scope(path_names: { new: I18n.t('new', locale: :routes), edit: I18n.t('edit', locale: :routes) }) do
resources :activities, path: I18n.t('activities', locale: :routes)
end
或者您可以在routes.rb中重写它,就像在中提到的那样。您应该创建一个routes.yml文件,将routes:作为主键,并将您要转换的路由更深一层
# config/locales/routes.yml
routes:
activities: "something_else"
在routes.rb中这样称呼它
resources :activities, path: I18n.t('activities', locale: :routes)
那么您就独立于I18n.locale中设置的语言
输出如下所示:
Prefix Verb URI Pattern Controller#Action
activities GET /something_else(.:format) activities#index
POST /something_else(.:format) activities#create
new_activity GET /something_else/new(.:format) activities#new
edit_activity GET /something_else/:id/edit(.:format) activities#edit
activity GET /something_else/:id(.:format) activities#show
PATCH /something_else/:id(.:format) activities#update
PUT /something_else/:id(.:format) activities#update
DELETE /something_else/:id(.:format) activities#destroy
编辑:如果您还想翻译新内容并进行编辑,您可以执行以下操作:
scope(path_names: { new: I18n.t('new', locale: :routes), edit: I18n.t('edit', locale: :routes) }) do
resources :activities, path: I18n.t('activities', locale: :routes)
end
或者您可以在routes.rb中重写它,如中所述