# Use a pipeline as a high-level helper
from transformers import pipeline
import gradio as gr
import torch
import gc
translator = pipeline("translation", model="facebook/nllb-200-distilled-600M", torch_dtype=torch.bfloat16)
lang_list = ["English", "عربى", "French"]
lang_code = {"English":"eng_Latn", "عربى" : "arz_Arab", "French" : "fra_Latn"}
from_lang="eng_Latn"
to_lang="arz_Arab"
def claer():
del translator
gc.collect()
def transalate(text) :
# claer()
text_translated = translator(text,
src_lang=from_lang,
tgt_lang=to_lang)
print(to_lang)
return text_translated[0]['translation_text']
def form():
return gr.Interface(transalate,
inputs="textbox",
outputs="text")
def rs_change_from(c):
from_lang = lang_code[c]
print(from_lang)
def rs_change_to(c):
to_lang = lang_code[c]
print(to_lang)
def get(local_state):
with gr.Column() as result:
gr.HTML("
")
gr.Markdown("## Text Generation")
dropdownFrom = gr.Dropdown(
lang_code, label="Transalte From", info="Will add more later!"
)
dropdownFrom.select(rs_change_from,dropdownFrom)
dropdownTo = gr.Dropdown(
lang_list, label="Transalte To", info="Will add more later!"
)
dropdownTo.select(rs_change_to,dropdownTo)
form()
gr.HTML("
")
return result
# - Afrikaans: afr_Latn
# - Chinese: zho_Hans
# - Egyptian Arabic: arz_Arab
# - French: fra_Latn
# - German: deu_Latn
# - Greek: ell_Grek
# - Hindi: hin_Deva
# - Indonesian: ind_Latn
# - Italian: ita_Latn
# - Japanese: jpn_Jpan
# - Korean: kor_Hang
# - Persian: pes_Arab
# - Portuguese: por_Latn
# - Russian: rus_Cyrl
# - Spanish: spa_Latn
# - Swahili: swh_Latn
# - Thai: tha_Thai
# - Turkish: tur_Latn
# - Vietnamese: vie_Latn
# - Zulu: zul_Latn