Skip to content

Latest commit

 

History

History
101 lines (94 loc) · 12.7 KB

File metadata and controls

101 lines (94 loc) · 12.7 KB

CHANGELOG

[Идеи]

  • Восстановление результата из кеша поверх существующих файлов без ручного удаления (например, режим --restore-cache).
  • Отдельный кеш переводчика для всех движков: единый файл resources/cache/translator_cache.json (или по api), ключ sha256(to_translate + api + source + target + model + значимые опции + версия алгоритма), запись хранит text и meta (model, prompts, smart_split_settings, created_at). При сборке пробуем восстановить все сегменты из translator cache, переводим только отсутствующие и дозаписываем; инвалидация по версии алгоритма/модели/промптов, опционально лимит размера и очистка старых записей.

[0.1.5] - 2026-01-09

  • Исправлено обрезание перевода при восстановлении строк: оставшиеся слова дописываются в последнюю строку.
  • Добавлен тест на восстановление текста по примеру из кеша агента.
  • В очистке строк добавлена замена неразрывного дефиса на обычный ASCII-дефис.

[0.1.4] - 2026-01-08

  • Умное объединение реплик ограничено по числу строк, длине текста и таймингам, чтобы не склеивать весь файл при отсутствии пунктуации.
  • Локальные переводчики вынесены в sub_translate/translators/local, общая логика перенесена в utils/local_utils.py.
  • Убрано дублирование логики сборки карт строк в Google Web переводчике.
  • Убрано дублирование обработки результатов перевода в пайплайне batch.
  • В UI добавлена модалка с настройками умного объединения реплик.
  • В очистке строк добавлено вставление пробела после конца предложения при слитном тексте (включая ?/!).
  • Умное объединение реплик теперь учитывает заглавную букву как признак новой фразы.
  • Восстановление строк теперь распределяет перевод по относительному числу слов и запятым, чтобы избегать пустых строк.
  • Добавлен флаг --force и UI-переключатель для игнорирования кеша перевода.
  • В README добавлены контракты API для веб-интерфейса.

[0.1.3] - 2026-01-07

  • Добавлен fallback загрузки HuggingFace-моделей без device_map при ошибках meta device/tensor.
  • Добавлен флаг --allow-cpu-fallback и UI-настройка для перехода на CPU при ошибках загрузки локальных моделей.
  • Fallback загрузки HuggingFace теперь использует low_cpu_mem_usage=False, чтобы избежать meta device после повторной загрузки.
  • Добавлена зависимость protobuf для загрузки моделей Seamless.
  • Seamless загружается через safetensors, чтобы корректно находить веса модели.
  • Настройки веб-интерфейса сохраняются в localStorage.
  • В UI добавлены настройки модели агента и ключа OpenAI с редактированием через модальные окна.
  • В папочном выборе UI скрываются файлы с неподходящим суффиксом исходного языка и уже готовым суффиксом целевого языка.
  • Добавлен тест на fallback загрузки HuggingFace при meta device.
  • Тест агента изолирован от локального кеша переводов.
  • При meta ошибках выполняется повторная загрузка модели без device_map и с force_download.
  • Сообщение о meta ошибке дополняется подсказкой очистить кеш модели.
  • Модуль загрузки HuggingFace перенесён в utils.
  • Веб-настройки перевода переработаны: зависимые селекторы языков, фиксация потоков для локальных моделей и поля Google/agent по выбору переводчика.
  • Для Google добавлена настройка задержки между запросами в UI и учёт задержки в переводчике.
  • Секции настроек UI корректно скрываются через атрибут hidden.
  • Исправлено открытие меню выбора файлов/папок и обработка кликов по пунктам меню.
  • Устранено открытие меню после перетаскивания; кнопки выбора файла/папки обрабатываются напрямую.
  • UI использует системные диалоги выбора файла/папки; результат пишется рядом с исходником.
  • Исправлена ошибка запуска перевода в UI из-за отсутствующего global для active_job_id.
  • В UI добавлен прогресс по каждому файлу во время перевода.
  • Панель логов смещена вниз, а область файлов и настроек увеличена; готовые прогресс-бары стали однотонно зелёными.
  • Разделение батч-ответов агента сделано более устойчивым к отсутствию переносов вокруг разделителя.
  • В веб-консоли добавлены события начала/кеша/завершения файла и проксирование логов агента.
  • Веб-консоль теперь принимает warnings только при verbose и показывает их детально (включая источник).
  • Добавлена синхронизация активной задачи для UI после перезагрузки страницы.
  • Исправлена ошибка запуска фоновой задачи из-за неверного вызова _emit_job_event.
  • Убрано предупреждение transformers о конфликте max_new_tokens/max_length для локальных моделей.
  • Для локальных моделей при 8-битной квантовке разрешён CPU offload, чтобы избежать ошибки при нехватке VRAM.
  • Исправлена передача llm_int8_enable_fp32_cpu_offload: параметр задается через BitsAndBytesConfig.
  • Добавлен fallback загрузки NLLB без 8-битной квантовки при ошибке meta tensor во время распределения по устройствам.
  • Добавлен повторный fallback NLLB через device_map="auto" при сохранении meta tensor после загрузки.
  • Добавлена единая загрузка .env для CLI и веб-интерфейса.
  • Загрузка .env выполняется при импорте пакета, чтобы переменные окружения применялись до инициализации моделей.
  • В .env задокументированы переменные для кешей HuggingFace и временных файлов.
  • Убрана переменная TRANSFORMERS_CACHE из .env и README: используйте HF_HOME.
  • Убрано повторение сообщения о выбранной модели агента при многопоточном переводе.
  • Добавлены зависимости huggingface_hub==0.36.0 и hf_xet==1.2.3 для ускорения загрузки моделей.
  • Добавлен веб-интерфейс на FastAPI с выбором файлов/папок, настройками перевода и журналом логов.
  • Добавлены статические ассеты UI (index.html, styles.css, app.js).
  • В requirements.txt зафиксированы зависимости fastapi и uvicorn.

