about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-10-24 18:37:57 +0200
committerGitHub <noreply@github.com>2022-10-24 18:37:57 +0200
commit30453fab80d55fc10766f0e067c31d96753ccfda (patch)
treef20ba5b906a1844061706f7dca462c158a94bc77
parent8046cf34d68209b39845e07a9d2db40926cc5512 (diff)
Add mention of the translation provider when translating a post (#19433)
-rw-r--r--app/javascript/mastodon/components/status_content.js2
-rw-r--r--app/lib/translation_service/deepl.rb2
-rw-r--r--app/lib/translation_service/libre_translate.rb2
-rw-r--r--app/lib/translation_service/translation.rb2
-rw-r--r--app/serializers/rest/translation_serializer.rb2
5 files changed, 5 insertions, 5 deletions
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js
index 0ed79e658..56e8432b6 100644
--- a/app/javascript/mastodon/components/status_content.js
+++ b/app/javascript/mastodon/components/status_content.js
@@ -208,7 +208,7 @@ class StatusContent extends React.PureComponent {
 
     const translateButton = (
       <button className='status__content__read-more-button' onClick={this.handleTranslate}>
-        {status.get('translation') ? <span><FormattedMessage id='status.translated_from' defaultMessage='Translated from {lang}' values={{ lang: languageName }} /> · <FormattedMessage id='status.show_original' defaultMessage='Show original' /></span> : <FormattedMessage id='status.translate' defaultMessage='Translate' />}
+        {status.get('translation') ? <span><FormattedMessage id='status.translated_from_with' defaultMessage='Translated from {lang} using {provider}' values={{ lang: languageName, provider: status.getIn(['translation', 'provider']) }} /> · <FormattedMessage id='status.show_original' defaultMessage='Show original' /></span> : <FormattedMessage id='status.translate' defaultMessage='Translate' />}
       </button>
     );
 
diff --git a/app/lib/translation_service/deepl.rb b/app/lib/translation_service/deepl.rb
index b75b604a8..537fd24c0 100644
--- a/app/lib/translation_service/deepl.rb
+++ b/app/lib/translation_service/deepl.rb
@@ -46,7 +46,7 @@ class TranslationService::DeepL < TranslationService
 
     raise UnexpectedResponseError unless json.is_a?(Hash)
 
-    Translation.new(text: json.dig('translations', 0, 'text'), detected_source_language: json.dig('translations', 0, 'detected_source_language')&.downcase)
+    Translation.new(text: json.dig('translations', 0, 'text'), detected_source_language: json.dig('translations', 0, 'detected_source_language')&.downcase, provider: 'DeepL.com')
   rescue Oj::ParseError
     raise UnexpectedResponseError
   end
diff --git a/app/lib/translation_service/libre_translate.rb b/app/lib/translation_service/libre_translate.rb
index 8cf26f868..43576e306 100644
--- a/app/lib/translation_service/libre_translate.rb
+++ b/app/lib/translation_service/libre_translate.rb
@@ -37,7 +37,7 @@ class TranslationService::LibreTranslate < TranslationService
 
     raise UnexpectedResponseError unless json.is_a?(Hash)
 
-    Translation.new(text: json['translatedText'], detected_source_language: source_language)
+    Translation.new(text: json['translatedText'], detected_source_language: source_language, provider: 'LibreTranslate')
   rescue Oj::ParseError
     raise UnexpectedResponseError
   end
diff --git a/app/lib/translation_service/translation.rb b/app/lib/translation_service/translation.rb
index a55b82574..19318c7e9 100644
--- a/app/lib/translation_service/translation.rb
+++ b/app/lib/translation_service/translation.rb
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
 class TranslationService::Translation < ActiveModelSerializers::Model
-  attributes :text, :detected_source_language
+  attributes :text, :detected_source_language, :provider
 end
diff --git a/app/serializers/rest/translation_serializer.rb b/app/serializers/rest/translation_serializer.rb
index a06f23f32..05ededc95 100644
--- a/app/serializers/rest/translation_serializer.rb
+++ b/app/serializers/rest/translation_serializer.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 class REST::TranslationSerializer < ActiveModel::Serializer
-  attributes :content, :detected_source_language
+  attributes :content, :detected_source_language, :provider
 
   def content
     object.text