File size: 1,902 Bytes
42237e9
 
2f95d6b
 
3a69c47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ad7ecac
4b735d6
 
 
 
 
 
2b25ede
4b735d6
 
 
2b25ede
3a69c47
04be83b
 
2f95d6b
 
 
3a69c47
2f95d6b
4b735d6
3a69c47
 
42237e9
 
d85d1df
1e74823
42237e9
 
 
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
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()