# ******************************************************* # ***** Make sure your srt file encoding is in UTF8 ***** # ******************************************************* import sys from enum import Enum from Utils import Utils from Translator import Translator ## MAIN ## #make sure we have the correct number of args if len(sys.argv) == 3 or len(sys.argv) == 4: desiredSubLang = sys.argv[2] originalSubLang = sys.argv[3] if len(sys.argv) == 4 else u'auto' parsedSubInfoList = Utils.ParseSRTFile(sys.argv[1]) if len(parsedSubInfoList ) != 0: #make sure the srt file was correctly translated subTranslator = Translator(parsedSubInfoList, originalSubLang, desiredSubLang) if (subTranslator.LanguageSupported(desiredSubLang) and subTranslator.LanguageSupported(originalSubLang)): print("Translating...") translatedSubInfo = subTranslator.Translate() print("Writing file to: " + desiredSubLang.upper() + "_" + sys.argv[1] + "...") Utils.WriteSRTFile(desiredSubLang.upper() + "_" + sys.argv[1], translatedSubInfo) print("Done!") else:
import os ## MAIN ## #make sure we have the correct number of args if len(sys.argv) == 2 or len(sys.argv) == 3 or len(sys.argv) == 4: desiredSubLang = sys.argv[2] if len(sys.argv) == 3 else u'zh-Hans' originalSubLang = sys.argv[3] if len(sys.argv) == 4 else u'en' #print(desiredSubLang,'\n') #print(originalSubLang,'\n') #print(sys.argv[1],'\n') if (sys.argv[1].endswith('.srt')): (filepath,filename) = os.path.split(sys.argv[1]) dict = Utils.ParseSRTFile(sys.argv[1]) #print(dict, '\n') translatedSubInfo = [] for key, parsedSubInfoList in dict.items(): if len(parsedSubInfoList) != 0:#make sure the srt file was correctly translated subTranslator = Translator(parsedSubInfoList, originalSubLang, desiredSubLang) print("Translating...") transTemp = subTranslator.Translate() translatedSubInfo.extend(transTemp) #print(type(translatedSubInfo)) #print(translatedSubInfo) print("Writing file to: " + filepath + "\\" + os.path.splitext(filename)[0] +"_" + desiredSubLang.upper() + os.path.splitext(filename)[-1] + "...") Utils.WriteSRTFile(filepath + "\\" + os.path.splitext(filename)[0] +"_" + desiredSubLang.upper() + os.path.splitext(filename)[-1], translatedSubInfo)