[0.1.2] - 2026-01-02

  • Унифицирована обработка языковых кодов и выбор устройства для локальных моделей перевода.
  • NLLB по умолчанию переключён на facebook/nllb-200-3.3B, добавлен nllb-lite для facebook/nllb-200-distilled-1.3B.
  • Добавлены локальные переводчики SeamlessM4T v2 (Large) и MADLAD-400.
  • Увеличено значение потоков по умолчанию до 3 для Google и агента (локальные модели остаются однопоточными).
  • Добавлен кеш результата перевода по связке <input>.<api>.<to> с восстановлением файла из кеша.
  • Добавлены проверки логики кеширования результата.
  • Добавлена накопительная статистика по токенам и стоимости для текущей сессии в логах агента.
  • Обновлено формирование имени результата: добавлен суффикс переводчика и замена языкового суффикса на код целевого языка.
  • Добавлены проверки формирования путей CLI.

[0.1.1] - 2026-01-02

  • Обновлены версии torch и torchvision в requirements.txt для доступных сборок под Python 3.14.
  • Исправлена реализация FSM-переводчика: добавлен translate_batch для совместимости с пайплайном.
  • Исправлено восстановление строк при нехватке слов в переводе (без падения на IndexError).
  • Агент переводит пачку одним запросом и разбирает результат по разделителям.
  • Исправлен вывод VTT: идентификатор реплики сохраняется перед таймкодом.
  • Исправлена запись файлов: устраняется удвоение CRLF и лишние пустые строки.
  • Добавлены проверки форматов SRT и ASS на базе тестовых примеров.
  • Перевод зависимостей torch/torchvision на CUDA-сборки для работы с GPU.
  • Обновлены CUDA-сборки torch/torchvision до cu128 для поддержки GPU в Python 3.14.
  • Зафиксированы прямые ссылки на CUDA cu128 колёса torch/torchvision для Windows cp314.
  • Добавлена зависимость accelerate для загрузки NLLB на GPU.

[0.1.0] - 2026-01-02

  • Добавлен pyproject.toml с метаданными сборки и версией пакета.
  • Добавлены диаграмма пайплайна и описание .env в README.md.
  • Добавлен .env для локального запуска.
  • Почищены зависимости в requirements.txt.
  • Добавлен консольный переводчик субтитров (ASS/SRT/VTT) с Google по умолчанию.
  • Добавлены локальные переводчики NLLB и FSMT.
  • Добавлены флаги CLI для загрузки промптов агента из файлов.
  • Добавлены примеры файлов промптов агента в README.md.
  • Перенесены утилиты разбора/склейки и анализ строк субтитров.
  • Добавлены базовые тесты для разборщиков и очистки строк.