Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import pysrt | |
| from transformers import MarianMTModel, MarianTokenizer | |
| # تابع برای ترجمه متون | |
| def translate_text(text, model, tokenizer): | |
| translated = model.generate(**tokenizer(text, return_tensors="pt", padding=True)) | |
| translated_text = [tokenizer.decode(t, skip_special_tokens=True) for t in translated] | |
| return translated_text[0] | |
| # بارگذاری مدل و توکنایزر | |
| model_name = 'Helsinki-NLP/opus-mt-en-fa' | |
| tokenizer = MarianTokenizer.from_pretrained(model_name) | |
| model = MarianMTModel.from_pretrained(model_name) | |
| st.title("SRT Translator: English to Persian") | |
| st.write("Upload an SRT file to translate it from English to Persian.") | |
| uploaded_file = st.file_uploader("Choose an SRT file", type="srt") | |
| if uploaded_file is not None: | |
| subs = pysrt.from_string(uploaded_file.read().decode('utf-8')) | |
| for sub in subs: | |
| sub.text = translate_text(sub.text, model, tokenizer) | |
| output_srt = subs.to_string() | |
| st.download_button( | |
| label="Download Translated SRT", | |
| data=output_srt, | |
| file_name="translated.srt", | |
| mime="text/srt" | |
| ) | |
| st.text_area("Translated SRT Preview", output_srt, height=300) | |