StarDict Terminal UI ==================== 'sdtui' aims to provide an easy way of viewing translation as well as other kinds of dictionaries in your terminal. I wasn't successful in finding any free dictionary software of this kind, GUI or not, and thus decided to write my own. The project is covered by a permissive license, unlike vast majority of other similar projects, and can serve as a base for implementing other dictionary software. I wasn't able to reuse _anything_. Further Development ------------------- While I've been successfully using sdtui for a long time now, some work has to be done yet before the software can be considered fit for inclusion in regular Linux and/or BSD distributions. Help is much appreciated. An approximate list of things that need to be resolved: - rewrite the frontend using a proper TUI framework - possibly make it work better with multiple dictionaries as now it's only acceptable if you give them short names in the configuration so that they all fit in the header - figure out a way to become capable of displaying most dictionaries Packages -------- Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version from Archlinux's AUR. Building and Running -------------------- Build dependencies: CMake, pkg-config, xsltproc, docbook-xsl + Runtime dependencies: ncursesw, zlib, ICU, termo (included), glib-2.0, pango, gtk+ (optional, any version) $ git clone --recursive https://git.janouch.name/p/sdtui.git $ mkdir sdtui/build $ cd sdtui/build $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_GTK=ON $ make To install the application, you can do either the usual: # make install Or you can try telling CMake to make a package for you. For Debian it is: $ cpack -G DEB # dpkg -i sdtui-*.deb Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with `fakeroot` or file ownership will end up wrong. Having the program installed, simply run it with a StarDict '.ifo' file as an argument. It is however highly recommended to configure it, see below. Extensions ---------- As the original StarDict is a bit of a clusterfuck with regard to collation of dictionary entries, I had to introduce an additional `collation` field into the '.ifo' file. When sdtui discovers this field while reading the dictionary, it automatically reorders the index according to that locale (e.g. "cs_CZ"). This operation may take a little while, in the order of seconds. Configuration ------------- To get a nicer look in 256color terminals, create _~/.config/sdtui/sdtui.conf_ with the following. Note that it is intended for black-on-white terminals. .... [Settings] center-search = true underline-last = false hl-common-prefix = true watch-selection = true [Colors] header = reverse header-active = ul search = ul even = 16 231 odd = 16 255 .... The `watch-selection` option makes the application watch the X11 primary selection for changes and automatically search for selected text. This feature requires GTK+ and it will never work on Wayland by its design. You can also set up some dictionaries to be loaded at startup automatically: .... [Dictionaries] name1 = ~/path/to/dict.ifo name2 = ~/another/dict.ifo .... Dictionaries ------------ Unfortunately this application only really works with specific dictionaries. Word definitions have to be in plain text, separated by newlines. https://mega.co.nz/#!axtD0QRK!sbtBgizksyfkPqKvKEgr8GQ11rsWhtqyRgUUV0B7pwg[ CZ <--> { EN, DE, PL, RU } dictionaries] Contributing and Support ------------------------ Use https://git.janouch.name/p/sdtui to report any bugs, request features, or submit pull requests. `git send-email` is tolerated. If you want to discuss the project, feel free to join me at ircs://irc.janouch.name, channel #dev. Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9 License ------- This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.