File size: 2,721 Bytes
adeb134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64d5363
adeb134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
42
43
44
45
46
47
48
49
50
51
52
53

import streamlit as st
from easynmt import EasyNMT
languageTranslationModelValue = EasyNMT('opus-mt')


languagesSourceDestination = [('en', 'es')]

def languageTranslationValue(languageSentenceOriginated, languageOriginalContent, languageTranslatedContent):
	return languageTranslationModelValue.translate(languageSentenceOriginated, source_lang=languageOriginalContent, target_lang=languageTranslatedContent)

def languageShowMarkdown():
	st.markdown("Video Translation For Subtitles")
	st.sidebar.markdown('Video Translation Language From English to Spanish')
	st.sidebar.text("\n")
	st.sidebar.markdown("English to Spanish Translation Language")
	st.sidebar.text("\n")
	return
languageShowMarkdown()


languageSourceValue = st.file_uploader("",type=['srt'])

if languageSourceValue is not None:
	translationValueEntireData = [translationValueLineOrigin for translationValueLineOrigin in languageSourceValue]
	translationLanguageAmountLines = sum(1 for translationValueLineOrigin in translationValueEntireData)
	translationValueNextStep = int(translationLanguageAmountLines/100)

	for translationValueFirstIndex, translationValueLanguagePairGeneration in enumerate(languagesSourceDestination):
		if translationValueFirstIndex==0:
			st.markdown('Processing  __English__  to  __Spanish__'.format(translationValueLanguagePairGeneration[0], translationValueLanguagePairGeneration[1]))
			translationValueOutputFile=open('English_Spanish.srt'.format(translationValueLanguagePairGeneration[0], translationValueLanguagePairGeneration[1]), 'w')
		dropdownLanguageGeneration = st.progress(0)
		languageGenerationSRTText = ""
		q=0
		for translationValueSecondIndex, translationValueLineOrigin in enumerate(translationValueEntireData):
			print (translationValueSecondIndex, q, translationLanguageAmountLines, translationValueNextStep)
			translationValueLineOrigin = str(translationValueLineOrigin)
			if q!=100:
				if translationValueSecondIndex%translationValueNextStep==0:
					q=q+1
					dropdownLanguageGeneration.progress(q)

			if translationValueLineOrigin[0].isnumeric():
				languageGenerationSRTText += translationValueLineOrigin
			else:
				translationValueConvertedOutput = languageTranslationValue(translationValueLineOrigin, translationValueLanguagePairGeneration[0], translationValueLanguagePairGeneration[1])
				languageGenerationSRTText += translationValueConvertedOutput

		translationValueOutputFile.write(languageGenerationSRTText)
		if translationValueFirstIndex==len(languagesSourceDestination)-1:
			st.markdown('The respective translations for the video from English to Spanish has been done!')
			st.write('The following files with the translated language content are saved locally on the disk!')