2015-02-26 22:58:40 +01:00
|
|
|
StarDict Terminal UI
|
2015-02-07 21:38:27 +01:00
|
|
|
====================
|
2013-05-17 00:54:11 +02:00
|
|
|
|
2015-02-26 22:58:40 +01:00
|
|
|
`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.
|
2013-05-17 00:54:11 +02:00
|
|
|
|
2015-02-26 22:58:40 +01:00
|
|
|
The project is covered by a permissive license, unlike vast majority of other
|
2013-05-17 00:54:11 +02:00
|
|
|
similar projects, and can serve as a base for implementing other dictionary
|
2015-02-26 22:58:40 +01:00
|
|
|
software. I wasn't able to reuse _anything_.
|
2013-05-17 00:54:11 +02:00
|
|
|
|
2015-02-26 22:58:40 +01:00
|
|
|
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
|
|
|
|
- load a list of installed dictionaries at startup (use the default locations
|
|
|
|
used by StarDict) and let the user choose which dictionary to open
|
|
|
|
- figure out a way to become capable of displaying most dictionaries
|
2013-05-17 00:54:11 +02:00
|
|
|
|
2015-02-07 21:38:27 +01:00
|
|
|
Building and Running
|
|
|
|
--------------------
|
2015-02-26 22:58:40 +01:00
|
|
|
Build dependencies: CMake, pkg-config, xsltproc, docbook-xsl
|
|
|
|
Runtime dependencies: ncursesw, zlib, ICU, termo (included),
|
|
|
|
glib-2.0, pango, gtk+ (optional, any version)
|
2015-02-07 21:38:27 +01:00
|
|
|
|
|
|
|
$ git clone https://github.com/pjanouch/sdtui.git
|
|
|
|
$ git submodule init
|
|
|
|
$ git submodule update
|
|
|
|
$ mkdir build
|
|
|
|
$ cd build
|
|
|
|
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_GTK=ON
|
|
|
|
$ make
|
|
|
|
|
|
|
|
To install the application, you can do either the usual:
|
2015-02-26 22:58:40 +01:00
|
|
|
# make install
|
2015-02-07 21:38:27 +01:00
|
|
|
|
|
|
|
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. If you want the application to watch the X11 primary selection for
|
|
|
|
changes and automatically search for the selected text, use the -w switch.
|
|
|
|
This feature requires GTK+.
|
|
|
|
|
2015-02-24 08:38:28 +01:00
|
|
|
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.
|
|
|
|
|
2015-02-08 00:36:45 +01:00
|
|
|
Dictionaries
|
|
|
|
------------
|
|
|
|
Unfortunately this application only really works with specific dictionaries.
|
|
|
|
Word definitions have to be in plain text, separated by newlines.
|
|
|
|
|
|
|
|
CZ <-> { EN, DE, PL, RU } dictionaries:
|
|
|
|
https://mega.co.nz/#!axtD0QRK!sbtBgizksyfkPqKvKEgr8GQ11rsWhtqyRgUUV0B7pwg
|
|
|
|
|
2015-02-07 21:38:27 +01:00
|
|
|
License
|
|
|
|
-------
|
|
|
|
`sdtui' is written by Přemysl Janouch <p.janouch@gmail.com>.
|
|
|
|
|
|
|
|
You may use the software under the terms of the ISC license, the text of which
|
|
|
|
is included within the package, or, at your option, you may relicense the work
|
|
|
|
under the MIT or the Modified BSD License, as listed at the following site:
|
|
|
|
|
|
|
|
http://www.gnu.org/licenses/license-list.html
|