in genai-for-marketing/backend_apis/app/main.py [0:0]
def translate_text(data: TranslateRequest
) -> TranslateResponse:
"""Translate Text
Body:
source_text:str
source_language_code:str | None = None
target_language_code:str
Returns:
translated_text :str
"""
text = data.source_text
if isinstance(text, bytes):
text = text.decode("utf-8")
try:
results = []
i = 0
while i*128 < len(text):
if data.source_language_code == None:
result = translate_client.translate(
text[i*128:i*128+128],
target_language=data.target_language_code
)['translatedText']
else:
result = translate_client.translate(
text[i*128:i*128+128],
source_language=data.source_language_code,
target_language=data.target_language_code,
)['translatedText']
results.extend(result)
i+=1
except Exception as e:
raise HTTPException(
status_code=400,
detail="Something went wrong. Please try again."+str(e)
)
translated_text = ''.join(results)
return TranslateResponse(
translated_text=translated_text
)