diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index 69dc18e87d..68e73d3b46 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -2,6 +2,7 @@ class UpdateStatusService < BaseService include Redisable + include LanguagesHelper # @param [Status] status # @param [Integer] account_id @@ -95,16 +96,12 @@ class UpdateStatusService < BaseService @status.text = @options[:text].presence || @options.delete(:spoiler_text) || '' @status.spoiler_text = @options[:spoiler_text] || '' @status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? - @status.language = language_from_option || @status.language + @status.language = valid_locale_or_nil(@options[:language] || @status.language || @status.account.user&.preferred_posting_language || I18n.default_locale) @status.edited_at = Time.now.utc @status.save! end - def language_from_option - ISO_639.find(@options[:language])&.alpha2 - end - def reset_preview_card! return unless @status.text_previously_changed?