Welcome to jLexis

What is jLexis?

jLexis is an Open Source vocabulary trainer licensed under the terms of the GNU Public License. As its name indicates, it is completely written in the Java programming language.

One of the most notable things about this tool is the fact that it is completely language independent and yet it lets you specifically learn the particularities of any foreign language. That is, jLexis does not restrict you with the choice of foreign languages you can learn with it and gives you the opportunity to learn language features such as plural forms of nouns or the declension of verbs, nouns and adjectives. This is achieved by allowing to add language specific functionality to the core program through the use of language plugins.

Here is an excerpt of some of the most notable features of jLexis:

  • Language independence through the use of language plugins.
  • Fine grained quiz modes are possible which will not simply ask for the translation of some term or phrase, but which can formulate questions that directly address the intricacies of a foreign language (e.g. idoms, phrasal verbs, grammatical forms, etc.).
  • Vocabulary data is stored in a database, so that sharing of this data in a network is possible. By default, however, jLexis runs out of the box without the need to install any extra database server infrastructure.

jLexis has a lot more features to offer. There are even more useful features planned for the future. Go ahead and take a look at them on the feature overview page.

Current Status

Unfortunately, jLexis is not finished yet. The project is still in a relatively early phase which does not yet allow for providing a usable version of the program. On the other hand, the project is advanced enough that a proof of concept version does exist. That is, there are some language plugins available which can be used to enter vocabulary data. In addition, you can use these vocabulary data to go through a quiz round with it. Have a look at the screenshot section to get a glimpse of the current implementation status. Another option to see jLexis in action is to download the latest version from the source code repository and then compile and run it.

Due to the nature of the current implementation status, this project website is primarily aimed at the Open Source community with the intention to recruit motivated and talented Java programmers who would like to join the team and contribute to the project.

Yet Another Vocabulary Trainer?

Who needs yet another vocabulary trainer? There are dozens of free and commercial language trainers available on the web after all.

This is a legitimate question. To answer it, let me first tell you how I had the idea to start an own implementation of a vocabulary trainer. In 2006, I started to learn the Swedish language as a hobby. The Swedish grammar is relatively easy to grasp and has a largely regular structure. Nevertheless, there are some things one simply has to cram. For example, Swedish nouns can have one of five different plural forms. So, what I needed was a vocabulary trainer which could specifically ask me, for instance, what the definite plural of "sandwich" (i.e. "the sandwiches") is in Swedish (which is "smörgåsarna" by the way).

I then made a survey of the available vocabulary trainers on the web. There are quite a lot of such programs both free and commercial to be found. Part of them are classic vocabulary trainers, part of them are flash card applications. Yet there's one thing that all of these programs have in common. All of them work more or less according to the same schema. You can basically enter a single vocabulary term in the form of two free text values. One for the term in your mother tongue, the other for the translation into the language you want to learn. Given a term in your native language, the vocabulary trainer can then ask you for this translation, and vice versa.

This approach has one serious disadvantage. While useful for beginners or casual learners, it is not sufficient if you want to study a language in more depth. By dealing with vocabulary data as simple free text, all semantic information gets lost for the computer. Hence, most of the available vocabulary trainers can only test you on the complete translation of some vocabulary term. It would be desirable, though, to have the computer ask you more specialized test questions which can automatically be derived from the same vocabulary entry. For example, if it would be possible to explicitly point out all information relevant for a noun, a vocabulary trainer could generate more than just on test question from that. It could ask for the noun's gender, for its singular and plural form, or it could filter out all irregular nouns and only pose test questions for those. To be able to do that is the main goal for jLexis.


If you like the idea of that new vocabulary trainer presented to you on this page you are warmly invited to join the team and contribute to this project. You should be proficient in the Java language if you want to work on jLexis' code base. It would be very beneficial if you also have experience with programming Eclipse RCP applications.

Are you interested? Then go to the Team page to get the necessary information to get in contact with the project lead.