레일즈 4 웹 사이트에서 로케일을 결정하기 위해 서브 도메인을 사용하고 있습니다. 로케일 스위처와 정확히 같은 방식으로 작업 할 수 있지만, 이제는 경로를 번역해야하므로 계속 진행하는 것이 가장 좋은 방법인지 확신 할 수 없습니다.레일 4 i18n, 로케일에 서브 도메인이 사용되는 경로를 변환하는 방법
i18n 라우팅 보석을 보았습니다.하지만 이것은 하위 도메인과 호환되지 않습니다./locale을 추가하여 경로를 변경하는 것처럼 보입니다.
다른 보석 레일 오래된 것 같다 4.
편집 나는 동일한 뷰 헬퍼를 사용할 수 있도록 싶지만 URL이 반영되어 어떤 언어를 사용하도록 변경해야 기본적으로
선택한 하위 도메인별로 이것은 단지 경로 번역에 관한 것입니다.
은 내가 언어 spevific 탐색 템플릿을 생성 할 수 있습니다 작업과 언어 별 템플릿을 가지고 있지만 난 정말 ERB 경로 및 URL ERB 태그에게 최종 편집
변경에 대해 걱정할 필요가 없습니다 싶습니다 예를 들어 south_america_hotels_path을 사용 routes.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
에서 샘플
의 URL을 생성합니다남쪽 미국 - 숙박 시설 훌륭하지만 스페인 하위 도메인 south_america_hotels_path 오전 때
HOTELES-KO-sudamerica 다음 URL을 생성 할 수 있도록 내가이 번역 얼마나
UPDATE
URL에이 작품이 아니라 단지 경로보다 south_america_hotels_url가 나는 것 스페인 하위 도메인에en.some_site/남쪽 미국 - 숙박 시설
때를 생성 할 수 있도록하는 방법 또한
관련된 다른 로케일에 대해서는es.some_site/HOTELES-KO-sudamerica을 얻을
등이 있습니다.
urls의 번역을 위해 yml 파일을 사용하거나 routes.rb 파일에서 추가 경로를 정의하는 것이 기쁩니다. 어느 것이 든 옵션이지만 routes.rb에 URL을 정의하는 것을 선호하지만 하위 도메인을 기반으로하는 path/url 옵션과 동일한 언어 별 URL을 제공 할 수있는 방법을 찾을 수 없습니다.
이전 답글에 대한 응답으로 업데이트 및 추가 설명.
URL을 변경하는 것은 옵션이 아닙니다. 기존 URL과 일치해야합니다. 보기 도우미를 변경하지 않고보기 도우미 포인트에서 변환하는 방법을 알아야합니다.
[Rails i18n 가이드] (http://guides.rubyonrails.org/i18n.html)를 보셨습니까? 로케일 설정을 위해 하위 도메인을 사용하는 방법을 설명합니다.라우트를 번역하는 것은 Rails가 기본적으로하지 않는 것입니다. 그것을 위해 [rails-translate-routes] (https://github.com/francesc/rails-translate-routes) 또는 [route_translator] (https://github.com/enriclluelles/route_translator)를보십시오. – janfoeh
@janfoeh 전 서브 도메인을 다루는 방식에 완전히 만족합니다. 문제를 일으키는 경로 번역 일뿐입니다. 당신이 가리키는 보석은 내 필요에 맞지 않습니다. 확실히 이것은 보석을 사용하지 않고 할 수 있습니다 – jamesc