BiTrans / translator.py
sambt22022517
Add app
8d7554f
raw
history blame
No virus
1.64 kB
from model.vi_lo import translator_vi_lo
from model.vi_en import translator_vi_en
from model.vi_zh import translator_vi_zh
from model.vi_km import translator_vi_km
class Translator:
def __init__(self):
self.vi_en_model = translator_vi_en.Translator_Vi_En()
self.vi_lo_model = translator_vi_lo.Translator_Vi_Lo()
self.vi_zh_model = translator_vi_zh.Translator_Vi_Zh()
self.vi_km_model = translator_vi_km.Translator_Vi_Km()
def translate(self, sen, src_lang, tgt_lang, model_type):
if src_lang == tgt_lang:
return sen
mid_sen = ''
if src_lang == 'vi':
mid_sen = sen
elif src_lang == 'en':
mid_sen = self.vi_en_model.translate(sen, src_lang, 'vi', model_type)
elif src_lang == 'lo':
mid_sen = self.vi_lo_model.translate(sen, src_lang, 'vi', model_type)
elif src_lang == 'zh':
mid_sen = self.vi_zh_model.translate(sen, src_lang, 'vi', model_type)
elif src_lang == 'km':
mid_sen = self.vi_km_model.translate(sen, src_lang, 'vi', model_type)
if tgt_lang == 'vi':
return mid_sen
elif tgt_lang == 'en':
return self.vi_en_model.translate(sen, 'vi', tgt_lang, model_type)
elif tgt_lang == 'lo':
return self.vi_lo_model.translate(sen, 'vi', tgt_lang, model_type)
elif tgt_lang == 'zh':
return self.vi_zh_model.translate(sen, 'vi', tgt_lang, model_type)
elif tgt_lang == 'km':
return self.vi_km_model.translate(sen, 'vi', tgt_lang, model_type)
return "None"