构建语言翻译器时,点击翻译按钮后文本区域应显示转换后的代码

0 投票
0 回答
31 浏览
提问于 2025-04-12 09:41

在我尝试制作一个语言翻译器的时候,我有一个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 个回答

暂无回答

撰写回答