我正在使用路由翻譯寶石來翻譯我的路線,但我不能以我想要的方式工作。Rails 4和route_translator寶石
所以基本上我安裝了寶石和插入路由到
localized do
end
現在我有這樣
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"}
在我使用的link_to我HAML意見路線導航到一個新的一頁。英語是我的默認語言,所以我的默認路由是user_path,但是如果我在不同語言的頁面(如/ cs/home)上,所有翻譯都可以工作(t中的文本('要翻譯的單詞'),但鏈接沒有得到翻譯,如果我點擊它,我得到的頁面/用戶,而不是/ CS /用戶
我該如何解決這個問題?
我試圖把語言環境的變量名內「用戶_#{locale} _path」然後提取出來的價值,把我不能得到一個答案,如何做到這一點(現在我只是一個字符串,我的鏈接看起來像/ users_cs_path)
所以,我的問題是: 1.我這樣做是錯誤的嗎? 2.如何在haml中創建一個字符串,如「users _#{locale} path」,然後將其用作變量名稱以得到如下值:「#{users#{locale} _path」}(但是,這是行不通的)。
在我locale.rb我有
# 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
在我route_translator.rb
RouteTranslator.config do |config|
config.force_locale = true
#config.locale_param_key = :locale
config.generate_unlocalized_routes = true
end
感謝。
你是說該鏈接有不當,沒有本地化的URL,或有不當的文字呢? – gmile
鏈接中的網址未本地化。我在頁面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 –