Lute allows you to import texts and click unknown words to look them up in dictionaries while tracking your learning progress. It features parent term relationships, image associations, multi-word term support, and colored word status indicators based on your familiarity level.
Website: https://github.com/LuteOrg/lute-v3
Free and self-hosted with full data control
Parent term system links related word forms
Image support for visual learners
Multi-word term recognition
Active development and Discord community
Exports to Anki
Supports 40+ languages
Lute (Learning Using Texts) is a standalone web application that you install locally to learn languages through reading authentic texts. It evolved from the original Learning with Texts project, offering a modern Python-based alternative for immersion reading with integrated vocabulary tracking.
Ideal for all levels of language learning, especially those who prefer reading-based acquisition and have basic technical skills to handle self-hosted software installation and maintenance.
Install Python 3.11+, create virtual environment, then run "pip install lute3" and "python -m lute.main" to start the local web server. Access via http://localhost:5001 in your browser while keeping the terminal window open.
Import texts through the web interface, click unknown words to define them using configured dictionaries, set learning status levels, and review terms through built-in exercises. Create parent terms to link related word forms and add images to enhance memory retention.
Use parent terms extensively to connect conjugations and declensions to root forms. Configure multiple dictionaries for comprehensive lookups and enable image search for visual associations to boost retention.
Requires Python 3.11+ and command-line setup which can be challenging for non-technical users. Some installation issues reported on Windows systems, though community support via Discord helps resolve most problems.