Back to browse
GitHub Repository

Translate and simplify EPUB books to a target CEFR language level using an LLM

4 starsRust

Nheengatu – CLI tool to simplify books to your language level with LLMs

by pdrgds·Apr 9, 2026·1 point·0 comments

AI Analysis

●●●BangerBig BrainNiche GemSolve My Problem

Two-pass simplify-then-translate pipeline beats single-pass by 15–25% on vocabulary.

Strengths
  • Two-pass pipeline for A1/A2 levels is genuinely clever and measured.
  • Prevents language leakage that breaks single-pass translation.
  • Works with local Ollama or Groq — flexible backend options.
Weaknesses
  • Requires API key setup — not fully zero-config for beginners.
  • Niche audience limits broader adoption potential.
Category
Target Audience

Language learners, educators

Similar To

LingQ · ReadLang · Beelinguapp

Post Description

I built a Rust CLI that takes an EPUB and rewrites it at a target CEFR level (A1–C2) using an LLM. Give it a German novel and ask for Portuguese at A2 — it produces a new EPUB ready for your Kindle.

For beginner levels (A1/A2), it runs a two-pass pipeline: first simplify in the source language, then translate. This produced 15–25% better vocabulary coverage than doing both in one shot.

It uses Groq or Ollama (local) as backends. A sample book (Kafka's Metamorphosis) is included so you can try it immediately.

Similar Projects

Developer Tools●●Solid

Orangensaft – A mini Python-like language with LLM eval in lang runtime

Treats model calls as first-class runtime constructs using $..$ blocks with declared-type enforcement, which makes it unusually ergonomic to intermix deterministic code and LLM-powered operations. The Polars-backed dataframe injection that emits structured JSON summaries instead of raw table dumps is a clever, practical touch for token efficiency; neat sandbox for language designers, but explicitly a hobby/toy project rather than something to deploy.

Bold BetWizardry
jargnar
104mo ago