Я использую поддомены для определения локали на веб-сайте Rails 4. У меня это работает с переключателем локали именно так, как я этого хочу, но теперь мне нужно перевести маршруты, и я не уверен, как лучше поступить.
Я просмотрел https://github.com/kwi/i18n_routing гем маршрутизации i18n, но это не работает с субдоменами, это кажется, меняет путь, добавляя /locale, что мне не нужно.
Другие драгоценные камни, кажется, устарели с Rails 4.
Изменить
По сути, я хочу иметь возможность использовать одни и те же помощники представления, но изменить URL-адреса, чтобы использовать любой язык, отражаемый выбранным поддоменом. это как раз о переводе маршрута.
У меня есть шаблоны для конкретного языка, которые работают, и я могу создавать шаблоны навигации для конкретного языка, но мне бы очень хотелось не беспокоиться об изменении тегов erb path и url.
Завершить редактирование
Образец с route.rb
scope module: 'countries', shallow: true do
get 'south_american', to: 'south_america#index', as: :south_america
scope module: 'south_america' do
get 'south-america-weather', to: 'weather#index', as: :south_america_weather
get 'south-america-gps-maps', to: 'gps#index', as: :south_america_gps
get 'south-america-accommodation', to: 'hotels#index', as: :south_america_hotels
get 'south-america-vacations', to: 'vacations#index', as: :south_america_vacations
get 'south-america-facts', to: 'facts#index', as: :south_america_facts
end
Использование в качестве примера south_america_hotels_path создаст URL-адрес для
Южная Америка-размещение
это здорово, но как бы я перевел это, чтобы, когда я нахожусь на испанском субдомене, south_america_hotels_path генерировал следующий URL-адрес
отели в южной америке
ОБНОВЛЕНИЕ
Кроме того, как это будет работать для URL-адреса, а не просто для пути, чтобы генерировала south_america_hotels_url
en.some_site/южная-америка-размещение
и когда на испанском поддомене я получу
es.some_site/hoteles-en-sudamerica
и так далее для разных задействованных локалей.
Я с удовольствием использую файлы yml для переводов URL-адресов или для определения дополнительных маршрутов в файле route.rb, либо это вариант, но я бы предпочел определить URL-адреса в route.rb, но я не могу найти способ предоставить URL-адреса для конкретного языка для одного и того же параметра :as path/url на основе поддомена.
Обновление и дополнительные разъяснения в ответ на предыдущие ответы.
Изменение URL-адреса не вариант, они должны соответствовать существующим URL-адресам. Мне просто нужно знать, как перевести их с точки зрения хелперов без необходимости менять хелперы.