Spaces:
Sleeping
Sleeping
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from deep_translator import GoogleTranslator
|
3 |
+
from deep_translator.exceptions import TranslationNotFound
|
4 |
+
|
5 |
+
# Function to translate text
|
6 |
+
def translate_text(text, target_language):
|
7 |
+
try:
|
8 |
+
translated_text = GoogleTranslator(source='auto', target=target_language).translate(text)
|
9 |
+
return translated_text
|
10 |
+
except TranslationNotFound as e:
|
11 |
+
return "Translation not found: " + str(e)
|
12 |
+
except Exception as e:
|
13 |
+
return "An error occurred: " + str(e)
|
14 |
+
|
15 |
+
# List of supported languages
|
16 |
+
languages = {
|
17 |
+
"Afrikaans": "af", "Albanian": "sq", "Amharic": "am", "Arabic": "ar", "Armenian": "hy",
|
18 |
+
"Azerbaijani": "az", "Basque": "eu", "Belarusian": "be", "Bengali": "bn", "Bosnian": "bs",
|
19 |
+
"Bulgarian": "bg", "Catalan": "ca", "Cebuano": "ceb", "Chichewa": "ny", "Chinese (Simplified)": "zh-CN",
|
20 |
+
"Chinese (Traditional)": "zh-TW", "Corsican": "co", "Croatian": "hr", "Czech": "cs", "Danish": "da",
|
21 |
+
"Dutch": "nl", "English": "en", "Esperanto": "eo", "Estonian": "et", "Filipino": "tl",
|
22 |
+
"Finnish": "fi", "French": "fr", "Frisian": "fy", "Galician": "gl", "Georgian": "ka",
|
23 |
+
"German": "de", "Greek": "el", "Gujarati": "gu", "Haitian Creole": "ht", "Hausa": "ha",
|
24 |
+
"Hawaiian": "haw", "Hebrew": "he", "Hindi": "hi", "Hmong": "hmn", "Hungarian": "hu",
|
25 |
+
"Icelandic": "is", "Igbo": "ig", "Indonesian": "id", "Irish": "ga", "Italian": "it",
|
26 |
+
"Japanese": "ja", "Javanese": "jw", "Kannada": "kn", "Kazakh": "kk", "Khmer": "km",
|
27 |
+
"Kinyarwanda": "rw", "Korean": "ko", "Kurdish": "ku", "Kyrgyz": "ky", "Lao": "lo",
|
28 |
+
"Latin": "la", "Latvian": "lv", "Lithuanian": "lt", "Luxembourgish": "lb", "Macedonian": "mk",
|
29 |
+
"Malagasy": "mg", "Malay": "ms", "Malayalam": "ml", "Maltese": "mt", "Maori": "mi",
|
30 |
+
"Marathi": "mr", "Mongolian": "mn", "Myanmar (Burmese)": "my", "Nepali": "ne", "Norwegian": "no",
|
31 |
+
"Odia (Oriya)": "or", "Pashto": "ps", "Persian": "fa", "Polish": "pl", "Portuguese": "pt",
|
32 |
+
"Punjabi": "pa", "Romanian": "ro", "Russian": "ru", "Samoan": "sm", "Scots Gaelic": "gd",
|
33 |
+
"Serbian": "sr", "Sesotho": "st", "Shona": "sn", "Sindhi": "sd", "Sinhala": "si",
|
34 |
+
"Slovak": "sk", "Slovenian": "sl", "Somali": "so", "Spanish": "es", "Sundanese": "su",
|
35 |
+
"Swahili": "sw", "Swedish": "sv", "Tajik": "tg", "Tamil": "ta", "Tatar": "tt",
|
36 |
+
"Telugu": "te", "Thai": "th", "Turkish": "tr", "Turkmen": "tk", "Ukrainian": "uk",
|
37 |
+
"Urdu": "ur", "Uyghur": "ug", "Uzbek": "uz", "Vietnamese": "vi", "Welsh": "cy",
|
38 |
+
"Xhosa": "xh", "Yiddish": "yi", "Yoruba": "yo", "Zulu": "zu"
|
39 |
+
}
|
40 |
+
|
41 |
+
# Streamlit app
|
42 |
+
st.title("Google Translate")
|
43 |
+
|
44 |
+
# Text input
|
45 |
+
text = st.text_area("Enter text to translate")
|
46 |
+
|
47 |
+
# Dropdown for selecting target language
|
48 |
+
target_language = st.selectbox("Select target language", list(languages.keys()))
|
49 |
+
|
50 |
+
# Translate button
|
51 |
+
if st.button("Translate"):
|
52 |
+
if text.strip() != "":
|
53 |
+
target_lang_code = languages[target_language]
|
54 |
+
translated_text = translate_text(text, target_lang_code)
|
55 |
+
st.write("Translated Text:", translated_text)
|
56 |
+
else:
|
57 |
+
st.warning("Please enter some text to translate.")
|