Spaces:
Sleeping
Sleeping
| 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!') |