Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/echamudi/bon-jisho
Bon Jisho, free and open source Japanese dictionary desktop app.
https://github.com/echamudi/bon-jisho
Last synced: about 2 months ago
JSON representation
Bon Jisho, free and open source Japanese dictionary desktop app.
- Host: GitHub
- URL: https://github.com/echamudi/bon-jisho
- Owner: echamudi
- License: other
- Created: 2020-05-09T03:51:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-10T14:22:57.000Z (about 2 years ago)
- Last Synced: 2023-03-04T09:54:11.227Z (almost 2 years ago)
- Language: TypeScript
- Homepage:
- Size: 2.02 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: license-report-config.json
Awesome Lists containing this project
README
# Bon Jisho
A free and open source Japanese dictionary desktop app based on electron.
[📥 Download Bon Jisho for Mac & Windows](https://github.com/echamudi/bon-jisho/releases)
## Screenshots
## Development
### Frameworks & Tools
- Electron (electron-webpack)
- Angular
- TypeScript & JavaScript
- SCSS
- SQLite
- Node.js
- Jest### Install Dependencies
Install Node modules:
```sh
yarn
npx electron-builder install-app-deps
```Download the required materials:
```sh
# In Windows, you may use WSL to run the following commands OR you can download and extract the files manually# Download DB materials
mkdir -p ./db-src
(cd ./db-src \
&& curl -o "JMdict_e.zip" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/EDRDG%20-%202021-06-30/JMdict_e.zip \
&& curl -o "JMnedict.xml.zip" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/EDRDG%20-%202021-06-30/JMnedict.xml.zip \
&& curl -o "kanjidic2.xml.zip" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/EDRDG%20-%202021-06-30/kanjidic2.xml.zip \
&& curl -o "ka_data.csv" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/kanji-data-media/ka_data.csv )
(cd ./db-src \
&& unzip "JMdict_e.zip" \
&& unzip "JMnedict.xml.zip" \
&& unzip "kanjidic2.xml.zip")# Download KanjiStrokeOrders
mkdir -p ./ng-src/assets/fonts
(cd ./ng-src/assets/fonts \
&& curl -o "KanjiStrokeOrders.ttf" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/34a3254dc9ed46ba2dfbf64cf62156c1077fb673/KanjiStrokeOrders_v4.004.ttf \
&& curl -o "KanjiStrokeOrders_v4.004 - copyright.txt" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/34a3254dc9ed46ba2dfbf64cf62156c1077fb673/KanjiStrokeOrders_v4.004%20-%20copyright.txt)# Download Noto Fonts
mkdir -p ./ng-src/assets/fonts
(cd ./ng-src/assets/fonts \
&& curl -o "NotoSansJP-Regular.otf" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/Noto_Sans_JP/NotoSansJP-Regular.otf \
&& curl -o "NotoSansJP-Bold.otf" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/Noto_Sans_JP/NotoSansJP-Bold.otf \
&& curl -o "NotoSerifJP-Regular.otf" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/Noto_Serif_JP/NotoSerifJP-Regular.otf \
&& curl -o "NotoSerifJP-Bold.otf" https://raw.githubusercontent.com/echamudi/jp-resources-mirror/443711d6fab8072f7ec23cdd00f47e8f4d51aa71/Noto_Serif_JP/NotoSerifJP-Bold.otf )
```Build the database using Japanese-DB (https://github.com/ezhmd/japanese-db)
```sh
yarn db-build
```### Watch
1. Open two separate terminal windows.
2. Run following commands:
```sh
# Terminal 1
# This command will watch Angular code changes
yarn ng-start# Terminal 2
# This command will start Electron Webpack
yarn dev
```## Building
To build and package a single executable app, run following command:
```sh
# Build Database, skip this if you already built japanese.db
yarn db-build# Build Preload Asar
npx asar pack ./src/preload ./static/pre.asar# Build Angular Asar
npx ng build --configuration="production"
npx asar pack ./static/ng-dist ./static/ng.asar
rm -rf ./static/ng-dist# Build Angular App
yarn dist
```## Testing
Automated Test
```
npx jest
```After running the automated test, please do the manual test as listed in [this file](test/manual-testing.md).
## Roadmap
These are the upcoming features to be implemented in the future:
- [ ] Allow users to enter inflicted words.
- [ ] Add "Inspect Text" fetaure, which allows the user to enter an entire paragraph.
- [ ] Add Anki CSV exporting feature.
- [ ] Add word of the day.
- [ ] Add sample sentences from open source materials.## Authors
* **Ezzat Chamudi** - [echamudi](https://github.com/echamudi)
## Licenses
Copyright © 2020 Ezzat Chamudi
JMdict and JMnedict License http://www.edrdg.org/edrdg/licence.html.
Libraries, dependencies, and tools used in this project are tied with their own licenses respectively.