Skip to content

A Python utility for synchronizing subtitle timings from the original SRT file to the target file.

License

Notifications You must be signed in to change notification settings

Ra1nek/subtitle_sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Subtitle Sync

📜 Описание

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

Файл requirements.txt включает следующие зависимости:

PyQt5: Библиотека для создания графических интерфейсов.

🛠️ Использование

Запуск приложения

Для запуска приложения выполните команду:

python main.py

Откроется графический интерфейс, где можно выбрать исходный SRT файл и целевой файл для сохранения результата. Также доступны настройки для выбора переноса строк диалога.

Логирование

После выполнения работы создается файл log.txt, в котором содержится:

  • Результаты выполнения.
  • Ошибки, если таковые имеются.
  • Информация о совпадениях тайминга.

🤝 Вклад

Если вы хотите внести улучшения в проект:

  1. Форкните репозиторий на GitHub.
  2. Создайте новую ветку (git checkout -b feature-branch).
  3. Внесите изменения и протестируйте их.
  4. Отправьте пулл-реквест для рассмотрения.

📜 Лицензия

Этот проект лицензирован под MIT License. Подробности смотрите в файле LICENSE.

🔗 Ссылка на проект

Исходный код доступен на GitHub.

📝 Контакты

Если у вас есть вопросы или предложения, свяжитесь с автором:

About

A Python utility for synchronizing subtitle timings from the original SRT file to the target file.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages