簡體   English   中英

Rails 4和route_translator gem

[英]Rails 4 and route_translator gem

我正在使用路線翻譯器gem來翻譯路線,但無法按照自己的方式進行操作。

所以基本上我安裝了gem並將路線插入

    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"}

在我的haml視圖中,我使用link_to導航到新頁面。 英文是我的默認語言,所以我的默認路由是user_path,但是如果我使用其他語言的頁面(例如/ cs / home),則所有翻譯均有效(t('要翻譯的單詞')內的文本有效,但鏈接沒有翻譯,如果我單擊它,則進入/ users頁面,而不是/ cs / users頁面

我怎樣才能解決這個問題?

我試圖將語言環境放在變量“ users _#{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

謝謝。

嘗試在RouteTranslator.config添加它:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM