Download the PHP package hugofara/lwt without Composer
On this page you can find all versions of the php package hugofara/lwt. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package lwt
Short Description Learn languages by reading, this is a community maintained version.
License Unlicense
Homepage https://hugofara.github.io/lwt/
Informations about the package lwt
Learning with Texts
Learn languages by reading — with smart suggestions and built-in definitions
Learning with Texts (LWT) is a self-hosted web app for language learning through reading. Import any text you want to study — a novel, a news article, song lyrics — or let LWT suggest reading material adapted to your level from open libraries. Either way, words are enriched with translations and definitions from open sources, and you build vocabulary through reading and spaced repetition.
Don't know where to start? LWT suggests books from Project Gutenberg ranked by difficulty, plus curated news feeds in 19 languages. Already have a text you love? Paste it in and start reading. As you mark words, suggestions get smarter and new vocabulary is pre-enriched from Wiktionary.
[!IMPORTANT] This is a community-maintained fork and a significant upgrade over the original LWT, created by hapepo23 and first released in 2011. It brings an easy-to-use interface, text suggestions and reading statistics, modern PHP support (8.2–8.5), mobile support, and compatibility with the modern web. The original LWT is still available on SourceForge; a snapshot of its code is also preserved on the
officialbranch of this repository.[!TIP] There's a mobile app now: Lukaisu. A new local-first Android client (heading to F-Droid) for learning by reading. It works fully offline with an on-device database; connecting a server is optional and adds Chinese/Japanese word-splitting, text-to-speech, transcription, and online text discovery. LWT 3.1+ servers are compatible, so you can read your existing library on your phone.
Table of Contents
- Quick Start
- How It Works
- Features
- Installation
- Requirements
- Documentation
- Contributing
- Alternatives
- License
Quick Start
The fastest way to get started is with Docker:
Then open http://localhost:8010/ in your browser.
How It Works
1. Pick a text — Import something you want to read, or browse suggestions matched to your level from Project Gutenberg and curated news feeds.
2. Read and learn — Unknown words are highlighted. Click any word to see its translation (pre-loaded from Wiktionary) and save it to your vocabulary.

3. Review with context — Practice vocabulary with spaced repetition, always seeing words in their original context.

4. Keep going — As you mark words known or unknown, difficulty estimates adapt. Suggestions get smarter, and your next text is always ready.
Unlike flashcard apps like Anki, LWT keeps words connected to the texts where you found them. We include an Anki exporter if you want both.
Features
Smart Content Suggestions
- Book suggestions — Browse Project Gutenberg's catalog, ranked by difficulty for your level
- Curated news feeds — Ready-to-use RSS sources for 19 languages (Arabic, Chinese, French, German, Japanese, Korean, Spanish, and more)
- Difficulty estimation — Books are classified easy/medium/hard based on subject matter and your known vocabulary
- Adaptive recommendations — Suggestions improve as you learn more words
Built-in Enrichment
- Wiktionary definitions — Starter vocabulary comes pre-enriched with translations and definitions from open sources
- Click-to-translate — Instant dictionary lookups while reading
- Bulk translation — Translate multiple new words at once
- Text-to-speech — Hear pronunciation of words
Reading & Review
- 40+ languages supported — Roman, right-to-left, and East-Asian writing systems
- Audio integration — Sync audio tracks with your texts
- Spaced repetition — Review words at optimal intervals, always in context
- Progress tracking — Statistics to monitor your learning
- Multi-word selection — Click and drag to select phrases
More Features
| Feature | Description |
|---|---|
| Mobile support | Responsive design for phones and tablets |
| Themes | Customizable appearance |
| Keyboard shortcuts | Navigate efficiently while reading |
| Video embedding | Include videos from YouTube and other platforms |
| MeCab integration | Japanese word-by-word translation |
| Position memory | Resume reading where you left off |
| Anki export | Export vocabulary to Anki for additional review |
Technical Improvements
- Smaller database — Optimized schema reduces storage significantly
- Long expressions — Save phrases up to 250 characters (was limited to 9)
- Better search — Improved querying for words and texts
- Modern PHP — Supports PHP 8.2, 8.3, 8.4, and 8.5
Installation
Docker (Recommended)
Works on any OS with Docker installed.
Option A: Quick installer
Option B: Build from source
Access at http://localhost:8010/
Configuration is done via .env file (see .env.example for all options).
Linux
Manual Installation (Windows/macOS/Linux)
- Install prerequisites: PHP 8.2+, MySQL/MariaDB, a web server (Apache/Nginx)
- Clone or download the repository
-
Configure the database:
- Install dependencies:
See the Installation Guide for detailed instructions.
Requirements
| Component | Version |
|---|---|
| PHP | 8.2, 8.3, 8.4, or 8.5 |
| MySQL/MariaDB | 5.7+ / 10.3+ |
| PHP Extensions | mysqli, mbstring, dom, zip (for EPUB support) |
For development, you'll also need Composer and Node.js 18+.
Documentation
- User Guide — Getting started and usage
- API Reference — Features and REST API documentation
- Developer Docs — Architecture and contribution guide
Contributing
Contributions are welcome! Here's how to set up a development environment:
Development Commands
Translations
LWT is available in nine languages. Translations live in locale/<code>/ and fall
back to English key by key, so a partial contribution is welcome — see
Translations for current completion and how to help.
Branch Strategy
| Branch | Purpose |
|---|---|
main |
Stable releases |
develop |
Development and testing |
official |
Tracks official LWT releases |
badges |
Generated locale-completion badges (do not edit by hand) |
Alternatives
If LWT doesn't fit your needs, consider these projects:
- LUTE v3 — Modern rewrite using Python/Flask, actively developed
- LinguaCafe — Beautiful Vue.js/PHP implementation
- FLTR — Java desktop app by LWT's original author
License
This project is released into the public domain under the Unlicense. You're free to use, modify, and distribute it however you like.
Happy reading, happy learning!
All versions of lwt with dependencies
ext-mbstring Version *
ext-mysqli Version *
ext-dom Version *
ext-zip Version *
phpmailer/phpmailer Version ^7.0
league/oauth2-google Version ^5.0
thenetworg/oauth2-azure Version ^2.2