File size: 1,977 Bytes
2383d45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# 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("<br/>")
        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("<br/><br/><br/><br/>")
        
    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