about summary refs log tree commit diff
path: root/app/controllers/concerns/localized.rb
diff options
context:
space:
mode:
authorEugen <eugen@zeonfederated.com>2017-04-07 13:08:27 +0200
committerGitHub <noreply@github.com>2017-04-07 13:08:27 +0200
commit10459241a89b1ebf57986ee3bb81361475d19212 (patch)
tree1404ccf4bffcf332bf46ddcb58650afc9d3eea40 /app/controllers/concerns/localized.rb
parent786e6f94b986dbf98eae9d79bc75e147fcefc8ec (diff)
parent0adee18d73daef653379d7635c8bc972c563bcd4 (diff)
Merge pull request #1145 from tootsuite/feature-customized-default-locale
Allow setting of default language through config
Diffstat (limited to 'app/controllers/concerns/localized.rb')
-rw-r--r--app/controllers/concerns/localized.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/concerns/localized.rb b/app/controllers/concerns/localized.rb
new file mode 100644
index 000000000..b6f868090
--- /dev/null
+++ b/app/controllers/concerns/localized.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+module Localized
+  extend ActiveSupport::Concern
+
+  included do
+    before_action :set_locale
+  end
+
+  def set_locale
+    I18n.locale = current_user.try(:locale) || default_locale
+  rescue I18n::InvalidLocale
+    I18n.locale = default_locale
+  end
+
+  def default_locale
+    ENV.fetch('DEFAULT_LOCALE') { I18n.default_locale }
+  end
+end