| Crates.io | escrit |
| lib.rs | escrit |
| version | 0.3.0 |
| created_at | 2024-06-30 20:48:40.727394+00 |
| updated_at | 2025-04-26 15:31:59.013191+00 |
| description | A tool for learning languages by reading texts |
| homepage | |
| repository | https://github.com/PatrickLerner/escrit |
| max_upload_size | |
| id | 1288197 |
| size | 516,309 |
Read texts similar to the Birkenbihl method or applications like lingq. Read the text and add words to a dictionary file (if you want with a description).
The idea is to learn vocabulary in a foreign language by going through input in the form of texts quickly. Currently supports Ukrainian and Turkish languages.

You can find the package on crates.io and can install it as cargo install escrit. Then you can run it like so:
escrit text.txt (defaults to Ukrainian)escrit --language turkish text.txt (or -l tr for short)pbpaste | escrit (macos to read clipboard input)See source code for KeyCode, but roughly:
awsd / hjkl for navigation in texts. Up and down
scrolls, while left and right moves the word cursorHome/g for jumping to beginning of textEnd/G for jumping to end of textPageUp/PageDown for faster navigation in scroll position, and . jump to next word that is not rated as "Known". < and >
jump to next word that is specifically Unknown1 mark word as Unknown (default for new words)2 mark word as Encountered (seen it, but don't know it very well)3 mark word as Learning (encountered it a few times, roughly know it)4 mark word as Retained (seen it often, think I know it well)5 mark word as Known (I don't even think about it)t open google translate for a word. T to translate a sentence.y reads the word. Y reads the sentence. (TTS support will depend on
your system, see rust's tts crate)e add a note/definition to a word. When editing press enter to save,
and escape to abortq to quit applicationDepends on the operating sysem, see
app_dirs2 crate. It will
be in the escrit directory.
cargo llvm-cov --opencargo run -- %file to open a file in reading mode.