The first open source translator which is completely open with dictionary data too. The homepage is http://easydict.jiri.one. On this page you can also try the search results, which will be the same as in the app (however, the web application does not use TinyDB+orjson as a backend, but uses RethinkDB - the source data is the same). The application is at an early stage of development, but the features and dictionaries that have already been implemented work very well.
EasyDict is a simple translator that will translate, typically, one word in one language into another language. This translator has several, sometimes unique, features.
- It is written in Python.
- It uses the fastest json implementation for storing dictionaries - orjson (own orjson storage for TinyDB).
- The user interface is written in PyGObject (GTK3.0).
- The application starts hidden in tray and tapping tray brings up the main application window - xapp library is used.
- If you have the main application window displayed, it is displayed on top and overlays all other windows. In this mode, the app monitors the clipboard and automatically translates the words you copy into it.
- You can use either a whole word search or a full-text.
Currently only Czech-English and English-Czech dictionaries are available. This dictionary data comes from the http://svobodneslovniky.cz project (the dictionary data is therefore governed by the GNU/FDL license).
Welcome Screen | Search Screen |
---|---|
Because, the app is writen in Python, you can simply install from PyPi:
pip install easydict-gtk
and run it with:
easydict-gtk
The second option to install easydict-gtk is to use Flatpak:
flatpak install -y one.jiri.easydict-gtk
and run it with:
flatpak run one.jiri.easydict-gtk
Note: In Flatpak version is not supported tray icon, if you need tray, you have to use classic version from PyPi or from source code.
Everything should be automatically installed by pip: tinydb, orjson, pycairo, PyGObject
- get the homepage https://easydict.jiri.one back online
- create tests for backend
- add the possibility to use other dictionaries
- optimize the application for touch control so that it can be run on Phosh - https://puri.sm/projects/phosh/ using libhandy - https://gitlab.gnome.org/GNOME/libhandy
- ? maybe swith to poetry
- create FlatPak package and publish it on FlatHub
- create ArchLinux package an publish it on AUR
- ...