This project started when I've begun to learn a Nordic language and I realized that the only good dictionaries are those online but, and don't laugh, I have no 3G Internet connection on my Android smart phone (because I am stingy when comes to money) and it would be nice if I would find some freeware (see? I'm stingy again) offline Android multi-language dictionary. Those that I've found were either limited in functionality, speed or content. So I've chose to write my own application instead.
Lexicon is a Android application that allows you to browse a dictionary without Internet connection. It was written with multi-language support in mind, multi-dictionaries, simple but effective user interface.
Because Android provides API for accessing a Sqlite databases, the choice of using Sqlite as the application backend came naturally. This choice made possible that a 46000 words dictionary search,using a Sql LIKE matching-pattern, to take only half of a second.
There are plenty of offline-dictionary programs made available out there (see Google Play) so why do we need a new one?
I think that few of the reasons could be the following:
- this project has opened its sources so anyone can contribute to it (make it better)
- the program it's free and also free of adds; I believe that everyone likes that
- the dictionaries are very well designed, a cooperation between the Institute for language and folklore and Kungliga Tekniska högskolan
- nevertheless there are over 20 available dictionaries
Works with Android SDK
At the moment when this wiki was written I've tested this application with the Android SDKs mentioned below. It might works with other versions too, though.
Note that if you would like to use the application *without OCR functionality* you have to fork the project and to remove the Tesseract API dependency and to comment the code from getTextFromOCRBitmap method from Main.java, as I've explained here.
Without OCR functionality
- >= 2.1 (API 7)
With OCR functionality
- >= 2.3.3 (API 10)
- multi-language UI support
- multi-dictionary support (English,Albanian, Azerbaijani, Amharic, Arabic, Bosnian, Croatian, Finnish, Greek, Macedonian, Northern Kurdish, Pashto, Persian, Russian, Roma (Arli), Romanian, Serbian, Somali, Spanish, Swedish, South Kurdish, Tigrinya, Turkish, and Vietnamese turabdinska)
- in-place search (or only on demand)
- search using SQL pattern-matching
- scalable search result list (you can choose to show only the TOP 100 results); the list provides also a translation preview
- searching even deeper within the inflections of word (eg: you search for the participle done, it finds the infinitive do)
- customizable level of details that are shown in the detail page of the word
- word ussage statistics (keep the track of the most used words; the data is not use for the moment, but in the future it could be proved valuable)
- application/dictionary live update, independent by Android Marketplace (requires Internet connection)
- integrated OCR functionality
This project is licensed under the Apache License, Version 2.0.
The English Swedish dictionary is provided by Folkets lexicon, it can be used under the Distributed Creative Commons Attribution-Share Alike 2.5 Generic license.
The project home page
The project and its code is open and free for everyone, its home page is hosted at bitbucket.org.
Because a pictures says more than 1000 words I made few screen shots to see the little droid at work.
You can install as many dictionaries you want. Anyway, once installed you can switch between them easily.
Every dictionary is a small SQLite database so everything you query will be fast. By the way, it chews 23000+ words like a breeze:
The application is thought to work with any kind of weird language (don't get me wrong, but what I can't read it's weired to me):
Maybe it's time to see the main window, otherwise you might think to leave quickly this page:
We have menus too:
Because we talk about the menus and because settings seems more interesting, let's see what settings one might change:
We have more:
If you want to tune the level of details:
But what are those details, anyway:
While a new dictionary is installing you know what's going on:
Once a pal asked me if it's possible to make a photo instead of typing the word because he does not have the Arabic keyboard/symbols and he want to check what a specific Arabic word means:
So my little droid knows now to take a photo, to crop the image around that word:
...another little OCR droid knows to convert the weired image to text so a picture became a text:
Now, if you think that this article was interesting don't forget to rate it. It shows me that you care and thus I will continue write about these things.