{"id":17160305,"url":"https://github.com/obfusk/jiten","last_synced_at":"2025-08-17T05:05:51.035Z","repository":{"id":49093770,"uuid":"272304891","full_name":"obfusk/jiten","owner":"obfusk","description":"jiten - japanese android/cli/web dictionary based on jmdict/kanjidic — 日本語　辞典　和英辞典　漢英字典　和独辞典　和蘭辞典","archived":false,"fork":false,"pushed_at":"2024-08-31T23:49:19.000Z","size":119178,"stargazers_count":112,"open_issues_count":54,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-01T20:55:48.895Z","etag":null,"topics":["android","audio","cli","dictionary","dutch","english","german","japanese","jisho","jiten","jlpt","jmdict","kanji","kanjidic","pitch-accent","python","tatoeba","vocabulary","wadoku","web"],"latest_commit_sha":null,"homepage":"https://jiten.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/obfusk.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.AGPLv3","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"obfusk"}},"created_at":"2020-06-15T00:09:20.000Z","updated_at":"2025-07-31T15:57:30.000Z","dependencies_parsed_at":"2024-10-30T05:20:41.854Z","dependency_job_id":null,"html_url":"https://github.com/obfusk/jiten","commit_stats":{"total_commits":587,"total_committers":1,"mean_commits":587.0,"dds":0.0,"last_synced_commit":"2e11b4463c2f5e5b8b69c0adecb3e06271cdbdaa"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/obfusk/jiten","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obfusk%2Fjiten","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obfusk%2Fjiten/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obfusk%2Fjiten/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obfusk%2Fjiten/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/obfusk","download_url":"https://codeload.github.com/obfusk/jiten/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/obfusk%2Fjiten/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270807934,"owners_count":24649346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","audio","cli","dictionary","dutch","english","german","japanese","jisho","jiten","jlpt","jmdict","kanji","kanjidic","pitch-accent","python","tatoeba","vocabulary","wadoku","web"],"created_at":"2024-10-14T22:24:25.356Z","updated_at":"2025-08-17T05:05:46.015Z","avatar_url":"https://github.com/obfusk.png","language":"Python","funding_links":["https://ko-fi.com/obfusk"],"categories":[],"sub_categories":[],"readme":"\u003c!-- {{{1\n\n    File        : README.md\n    Maintainer  : FC Stegerman \u003cflx@obfusk.net\u003e\n    Date        : 2022-08-07\n\n    Copyright   : Copyright (C) 2022  FC Stegerman\n    Version     : v1.1.0\n    License     : AGPLv3+\n\n}}}1 --\u003e\n\n[![GitHub Release](https://img.shields.io/github/release/obfusk/jiten.svg?logo=github)](https://github.com/obfusk/jiten/releases)\n[![F-Droid Version](https://img.shields.io/f-droid/v/dev.obfusk.jiten.svg)](https://f-droid.org/app/dev.obfusk.jiten)\n[![PyPI Version](https://img.shields.io/pypi/v/jiten.svg)](https://pypi.python.org/pypi/jiten)\n[![Python Versions](https://img.shields.io/pypi/pyversions/jiten.svg)](https://pypi.python.org/pypi/jiten)\n[![CI](https://github.com/obfusk/jiten/workflows/CI/badge.svg)](https://github.com/obfusk/jiten/actions?query=workflow%3ACI)\n[![Android Build](https://github.com/obfusk/jiten/workflows/Android/badge.svg)](https://github.com/obfusk/jiten/actions?query=workflow%3AAndroid)\n[![AGPLv3+](https://img.shields.io/badge/license-AGPLv3+-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.html)\n[![Sponsor](https://img.shields.io/badge/%E2%99%A5-support-violet.svg)](https://ko-fi.com/obfusk)\n\n\u003ca href=\"https://repology.org/project/jiten/versions\"\u003e\n  \u003cimg src=\"https://repology.org/badge/vertical-allrepos/jiten.svg?header=\"\n    alt=\"Packaging status\" align=\"right\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://repology.org/project/python:jiten/versions\"\u003e\n  \u003cimg src=\"https://repology.org/badge/vertical-allrepos/python:jiten.svg?header=\"\n    alt=\"Packaging status\" align=\"right\" /\u003e\n\u003c/a\u003e\n\n# jiten\n\n## japanese android/cli/web dictionary based on jmdict/kanjidic\n\n→ available online at [jiten.dev](https://jiten.obfusk.dev)\n\n[\u003cimg src=\"badges/faysrepo.png\" alt=\"Get it from Fay's Repo\" height=\"60\"\u003e](https://obfusk.dev/fdroid/repo?fingerprint=2A21B7FFC93B878724B1991C05DAE113C72B93A556C193F49B5D3342884798B7)\n[\u003cimg src=\"badges/fdroid.png\" alt=\"Get it on F-Droid\" height=\"60\"\u003e](https://f-droid.org/app/dev.obfusk.jiten)\n[\u003cimg src=\"badges/github.png\" alt=\"Get the APK from GitHub\" height=\"60\"\u003e](https://github.com/obfusk/jiten/releases/latest)\n\n## Screenshots\n\n[\u003cimg src=\"screenshot-app.png\" alt=\"app screenshot\" width=\"256\"\u003e](screenshot-app.png)\n[\u003cimg src=\"screenshot-cli.png\" alt=\"cli screenshot\" width=\"543\"\u003e](screenshot-cli.png)\n\n## Features\n\n* Fine-grained search using\n  [regexes](https://docs.python.org/3/library/re.html#regular-expression-syntax)\n  (regular expressions)\n  - simple searches don't require knowledge of regexes\n  - quick reference available in the web interface and android app\n* JMDict multilingual japanese dictionary\n  - kanji, readings (romaji optional), meanings \u0026 more\n  - meanings in english, dutch, german, french and/or spanish\n  - pitch accent (from Wadoku)\n  - browse by frequency/jlpt\n* Kanji dictionary\n  - readings (romaji optional), meanings (english), jmdict entries, radicals \u0026 more\n  - search using\n    [SKIP codes](https://en.wikipedia.org/wiki/Kodansha_Kanji_Learner%27s_Dictionary#SKIP)\n  - search by radical\n  - [handwritten kanji recognition](https://github.com/obfusk/kanjidraw)\n  - browse by frequency/level/jlpt/SKIP\n* Example sentences (from Tatoeba)\n  - with english, dutch, german, french and/or spanish translation\n  - some with audio\n* Stroke order\n  - input a word or sentence and see how it's written\n\n## Interfaces\n\n* Android app\n  - wraps the web interface (running locally on your device) in a webview\n  - completely offline, no internet access required\n  - easily share and open `jiten.obfusk.dev` links\n* Web interface\n  - available online at https://jiten.obfusk.dev\n  - light/dark mode\n  - search history (stored locally)\n  - tooltips to quickly see meanings and readings for kanji and words\n  - use long press for tooltips on mobile\n  - convert romaji to hiragana and between hiragana and katakana\n  - can be run on your own computer\n* Command-line interface\n* WebView GUI\n  - wraps the web interface (running locally on your computer)\n\n## CLI\n\n### JMDict\n\n```bash\n$ jiten -v jmdict --max 1 --word cat\n$ jiten -v jmdict --max 1 --word kat --lang dut\n$ jiten -v jmdict --max 1 --exact 誤魔化す\n\n$ jiten -v jmdict +random         # random entry\n$ jiten -v jmdict --prio +random  # random \"priority\" entry\n$ jiten -v jmdict -n 4-5 +random  # random JLPT N4 or N5 entry\n\n# convert romaji to hiragana \u0026 show romaji readings\n$ jiten -v jmdict --max 1 --hiragana --romaji --word neko\n\n# prefix commands: +k (katakana), +h (hiragana), +w (word) etc.\n$ jiten -v jmdict --max 1 --romaji '+k +w ko-hi-'   # コーヒー\n```\n\n### Kanji\n\n```bash\n$ jiten -v kanji --max 1 --word cat\n$ jiten -v kanji --max 1 --exact cat\n$ jiten -v kanji --max 1 --word 日\n\n$ jiten -v kanji --max 1 '+r 犭艹田'    # search by radicals\n$ jiten -v kanji --max 1 '+s 2-3-3'     # search by SKIP code\n\n$ jiten radicals                        # show radicals table\n```\n\n### Sentences\n\n```bash\n$ jiten -v sentences --max 1 kitten\n```\n\n### Web Interface\n\n```bash\n$ jiten -v serve\n```\n\n### Help\n\n```bash\n$ jiten --help\n$ jiten jmdict    --help\n$ jiten kanji     --help\n$ jiten sentences --help\n```\n\n### Tab Completion\n\nNB: the syntax for the environment variable changed in click \u003e= 8.0,\nuse e.g. `source_bash` instead of `bash_source` for older versions.\n\nFor Bash, add this to `~/.bashrc`:\n\n```bash\neval \"$(_JITEN_COMPLETE=bash_source jiten)\"\n```\n\nFor Zsh, add this to `~/.zshrc`:\n\n```zsh\neval \"$(_JITEN_COMPLETE=zsh_source jiten)\"\n```\n\nFor Fish, add this to `~/.config/fish/completions/jiten.fish`:\n\n```fish\neval (env _JITEN_COMPLETE=fish_source jiten)\n```\n\n## WebView GUI for Linux/macOS/Windows\n\nNB: requires pywebview.\n\n```bash\n$ jiten-gui\n```\n\n## Bugs \u0026 Feature Requests\n\n→ [Issue Tracker](https://github.com/obfusk/jiten/issues)\n\n## Questions \u0026 Feedback\n\n→ [Discussions](https://github.com/obfusk/jiten/discussions)\n\n→ jiten@obfusk.dev\n\n## Installing\n\n### Debian\n\nAn official Debian package should be available soon.\n\nYou can also manually build a Debian package using the `debian/sid`\nbranch, or download pre-built `.deb`s via GitHub releases.\n\n### NixOS\n\nAn official package is also available in\n[nixpkgs (un)stable](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/jiten/default.nix).\n\n### Using pip\n\n```bash\n$ pip install jiten\n```\n\nNB: depending on your system you may need to use e.g. `pip3 --user`\ninstead of just `pip`.\n\n### From git\n\nNB: this installs the latest development version, not the latest\nrelease.\n\n```bash\n$ git clone https://github.com/obfusk/jiten.git\n$ cd jiten\n$ make\n$ pip install -e .\n```\n\nNB: you may need to add e.g. `~/.local/bin` to your `$PATH` in order\nto run `jiten`.\n\nTo update to the latest development version:\n\n```bash\n$ cd jiten\n$ git pull --rebase\n$ make\n```\n\n## Dependencies\n\n* Python \u003e= 3.8 + Flask + click +\n  [kanjidraw](https://github.com/obfusk/kanjidraw).\n* To build the SQLite PCRE C extension: a C compiler (e.g.\n  `gcc`/`clang`) and the `sqlite3` \u0026 `pcre` libraries \u0026 headers.\n* Basic build tools like `make` and `patch`.\n* To run the WebView GUI:\n  [pywebview](https://pywebview.flowrl.com) \u003e= 3.3.5.\n\n### Debian/Ubuntu\n\n```bash\n$ apt install python3-dev build-essential libsqlite3-dev libpcre3-dev\n$ apt install python3-flask   # optional: Flask \u0026 click w/o pip\n```\n\nNB: currently, you'll need to install\n[kanjidraw](https://github.com/obfusk/kanjidraw) manually (i.e. using\n`pip` or from `git`).\n\n#### Optional: WebView GUI\n\n```bash\n$ apt install python3-pyqt5.qtwebengine   # recommended: qtwebengine\n\n$ apt install python3-webview             # if \u003e= 3.3.5\n$ pip3 --user install pywebview           # otherwise\n```\n\n## Miscellaneous\n\n### Online Android App\n\nThere is also an online android app --\n[`Jiten [Online]`](https://github.com/obfusk/jiten-webview)\n-- which essentially provides the same functionality as opening the\nhttps://jiten.obfusk.dev website in a web browser.\n\nIt does have some some small advantages (like long press for tooltips)\nand requires less storage space (and could be faster depending on your\ndevice and internet connection).  You can install both at the same\ntime if you want.\n\n### Web Interface on Android\n\nYou can also run the web interface locally (\u0026 offline) on your android\nphone.  First, install [termux](https://termux.com/), then run:\n\n```bash\n$ apt install clang python\n$ pip install jiten\n```\n\nYou can then run the web interface with:\n\n```bash\n$ jiten serve\n```\n\nand open http://localhost:5000 in your browser.\n\nThe web interface will keep running until you close termux or reboot.\n\n### Generating the DB\n\n```bash\n$ jiten setup\n```\n\n### Forcing HTTPS\n\n```bash\n$ export JITEN_HTTPS=force\n```\n\n### Forcing Domain Name\n\n```bash\n$ export JITEN_DOMAIN=jiten.obfusk.dev\n```\n\n## License\n\n### Code\n\n© FC Stegerman\n\n[![AGPLv3+](https://www.gnu.org/graphics/agplv3-155x51.png)](https://www.gnu.org/licenses/agpl-3.0.html)\n\n### JMDict \u0026 KanjiDic\n\n© James William BREEN and The Electronic Dictionary Research and\nDevelopment Group\n\n[![CC-BY-SA](https://licensebuttons.net/l/by-sa/2.0/88x31.png)](https://www.edrdg.org/edrdg/licence.html)\n\n### Wadoku (pitch)\n\n© Ulrich Apel \u0026 Wadoku.de contributors\n\n[Non-commercial](https://www.wadoku.de/wiki/display/WAD/Wadoku.de-Daten+Lizenz)\n\n### Tatoeba (sentences \u0026 audio)\n\n© Tatoeba contributors\n\n[![CC-BY](https://licensebuttons.net/l/by/2.0/88x31.png)](https://tatoeba.org/eng/downloads)\n\nAudio by huizi99, Mizu \u0026 yomi (CC BY-NC 4.0).\n\n### KanjiVG (radicals)\n\n© Ulrich Apel\n\n[![CC-BY-SA](https://licensebuttons.net/l/by-sa/3.0/88x31.png)](https://github.com/KanjiVG/kanjivg/blob/master/COPYING)\n\n### Stroke Order Font\n\n© Ulrich Apel, the AAAA project and the Wadoku project\n\n[BSD-3-Clause](https://www.nihilist.org.uk)\n\n### JLPT Data\n\n© Jonathan Waller\n\n[CC-BY](https://www.tanos.co.uk/jlpt/sharing/)\n\n### Kana Tables\n\n© Wikipedia contributors\n\n[![CC-BY-SA](https://licensebuttons.net/l/by-sa/3.0/88x31.png)](https://en.wikipedia.org/wiki/File:Table_hiragana.svg)\n[![CC-BY-SA](https://licensebuttons.net/l/by-sa/3.0/88x31.png)](https://en.wikipedia.org/wiki/File:Table_katakana.svg)\n\n### Material Design Icons\n\n© Google\n\n[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)\n\n\u003c!-- vim: set tw=70 sw=2 sts=2 et fdm=marker : --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobfusk%2Fjiten","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobfusk%2Fjiten","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobfusk%2Fjiten/lists"}