Spaces:
Running
Running
import streamlit as st | |
from googletrans import Translator | |
# Initialize Translator | |
translator = Translator() | |
def translate_text(text, target_lang): | |
"""Translates text using Google Translate.""" | |
try: | |
translated_text = translator.translate(text, dest=target_lang).text | |
return translated_text | |
except Exception as e: | |
return f"Error: {e}" | |
# Streamlit UI | |
st.title("π File Translator using Google Translate") | |
uploaded_file = st.file_uploader("π Upload a text file", type=["txt"]) | |
target_language = st.selectbox("π― Select target language", ["fr", "es", "de", "hi", "zh", "ar", "ru", "ja", "it"]) | |
if uploaded_file and target_language: | |
file_text = uploaded_file.read().decode("utf-8") | |
translated_text = translate_text(file_text, target_language) | |
st.subheader("π Translated Text") | |
st.text_area("", translated_text, height=200) | |
# Save and provide download link | |
translated_filename = "translated_output.txt" | |
with open(translated_filename, "w", encoding="utf-8") as f: | |
f.write(translated_text) | |
with open(translated_filename, "rb") as f: | |
st.download_button("π₯ Download Translated File", f, file_name="translated_output.txt", mime="text/plain") |