Документація

Швидке локальне читання книг і безкоштовний переклад у Chrome

Конвертуйте EPUB/PDF та інші формати у локальні HTML-сторінки, потім читайте у Chrome і перекладайте вбудованим перекладачем браузера. Без API-ключа, без підписки і без зайвих церемоній.

Головна · Розширення · Предметний покажчик · Глосарій · GitHub

Іпостасі - усі способи користуватися

Doc-HTML-Translate існує в кількох іпостасях; у них спільний конвертер і спільна ідея - віддати браузеру чистий HTML і дати йому перекласти. Обирай, що зручніше.

Сконвертуйте книжку і читайте її в перекладі безкоштовно

Перетворіть документ на локальну HTML-книжку, відкрийте її в Chrome і довірте переклад вбудованому перекладу сторінок Chrome. Зрештою ви читаєте книжку своєю мовою, з навігацією та змістом, а ключа API і платних викликів дорогою немає.

Доступно в
Настільний застосунокЗастосунок із Microsoft Store
Знадобиться
Windows і Chrome з вбудованим перекладом сторінки (Перекласти сторінку). Розширення для браузера дає той самий результат просто в браузері, без застосунку.
  1. Відкрийте doc-html-ui, перетягніть файл у вікно й натисніть Конвертувати. Зручніше командний рядок? Запустіть одну з команд:
    Вікно doc-html-ui: поле для документа, кнопка «Конвертувати» і вибір перекладу, обрано Chrome (безкоштовно)
    Крок 1 - перетягніть файл у вікно застосунку й натисніть «Конвертувати».
    doc-html-translate.exe "book.epub"
    # або doc-html-translate.exe "book.pdf"
  2. Сконвертована книжка відкриється в браузері сама (якщо не задано -noopen).
    Сконвертована книжка в браузері: перша сторінка «Аліси в Країні чудес» під панеллю читалки
    Крок 2 - сконвертована книжка відкривається в браузері.
  3. У меню самого браузера виберіть Перекласти сторінку і вкажіть свою мову.
Результат

Книжка читається в браузері вашою мовою. Сконвертовані сторінки лежать у теці поруч із вихідним файлом (або у вибраній вами теці), тож відкрити їх знову можна без нової конвертації.

Зберіть конвертер командного рядка й запустіть його з рушієм перекладу

Зберіть doc-html-translate.exe із вихідного коду й запустіть його з терміналу в потрібному режимі. Зрештою вийде сконвертована книжка, а якщо ви обрали рушій - ще й перекладена під час конвертації.

Доступно в
Настільний застосунок
Знадобиться
Go, щоб зібрати з вихідного коду (готовому релізу нічого не потрібно). Для -google потрібен збережений ключ Google Cloud Translation API; для -ollama - запущена локальна служба Ollama з вибраною моделлю.
  1. Зберіть програму. Пропустіть цей крок, якщо завантажили готовий реліз.
    go build -tags nodynamic -o build/doc-html-translate.exe ./cmd/doc-html-translate
  2. Запустіть її в потрібному режимі. Звичайна конвертація - це команда з рекомендованого сценарію; ці додають прапорець:
    doc-html-translate.exe -notranslate "book.epub" # явний режим без перекладу
    doc-html-translate.exe -src en -dst uk "book.epub"
    doc-html-translate.exe -google "book.epub"
    doc-html-translate.exe -ollama "book.epub"
Результат

Книжка сконвертована поруч із вихідним файлом і відкривається в браузері. З -google або -ollama вона перекладається під час конвертації.

01Підтримувані формати

EPUB, PDF, TXT, Markdown, FB2, RTF, HTML, MOBI, AZW3 і комікси CBZ/CBR/CB7/CBT. Набір, відверто кажучи, пристойний.

EPUBPDFTXTMarkdownFB2RTFHTMLMOBI / AZW3CBZ / CBR / CB7 / CBT

А ще комікси (CBZ / CBR / CB7 / CBT): це контейнер зі сторінками-картинками без текстового шару, він відкривається сторінка за сторінкою з примусово ввімкненим OCR, тому текст у «бульбашках» розпізнається і лягає перекладними плашками поверх кожної сторінки. CBZ і CBT не потребують нічого додатково; CBR і CB7 потребують встановленого 7-Zip (той самий прийом із зовнішнім інструментом, що й MOBI з Calibre).

