German-French vocabulary trainer

Last year, I started learning French. As with every language, learning the vocabulary is essential, but learning it from the book I had was a bit impractical. So I thought to myself: Why not get some coding practice by programming my own vocabulary trainer? Over the last few months, I put together a Python program which allows me to create my own vocabulary lists, practice with them and update them if I want to add some new words.

The program saves the vocabulary in various text files. To create such a file, click on the “New document” button in the starting screen.
This will open up a popup window with an entry field where you can type in the name of the new file. You don’t have to add the “.txt” ending, the program will do this automatically.

Clicking the “Confirm” button in the popup window will close it and make the newly created file available as an option in the “Choose document” dropdown menu.

Now, click “Add new word” to open up a screen where you can enter the various translations of a word and a comment that will not count as a valid solution during practice.

Clicking “Add” in this screen will append the selected file with the new vocabulary if at least one word has been entered for each language.

Back in the starting screen, clicking “Start” will begin practice for the currently selected file. A word from the file and whether you have to translate the German or the French version is picked at random and displayed as a question to the user.

Enter your answer in the entry field; if you need them, the buttons at the bottom left will make the respective special French letter appear in the entry field. Then, hit the Enter key to check for the solution. If your answer was wrong, the correct solution will be displayed beneath the entry field.

Hitting the Enter key again will make the program pick the next word from the file. The program will only pick words that you haven’t gotten right yet in this practice session. Once the correct solution for each word was entered, the program will return to the starting screen.

Each word also has its own level of proficiency which is saved across different practice sessions. When you add a new word to the library, it has a level of zero. Each time you get the word right, its level increases by one, and each time you get it wrong, its level decreases by one, but never falls below zero. Once it has reached level ten, it will no longer be used for practice.

You can download the program here. Be aware that you will only be able to select text files that are in the same folder as the program. Also, you can of course use this program as an English-French vocabulary trainer if you just enter English instead of German words into the files.