miwytt's picture
Initial commit
92472dd
raw
history blame
No virus
1.75 kB
import translation_direction_detection as tdd
from nmtscore import NMTScorer
import gradio as gr
detector = tdd.TranslationDirectionDetector(NMTScorer("m2m100_418M"))
def translate_direction(text1, lang1, text2, lang2):
lang_to_code = {"English": 'en',
"German": 'de',
"French": 'fr',
"Czech": 'cs',
"Ukrainian": 'uk',
"Chinese": 'zh',
"Russian": 'ru',
"Bengali": 'bn',
"Hindi": 'hi',
"Xhosa": 'xh',
"Zulu": 'zu',
}
if "\n" in text1 or "\n" in text2:
sentence1 = text1.split("\n")
sentence2 = text2.split("\n")
else:
sentence1 = text1
sentence2 = text2
result = detector.detect(sentence1, sentence2, lang_to_code[lang1], lang_to_code[lang2])
return result
iface = gr.Interface(
fn=translate_direction,
inputs=[
gr.Textbox(placeholder="Enter a single sentence or multiple sentences separated by a line break (Shift+Enter) in language 1 here.", label="Text 1"),
gr.Dropdown(choices=["English", "German", "French", "Czech", "Ukranian", "Chinese", "Russian", "Bengali", "Hindi", "Xhosa", "Zulu"], label="Language of Text 1"),
gr.Textbox(placeholder="Enter a single sentence or multiple sentences separated by a line break (Shift+Enter) in language 2 here.", label="Text 2"),
gr.Dropdown(choices=["English", "German", "French", "Czech", "Ukranian", "Chinese", "Russian", "Bengali", "Hindi", "Xhosa", "Zulu"], label="Language of Text 2")
],
outputs=gr.Textbox(label="Result"),
title="Translation Direction Detector",
description="Detects the translation direction between two sentences using the M2M100 418M translation model.",
theme="dark"
)
iface.launch()