А ще одиночна картинка (PNG, JPG, JPEG, WebP, GIF, BMP, TIFF, JPEG XL (.jxl)): застосунок розпізнає на ній текст і накладає його перекладними плашками поверх зображення, щоб вбудований переклад сторінки в Chrome/Edge працював прямо на картинці - той самий шар тексту, що робить розширення для браузера. Потрібен OCR-рушій Tesseract (див. -ocr-lang).

Зображення JPEG XL (.jxl) локально перетворюються вбудованим декодером на PNG перед показом та OCR, зокрема всередині книг і коміксів. Прозорість зберігається; для анімованого JPEG XL використовується перший відображуваний кадр. Додаткова програма для зображень або кодек браузера не потрібні.

MOBI та AZW3: потрібен встановлений Calibre. Комікси CBR і CB7: потрібен встановлений 7-Zip (CBZ і CBT не потребують нічого додатково). Файли з DRM не підтримуються - конвертер поважає замки, які не вміє зламувати.

Звичайний текст (.txt) декодується за провідними байтами - мітка порядку байтів UTF-8/UTF-16, потім коректний UTF-8, потім застаріла кирилична кодова сторінка (Windows-1251, KOI8-R, CP866) за детекцією - тож .txt із часів DOS або збережений у Notepad як «Unicode» читається текстом, а не «кракозябрами». Нечитаний бінарник (.docx, .djvu чи архів коміксу без 7-Zip) відхиляється з назвою формату, а не перетворюється на сміттєвий документ.

02Зручність читання

У згенерований HTML вбудовано невеликий клієнтський шар для читання - сервер няньчити не треба, спокійно працює через file://:

  • Теми читання - перемикач у навбарі (і на index.html) циклить Light / Sepia / Dark / Night. Вибір зберігається в localStorage і застосовується на кожній сторінці.
  • Позиція читання - прокручування зберігається для кожної книги, тож застосунок памʼятає, де ви зупинилися, навіть коли ви самі вже не памʼятаєте. На index.html з'являється посилання «Continue reading» на останню відкриту сторінку, а в навбарі - тонкий індикатор прогресу по всій книзі, що показує відсоток при наведенні або з клавіатури.
  • Зручність читання - міжрядковий інтервал і ширина колонки обираються в тому ж навбарі й запам'ятовуються разом із темою, але набирають чинності лише після вибору. Кнопка нічного режиму одним кліком змінює світлу тему на темну й назад, кнопка скидання повертає розмір тексту до початкового, а стрілки та пробіл гортають сторінки біля країв прокрутки - так само, як PageUp/PageDown. Для коміксів і сканів є режим «За шириною вікна» поруч із масштабом через Ctrl+коліще: сторінка заповнює вікно без підбору відсотків.
  • Пошук - пошукова панель навбара знаходить фразу на поточній сторінці або в усій книзі, а Ctrl+F відкриває її з курсором у полі (повторне натискання в полі поступається вбудованому пошуку браузера); багатосторінковий випуск несе локальний індекс, тож пошук по книзі працює на file://. Результати показують рядки контексту, вибраний збіг підсвічуюється, а розпізнаний OCR-текст над зображеннями можна шукати там, де розпізнавання його дало - у сторінок без тексту збігів немає.
  • Ліміт витрат - для платних рушіїв прапорець -max-cost N перетворює оцінку вартості (символи / 1e6 * $20) на жорсткий ліміт до відправлення: якщо оцінка перевищує N, переклад пропускається, а книга все одно збирається без перекладу.

Односторінковий документ зберігає безперервне читання й показує компактний зміст, якщо у книзі є авторська навігація, закладки PDF або заголовки.

03Додаткові зовнішні інструменти

Застосунок працює одразу для EPUB, TXT, FB2, RTF, HTML, Markdown. Інструменти нижче суто опціональні - ставте їх, лише якщо хочете повну підтримку зображень PDF та додаткових форматів.

ІнструментПризначенняПотрібен дляЯк встановити
pdftotext
(Xpdf / Poppler)
Якісне вилучення тексту з PDF - краще обробляє складні шрифти, лігатури, багатоколонковий макет PDF-файли - необов'язково, при відсутності використовується вбудований fallback xpdfreader.com → «Xpdf tools»
або вже входить до Git for Windows
ffmpeg Конвертує JPEG 2000 зображення (.jpx) з PDF у JPEG - браузери й у 2026 році ввічливо відмовляються показувати JPEG 2000 PDF-файли із зображеннями у форматі JPEG2000 (поширено в комерційних PDF) gyan.dev/ffmpeg → «release essentials»
або winget install ffmpeg
Calibre Конвертує MOBI / AZW3 у EPUB перед обробкою Обов'язковий для підтримки форматів MOBI та AZW3 calibre-ebook.com
7-Zip Розпаковує комікси CBR (RAR) і CB7 (7z) у сторінки-картинки Комікси CBR і CB7 - CBZ і CBT не потребують нічого додатково 7-zip.org

