kana-trainer 1.5.3

Desktop trainer for hiragana and katakana with quiz, typing and audio modes
docs.rs failed to build kana-trainer-1.5.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

kana-trainer

Trainer for the hiragana and katakana alphabets, on desktop, tablet and phone. Built with Tauri 2 and Svelte 5, in cream paper and black ink.

Features

  • Hiragana, katakana or both, in either direction, from single characters up to all 104 including the dakuon, handakuon and yoon rows
  • Three question formats (text to text, audio to text, text to audio) and answers by multiple choice or typing
  • Runs of 10 to 500 questions or one pass over the set, at three difficulty levels that decide how look alike the wrong answers are
  • Optional time trial, per question and for the whole run.
  • Chart view of every character grouped by sound type and row, tap a tile to hear it
  • Score reports saved on disk, exported and imported as .kt-report files holding any number of runs. Easy migration of runs to other devices.
  • Responsive interface, the same app on a wide screen and on a phone

Installing

Manually

https://arsalan-anwari.github.io/kana-trainer/

sudo dnf install ./kana-trainer-*.rpm            # fedora, opensuse
sudo apt install ./kana-trainer_*.deb            # debian 13+, ubuntu 24.04+
sudo pacman -U ./kana-trainer-*.pkg.tar.zst      # arch
adb install ./kana-trainer-*.apk                 # android

Or run exe/dmg package with your OS package installer.

From crates.io

cargo install kana-trainer

Development

Needs Node 22+ and Rust 1.77+, plus the GTK and WebKit development headers.

# fedora
sudo dnf install webkit2gtk4.1-devel gtk3-devel glib2-devel librsvg2-devel \
                 libsoup3-devel openssl-devel dbus-devel patchelf \
                 libappstream-glib rpm-build dpkg

# debian, ubuntu
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libglib2.0-dev librsvg2-dev \
                 libsoup-3.0-dev libssl-dev libdbus-1-dev patchelf \
                 build-essential curl wget file rpm

# arch
sudo pacman -S webkit2gtk-4.1 gtk3 glib2 librsvg libsoup3 openssl dbus \
               patchelf base-devel rpm-tools

rpm-build/rpm/rpm-tools and dpkg are only needed for the .rpm and .deb bundle targets, patchelf for bundling in general. On Arch dpkg comes from the AUR.

npm ci
npm run tauri:dev      # run the app against the vite dev server
npm run tauri:build    # bundle for the current platform
npm test               # unit tests
npm run test:e2e       # playwright

Keyboard Shortcuts

  • 1 to 4 picks an answer in multiple choice
  • Enter submits a typed answer, submits the picked sound in text to audio, and moves on after feedback
  • r replays the sound in audio questions
  • Escape leaves the run

Credits

  • Character sounds from Learn Japanese Adventure (CC BY 4.0), pitch and loudness normalised with scripts/normalize-audio.py