aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/concerns/localized.rb
diff options
context:
space:
mode:
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