mirror of
https://ghfast.top/https://github.com/discourse/discourse-translator.git
synced 2026-07-16 11:46:33 +08:00
21 lines
684 B
Ruby
21 lines
684 B
Ruby
# frozen_string_literal: true
|
|
|
|
module ::Jobs
|
|
class DetectTranslatableLanguage < ::Jobs::Base
|
|
def execute(args)
|
|
return unless SiteSetting.translator_enabled
|
|
|
|
return if !%w[Post Topic].include?(args[:type])
|
|
return if !args[:translatable_id].is_a?(Integer)
|
|
|
|
translatable = args[:type].constantize.find_by(id: args[:translatable_id])
|
|
return if translatable.blank?
|
|
begin
|
|
translator = DiscourseTranslator::Provider::TranslatorProvider.get
|
|
translator.detect(translatable)
|
|
rescue ::DiscourseTranslator::Provider::ProblemCheckedTranslationError
|
|
# problem-checked translation errors gracefully
|
|
end
|
|
end
|
|
end
|
|
end
|