Create translator.py
Browse files- utils/translator.py +30 -0
utils/translator.py
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import requests
|
2 |
+
|
3 |
+
def translate_text(text, target_lang="te"):
|
4 |
+
"""
|
5 |
+
Translates the given English text into the target language using LibreTranslate.
|
6 |
+
|
7 |
+
Parameters:
|
8 |
+
text (str): The English input text.
|
9 |
+
target_lang (str): The ISO code of the target language (e.g., 'te', 'hi', 'ta', 'bn').
|
10 |
+
|
11 |
+
Returns:
|
12 |
+
str: The translated text or error message.
|
13 |
+
"""
|
14 |
+
try:
|
15 |
+
url = "https://libretranslate.de/translate" # Free public instance
|
16 |
+
payload = {
|
17 |
+
"q": text,
|
18 |
+
"source": "en",
|
19 |
+
"target": target_lang,
|
20 |
+
"format": "text"
|
21 |
+
}
|
22 |
+
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
23 |
+
response = requests.post(url, data=payload, headers=headers)
|
24 |
+
|
25 |
+
if response.status_code == 200:
|
26 |
+
return response.json()["translatedText"]
|
27 |
+
else:
|
28 |
+
return f"Translation failed: {response.status_code} {response.text}"
|
29 |
+
except Exception as e:
|
30 |
+
return f"Error during translation: {str(e)}"
|