import gradio as gr from transformers import pipeline import pyperclip zh_en_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-zh-en") en_zh_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-zh") def translate_zh_to_en(text): translation = zh_en_translator(text) return translation[0]['translation_text'] def translate_en_to_zh(text): translation = en_zh_translator(text) return translation[0]['translation_text'] def swap_text(input_text, output_text): return output_text, input_text with gr.Blocks() as demo: input_text = gr.Textbox(lines=2, placeholder="Enter text here...", label="Input Text") output_text = gr.Textbox(lines=2, label="Translated Text") with gr.Row(): zh_to_en_button = gr.Button("Chinese to English") en_to_zh_button = gr.Button("English to Chinese") swap_button = gr.Button("Swap") zh_to_en_button.click(translate_zh_to_en, inputs=input_text, outputs=output_text) en_to_zh_button.click(translate_en_to_zh, inputs=input_text, outputs=output_text) swap_button.click(swap_text, inputs=[input_text, output_text], outputs=[input_text, output_text]) demo.launch()