aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2019-04-18 23:30:20 +0300
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2019-04-18 23:30:20 +0300
commitc9dd0048b354cc36a0e8fcdf5f5f15ba6fa8f2e0 (patch)
treebff2927848fae6f80dfe5cfb0f2925dea2b0141c /README.md
parent481c69be02c95fbf20567d8de617315484e2d692 (diff)
downloadopenrussian-cli-c9dd0048b354cc36a0e8fcdf5f5f15ba6fa8f2e0.tar.gz
added COPYING and README
Diffstat (limited to 'README.md')
-rw-r--r--README.md115
1 files changed, 115 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f7670db
--- /dev/null
+++ b/README.md
@@ -0,0 +1,115 @@
+# An Offline Console Russian Dictionary (based on openrussian.org)
+
+* Works offline (without internet access) and is very fast.
+ This really pays off if you browse Russian words a lot.
+* It integrates well into the console environment - browse dictionary
+ entries like man pages.
+ Internally, Troff code is generated which makes further processing of generated
+ pages ~~very easy~~ possible.
+* Puts very low requirements on the runtime environment:
+ a black and white terminal display is sufficient.
+* Bash auto completions supported.
+ Most of this is handled by the script's `-C` argument, so it
+ is trivial to add support for other shells.
+ Contributions are welcome!
+* Search terms can be: base forms (infinitives, nominative singular nouns...),
+ inflections (all cases, conjugations, short forms, imperatives...) and
+ translations.
+* Search terms are [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)),
+ which is very useful for looking up words with uncertain spelling or finding
+ related words.
+
+Possible future features:
+
+* Bilingual modes (German and English translations on the same generated page)
+ to increase the amount of information if you happen to speak both of these languages.
+* Better internationalization when generating German pages (`-Lde`).
+* Lookups via popular ASCII-cyrillic transliterations - would be useful without
+ a Russian/cyrillic keyboard layout.
+* Be tolerant to typing mistakes.
+* Accented characters are still broken in nroff tables
+ (see https://lists.gnu.org/archive/html/groff/2018-08/msg00000.html).
+
+## Installation
+
+Build-time dependencies:
+
+ sudo apt-get install make pkg-config lua5.2 bash-completion wget unzip gawk sqlite3
+
+Run-time dependencies:
+
+ sudo apt-get install lua5.2 lua-sql-sqlite3 man-db bash-completion
+
+Furthermore, you will need the [luautf8 library](https://github.com/starwing/luautf8).
+Using luarocks, it may be installed as follows:
+
+ sudo luarocks-5.2 install luautf8
+
+Building is straight forward:
+
+ make
+ sudo make install
+
+If you want to redownload the latest [openrussian.org](https://en.openrussian.org/)
+database:
+
+ make clean all
+
+**Warning:** While the database content might be newer, the database schema
+might also at any time become incompatible with the existing script.
+But you are of course welcome to contribute fixes/updates. :-)
+
+## Examples
+
+ openrussian саморазрушение
+ openrussian -Lde саморазрушение
+ openrussian самора[сз]рушение
+ openrussian *разрушение
+ openrussian -V коса
+ openrussian catch a cold
+
+Graphical display using `groffer`:
+
+ openrussian -p кошка | groffer -Kutf8 --mode pdf2 -fSTIX
+
+## License
+
+The main program is licensed under the GNU General Public License Version 3 or later
+(see `COPYING`).
+
+This repository contains database dumps from the
+[openrussian.org website](https://en.openrussian.org/dictionary).
+The `openrussian-sql.zip` file is licensed under the [CC BY-SA](https://creativecommons.org/licenses/)
+license.
+
+This repository also contains code, imported from the
+[mysql2sqlite repository](https://github.com/dumblob/mysql2sqlite.git).
+The file `mysql2qlite` is licensed under the following terms and conditions:
+
+```
+The MIT License (MIT)
+
+Copyright (c) 2015 esperlu, 2016 dumblob
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+```
+
+## Further documentation
+
+ man openrussian