Krishna086 commited on
Commit
82cd661
·
verified ·
1 Parent(s): b44ad5c

Update translation.py

Browse files
Files changed (1) hide show
  1. translation.py +9 -5
translation.py CHANGED
@@ -11,8 +11,8 @@ def load_model(src_lang, tgt_lang):
11
  try:
12
  model_name = f"Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}"
13
  return MarianTokenizer.from_pretrained(model_name), MarianMTModel.from_pretrained(model_name)
14
- except:
15
- st.warning(f"No model for {src_lang} to {tgt_lang}. Using en-fr.")
16
  return _load_default_model()
17
 
18
  DEFAULT_TOKENIZER, DEFAULT_MODEL = _load_default_model()
@@ -25,9 +25,13 @@ def translate(text, source_lang, target_lang):
25
  tgt_code = {"English": "en", "French": "fr", "Spanish": "es", "German": "de",
26
  "Hindi": "hi", "Chinese": "zh", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"}.get(target_lang, "fr")
27
  tokenizer, model = load_model(src_code, tgt_code)
28
- inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=400)
29
- translated = model.generate(**inputs)
30
- return tokenizer.decode(translated[0], skip_special_tokens=True)
 
 
 
 
31
 
32
  LANGUAGES = {"English": "en", "French": "fr", "Spanish": "es", "German": "de",
33
  "Hindi": "hi", "Chinese": "zh", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"}
 
11
  try:
12
  model_name = f"Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}"
13
  return MarianTokenizer.from_pretrained(model_name), MarianMTModel.from_pretrained(model_name)
14
+ except Exception as e:
15
+ st.warning(f"No direct model for {src_lang} to {tgt_lang}. Falling back to en-fr or using input. Error: {str(e)}")
16
  return _load_default_model()
17
 
18
  DEFAULT_TOKENIZER, DEFAULT_MODEL = _load_default_model()
 
25
  tgt_code = {"English": "en", "French": "fr", "Spanish": "es", "German": "de",
26
  "Hindi": "hi", "Chinese": "zh", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"}.get(target_lang, "fr")
27
  tokenizer, model = load_model(src_code, tgt_code)
28
+ try:
29
+ inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=400)
30
+ translated = model.generate(**inputs)
31
+ return tokenizer.decode(translated[0], skip_special_tokens=True)
32
+ except Exception as e:
33
+ st.error(f"Translation generation failed: {str(e)}. Returning input as fallback.")
34
+ return text
35
 
36
  LANGUAGES = {"English": "en", "French": "fr", "Spanish": "es", "German": "de",
37
  "Hindi": "hi", "Chinese": "zh", "Arabic": "ar", "Russian": "ru", "Japanese": "ja"}