Hi, I am trying to use i18n in rails. I want the language to be set first from params[:locale] (probably already in the url) then from the browser http header and lastly from the default_locale. Everything is fine. Now the problem starts, when I want to add a dropdown list to allow the user to change the locale. How do I force the page to reload with the new Locale? FYI, I tried using .js and forcing a page.reload. The result was that the it kept the same locale in the url after the reload. Any ideas?
Why don't you just do a simple form that does a GET to the same page with the locale as a parameter?
You say it's first set from params[:locale]
So all you need to do is open page with ?locale=xx
Hi,
Here are some some commits with example code for what you are after written by my coworker Kieran for the open source Kete app:
http://github.com/kete/kete/commit/f3a5f91a30acb5335e2084a5f761855261935870
http://github.com/kete/kete/commit/0fe07a875eb14a79d566e41d790b7a4342528eb6
http://github.com/kete/kete/commit/de005f8f5e42b7d32c71371fb5155cc4939986a4
If Javascript is enabled, changing the drop down value will result in a redirect to the page with chosen locale set. If javascript is disabled, a button is added so that the form can be submitted.
Note that available locales are pulled from a config/locales.yml file.
Hope this helps,
Walter