# GoldenDict tools A set of helpful programs to enhance goldendict for immersion learning. This is a fork from the original program made by tatsumoto # Some significant features of this fork - replace libfmt by a native function, making it 3x faster than the original version - a sane build system using cmake - system-agnostic, means it can even run on [windows](https://www.mediafire.com/file/h1v7owj7np9j7wg/gd-tools_windows.zip/file) ## Table of Contents - [Installation](#installation) - [gd-marisa](#gd-marisa) - [gd-mecab](#gd-mecab) - [gd-images](#gd-images) - [gd-strokeorder](#gd-strokeorder) - [gd-handwritten](#gd-handwritten) - [gd-massif](#gd-massif) - [gd-ankisearch](#gd-ankisearch) ## Installation First, [install goldendict-ng](https://tatsumoto-ren.github.io/blog/setting-up-goldendict.html). ### Gnu Guix gd-tools is available in our [channel](https://codeberg.org/hashirama/ajattix) ![gd-tools in guix](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/guix.png) ### Microsoft Windows Refer to [Build on MinGW](BUILDING.md) in Build Instructions ### Apple Mac Refer to [Build on Mac](BUILDING.md) in Build Instructions ### Other Unix systems [Build instructions](BUILDING.md) ## Setup Open GoldenDict, press "Edit" > "Dictionaries" > "Programs" and add the installed executables. Set type to `html`. Command Line: `gd-tools --word %GDWORD% --sentence %GDSEARCH%`. Optionally add arguments, such as: `gd-tools marisa --word %GDWORD% --sentence %GDSEARCH% `. These programs are treated as dictionaries and you can add them under "Dictionaries" or "Groups". ## gd-marisa This script outputs the sentence with clickable characters and searches for the longest available dictionary entry (from a predefined list) beginning at that character. For deinflection it currently relies on [rdricpp](https://codeberg.org/hashirama/rdricpp). It also provides links of available entries of smaller substrings. ![Alt](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/marisa.gif) **Usage** ``` gd-tools marisa --word %GDWORD% --sentence %GDSEARCH% ``` The path to the `.dic` is an optional argument and defaults to `/usr/share/gd-tools/marisa_words.dic` **Dependencies** [marisa-trie](https://github.com/s-yata/marisa-trie). The official Arch Linux package is called [marisa](https://archlinux.org/packages/community/x86_64/marisa/), but it's already a dependency of goldendict. **Building an own index from a set of words** If you would like to make changes to found words, you can also create an own index from a newline-separated list of words (here called `keyset.txt`): ``` marisa-build < keyset.txt > keyset.dic ``` More information at https://www.s-yata.jp/marisa-trie/docs/readme.en.html ## gd-ankisearch This script searches Anki cards in your collection that contain %GDWORD%. ![screenshot](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/anki_search.png) **Arguments:** * `--field-name` `NAME` optional field to limit search to. * `--deck-name` `NAME` optional deck to limit search to. * `--show-fields` `VocabKanji,SentKanji` optional comma-separated list of fields to show. **Example invocation:** ``` gd-tools ankisearch --field-name VocabKanji --show-fields VocabKanji,SentKanji,Image,SentAudio --word %GDWORD% ``` ## gd-images This script shows the top 5 pictures from Bing images for the given search string. ![image](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/gd-images.png) ## gd-strokeorder This script shows the search string in the `KanjiStrokeOrders` font. ![screenshot](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/strokeorder.png) Font source: https://www.nihilist.org.uk/ **Arguments**: * `--max-len` `5` maximum size of the input string. * `--font-size` `10rem` font size. It has to be large in order to see the stroke numbers. **How to call**: ``` gd-tools strokeorder --word %GDWORD% ``` ## gd-handwritten This script displays the handwritten form of each character ![screenshot](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/handwritten.png) Font source: [ArmedLemon](https://github.com/Ajatt-Tools/gd-tools/blob/main/res/ArmedLemon.ttf). **How to call**: ``` gd-tools handwritten --word %GDWORD% ``` ## gd-massif This script shows example sentences from https://massif.la/ ![image](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/massiff.png) ## gd-mandarin This script passes a sentence through mecab in order to make every part of the sentence clickable. It also automatically converts the sentence to traditional characters. ![image](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/mandarin.png) To use `gd-mandarin`, you need to install `gd-tools` by running `./quickinstall.sh --mandarin`. ## gd-mecab This script passes a sentence through mecab in order to make every part of the sentence clickable. ![Alt](https://codeberg.org/hashirama/gd-tools/raw/branch/main/misc/mecab.gif) **Dependencies** This script requires [MeCab](https://taku910.github.io/mecab/) and the IPA dictionary to be installed. If you are on an Arch Linux system you can simply install the AUR package `mecab-ipa` to obtain both. **Command format** Add this script to GoldenDict under "Dictionaries" > "Programs" (format HTML), like this: ``` gd-tools mecab --word %GDWORD% --sentence %GDSEARCH% ``` **Optional arguments** * `--font-size SIZE` the font size to be used, e.g. `30px`. * `--user-dict FILE` full path to the user_dic.dic file. This is done automatically if you install via make. OBS: we stopped maintaining gd-mecab in favor of gd-marisa, which is a better replacement ### Contributors