Что это и зачем
Doc-HTML-Translate как настольное приложение конвертирует EPUB/PDF/MOBI и другие форматы в локальный HTML. Это расширение делает то же самое для PDF и EPUB прямо в браузере. Для PDF оно извлекает текст (через PDF.js, всё локально) и раскладывает его обычными абзацами и заголовками <p>/<h2>; для EPUB - распаковывает книгу и объединяет её главы в один чистый HTML-документ. После этого встроенный «Перевести страницу» в Chrome или Edge работает как на любом сайте.
Никаких API-ключей и загрузки файлов. Извлечение и вёрстка - на твоём устройстве; в сеть ходит только встроенный переводчик браузера, который ты включаешь сам.
Установка
Проще всего - из Chrome Web Store: открой страницу и нажми «Установить». Подходит для Chrome и Edge (Chromium). Дальше - сразу к разделу «Как пользоваться».
Ручная установка из исходников (для разработки или Edge без магазина):
- Возьми папку
extension/из репозитория (или из релиза). При сборке из исходников один раз выполниnpm install && npm run vendorвнутри неё. - Открой
chrome://extensions(илиedge://extensions), включи Режим разработчика. - Нажми Load unpacked и выбери папку
extension/.
Для авто-перехвата локальных file:// PDF включи в карточке расширения «Allow access to file URLs». Для PDF по http(s) ничего включать не нужно.
Как пользоваться
Из попапа
Клик по иконке расширения → Open a PDF or EPUB file.. → в открывшейся вкладке Open file → выбери файл. Ни тумблеров, ни пути в адресе - никаких церемоний.
Правый клик по ссылке
Правый клик по ссылке на документ → Открыть через doc-html-translate. Работает без настройки - основной способ по требованию теперь, когда авто-перехват выключен по умолчанию.
Авто-перехват ссылок
Включи «Reflow PDFs & EPUBs» в попапе (по умолчанию выключено), чтобы ссылки на .pdf/.epub по http(s) сами перенаправлялись во вьюер; для file:// включи ещё «Allow access to file URLs».
В любом случае дальше: меню браузера → «Перевести страницу» → твой язык.
Способ через выбор файла самый надёжный: путь к файлу нигде не появляется в URL, поэтому сторонние блокировщики контента его не трогают, и не нужен тумблер доступа к файлам.
Возможности чтения
- Тулбар: размер и семья шрифта, светлая/сепия/тёмная тема, переход по номеру страницы, кнопка «Open file» и «Original PDF» (открыть исходный PDF в нативной читалке; для EPUB скрыта - нативной читалки EPUB нет).
- Оглавление: строится из закладок PDF (outline) или из EPUB-навигации (
nav.xhtml/toc.ncx) - сворачиваемый сайдбар с якорями. - Язык: определяется автоматически и проставляется в
<html lang>, чтобы браузер предложил правильный перевод. - Тумблеры: глобальный вкл/выкл и отключение на конкретном сайте - из попапа; тема и подсказка исходного языка - в настройках.
Как это работает и приватность
Ключевое решение - reflow (перекладка в текст), а не стандартный «холст + слой текста» PDF.js. При наложении оригинальные глифы остаются под прозрачным текстом, и перевод получается удвоенным/искажённым - читать такое весело недолго. Чистая перекладка теряет точную раскладку, зато даёт DOM, который браузер переводит идеально - тот же приём, что и в «бесплатном сценарии» настольного приложения.
Эвристики абзацев и заголовков портированы из приложения (internal/pdf): абзац - по вертикальному разрыву и отступу первой строки; заголовок - по центрированию/КАПСУ/краткости; оглавление - из outline PDF.
EPUB не требует эвристики reflow: его содержимое уже семантический XHTML. Работа здесь - распаковать архив, пройти по spine из OPF в порядке чтения, очистить каждую главу (убрать скрипты и стили), переписать картинки на blob:-ссылки, а внутренние ссылки - на внутристраничные якоря, прочитать авторское оглавление (nav.xhtml / toc.ncx) и объединить все главы в один прокручиваемый документ, чтобы переводчик видел всю книгу сразу.
Расширение не собирает и не передаёт данные - телеметрии тут просто нет. В хранилище браузера - только твои настройки. В сеть ходит лишь встроенный переводчик браузера, который ты включаешь сам.
Ограничения
- Сканы/картинки без текста: переводчику страницы нечего читать (нет текстового слоя). Включите OCR для изображений (или правый клик по картинке), и расширение распознаёт вшитый текст и накладывает его переводимым слоем; без OCR оно определяет пустую страницу и предлагает открыть оригинал.
- Авто-перехват по URL: по умолчанию выключен - включи «Reflow PDFs & EPUBs» в попапе; тогда он срабатывает для адресов, оканчивающихся на
.pdfили.epub. Файлы без такого расширения в адресе (или при выключенном перехвате) открывай через попап («Open file») или правым кликом → Открыть через doc-html-translate. ERR_BLOCKED_BY_CLIENTна странице вьюера: это другой блокировщик контента в твоём профиле режет навигацию по содержимому URL. Используй открытие файла через диалог (путь не попадает в URL) или отключи мешающее расширение.- Лигатуры: качество извлечения PDF.js чуть ниже Poppler на нестандартных шрифтах.
- Стили EPUB: вьюер применяет свой чистый стиль чтения и отбрасывает авторские стили книги - это сделано намеренно, именно так книга переводится чисто.
- EPUB-ограничения: архивы ZIP64 не поддерживаются; EPUB с DRM прочитать нельзя.
Ссылки
- Расширение в Chrome Web Store
- Расширение в Edge Add-ons
- Исходники расширения (папка
extension/) - Настольное приложение Doc-HTML-Translate (CLI, GUI и Microsoft Store) · документация
- Политика приватности расширения
Лицензия MIT.