GeekJDict is a text-mode Japanese dictionary with powerful input and
lookup capabilities. To run it requires the terminal that supports
UTF-8 and at least 16 ANSI colors (
w command requires 256 ANSI
colors), and terminal font that has Japanese glyphs. Most terminal
emulators in graphic desktop environments of modern OS distributions
comply with these requirements out of the box.
GeekJDict can provide dictionary information about Japanese words and expressions, individual kanji, show handwriting of selected characters, and trace inflected words to their dictionary form. GeekJDict implements powerful glob pattern lookup, direct hiragana and katakana input, as well as direct kanji input via built-in support of Cangjie input method with glob patterns and completion.
To install GeekJDict first copy source files to your host (by cloning
Git repository or downloading and unpacking Zip archive). Then
optionally create a symlink to
geekjdict program from any directory
listed in your
$PATH so that you won't have to type a full path every
time you run GeekJDict.
GeekJDict is written in Perl programming language and requires the following Perl modules to be installed (Fedora package names are given in parenthesis; other distributions may name them differently):
Archive::Zip (perl-Archive-Zip) DBD::SQLite (perl-DBD-SQLite) DBI (perl-DBI) Imager (perl-Imager) PerlIO::gzip (perl-PerlIO-gzip) Term::ReadLine::Gnu (perl-Term-ReadLine-Gnu) XML::LibXML::Reader (perl-XML-LibXML)
The following Perl modules are listed in
perlmodlib as standard,
however you may have to install separate packages for some of them
depending on your OS distribution:
FindBin (installed with Perl) Getopt::Long (perl-Getopt-Long) Locale::Codes::Language (perl-Locale-Codes) Pod::Usage (perl-Pod-Usage) Term::ANSIColor (perl-Term-ANSIColor) Term::ReadLine (installed with Perl) Unicode::Normalize (perl-Unicode-Normalize) open (perl-open) parent (perl-parent)
Before using GeekJDict you have to populate dictionary database.
First you need to download the following files (use right mouse button in the browser and choose "Save as..."):
VERSIONstands for some date) from here
- JMdict.gz (or use JMdict_e.gz if you need only English glosses)
WaDokuDa.tabfrom here (accent and pronunciation data, optional but highly recommended)
Then execute the following commands:
$ geekjdict --update=kanji --lang=eng kanjidic2.xml.gz Unihan.zip cangjie5.txt $ geekjdict --update=writing kanjivg-VERSION.xml.gz $ geekjdict --update=words --lang=eng JMdict.gz [WaDokuDa.tab[.gz]]
You may use additional
--lang options, or omit
--lang entirely to
get all available languages.
To make the most out of GeekJDict features you are advised to read the
geekjdict --help, especially sections on kana and kanji
input, glob pattern queries and grammar inferences.
Copyright (C) 2016-2017 Tomash Brechko. All rights reserved.
GeekJDict is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
GeekJDict is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GeekJDict. If not, see http://www.gnu.org/licenses/.
GeekJDict source distribution doesn't contain any data files. However GeekJDict is assumed to be used with the following data:
JMDICT and KANJIDIC2 dictionary files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.
cangjie5.txt data file is freely redistributable without restriction.
license/ directory in GeekJDict source tree for further details.