I have a website powered by refinerycms 2.1.0
.
I need to support 4 languages, so I use refinerycms-i18n 2.1.0
gem.
I have all the flags displaying in admin area, different versions of the pages seem to work.
I have my languages menu in header:
link_to "ESP", {:locale => :es}, :class => (params[:locale] == "es" ? 'selected' : nil)
the links are generated like this: mysite.com/es/...
.
For english locale, though, no :locale
parameter in url is set.
The problem is, for all the locales except english one, the links in navigation menu seem to be generated wrong: instead of slug, page id is used. Links look like .../es/<page_id>
or .../es/parent_page_slug/<page_id>
. And when I click them, 404 is rendered. For english locale everything is fine: .../parent_page_slug/child_page_slug
.
I do also have menu in footer, implemented like described here, and it works perfectly with all the locales.
My routes.rb:
get '/' => "application#index"
mount Refinery::Core::Engine, :at => '/'
Since 2.1.0
, as far as I understand, I don't even have access to _menu.html.erb file. What are my options? I'd be glad to provide you with more information if needed. Thank you for help!
Regarding the 404 error, it could be that you don't have content for other languages. Or if your are translating the title of page also, you might at least want to write the page title in different languages too.
Refinerycms 2.1.0 provides a different way of generating custom menus which is discussed here