Engr-Saeed commited on
Commit
4fb7b50
·
verified ·
1 Parent(s): 6f24d43

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import MarianMTModel, MarianTokenizer
2
+
3
+ def load_model(src_lang, tgt_lang):
4
+ model_name = f'Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}'
5
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
6
+ model = MarianMTModel.from_pretrained(model_name)
7
+ return model, tokenizer
8
+
9
+ # Load the English to Urdu model
10
+ src_lang = 'en'
11
+ tgt_lang = 'ur'
12
+ model, tokenizer = load_model(src_lang, tgt_lang)
13
+
14
+ def translate(text, src_lang, tgt_lang):
15
+ model, tokenizer = load_model(src_lang, tgt_lang)
16
+ inputs = tokenizer.encode(text, return_tensors="pt", padding=True)
17
+ translated = model.generate(inputs)
18
+ translated_text = tokenizer.decode(translated[0], skip_special_tokens=True)
19
+ return translated_text
20
+
21
+ import gradio as gr
22
+
23
+ # Define a list of supported language pairs
24
+ languages = {
25
+ 'Urdu': 'ur',
26
+ 'French': 'fr',
27
+ 'Spanish': 'es',
28
+ 'German': 'de',
29
+ 'Chinese': 'zh',
30
+ 'Italian': 'it',
31
+ 'Russian': 'ru',
32
+ 'Japanese': 'ja',
33
+ 'Arabic': 'ar',
34
+ 'Hindi': 'hi',
35
+ # Add more languages as needed
36
+ }
37
+
38
+ def translate_ui(text, target_language):
39
+ tgt_lang = languages[target_language]
40
+ return translate(text, 'en', tgt_lang)
41
+
42
+
43
+ # Create Gradio interface
44
+ iface = gr.Interface(
45
+ fn=translate_ui,
46
+ inputs=[
47
+ gr.Textbox(lines=2, placeholder="Enter text here...", label="Input Text"),
48
+ gr.Dropdown(choices=list(languages.keys()), label="Target Language")
49
+ ],
50
+ outputs=gr.Textbox(label="Translated Text"),
51
+ title="English to Other Languages Translator",
52
+ description="Translate English text to various languages including Urdu."
53
+ )
54
+
55
+ # Launch the interface
56
+ iface.launch()