构建语言翻译器时,点击翻译按钮后文本区域应显示转换后的代码
在我尝试制作一个语言翻译器的时候,我有一个text_area
用来输入文本,还有另一个text_area
用来显示翻译后的文本。当我点击翻译按钮时,text_area
应该显示转换后的内容。但不知怎么的,这个translated_text
没有写入。
这是我的代码:
import streamlit as st
from deep_translator import GoogleTranslator
languages = GoogleTranslator().get_supported_languages(as_dict=True)
def translate_text(text, input_language, output_language):
try:
translator = GoogleTranslator(source=input_language, target=output_language)
output_text = translator.translate(text)
return output_text
except Exception as e:
st.error(f"Error during translation: {str(e)}")
return "Error" # Return a clear error message
st.set_page_config(page_title="Language Translator", page_icon=":globe_with_meridians:", layout="wide")
st.title("Language Translator")
col1, col2 = st.columns(2)
with col1:
input_language = st.selectbox("Input Language:",
sorted(languages.keys()))
text_to_translate = st.text_area("Enter Text to Translate",
height=200)
with col2:
output_language = st.selectbox("Output Language:",
sorted(languages.keys()))
translated_text = st.text_area("Translated Text (English)", "",
key="translated_text", height=200)
if st.button("Translate"):
try:
output_text = translate_text(text_to_translate,
input_language,
output_language)
# Update translated_text using session state
st.session_state.translated_text = output_text
except Exception as e:
st.error(f"Error")
0 个回答
暂无回答