Без pdftotext: використовується вбудований Go-рідер PDF (дещо нижча якість). Без ffmpeg: зображення JPEG2000 у PDF не відображатимуться в браузері. Без Calibre: файли MOBI/AZW3 не відкриваються. Без 7-Zip: комікси CBR/CB7 не відкриваються.

04Основні прапорці

Усі опціональні. Значення за замовчуванням розумні, тож цю таблицю можна ігнорувати, доки не зʼявиться власна думка.

ПрапорецьЗа замовчуваннямОпис
-notranslatefalseЛише конвертація, без перекладу
-noopenfalseНе відкривати браузер автоматично
-googlefalseПереклад через Google Cloud Translation API (потрібен збережений ключ API; платний, див. -max-cost)
-ollamafalseЛокальний переклад Ollama (потрібна запущена локальна служба Ollama з вибраною моделлю)
-ocrfalseРозпізнати текст на зображеннях документа (OCR) і накласти його зверху справжнім перекладним HTML (потрібен Tesseract)
-ocr-lang(-src)Мова(и) OCR, напр. eng або eng+rus. Якщо не задано - береться з -src (інакше eng), і застосунок перевіряє писемність сторінки: є дані для неї - мова додається, а не замінюється (rus+eng); немає - сторінка лишається без плашок, а в лог іде рядок із потрібним пакетом. Заданий прапорець цю перевірку вимикає
-ocr-langsfalseПоказати встановлені/доступні мови OCR і вийти
-ocr-downloademptyЗавантажити мовний пакет OCR (напр. -ocr-download rus) і вийти
-max-cost0Перервати платний переклад до відправлення, якщо оцінка вартості в USD перевищує N. Якщо сумніваєтеся, 0 (без ліміту) - цілком гідний вибір
-split5000Розбиття сторінок за кількістю символів, 0 вимикає
-toc-depth0Глибина вкладеності змісту на index.html, 0 = без обмежень, 1 = лише розділи
-folderemptyПапка для результату
-srcenМова джерела
-dstruМова перекладу
-ui-lang(системна)Мова інтерфейсу: en ru uk de it es fr pt ar hi bn ur zh. Порожньо - мова Windows
-forcefalseПерезібрати навіть якщо output вже існує
-registerfalseЗа бажанням зробити застосунок обробником за замовчуванням для EPUB, PDF та інших підтримуваних файлів (типово вимкнено; та сама кнопка-тумблер у застосунку doc-html-ui). Перший запуск питає і без згоди нічого не записує.
-unregisterfalseЗняти асоціацію обробника за замовчуванням (пункт правого кліку «Convert to HTML» і «Відкрити за допомогою» залишаються).
-register-openwithfalseДодати застосунок до списку Windows «Відкрити за допомогою» і пункт правого кліку «Convert to HTML» без призначення обробником за замовчуванням. Застосунок doc-html-ui пропонує те саме перемикачем у розділі «Інтеграція з Windows» і питанням під час першого запуску; сам по собі він нічого не додає.
-reportfalseЗапакувати нещодавні журнали запусків і зведення про оточення в архів для автора, надрукувати шлях до нього та вийти
-fdsec-password-env(порожньо)Для секретного файлу FileDO (.fd-sec): ім'я змінної середовища з його паролем, для запусків без участі людини - не сам пароль. Консоль і вікно застосунку запитують пароль самі.

Усі опції вище доступні й у графічному застосунку doc-html-ui - вибір файлу, drag & drop, глибина змісту, ліміт вартості та тумблер «обробник за замовчуванням» (за бажанням, типово вимкнено; пункт правого кліку «Convert to HTML» додається завжди). У збірці Microsoft Store саме GUI - запускана точка входу, а подвійний клік по файлу досі запускає конвертер з командного рядка.

Під час конвертації GUI показує поточний етап поруч із кнопками запуску та скасування. Кількість сторінок або зображень показується, коли відома загальна кількість; відсоток і час, що залишився, не вгадуються. Подробиці лишаються в журналі, а підсумок розрізняє повторне відкриття, попередження, скасування та помилку.

05Надішліть авторові журнали невдалої конвертації

Коли конвертація йде не так, опису з пам'яті зазвичай не досить, щоб відтворити проблему. Програма зберігає нещодавні журнали запусків на диску - до 20 запусків або 20 МБ, найстаріші видаляються першими, - тож їх можна запакувати в один архів для автора і за годину, і після падіння програми.

Доступно в
Настільний застосунокЗастосунок із Microsoft StoreРозширення для браузера
Знадобиться
Поштова програма - для готового листа. У розширення для браузера немає сховища журналів, і воно копіює коротке зведення (див. нижче).
  1. Відкрийте сторінку Про програму застосунку doc-html-ui, її групу Підтримка та діагностика, і натисніть Надіслати журнали авторові. Одне натискання збирає єдиний архів, відкриває його теку з виділеним файлом, копіює шлях у буфер обміну і відкриває готового листа у вашій поштовій програмі.
    Група «Підтримка та діагностика» на сторінці «Про програму» в doc-html-ui: посилання для зворотного зв'язку, кількість збережених журналів і кнопки «Надіслати журнали авторові» та «Очистити журнали»
    Група «Підтримка та діагностика» на сторінці «Про програму». Кнопка «Відкрити архів» з'являється поруч із «Надіслати журнали авторові», коли архів уже є.
  2. Прикріпіть архів до цього листа й натисніть «Надіслати». Сама програма нічого не надсилає.

Архів пишеться в %LOCALAPPDATA%\doc-html-translate\reports\ і містить рівно три речі:

  • environment.txt - версія, видання, платформа, мова інтерфейсу, чи знайдено Tesseract і які мови OCR встановлено, типова модель Ollama, а також рядок «logs left out» з їх кількістю, якщо ліміт розміру залишив частину журналів запусків поза архівом. Завжди англійською, щоб автор читав один формат.
  • settings.json - налаштування, з якими йшов останній запуск.
  • logs/ - нещодавні журнали запусків, свіжі першими.

Увесь вміст проходить через редагування: будь-яке значення, схоже на ключ, токен, пароль чи ключ Google API, перетворюється на <redacted>, а ваші теки згортаються до %USERPROFILE% і %LOCALAPPDATA%. Імена файлів документів зберігаються навмисно - із журналом, який нема з чим зіставити, зазвичай нічого не вдієш. Ключа Google API в архіві немає ніколи; автоматичний тест не дасть йому туди потрапити. Розмір архіву обмежено 15 МБ: найстаріші журнали відкидаються першими, і вам повідомляють, скільки їх не вмістилося.

Нічого не надсилається автоматично. Програма не відкриває для цього жодного мережевого з'єднання; вона дає вам файл і ненадісланого листа, а прикріплюєте архів і натискаєте «Надіслати» ви самі. Кнопка Відкрити архів у тому ж розділі дозволяє спершу зазирнути всередину, а Очистити журнали - взагалі не зберігати історію запусків на диску.

У командному рядку той самий архів збирає прапорець -report, друкуючи, куди він ліг.

У розширення для браузера немає сховища журналів, тому воно пропонує те, що може дати чесно: кнопку Скопіювати діагностику в блоці «Про розширення» на сторінці налаштувань. Вона копіює в буфер обміну коротке зведення англійською - версія розширення, браузер, мова інтерфейсу, ваш набір налаштувань, а також формат, кількість сторінок і останню помилку останнього документа. Ні тексту документів, ні списку ваших сайтів там немає.

Результат

У вас на руках один відредагований архів, не більше 15 МБ, і ненадісланий лист авторові. Поки ви не натиснете «Надіслати», з вашого комп'ютера нічого не пішло.

06Відкрийте секретний файл FileDO (.fd-sec) і сконвертуйте те, що всередині

Файл .fd-sec - це секретний файл FileDO. Застосунок запитає пароль, розшифрує файл встановленим на комп'ютері FileDO і сконвертує документ чи зображення всередині так само, як оригінал. Зрештою поруч із вашими документами лежить звичайна HTML-книжка.

Доступно в
Настільний застосунокЗастосунок із Microsoft Store
Знадобиться
FileDO, встановлений на комп'ютері (winget install SerZhyAle.FileDO, Microsoft Store або інсталятор чи portable-збірка FileDO), і пароль файлу. Розширення для браузера секретні файли не відкриває.
  1. Відкрийте його, як будь-який інший документ: з командного рядка, вибором або перетягуванням у вікно, з черги чи списку нещодавніх або пунктом Convert to HTML контекстного меню. За байтами не видно, що всередині, тому застосунок лише припускає секретний файл. Спершу, нічого не питаючи, він з'ясовує, чи результат уже готовий (незмінений файл відкривається повторно взагалі без пароля), чи встановлено FileDO і чи підходить розмір файлу під формат.
  2. Введіть пароль у маскованому полі й натисніть Відкрити - один раз на всю чергу; консоль питає без відображення. Порожній пароль відкриває лише файл, зроблений без пароля: це маскування, а не таємність.
    Вікно пароля doc-html-ui для секретного файлу FileDO: маскований рядок «Пароль» і кнопки «Відкрити» та «Скасувати»
    Питання про пароль секретного файлу, введення маскується.

Потім застосунок розшифровує файл встановленим на комп'ютері FileDO в одну приватну теку всередині тимчасової теки, конвертує документ чи зображення всередині точно так само, як оригінал, і видаляє розшифровану копію, щойно її прочитано. Копія, що лишилася після збою, видаляється під час наступного запуску.

Для запусків без участі людини вкажіть змінну середовища з паролем: -fdsec-password-env ІМ'Я - ім'я змінної, не сам пароль.

Відмова з окремим повідомленням у кожному випадку: секретний файл із текою всередині, з іншим секретним файлом, з типом, який застосунок не конвертує, неправильний пароль (повідомлення називає всі три причини: неправильний пароль, це не секретний файл або його змінено), пошкоджений файл і надто старий FileDO для такого виду секретного файлу (оновіть його).

Результат

Результат називається за іменем секретного файлу й не зашифрований - він лежить поруч із вашими документами, як будь-яка інша конвертація. Пароль передається лише локальному FileDO і ніде не зберігається, не записується в журнал, не надсилається та не показується в командному рядку.

Предметний покажчик

Глосарій

Конвертація
Перетворення документа (EPUB, PDF, FB2, архіву коміксу, зображення, ..) на теку локальних HTML-сторінок з index.html, навігацією і змістом. Головна робота застосунку; нічого не вивантажується в мережу.
Переклад сторінки
Безкоштовний спосіб читати своєю мовою: відкрийте сконвертований index.html у Chrome або Edge і скористайтеся вбудованим перекладом сторінки. Google Cloud і Ollama - необов'язкові рушії, що перекладають уже під час конвертації.
Шар тексту (OCR)
Текст, який Tesseract розпізнав на картинці - скані, сторінці коміксу, окремому зображенні, - покладений поверх неї плашками, які можна перекласти, щоб переклад сторінки працював просто на картинці.
Плашка
Один блок шару тексту. Вона закриває літери, які замінює; кнопка в шапці ховає всі плашки, щоб побачити малюнок під ними.
Настільний застосунок
Версія для Windows: doc-html-ui.exe (вікно) і doc-html-translate.exe (командний рядок), портативно або з Microsoft Store.
CLI
Конвертер командного рядка doc-html-translate.exe. Кожне налаштування - прапорець із розділу «Основні прапорці».
Розширення для браузера
Версія для Chromium із Chrome Web Store та Edge Add-ons: конвертує документ просто у вкладці браузера, без настільного застосунку.
Застосунок із Microsoft Store
Настільний застосунок як пакет MSIX з підписом Store, що оновлюється сам.
Обробник за замовчуванням
Програма, яку Windows запускає подвійним клацанням на файлі. Застосунок стає нею для EPUB, PDF та інших підтримуваних файлів лише з вашої згоди.
Зміст
Багаторівневий список розділів на index.html, побудований за структурою самої книжки.
Ліміт витрат
Межа вартості для платних рушіїв перекладу: якщо оцінка вища, переклад пропускається, а книжка все одно створюється.
Tesseract
Відкритий рушій OCR, який застосунок викликає для тексту на картинках; без нього шару тексту немає.
Мови інтерфейсу

Інтерфейс застосунку та розширення доступний 13 мовами: en ru uk de it es fr pt ar hi bn ur zh. Англійська, російська та українська вичитані автором; решта десять перекладені машинно й не вичитані - виправлення надсилайте на sza@ukr.net.

Пов’язаний інструмент

Для окремих зображень, сканів і медіа, які потрібно переглянути чи відсортувати, підійде Fast Media Sorter for Windows. Він доповнює цей інструмент, а не замінює його.