Локализация в javascript в Ruby on Rails

При разработке многоязычного приложения мы рано или поздно столкнемся с необходимостью локализации строк используемых в javascript. В Ruby on Rails для этих целей есть замечательный гем i18n-js. Мне понадобилось некоторое время, чтобы разобраться как он работает, не смотря на наличие документации. В какой-то момент я даже было подумал, что это безнадежный вариант и чуть было не бросил эту затею, хотя на самом деле все оказалось просто.

Локализуем надписи select2 из примера одной из предыдущих статей.

Хитрые роуты с локалями в Ruby on Rails

  scope "/:locale", locale: /#{I18n.available_locales.join("|")}/ do
    resources :posts
    root to: redirect("/%{locale}/posts", status: 302)
  end
  root to: redirect("/#{I18n.default_locale}", status: 302), as: :redirected_root
  get "/*path", to: redirect("/#{I18n.default_locale}/%{path}", status: 302), constraints: {path: /(?!(#{I18n.available_locales.join("|")})/).*/}, format: false

Рассмотрим вышеуказанный кусок кода из файла config/routes.rb и построчно изучим что же он делает.