]> cat aescling's git repositories - mastodon.git/commitdiff
Support explicitly supplying language code for status via REST API (#7389)
authorEugen Rochko <eugen@zeonfederated.com>
Mon, 7 May 2018 07:30:53 +0000 (09:30 +0200)
committerGitHub <noreply@github.com>
Mon, 7 May 2018 07:30:53 +0000 (09:30 +0200)
app/services/post_status_service.rb

index 9d2c7a4dc58ec085c3e42575ecfd056805e1a734..3080fb24473679f91784abff13b8ed6234ecb3ef 100644 (file)
@@ -31,7 +31,7 @@ class PostStatusService < BaseService
                                         sensitive: (options[:sensitive].nil? ? account.user&.setting_default_sensitive : options[:sensitive]),
                                         spoiler_text: options[:spoiler_text] || '',
                                         visibility: options[:visibility] || account.user&.setting_default_privacy,
-                                        language: LanguageDetector.instance.detect(text, account),
+                                        language: language_from_option(options[:language]) || LanguageDetector.instance.detect(text, account),
                                         application: options[:application])
     end
 
@@ -65,6 +65,10 @@ class PostStatusService < BaseService
     media
   end
 
+  def language_from_option(str)
+    ISO_639.find(str)&.alpha2
+  end
+
   def process_mentions_service
     ProcessMentionsService.new
   end