mirror of
https://ghfast.top/https://github.com/discourse/discourse-translator.git
synced 2026-07-16 11:46:33 +08:00
Doing some cleanup - `experimental_topic_translation` becomes `experimental_inline_translation` - `translator` becomes `translator_provider` - DualText translation is now Parallel Translation (the feature where translation is appended to the post, rather than shown inline) - Unused `translate_posts_to_languages` removed
21 lines
690 B
Ruby
21 lines
690 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::#{SiteSetting.translator_provider}".constantize
|
|
translator.detect(translatable)
|
|
rescue ::DiscourseTranslator::ProblemCheckedTranslationError
|
|
# problem-checked translation errors gracefully
|
|
end
|
|
end
|
|
end
|
|
end
|