The goal is to provide a frictionless dictionary searching experience: you type and the words show up on your prompt. Not need to wait a http request to go through.
As of right now, dict just provides a thin layer on top of sqlite’s fts5^1 virtual table with support of spellfix^2 for word suggestion.
The whole database is loaded in memory for faster search and import process, which means that this application will consume substantial amounts of memory. On DE-EN dictionary, for example, it uses ~300MB, more then dict.cc tab on firefox (but less the most electron application out there)
You will need go, gcc and sqlite-dev, then you can just run
make
For development you can run:
make run # run the ui with default values
make import # run the importer with default values
make version # run the version command
To install locally you may run:
PREFIX=$(HOME)/.local make install
Or for a system wide istall:
sudo make install
To run the importer you will need to download dict.cc dictionary. First go to its request page^3 and select your dictionary of choice. Once you download and unzip run the following command:
dict import --input dict.txt --output main.dict
Once the import process is complete[4] you can run the ui.
dict ui --database main.dict
[4]: It may take some time depending the size of the dictionary you selected