Commit 193ca6e

mo khan <mo@mokhan.ca>
2016-05-21 14:43:47
infer locale using accept language header.
1 parent 388e86a
Changed files (3)
app/controllers/concerns/internationalizationable.rb
@@ -19,10 +19,10 @@ module Internationalizationable
   end
 
   def with_locale
-    I18n.with_locale(params[:locale]) { yield }
+    I18n.with_locale(current_locale) { yield }
   end
 
-  def default_url_options(*)
-    { locale: I18n.locale }
+  def current_locale(locales = I18n.available_locales)
+    params[:locale] || http_accept_language.compatible_language_from(locales)
   end
 end
Gemfile
@@ -30,6 +30,7 @@ source 'https://rubygems.org' do
   gem 'griddler'
   gem 'griddler-sendgrid'
   gem 'groupdate'
+  gem 'http_accept_language'
   gem 'i18n-tasks', group: :development
   gem 'jbuilder', '~> 2.0'
   gem 'jquery-rails'
Gemfile.lock
@@ -188,6 +188,7 @@ GEM
       tilt
     highline (1.7.8)
     htmlentities (4.3.4)
+    http_accept_language (2.0.5)
     i18n (0.7.0)
     i18n-tasks (0.9.5)
       activesupport (>= 4.0.2)
@@ -455,6 +456,7 @@ DEPENDENCIES
   griddler!
   griddler-sendgrid!
   groupdate!
+  http_accept_language!
   i18n-tasks!
   jbuilder (~> 2.0)!
   jquery-rails!
@@ -497,4 +499,4 @@ DEPENDENCIES
   yelp!
 
 BUNDLED WITH
-   1.12.1
+   1.12.3