@@ -250,11 +250,13 @@ def translate_feed(
250
250
total_tokens = 0
251
251
translated_characters = 0
252
252
need_cache_objs = {}
253
+ source_language = "auto"
253
254
254
255
try :
255
256
for entry in translated_feed .entries [:max_posts ]:
256
257
title = entry .get ("title" )
257
-
258
+ source_language = text_handler .detect_language (entry )
259
+
258
260
# Translate title
259
261
if title and translate_engine and translate_title :
260
262
cached = Translated_Content .is_translated (
@@ -263,7 +265,7 @@ def translate_feed(
263
265
translated_text = ""
264
266
if not cached :
265
267
results = translate_engine .translate (
266
- title , target_language = target_language , text_type = "title"
268
+ title , target_language = target_language , source_language = source_language , text_type = "title"
267
269
)
268
270
translated_text = results .get ("text" , title )
269
271
total_tokens += results .get ("tokens" , 0 )
@@ -315,7 +317,7 @@ def translate_feed(
315
317
if content :
316
318
translated_summary , tokens , characters , need_cache = (
317
319
content_translate (
318
- content , target_language , translate_engine , quality
320
+ content , target_language , translate_engine , quality , source_language = source_language
319
321
)
320
322
)
321
323
total_tokens += tokens
@@ -396,6 +398,7 @@ def content_translate(
396
398
target_language : str ,
397
399
engine : TranslatorEngine ,
398
400
quality : bool = False ,
401
+ source_language :str = "auto"
399
402
):
400
403
total_tokens = 0
401
404
total_characters = 0
@@ -417,7 +420,7 @@ def content_translate(
417
420
418
421
if not cached :
419
422
results = engine .translate (
420
- text , target_language = target_language , text_type = "content"
423
+ text , target_language = target_language , source_language = source_language , text_type = "content"
421
424
)
422
425
total_tokens += results .get ("tokens" , 0 )
423
426
total_characters += len (text )
0 commit comments