import gradio as gr from transformers import pipeline translation_pipeline_german = pipeline('translation_en_to_de') translation_pipeline_hindi = pipeline('translation_en_to_de') def hindi_translate(text_): from transformers import MarianMTModel, MarianTokenizer # Load the English to Hindi translation model and tokenizer model_name = "Helsinki-NLP/opus-mt-en-hi" model = MarianMTModel.from_pretrained(model_name) tokenizer = MarianTokenizer.from_pretrained(model_name) # English text to be translated english_text = text_ # Tokenize the input text inputs = tokenizer.encode(english_text, return_tensors="pt") # Perform translation translation = model.generate(inputs) # Decode the translation hindi_translation = tokenizer.decode(translation[0], skip_special_tokens=True) return hindi_translation def en_hi_translate(text): from googletrans import Translator # Initialize the translator translator = Translator() # English text to be translated english_text = text # Translate text from English to Hindi translation = translator.translate(english_text, src='en', dest='hi') return translation.text # results = translation_pipeline('I love ice cream') # results[0]['translation_text'] def translate_transformers(English,Language_To_Translate): if "German" in Language_To_Translate: results = translation_pipeline_german(English) return results[0]['translation_text'] elif "Hindi" in Language_To_Translate: results = en_hi_translate(English) return results interface = gr.Interface(fn=translate_transformers, inputs=[gr.inputs.Textbox(lines=2, placeholder='Text to translate'), gr.CheckboxGroup(["German", "Hindi"])], outputs='text') interface.launch()