Skip to main content

japanese cli&web dictionary based on jmdict/kanjidic

Project description

GitHub Release F-Droid Version PyPI Version Python Versions CI Android Build AGPLv3+ Sponsor

Packaging status Packaging status

jiten

japanese android/cli/web dictionary based on jmdict/kanjidic

→ available online at https://jiten.obfusk.dev

Get it on F-Droid Get it on Google Play

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

app screenshot cli screenshot

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

Issue Tracker

Questions & Feedback

Discussions

jiten@obfusk.dev

Requirements

  • Python >= 3.6 + Flask + click + kanjidraw.
  • To build the SQLite PCRE C extension: a C compiler (e.g. gcc/clang) and the sqlite3 & pcre libraries & headers.
  • Basic build tools like make and patch.
  • 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

AGPLv3+

JMDict & KanjiDic

© James William BREEN and The Electronic Dictionary Research and Development Group

CC-BY-SA

Wadoku (pitch)

© Ulrich Apel & Wadoku.de contributors

Non-commercial

Tatoeba (sentences & audio)

© Tatoeba contributors

CC-BY

Audio by huizi99, Mizu & yomi (CC BY-NC 4.0).

KanjiVG (radicals)

© Ulrich Apel

CC-BY-SA

Stroke Order Font

© Ulrich Apel, the AAAA project and the Wadoku project

BSD-3-Clause

JLPT Data

© Jonathan Waller

CC-BY

Kana Tables

© Wikipedia contributors

CC-BY-SA CC-BY-SA

Material Design Icons

© Google

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jiten-1.1.0.tar.gz (67.4 MB view details)

Uploaded Source

File details

Details for the file jiten-1.1.0.tar.gz.

File metadata

  • Download URL: jiten-1.1.0.tar.gz
  • Upload date:
  • Size: 67.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for jiten-1.1.0.tar.gz
Algorithm Hash digest
SHA256 95a6e575286ab1074cd57fa51caa4a7292779d0c27c77b8917731210d5185be8
MD5 bfaa1e5f820770391826bb24ca787246
BLAKE2b-256 38c1c38033fea9aaa09a1d3172dfc2a694801532893afa3034438c1621be982f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page