Распределяю перевод субтитров в файл субтитров.
Имеется файл субтитров (пусть без временных меток и с одним предложением)
And to make sure you know how to get the
most out of this training.
And to make sure you know how to get the most out of this training.
И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
Написал на Python небольшой скрипт для определения длин строк и их отношений.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
i = 0
for line in open("txt"):
Line = line.strip()
print(len(Line), "- длина строки во втором цикле:", Line)
if i == 0:
FirstLine = Line
LenFirstLine = len(Line)
elif i == 1:
SecondLine = Line
LenSecondLine = len(Line)
else:
print("i больше 1")
i = i + 1
Divide_LenFisrtLine_by_LenSecondLine = round(LenFirstLine / LenSecondLine, 2)
print("- Отношение строки в", LenFirstLine, "к",
LenSecondLine, ":", Divide_LenFisrtLine_by_LenSecondLine)
print(Divide_LenFisrtLine_by_LenSecondLine)
for line in open("srt"):
srt = line.strip()
print(len(srt), "- длина строки в первом цикле:", srt)
if srt in FirstLine:
print(srt)
print(len(srt), "- длина строки в проверке:", srt)
Divide_srt_by_LenFirstLine = round(len(srt) / LenFirstLine, 2)
print(Divide_srt_by_LenFirstLine, "=",
"длина:", srt, "/", "длина:", FirstLine)
ChooseBlockFromSecondLine = round(
Divide_srt_by_LenFirstLine * LenSecondLine)
print(ChooseBlockFromSecondLine, "= ( длина:", srt,
"/ длина:", FirstLine, ") * длина:", SecondLine)
Вывод скрипта:
67 - длина строки во втором цикле: And to make sure you know how to get the most out of this training.
85 - длина строки во втором цикле: И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
- Отношение строки в 67 к 85 : 0.79
0.79
40 - длина строки в первом цикле: And to make sure you know how to get the
And to make sure you know how to get the
40 - длина строки в проверке: And to make sure you know how to get the
0.6 = длина: And to make sure you know how to get the / длина: And to make sure you know how to get the most out of this training.
51 = ( длина: And to make sure you know how to get the / длина: And to make sure you know how to get the most out of this training. ) * длина: И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
26 - длина строки в первом цикле: most out of this training.
most out of this training.
26 - длина строки в проверке: most out of this training.
0.39 = длина: most out of this training. / длина: And to make sure you know how to get the most out of this training.
33 = ( длина: most out of this training. / длина: And to make sure you know how to get the most out of this training. ) * длина: И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
Получил индекс - 51 - индекс знака, от которого нужно плясать по переводу строки.
Надо ведь найти самый близкий пробел к этому индексу и сделать срез, верно? Этот срез подставить в первую строки субтитров. Но это потом.
Пример:
Английский текст:
And to make sure you know how to get the
most out of this training.
И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
И чтобы убедиться, что вы знаете, как получить макСимальную отдачу от этого обучения.
И чтобы убедиться, что вы знаете, как получить максимальную отдачу от этого обучения.
И чтобы убедиться, что вы знаете, как получить
максимальную отдачу от этого обучения.
Перемещено true_admin из general