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