import streamlit as st from transformers import pipeline # Использование if __name__ == '__main__' для Windows if __name__ == '__main__': # Модели для перевода ru_en_translator = pipeline('translation_ru_to_en', model='Helsinki-NLP/opus-mt-ru-en') en_ru_translator = pipeline('translation_en_to_ru', model='Helsinki-NLP/opus-mt-en-ru') # Название и описание st.title("Переводчик") st.write("Перевод между русским и английским языками.") # Ввод текста и выбор языков input_text = st.text_area("Введите текст для перевода:") language_options = { "Русский": "ru_RU", "Английский": "en_XX" } # Пользователь выбирает исходный и целевой язык src_lang = st.selectbox("Выберите исходный язык:", list(language_options.keys())) tgt_lang = st.selectbox("Выберите целевой язык:", list(language_options.keys())) # Перевод при нажатии кнопки if st.button("Перевести"): if tgt_lang == src_lang: st.write("Выберите другой язык для перевода") elif input_text.strip(): if src_lang == "Русский" and tgt_lang == "Английский": # Перевод с русского на английский translation = ru_en_translator(input_text) st.write(f"Перевод с Русского на Английский:") st.write(translation[0]['translation_text']) elif src_lang == "Английский" and tgt_lang == "Русский": # Перевод с английского на русский translation = en_ru_translator(input_text) st.write(f"Перевод с Английского на Русский:") st.write(translation[0]['translation_text']) else: st.write("Пожалуйста, введите текст для перевода.")