Как перевести субтитры SRT с ChatGPT и сохранить время

В этой статье

Сохраните копию исходного SRT, вставьте в ChatGPT небольшой непрерывный фрагмент и попросите переводить только реплики. Номера блоков, временные метки и пустые строки между блоками должны остаться прежними. Затем сравните перевод с исходником, сохраните его в UTF-8 с расширением .srt и проверьте показ вместе со своим роликом.

В SRT каждый блок состоит из номера, временного интервала и текста; от следующего его отделяет пустая строка. Это текстовый файл субтитров, самого видео в нём нет. Устройство формата описано в справке Библиотеки Конгресса США о SRT.

Короткий фрагмент можно перевести в ChatGPT Free с учётом доступности и лимитов бесплатного доступа: отдельная подписка для начала не обязательна. Если вы регулярно переводите ролики и решили оформить Plus, Amber Market — сервис оплаты зарубежных сервисов — помогает оформить месячный ChatGPT Plus на своём аккаунте через менеджера. Заказ в Amber Market можно оплатить через СБП; актуальные условия и итоговую стоимость проверьте до оплаты. Даже с платным планом смысл реплик и синхронизацию нужно проверить самостоятельно.

Что вставить в чат

Оставьте исходный файл отдельно, например под именем movie-en-original.srt. Для первого запроса скопируйте из него несколько соседних блоков целиком: с номерами, временем и пустыми строками.

Возьмём свою условную сцену: двое расставляют коробки и решают, когда наклеить этикетки. Ниже полный запрос с исходным SRT. Для своего ролика замените описание сцены и сами субтитры.

Переведи английский текст субтитров на русский. Это разговорная речь: двое расставляют коробки и обсуждают, когда наклеить на них этикетки. Реплики должны звучать естественно и коротко, без потери смысла.

Меняй только текст реплик. Сохрани без изменений:
- номера блоков;
- временные метки в формате SRT;
- пустые разделительные строки;
- порядок блоков.

Не объединяй, не переставляй, не удаляй и не добавляй блоки. Не добавляй комментарии внутрь SRT.

Верни сначала готовый SRT-фрагмент. Если есть неоднозначности, перечисли их отдельно после всего фрагмента.

Исходные субтитры:

1
00:00:01,000 --> 00:00:03,500
The blue box goes on the shelf.

2
00:00:04,000 --> 00:00:06,500
Leave the red one on the table.

3
00:00:07,000 --> 00:00:09,500
We will label them after lunch.

Описание сцены помогает выбрать интонацию. «Синяя коробка идёт на полку» понятно, но в разговоре за работой легче услышать: «Синюю коробку — на полку». Вы заранее задаёте и смысл, и характер речи. Конкретная задача, контекст и уточнение первого ответа — тот же подход, который рекомендует OpenAI для запросов к ChatGPT.

Как может звучать перевод

Для нашей условной сцены подойдёт такой вариант:

1
00:00:01,000 --> 00:00:03,500
Синюю коробку — на полку.

2
00:00:04,000 --> 00:00:06,500
Красную оставь на столе.

3
00:00:07,000 --> 00:00:09,500
Наклеим этикетки после обеда.

«Синюю коробку — на полку» звучит как короткая рабочая команда. «Красную оставь на столе» сохраняет обращение к собеседнику. В третьей реплике them относится к коробкам, а label означает «пометить, снабдить этикеткой». Поэтому «наклеим этикетки» передаёт действие, а сами коробки понятны из предыдущих реплик.

Проверьте три смысловые точки: синяя коробка отправляется на полку, красная остаётся на столе, этикетки наклеят после обеда. Допустим, во втором блоке перевод внезапно стал «Синюю оставь на столе». Исправьте только цвет: «Красную оставь на столе». Номер 2 и интервал 00:00:04,000 --> 00:00:06,500 оставьте прежними, затем перечитайте все три реплики подряд. Одно слово — и коробка уже стоит не там.

Если смысл английской фразы неясен, разберите её отдельно от SRT. В этом поможет пример работы с ChatGPT как переводчиком текста. Выбранную формулировку вставьте в тот же блок.

Проверка и сохранение SRT

Сравните исходный и переведённый фрагменты:

  1. Остались ровно три блока с номерами 1, 2, 3, без пропусков и повторов.
  2. В каждом блоке обе временные метки и стрелка --> полностью совпадают с исходником. В нашем примере это 00:00:01,000 --> 00:00:03,500, 00:00:04,000 --> 00:00:06,500 и 00:00:07,000 --> 00:00:09,500.
  3. Между блоками есть пустая строка, порядок реплик сохранён.
  4. Внутри SRT нет пояснений вроде «Перевод:» или замечаний о неоднозначностях.

Скопируйте только субтитры в обычный текстовый редактор. Сохраните их в кодировке UTF-8 под именем, например, movie-ru.srt. Тройные обратные кавычки, которыми в чате может быть обрамлён блок кода, и пояснения после него в файл не включайте.

Проверьте полное имя: movie-ru.srt, а не movie-ru.srt.txt. Если расширения скрыты, включите их отображение в проводнике. Сохранение здесь выполняется в текстовом редакторе: достаточно скопировать готовый текст из чата.

Откройте соответствующий ролик в своём проигрывателе и подключите русский SRT. Посмотрите, вовремя ли появляется первая реплика, правильно ли заканчивается последняя, нет ли пропущенных реплик и успеваете ли вы прочитать строки. Если русский текст слишком длинный для прежнего интервала, сократите формулировку без потери смысла, сохраняя номер и время, и просмотрите этот участок ещё раз.

Совпадение меток с исходником сохраняет его тайминг, но не доказывает, что он подходит вашему ролику. Поэтому проверка при просмотре нужна и после аккуратного перевода. Перевод SRT меняет готовые реплики; он не извлекает речь из видео и не создаёт дубляж.

Как пройти длинный файл

Переводите соседние диапазоны: например, блоки 1–30, затем 31–60. Записывайте последний обработанный номер. Если закончили на 30, следующий фрагмент начинается с 31; не включайте блок 30 повторно и не начинайте нумерацию заново.

В каждом запросе сохраняйте правила работы со структурой и описание сцены. По мере перевода записывайте выбранные названия предметов и имена, чтобы передавать их одинаково в следующих фрагментах. Каждый диапазон проверяйте до перехода к следующему: один ответ может не вместить весь длинный файл.

После объединения фрагментов в один SRT сверьте непрерывность номеров, отсутствие повторов и пропусков, одинаковый перевод терминов и все временные метки с исходником. Отдельно посмотрите на стыки диапазонов: после блока 30 должен идти 31. Затем проверьте собранный файл со своим роликом так же, как короткий пример.

Источники

Есть следующая задача?Ещё по теме «Перевод» →