@@ -10,27 +10,13 @@ def self.language_supported?(detected_lang)
10
10
end
11
11
12
12
def self . detect! ( topic_or_post )
13
- unless required_settings_enabled
14
- raise TranslatorError . new (
15
- I18n . t (
16
- "translator.discourse_ai.ai_helper_required" ,
17
- { base_url : Discourse . base_url } ,
18
- ) ,
19
- )
20
- end
13
+ required_settings_enabled!
21
14
22
15
::DiscourseAi ::LanguageDetector . new ( text_for_detection ( topic_or_post ) ) . detect
23
16
end
24
17
25
18
def self . translate_translatable! ( translatable , target_locale_sym = I18n . locale )
26
- unless required_settings_enabled
27
- raise TranslatorError . new (
28
- I18n . t (
29
- "translator.discourse_ai.ai_helper_required" ,
30
- { base_url : Discourse . base_url } ,
31
- ) ,
32
- )
33
- end
19
+ required_settings_enabled!
34
20
35
21
language = get_language_name ( target_locale_sym )
36
22
translated =
@@ -51,11 +37,25 @@ def self.translate_translatable!(translatable, target_locale_sym = I18n.locale)
51
37
DiscourseTranslator ::TranslatedContentNormalizer . normalize ( translatable , translated )
52
38
end
53
39
40
+ def self . translate_text! ( text , target_locale_sym = I18n . locale )
41
+ required_settings_enabled!
42
+
43
+ language = get_language_name ( target_locale_sym )
44
+ ::DiscourseAi ::ShortTextTranslator . new ( text , language ) . translate
45
+ end
46
+
54
47
private
55
48
56
- def self . required_settings_enabled
57
- SiteSetting . translator_enabled && SiteSetting . translator_provider == "DiscourseAi" &&
58
- SiteSetting . discourse_ai_enabled && SiteSetting . ai_helper_enabled
49
+ def self . required_settings_enabled!
50
+ unless SiteSetting . translator_enabled && SiteSetting . translator_provider == "DiscourseAi" &&
51
+ SiteSetting . discourse_ai_enabled && SiteSetting . ai_helper_enabled
52
+ raise TranslatorError . new (
53
+ I18n . t (
54
+ "translator.discourse_ai.ai_helper_required" ,
55
+ { base_url : Discourse . base_url } ,
56
+ ) ,
57
+ )
58
+ end
59
59
end
60
60
61
61
def self . get_language_name ( target_locale_sym )
0 commit comments