Spaces:
Runtime error
Runtime error
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 parallel sentences using the M2M100 418M translation model.",) | |
iface.launch() |