Skip to content

purewave0/kaeru

Repository files navigation

🇬🇧 English | 🇧🇷 Português

kaeru

Japanese verb & adjective conjugation trainer for learners of all levels.

kaeru screenshot

  • 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).

Setup

  1. Clone the repository:

    git clone https://github.com/purewave0/kaeru.git
    cd kaeru
  2. Set up the virtual environment:

    python3 -m venv env
    source env/bin/activate
  3. Install the required dependencies:

    pip install -r requirements.txt
  4. Build the project:

    pyside6-project build

Usage

First, generate the vocabulary file, which contains all the words used by the quizzer:

python3 gen-vocab.py

Now, run kaeru:

pyside6-project run

If you'd like to practise in the terminal instead, run:

python3 kaeru-cli.py

Options

gen-vocab.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)

kaeru.py

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

kaeru-cli.py

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

Testing

First, install the dependencies:

pip3 install -r requirements-dev.txt

Run all tests with:

python3 -m pytest

Credits

About

Japanese verb & adjective conjugation trainer

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages