34 lines
1002 B
Python
34 lines
1002 B
Python
import ass
|
|
import os
|
|
|
|
from utils.preprocessing import replace_english_words, remove_ass_statements, remove_new_line_statements, split_sentence
|
|
from utils.translator import translator
|
|
|
|
LANGUAGES_DICT = {
|
|
'deu': 'de',
|
|
'spa': 'es',
|
|
'fra': 'fr',
|
|
'hin': 'hi',
|
|
'por': 'pt',
|
|
'rus': 'ru'
|
|
}
|
|
|
|
INPUT_FILE = os.path.join('1-Input', 'eng.ass')
|
|
|
|
for lang in list(LANGUAGES_DICT.keys()):
|
|
# Read ass file
|
|
|
|
ass_file = open(INPUT_FILE, 'r', encoding='utf_8_sig')
|
|
ass_doc = ass.parse(ass_file)
|
|
|
|
# Parse subtitles
|
|
for event in ass_doc.events:
|
|
event.text = remove_ass_statements(event.text)
|
|
event.text = remove_new_line_statements(event.text)
|
|
event.text = replace_english_words(event.text)
|
|
event.text = translator(event.text, lang)
|
|
|
|
out_file = os.path.join('2-Output', f'{LANGUAGES_DICT[lang]}.ass')
|
|
with open(out_file, 'w', encoding='utf_8_sig') as output_file:
|
|
ass_doc.dump_file(output_file)
|