japanese cli&web dictionary based on jmdict/kanjidic
Project description
jiten
japanese android/cli/web dictionary based on jmdict/kanjidic
→ available online at https://jiten.obfusk.dev
NB: jiten is now available in the official F-Droid repository, but you can also get it via obfusk's f-droid repo: this contains the exact same APKs available via Google Play, as well as occasional beta versions (which are only installed when selected manually).
Screenshots
Features
- Fine-grained search using
regexes
(regular expressions)
- simple searches don't require knowledge of regexes
- quick reference available in the web interface and android app
- JMDict multilingual japanese dictionary
- kanji, readings (romaji optional), meanings & more
- meanings in english, dutch, german, french and/or spanish
- pitch accent (from Wadoku)
- browse by frequency/jlpt
- Kanji dictionary
- readings (romaji optional), meanings (english), jmdict entries, radicals & more
- search using SKIP codes
- search by radical
- handwritten kanji recognition
- browse by frequency/level/jlpt/SKIP
- Example sentences (from Tatoeba)
- with english, dutch, german, french and/or spanish translation
- some with audio
- Stroke order
- input a word or sentence and see how it's written
Interfaces
- Android app
- wraps the web interface (running locally on your device) in a webview
- completely offline, no internet access required
- easily share and open
jiten.obfusk.dev
links
- Web interface
- available online at https://jiten.obfusk.dev
- light/dark mode
- search history (stored locally)
- tooltips to quickly see meanings and readings for kanji and words
- use long press for tooltips on mobile
- convert romaji to hiragana and between hiragana and katakana
- can be run on your own computer
- Command-line interface
- WebView GUI
- wraps the web interface (running locally on your computer)
CLI
JMDict
$ jiten -v jmdict --max 1 --word cat
$ jiten -v jmdict --max 1 --word kat --lang dut
$ jiten -v jmdict --max 1 --exact 誤魔化す
$ jiten -v jmdict +random # random entry
$ jiten -v jmdict --prio +random # random "priority" entry
$ jiten -v jmdict -n 4-5 +random # random JLPT N4 or N5 entry
# convert romaji to hiragana & show romaji readings
$ jiten -v jmdict --max 1 --hiragana --romaji --word neko
# prefix commands: +k (katakana), +h (hiragana), +w (word) etc.
$ jiten -v jmdict --max 1 --romaji '+k +w ko-hi-' # コーヒー
Kanji
$ jiten -v kanji --max 1 --word cat
$ jiten -v kanji --max 1 --exact cat
$ jiten -v kanji --max 1 --word 日
$ jiten -v kanji --max 1 '+r 犭艹田' # search by radicals
$ jiten -v kanji --max 1 '+s 2-3-3' # search by SKIP code
$ jiten radicals # show radicals table
Sentences
$ jiten -v sentences --max 1 kitten
Web Interface
$ jiten -v serve
Help
$ jiten --help
$ jiten jmdict --help
$ jiten kanji --help
$ jiten sentences --help
Tab Completion
For Bash, add this to ~/.bashrc
:
eval "$(_JITEN_COMPLETE=source_bash jiten)"
For Zsh, add this to ~/.zshrc
:
eval "$(_JITEN_COMPLETE=source_zsh jiten)"
For Fish, add this to ~/.config/fish/completions/jiten.fish
:
eval (env _JITEN_COMPLETE=source_fish jiten)
WebView GUI for Linux/macOS/Windows
NB: requires pywebview.
$ jiten-gui
Bugs & Feature Requests
Questions & Feedback
Requirements
- Python >= 3.6 + Flask + click + kanjidraw.
- To build the SQLite PCRE C extension: a C compiler (e.g.
gcc
/clang
) and thesqlite3
&pcre
libraries & headers. - Basic build tools like
make
andpatch
. - To run the WebView GUI: pywebview >= 3.3.5.
Debian/Ubuntu
$ apt install python3-dev build-essential libsqlite3-dev libpcre3-dev
$ apt install python3-flask # optional: Flask & click w/o pip
NB: currently, you'll need to install
kanjidraw manually (i.e. using
pip
or from git
).
Optional: WebView GUI
$ apt install python3-pyqt5.qtwebengine # recommended: qtwebengine
$ apt install python3-webview # if >= 3.3.5
$ pip3 --user install pywebview # otherwise
Installing
Using pip
$ pip install jiten
NB: depending on your system you may need to use e.g. pip3 --user
instead of just pip
.
From git
NB: this installs the latest development version, not the latest release.
$ git clone https://github.com/obfusk/jiten.git
$ cd jiten
$ make
$ pip install -e .
NB: you may need to add e.g. ~/.local/bin
to your $PATH
in order
to run jiten
.
To update to the latest development version:
$ cd jiten
$ git pull --rebase
$ make
NixOS
Jiten is available in nixpkgs (un)stable.
Miscellaneous
Online Android App
There is also an online android app --
Jiten [Online]
-- which essentially provides the same functionality as opening the
https://jiten.obfusk.dev website in a web browser.
It does have some some small advantages (like long press for tooltips) and requires less storage space (and could be faster depending on your device and internet connection). You can install both at the same time if you want.
Web Interface on Android
You can also run the web interface locally (& offline) on your android phone. First, install termux, then run:
$ apt install clang python
$ pip install jiten
You can then run the web interface with:
$ jiten serve
and open http://localhost:5000 in your browser.
The web interface will keep running until you close termux or reboot.
Generating the DB
$ jiten setup
Forcing HTTPS
$ export JITEN_HTTPS=force
Forcing Domain Name
$ export JITEN_DOMAIN=jiten.obfusk.dev
License
Code
© Felix C. Stegerman
JMDict & KanjiDic
© James William BREEN and The Electronic Dictionary Research and Development Group
Wadoku (pitch)
© Ulrich Apel & Wadoku.de contributors
Tatoeba (sentences & audio)
© Tatoeba contributors
Audio by huizi99, Mizu & yomi (CC BY-NC 4.0).
KanjiVG (radicals)
© Ulrich Apel
Stroke Order Font
© Ulrich Apel, the AAAA project and the Wadoku project
JLPT Data
© Jonathan Waller
Kana Tables
© Wikipedia contributors
Material Design Icons
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.