import os import gradio as gr download="wget --load-cookies /tmp/cookies.txt \"https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1-hzy09qi-OEogyge7rQG79K7iV4xsNWa' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\\n/p')&id=1-hzy09qi-OEogyge7rQG79K7iV4xsNWa\" -O indic-en.zip && rm -rf /tmp/cookies.txt" os.system(download) os.system('unzip /home/user/app/indic-en.zip') from fairseq import checkpoint_utils, distributed_utils, options, tasks, utils from inference.engine import Model indic2en_model = Model(expdir='/home/user/app/indic-en') INDIC = {"Assamese": "as", "Bengali": "bn", "Gujarati": "gu", "Hindi": "hi","Kannada": "kn","Malayalam": "ml", "Marathi": "mr", "Odia": "or","Punjabi": "pa","Tamil": "ta", "Telugu" : "te"} def translate(text, lang): return indic2en_model.translate_paragraph(text, INDIC[lang], 'en') languages = list(INDIC.keys()) drop_down = gr.inputs.Dropdown(languages, type="value", default="Hindi", label="Select Source Language") text = gr.inputs.Textbox(lines=5, placeholder="Enter Text to translate", default="", label="Enter Text in Source Language") text_ouptut = gr.outputs.Textbox(label="Translated text in English") # example=[['I want to translate this sentence in Hindi','Hindi'], # ['I am feeling very good today.', 'Bengali']] supported_lang = ', '.join(languages) iface = gr.Interface(enable_queue=True,fn=translate, inputs=[text,drop_down] , outputs=text_ouptut, title='IndicTrans NMT System', description = 'Currently the model supports ' + supported_lang , examples=None) iface.launch()