🇬🇧 English | 🇧🇷 Português
Japanese verb & adjective conjugation trainer for learners of all levels.
- Fast and focused practising
- Randomly selects a word (verb/adjective) and a target inflection
- Asks the correct conjugation for the given word
- Vocab generator picks the most common words across Japanese media
- Straightforward, customisable vocabulary JSON
- Shows kana reading, word type
- Streak-based score tracker
- GUI (Qt) & CLI available
- Internationalisation: available in English, Portuguese
- Cross-platform
The name comes from 変える (to change, to transform) and カエル (frog 🐸), both read as kaeru (kah-ay-roo).
-
Clone the repository:
git clone https://github.com/purewave0/kaeru.git cd kaeru -
Set up the virtual environment:
python3 -m venv env source env/bin/activate -
Install the required dependencies:
pip install -r requirements.txt
-
Build the project:
pyside6-project build
First, generate the vocabulary file, which contains all the words used by the quizzer:
python3 gen-vocab.pyNow, run kaeru:
pyside6-project runIf you'd like to practise in the terminal instead, run:
python3 kaeru-cli.py| Option | Description |
|---|---|
-n, --limit-per-type |
the maximum number of verbs and adjectives to fetch (default: 100 each) |
-o, --output |
where to save the final JSON (default: vocab.json) |
Note
To pass options, run kaeru.py directly instead of using pyside6-project.
| Option | Description |
|---|---|
-i, --vocab-file |
path to the vocab file (default: vocab.json) |
In the GUI:
- View > Kana reading: whether to show kana readings for words with kanji
- View > Word type: whether to show the word type ("5-dan verb", "い-adjective", etc.)
- Preferences > Reveal answer on failure: whether to show the correct answer after a failed attempt
| Option | Description |
|---|---|
-i, --vocab-file |
path to the vocab file (default: vocab.json) |
-K, --hide-kana |
don't display kana readings for words with kanji |
-T, --hide-word-type |
don't display the word type |
-r, --reveal-answer |
reveal the correct answer after an incorrect attempt |
First, install the dependencies:
pip3 install -r requirements-dev.txtRun all tests with:
python3 -m pytest- Kuuuube's yomitan-dictionaries for the JPDB.io word frequency list JSON
- JMdict Simplified for the JMdict in JSON format
