Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ajatt-tools/dictpopup
Looks up selected (Japanese) text in your Yomichan dictionaries and displays the result as a popup.
https://github.com/ajatt-tools/dictpopup
anki c dictionaries dictionary dictpopup gtk3 japanese languages lightweight linux popup yomichan
Last synced: 3 months ago
JSON representation
Looks up selected (Japanese) text in your Yomichan dictionaries and displays the result as a popup.
- Host: GitHub
- URL: https://github.com/ajatt-tools/dictpopup
- Owner: Ajatt-Tools
- License: gpl-3.0
- Created: 2023-05-09T10:41:26.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-20T19:54:55.000Z (9 months ago)
- Last Synced: 2024-05-21T03:20:03.744Z (9 months ago)
- Topics: anki, c, dictionaries, dictionary, dictpopup, gtk3, japanese, languages, lightweight, linux, popup, yomichan
- Language: C
- Homepage:
- Size: 9.38 MB
- Stars: 13
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dictpopup
This is a lightweight popup for searching selected text in your Yomichan dictionaries with support for creating Anki
cards. The look of the popup will depend on your gtk3 settings.https://github.com/user-attachments/assets/a199f843-1be4-4b76-8ca1-f0d97aa96445
https://github.com/user-attachments/assets/6fb1c7de-891c-4253-a1cb-534a1ece0362
## List of features
* Deinflect
* Yomichan-style lookup, i.e. decrease length of lookup until there is a match
* Sort dictionary entries by frequency (Requires a frequency dictionary. I recommend CC100)
* Fall back to a hiragana conversion (For words written half in kanji / half in hiragana, e.g: かけ布団, 思いつく)
* Play a pronunciations (requires files see [Pronunciation](#pronunciation))
* Add the word to Anki using either the visible definition, the mouse selection or clipboard contents
* Indicator showing if a word already exists in your Anki deck / collection.
* Allow adding the window title to some Anki field (If you are adding from a book, this will e.g. most probably contain
the book title)
* Fast and memory efficient## Dependencies
lmdb, mecab, gtk3, libx11, curl, libnotify, libzip, gperf\
[AnkiConnect Anki addon](https://ankiweb.net/shared/info/2055492159) (for Anki support)\
ffplay (optional, for pronunciation)## Installation
### Arch Linux
Install the AUR package `dictpopup`.
### Manual
First make sure, that you have all necessary dependencies installed. On a Debian based distro this can be done with:
```
sudo apt-get install liblmdb-dev libmecab-dev libgtk-3-dev libx11-dev \
libcurl4-openssl-dev libnotify-dev libzip-dev zipcmp zipmerge ziptool \
gperf gettext
```Then install with:
```bash
git clone "https://github.com/Ajatt-Tools/dictpopup.git"
cd dictpopup
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
sudo cmake --build build --target install -j 3
```### Windows
The manual installation instructions above should also work for Windows under MSYS2, so someone
experienced might get it to run.## Setup
After the program installation you need to first create an index where the dictionary entries are read from.
For this, open `dictpopup-config` (or `dictpopup` and then menu button > settings), then under 'Add dictionaries' in the
'General' tab, choose the folder that contains all of your Yomichan dictionaries and click 'Generate Index'.You can also include a frequency dictionary in there, but only one (it will give an error if you add more, because I
don't think that mixing makes sense).## Where to get dictionaries
tba
## Pronunciation
To enable pronunciation, simply download some pronunciation indices from Ajatt-Tools (such
as [NHK 2016](https://github.com/Ajatt-Tools/nhk_2016_pronunciations_index))
and generate an index under 'Add Pronunciation Files' in the 'Pronunciation' tab of the settings window. The expected
folder structure looks as follows:```
├── ajt_japanese_audio
│ ├── daijisen_pronunciations_index
│ │ ├── index.json
│ │ ├── media
│ ├── nhk_1998_pronunciations_index
│ │ ├── index.json
│ │ ├── media
│ │ └── release_info.conf
│ ├── nhk_2016_pronunciations_index
│ │ ├── index.json
```By right clicking the pronunciation button, you can open a menu with all the available pronunciations
for the current kanji/reading pair.## Usage
Select a word and call `dictpopup` (using a shortcut). It is also possible to give an argument
instead: `dictpopup WORD`.
If something is not working as expected, you can add `DP_DEBUG=1` before the command or add the command line option `-c`
to print the config on stdout.The "+" sign adds the currently shown definition to Anki after prompting you to copy a sentence (if enabled).
If there is text selected in the popup window, it will be used instead as a definition.
Furthermore, by right-clicking the + sign, you can also use the current clipboard content as the definition instead.## Keybindings
- Edit lookup: Ctrl+e
- Next entry: n, s
- Previous entry: p, a
- Create an Anki card: Ctrl+s
- Play audio: p, r
- Exit: q, Esc## Supported languages
You can use any dictionary as long as at is in Yomichan format. However, currently there is only
a deinflector available for Japanese.Yomichan dictinaries for other languages are for example available
here: https://github.com/themoeway/kaikki-to-yomitan/releases.## Browser extension
If you want Yomichan-style lookup in a browser, i.e. lookup by shift-clicking the first character, then
you can take a look at https://github.com/btrkeks/dictpopup_browser_ext.
However, there isn't a proper release and it isn't thoroughly tested yet.## Contact
If you are having trouble setting up the program, don't hesitate to open up
an [issue](https://github.com/btrkeks/dictpopup/issues) or write me an [email](mailto:[email protected]).