Skip to content

Instantly share code, notes, and snippets.

@twinge
Created January 15, 2009 16:20
Show Gist options
  • Save twinge/47465 to your computer and use it in GitHub Desktop.
Save twinge/47465 to your computer and use it in GitHub Desktop.
def set_locale
locales = ['en-US', 'en-AU']
begin
# Try to auto-detect it
if request.headers['Accept-Language']
browser_language = request.headers['Accept-Language'].split(',')[0]
browser_language = browser_language.split('-')[0] + '-' + browser_language.split('-')[1].upcase
session[:locale] = browser_language
end
session[:locale] = params[:locale] if params[:locale]
session[:locale] = 'en-AU' if session[:locale] == 'en-GB'
I18n.locale = locales.include?(session[:locale]) ? session[:locale] : I18n.default_locale
rescue
I18n.locale = I18n.default_locale
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment