Translate manga, manhua and manhwa on the page: local OCR, text erasing and typesetting in a desktop app.
HTML
0
72 commits
updated Sep 14, 2026
Translate manga, manhua and manhwa on the page: the original text is erased,
and the translation is typeset back into the bubbles it came from.
Komalingo is a Windows desktop app. Point it at a chapter or a whole folder and it gives you back the same pages, in the same format, in another language. Detection, OCR, text erasing and typesetting all run locally, on your GPU when you have one. The only thing that leaves your machine is the translation request to the language model you configure.
docs/honorifics.md..cbz, .cb7, .cbt, and .cbr, which comes back as .cbz) and PDFs go
in, and the same format comes out, pages in the original order, ComicInfo
and extra files carried across.Stylized sound effects drawn into the art are left as drawn.
page ─► detect text regions ─► OCR ─► translate (LLM) ─► erase text ─► typeset ─► encode ─► write
A Tauri 2 shell (React + TypeScript) drives a Python sidecar (FastAPI) that owns the pipeline. The models run on ONNX Runtime and PyTorch, and pick CUDA automatically, falling back to the CPU with a stated reason when there is no GPU.
There is no packaged release yet. To build and run it yourself you need Node.js 22+, Rust, uv and Python 3.11–3.13.
git clone https://github.com/AT-Putra/komalingo.git
cd komalingo
npm install
# The sidecar: dependencies, the bundled libarchive, then the packaged exe.
uv sync --project sidecar
uv run --project sidecar python -m sidecar.native
uv run --project sidecar python tests/check_package.py # builds build\dist\sidecar\ and proves it
# Put the sidecar where Tauri expects it.
copy build\dist\sidecar\sidecar-x86_64-pc-windows-msvc.exe src-tauri\binaries\
robocopy build\dist\sidecar\_internal src-tauri\binaries\_internal /MIR
npm run tauri dev # or: npm run tauri build
The sidecar build is large (about 3.5 GB with the CUDA libraries); see
src-tauri/binaries/README.md for why it ships
as a folder rather than a single file.
The suite runs offline, against a stub translation provider:
uv run --project sidecar python tests/run_all.py
The few checks that need a live model endpoint read .env.local
(copy .env.local.example) and skip with a named reason
without it. Checks that grade OCR and erasing on real manga pages need scans that
are not redistributed with the repository; fixtures/README.md
says how to reassemble them.
Downloaded on first use from their pinned sources, never bundled with the code. Each keeps its own license.
| Model | Used for | Source | License |
|---|---|---|---|
| manga-ocr | Japanese OCR | kha-white/manga-ocr-base | Apache-2.0 |
| PP-OCRv5 recognition (zh, ko) | Chinese and Korean OCR | PaddlePaddle weights, ONNX export by GreatV/oar-ocr | Apache-2.0 |
| PP-OCRv3 DB text detection | Text regions | opencv/opencv_zoo | Apache-2.0 |
| comic-text-detector | Per-pixel text mask | ONNX by mayocream; upstream training code dmMaze/comic-text-detector is GPL-3.0 | Apache-2.0 (as published) |
| LaMa, manga fine-tune | Erasing text | ONNX by mayocream, from dreMaz/AnimeMangaInpainting | Apache-2.0 (ONNX); fine-tune MIT |
Komalingo's source code is released under the MIT License. The models above, and the manga you translate with it, belong to their respective owners.
Translate manga, manhua and manhwa on the page: local OCR, text erasing and typesetting in a desktop app.
HTML
0
72 commits
updated Sep 14, 2026
Translate manga, manhua and manhwa on the page: the original text is erased,
and the translation is typeset back into the bubbles it came from.
Komalingo is a Windows desktop app. Point it at a chapter or a whole folder and it gives you back the same pages, in the same format, in another language. Detection, OCR, text erasing and typesetting all run locally, on your GPU when you have one. The only thing that leaves your machine is the translation request to the language model you configure.
docs/honorifics.md..cbz, .cb7, .cbt, and .cbr, which comes back as .cbz) and PDFs go
in, and the same format comes out, pages in the original order, ComicInfo
and extra files carried across.Stylized sound effects drawn into the art are left as drawn.
page ─► detect text regions ─► OCR ─► translate (LLM) ─► erase text ─► typeset ─► encode ─► write
A Tauri 2 shell (React + TypeScript) drives a Python sidecar (FastAPI) that owns the pipeline. The models run on ONNX Runtime and PyTorch, and pick CUDA automatically, falling back to the CPU with a stated reason when there is no GPU.
There is no packaged release yet. To build and run it yourself you need Node.js 22+, Rust, uv and Python 3.11–3.13.
git clone https://github.com/AT-Putra/komalingo.git
cd komalingo
npm install
# The sidecar: dependencies, the bundled libarchive, then the packaged exe.
uv sync --project sidecar
uv run --project sidecar python -m sidecar.native
uv run --project sidecar python tests/check_package.py # builds build\dist\sidecar\ and proves it
# Put the sidecar where Tauri expects it.
copy build\dist\sidecar\sidecar-x86_64-pc-windows-msvc.exe src-tauri\binaries\
robocopy build\dist\sidecar\_internal src-tauri\binaries\_internal /MIR
npm run tauri dev # or: npm run tauri build
The sidecar build is large (about 3.5 GB with the CUDA libraries); see
src-tauri/binaries/README.md for why it ships
as a folder rather than a single file.
The suite runs offline, against a stub translation provider:
uv run --project sidecar python tests/run_all.py
The few checks that need a live model endpoint read .env.local
(copy .env.local.example) and skip with a named reason
without it. Checks that grade OCR and erasing on real manga pages need scans that
are not redistributed with the repository; fixtures/README.md
says how to reassemble them.
Downloaded on first use from their pinned sources, never bundled with the code. Each keeps its own license.
| Model | Used for | Source | License |
|---|---|---|---|
| manga-ocr | Japanese OCR | kha-white/manga-ocr-base | Apache-2.0 |
| PP-OCRv5 recognition (zh, ko) | Chinese and Korean OCR | PaddlePaddle weights, ONNX export by GreatV/oar-ocr | Apache-2.0 |
| PP-OCRv3 DB text detection | Text regions | opencv/opencv_zoo | Apache-2.0 |
| comic-text-detector | Per-pixel text mask | ONNX by mayocream; upstream training code dmMaze/comic-text-detector is GPL-3.0 | Apache-2.0 (as published) |
| LaMa, manga fine-tune | Erasing text | ONNX by mayocream, from dreMaz/AnimeMangaInpainting | Apache-2.0 (ONNX); fine-tune MIT |
Komalingo's source code is released under the MIT License. The models above, and the manga you translate with it, belong to their respective owners.