|
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() |