1

경로 번역기 gem을 사용하여 경로를 번역하고 있지만 원하는대로 작동하지 않습니다.레일 4 및 route_translator gem

그래서 기본적으로 나는 보석을 설치하고

localized do 
    end 

에 경로를 삽입 그리고 지금은 새로운 페이지로 이동합니다 내가 LINK_TO를 사용하여 내 HAML 전망이

users_en GET /en/users(.:format)        users#index {:locale=>"en"} 
    users_cs GET /cs/users(.:format)        users#index {:locale=>"cs"} 
    users_de GET /de/users(.:format)        users#index {:locale=>"de"} 

같은 경로를 가지고 . 영어가 기본 언어이므로 내 기본 경로는 user_path이지만,/cs/home과 같은 다른 언어의 페이지에있는 경우 모든 번역 작업이 수행됩니다 (번역 할 단어 '안에있는 텍스트)는 작동하지만 링크는 작동합니다 번역 나는 그것을 클릭하면 내가 페이지/사용자를 얻을 수 없습니다/CS/사용자

나는이 문제를 해결할 수있는 방법

은?

나는 변수 의 이름 내부의 로케일을 넣어 시도되지 않습니다 "users _ # {locale} _path" 그리고 나서 값을 추출하고 어떻게 할 수 있는지에 대한 답을 얻습니다. (이제는 문자열이 있고/links는/users_cs_path처럼 보입니다)

So , 내 질문은 : 1. 내가 잘못하고있는 것입니까? 2. "사용자 _ # {locale} 경로"과 같이 haml에서 문자열을 만든 다음 변수 이름으로 사용하여 값을 얻으십시오. "# {users # {locale} _path"} (예, 작동하지 않음). 내 locale.rb에서

나는 나의 route_translator.rb

RouteTranslator.config do |config| 
     config.force_locale = true 
     #config.locale_param_key = :locale 
     config.generate_unlocalized_routes = true 
    end 

덕분에

# tell the I18n library where to find your translations 
    I18n.load_path += Dir[Rails.root.join('lib', 'locale', '*.{rb,yml}')] 

    # set default locale to something other than :en 
    I18n.default_locale = :en 

그리고

있습니다. RouteTranslator.config이 추가

+0

당신은 링크가 부적절하지 지역화 된 URL이 건가요, 아니면 거기에 부적절한 텍스트가? – gmile

+0

링크의 URL이 현지화되지 않았습니다. http : // localhost : 3000/cs 페이지에 대한 링크 URL은 http : // localhost : 3000/cs/about_translation이어야하지만 http : // localhost : 3000/about입니다. 왜냐하면 나는 about_path를 가지고 있지만 link_to t (about)에 about_cs_path가 있어야합니다. about_path –

답변

1

봅니다 :

RouteTranslator.config do |config| 
    config.generate_unnamed_unlocalized_routes = true 
end 
+0

고마워요 !!!! 그것은 실제로 트릭을했습니다. 그러나 또 다른 문제가있었습니다. 3.1.0 버전 (사용 가능한 보석 버전)을 사용하고 있었고이 버전에는 config.generate_unnamed_unlocalized_routes가 없었습니다. 방금 github에서 버전을 다운로드하고 추가해야했습니다. –