What I’d like to be able to do is:
in config/routes.rb
resources :posts
in config/locale/en.yml
en:
resources:
posts: "posts"
new: "new"
edit: "edit"
in config/locale/tr.yml
tr:
resources:
posts: "yazilar"
new: "yeni"
edit: "duzenle"
and get
I18n.locale = :en
edit_post_path(3) #=> /posts/3/edit
I18n.locale = :tr
edit_post_path(3) #=> /yazilar/3/duzenle
I’d also like Rails to match any of these routes anytime and pass the associated locale in the params hash such that when I navigate to /yazilar , the request should be routed to the posts#index action with the :tr locale in the params hash.
Any simple or complex way of doing that?
There is also the i18n_routing plugin by Guillaume Luccisano at
http://github.com/kwi/i18n_routing that solves most of those problems
however, it currently lacks translating the action names like
../newand../edit. Guillaume says he will implement that “soon”, though.Update: Action name translating has been implemented in i18n_routing. Thanks Guillaume. 🙂