UmarBaba1's picture
Update app.py
f68d722 verified
from transformers import pipeline
import gradio as gr
def translate(from_text, language):
# Load translation pipelines lazily
if language == "English to Hausa":
translator_en_to_ha = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_en_to_ha(from_text, src_lang="eng_Latn", tgt_lang="hau_Latn")[0]['translation_text']
return result
elif language == "English to Igbo":
translator_en_to_ig = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_en_to_ig(from_text, src_lang="eng_Latn", tgt_lang="ibo_Latn")[0]['translation_text']
return result
elif language == "English to Yoruba":
translator_en_to_yo = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_en_to_yo(from_text, src_lang="eng_Latn", tgt_lang="yor_Latn")[0]['translation_text']
return result
elif language == "Hausa to English":
translator_ha_to_en = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_ha_to_en(from_text, src_lang="hau_Latn", tgt_lang="eng_Latn")[0]['translation_text']
return result
elif language == "Igbo to English":
translator_ig_to_en = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_ig_to_en(from_text, src_lang="ibo_Latn", tgt_lang="eng_Latn")[0]['translation_text']
return result
elif language == "Yoruba to English":
translator_yo_to_en = pipeline('translation', model='facebook/nllb-200-distilled-600M')
result = translator_yo_to_en(from_text, src_lang="yor_Latn", tgt_lang="eng_Latn")[0]['translation_text']
return result
# Set up Gradio interface with dropdown and simplified output
interface = gr.Interface(
fn=translate,
inputs=[
gr.Textbox(lines=2, placeholder="Text to translate", label="Input Text"),
gr.Dropdown(["English to Hausa", "English to Igbo", "English to Yoruba",
"Hausa to English", "Igbo to English", "Yoruba to English"],
label="Translation Direction", value="English to Hausa")
],
outputs=gr.Textbox(label="Translation Result") # Single output box for the selected translation
)
# Launch the interface
interface.launch()