Authors: Michael Meer (; Daniel Stein (


All releases are located on our Sourceforge download page.

Why was this program made?

VocableTrainerX is intended for learning vocabulary in a foreign language, and uses a flash-card model for testing and practicing. Back in 2001, Mike was learning Indonesian in his university and needed a vocabulary drill. Because he also wanted to learn about Objective-C and the Cocoa Frameworks it was an ideal opportunity to begin writing this program.

In 2005, Dan undertook substantial revisions of the code, and updated the interface.

The authors hope you will find this little program useful!


Mac OS X. Releases 0.7 and above run only under Mac OS X 10.3. For Jaguar and earlier you should use Release 0.5 or 0.6).

How Does It Work?

Adding New Items
Pressing "Add Item" on the toolbar inserts a new item in the list; you can use the Inspector Window to edit the item and specify a topic or category for the item. When you type Return in any field in the inspector, you commit the edit as well as add a new item to the list; this is convenient for rapid multiple data entry.

Start a quiz
You can start a quiz by pressing the toolbar's Quiz button, which launches a quiz window and conducts a drill on any selected items in the main window, or on all items if none were previously selected. You can choose to be prompted in your native language to give answers in the second language, or you can choose to have the prompts mixed between both languages (See the Preferences window).

Performing a quiz
Simple! You will be prompted for the item in one language; you'll make up your mind what the answer should be in the other language, then you type it in the other field and press Enter. If your answer is correct, this will be confirmed by text that appears in green; if your answer was incorrect (based on a case-insensitive comparison) the confirmation appears in red. The score for that item in the main table will be affected appropriately. If you want to skip any item, a button is provided, and the score for that item will not be affected one way or the other.

The quiz will pass through the selected (or all) items only once. An algorithm allows you to skip certain items if you have been tested more than N times and your percentage correct is higher than 0.x, although these items will still be tested occasionally, based on a random number generated during the quiz.

In the main vocabulary list, a Score column shows how well you have performed on quizzes. The colored blob is purple if your score is above 0.8, green if you scored better than 0.6, yellow if the score is 0.4 or better, and red if you scored below 0.2. The score image is white if no testing has yet been done. You can reset the scores for selected items via a menu item (or all items, as usual, if none are selected).
Of course you can also delete, sort, filter, copy and paste your vocabulary items, as well as export them into a CSV file if you want to work on them in another program. Importing CSV data is also enabled. A simple printing capability allows you to produce a hard copy of your vocabulary lists. Note that you can use version 0.9.1 to open .voc files that were saved in Version 0.71; you will have to use the document format choice popup in the save dialog to save the document opened thus to the new format.


VocableTrainerX began as Mike's pet project. We hope you like it too! If not, please tell us what's missing or needs-to-be-fixed!


The inspector window for viewing and editing data details...

Typical document with open drawer containing a table for topical summary and selection;
results of quizzes shown by color-coded images in the right-hand column;
you can change the column headers via the Settings... item in the Window menu...

Running a quiz; after you enter your response, the correct response is shown briefly,
color coded to indicate whether your guess was good or not:

You can set certain application-wide features via Preferences...

There is also a set of documentation accessed via the Help menu;
download sample files from the links below:

Example File (V. 0.71 format)


Example File (V. 0.9.1 format)


Sample CSV file


For developers still in the process of learning Cocoa, Dan has provided a detailed
outline of the steps he used in developing the current version of the code. This outline
may demonstrate some basic stuff that he has not finished learning himself,
and is by no means guaranteed to be a complete (or even entirely correct) description.
For example, it will show you the inefficient code used to parse csv and raw data which
causes the opening of large files (such as the examples provided online here) to take a
lot longer than you would like.


$Name: $, $Author: deldotvee $
$Header: /cvsroot/vocx/vocx/www/index.html,v 1.3 2005/03/28 02:47:06 deldotvee Exp $