diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/translate_status_service.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/app/services/translate_status_service.rb b/app/services/translate_status_service.rb index b375226be..539a0d9db 100644 --- a/app/services/translate_status_service.rb +++ b/app/services/translate_status_service.rb @@ -3,13 +3,16 @@ class TranslateStatusService < BaseService CACHE_TTL = 1.day.freeze + include FormattingHelper + def call(status, target_language) raise Mastodon::NotPermittedError unless status.public_visibility? || status.unlisted_visibility? @status = status + @content = status_content_format(@status) @target_language = target_language - Rails.cache.fetch("translations/#{@status.language}/#{@target_language}/#{content_hash}", expires_in: CACHE_TTL) { translation_backend.translate(@status.text, @status.language, @target_language) } + Rails.cache.fetch("translations/#{@status.language}/#{@target_language}/#{content_hash}", expires_in: CACHE_TTL) { translation_backend.translate(@content, @status.language, @target_language) } end private @@ -19,6 +22,6 @@ class TranslateStatusService < BaseService end def content_hash - Digest::SHA256.base64digest(@status.text) + Digest::SHA256.base64digest(@content) end end |