diff --git a/app/services/user_locale_setter.rb b/app/services/user_locale_setter.rb index c3dee48bf7..99fcd57e4e 100644 --- a/app/services/user_locale_setter.rb +++ b/app/services/user_locale_setter.rb @@ -9,11 +9,7 @@ class UserLocaleSetter def call save_locale_from_params - - # After logging in, check if the user chose a locale before - if current_user_locale.nil? && cookies[:locale] && available_locale?(params_locale) - current_user&.update!(locale: params_locale) - end + save_locale_from_cookies I18n.locale = valid_current_locale end @@ -47,6 +43,13 @@ class UserLocaleSetter cookies[:locale] = params_locale end + def save_locale_from_cookies + return unless current_user_locale.nil? && cookies[:locale] && + available_locale?(params_locale) + + current_user&.update!(locale: params_locale) + end + def available_locale?(locale) self.class.available_locale?(locale) end