Files of check-in [e916db4da1]
in the top-level directory
Look up words in bilingual dictionaries.
Install from PyPI. ::
pip3 install vortaro
Follow these directions to download a dictionary. ::
python3 -m vortaro download dict.cc
Run this to confirm that you have saved the dictionary properly. ::
python3 -m vortaro languages
Then you can look up stuff like this. ::
python3 -m vortaro search elephant
The default is to look for the phrase in all dictionaries.
Restrict to particular languages like this. ::
python3 -m vortaro search -to hr -to sv -from en elephant
It is possible to search with multiple alphabets or transliterations.
For example, these return the same thing.
python3 -m vortaro search -from eo ĉu
python3 -m vortaro search -from eo cxu
Run these to see help. ::
python3 -m vortaro
python3 -m vortaro download -help
python3 -m vortaro languages -help
python3 -m vortaro index -help
python3 -m vortaro search -help
Defaults can be configured in ``~/.vortaro/config``.
Mine looks like this. ::
The above commands are also available as Python functions.
See ``vortaro.download``, ``vortaro.languages``, ``vortaro.index``,
Consider setting up an alias and tab completion. Here is what I use in tcsh. ::
alias vortaro python3 -m vortaro search
complete vortaro 'C%*%`cut -f 1 ~/.vortaro/history`%'
Here an alias for sh. ::
alias vortaro='python3 -m vortaro search'
This is a Python module.
Source code is at https://thomaslevine.com/scm/vortaro/.
The command line interface uses `horetu <https://pypi.python.org/pypi/horetu/>`_.
I have tested it only on Python 3.6.
The idea of underlining the search term comes from
Matthias Bloch's `woerterbuch.pl <https://www1.dict.cc/download/woerterbuch.pl>`_.
I think I got the idea of sorting by word length from Dandified Packaging Tool.
woerterbuch.pl scans the whole dictionary each time a phrase is requested.
I wanted more timely responses, so I decided to index the dictionaries and
cache them in memory. Version 0 used Redis as the in-memory store.
Once I figured out how I wanted the search index to be structured, it was
easy to rewrite it for relational databases. This made the whole thing easier
to manage. Version 1 is rewritten to use a relational database. It is tested
in PostgreSQL and SQLite.