Subtitle Sync
— это утилита на Python для синхронизации тайминга субтитров из оригинального файла SRT в целевой файл. Утилита сохраняет структуру перевода, позволяя выбирать перенос всех строк диалога или выборочный перенос. В процессе работы создается файл log.txt
, в котором содержатся результаты выполнения, а также ошибки и совпадения тайминга.
- Перенос тайминга: Перенос временных меток из исходного SRT файла в целевой файл.
- Сохранение структуры: Сохранение структуры субтитров, включая количество строк и их расположение.
- Выбор переноса: Возможность переноса всех строк диалога или выборочного переноса.
- Логирование: Генерация
log.txt
, который содержит информацию о выполнении, ошибках и совпадениях тайминга.
Проект организован следующим образом:
subtitle_sync/
├── docs/
│ └── README.md
├── gui/
│ ├── main_window.py
│ └── __init__.py
├── logic/
│ ├── subtitle_sync.py
│ ├── file_handler.py
│ └── __init__.py
├── resources/
│ ├── main_window.ui
│ └── style.qss
├── tests/
│ └── test_subtitle_sync.py
├── config.py
├── main.py
└── requirements.txt
docs/
: Документация проекта.README.md
: Основная документация проекта.
gui/
: Компоненты графического интерфейса пользователя.main_window.py
: Реализация главного окна приложения.__init__.py
: Инициализирующий файл для пакетаgui
.
logic/
: Логика обработки субтитров.subtitle_sync.py
: Модуль для обработки и переноса тайминга.file_handler.py
: Модуль для чтения и записи файлов.__init__.py
: Инициализирующий файл для пакетаlogic
.
resources/
: Ресурсы приложения.main_window.ui
: Файл интерфейсаQt Designer
.style.qss
: Файл стилей для кастомизации внешнего вида приложения.
tests/
: Тесты для основных функций.test_subtitle_sync.py
: Тесты для модуляsubtitle_sync
.
config.py
: Конфигурационный файл для хранения констант и настроек.main.py
: Основной скрипт для запуска приложения.requirements.txt
: Файл с зависимостями проекта.
Убедитесь, что у вас установлен Python 3.6 или выше. Установите зависимости с помощью следующей команды:
pip install -r requirements.txt
Файл requirements.txt включает следующие зависимости:
PyQt5: Библиотека для создания графических интерфейсов.
Для запуска приложения выполните команду:
python main.py
Откроется графический интерфейс, где можно выбрать исходный SRT файл и целевой файл для сохранения результата. Также доступны настройки для выбора переноса строк диалога.
После выполнения работы создается файл log.txt
, в котором содержится:
- Результаты выполнения.
- Ошибки, если таковые имеются.
- Информация о совпадениях тайминга.
Если вы хотите внести улучшения в проект:
- Форкните репозиторий на GitHub.
- Создайте новую ветку (
git checkout -b feature-branch
). - Внесите изменения и протестируйте их.
- Отправьте пулл-реквест для рассмотрения.
Этот проект лицензирован под MIT License. Подробности смотрите в файле LICENSE.
🔗 Ссылка на проект
Исходный код доступен на GitHub.
Если у вас есть вопросы или предложения, свяжитесь с автором:
- Автор: Ra1nek
- Email: [email protected]