我正在使用路线翻译宝石翻译我的路线,但我无法以我想要的方式工作。
所以基本上我安装了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中的文本('word to translate')有效,但是链接不会被翻译,如果我点击它我会进入页面/用户而不是/ cs / users
我该如何解决这个问题?
我尝试将语言环境置于变量“users _#{locale} _path”的名称中,然后将值提取出来,我无法得到如何解决这个问题的答案(现在我只有一个字符串,我的链接看起来像/ users_cs_path)。
所以,我的问题是: 我这样做是错误的吗? 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
感谢。
答案 0 :(得分:1)
尝试在RouteTranslator.config
:
RouteTranslator.config do |config|
config.generate_unnamed_unlocalized_routes = true
end