File size: 1,635 Bytes
8d7554f |
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 |
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" |