Usage

Overview
As you can see below, the entries of the vocabulary are arranged similar to a spreadsheet. Each column represents an expression or word in one language or some other information. The leftmost column contains the name of the lesson this entry belongs to. The second describes the state of the line and the third is always the original word. The others to the right of it represent the respective translations.
[main view]
In the picture above, you can see that several properties of the vocabulary have a visual representation:
colors show the grade (Level 1 to 7) of your knowledge
A green check mark in the second colums means that this line is in use for a query (when you did not finish last time) whereas a red cross appeares when you deactivated the line.
if you mark a range of entries to work with, they appear with a different background.
The color in the column with the original will vary if you have two or more columns with translations. If the cursor is in one of the translations the color represents its grade to the original. See section entry dialog for more on this.
Of course it is also possible to use it as an ordinary dictionary and lookup manually.
On the bottom of the main window you also see the status line which usually contains the three areas that show important properties of the current expression if available:
T: 	the type of this word
P: 	how to pronunce this expression. If you have a font installed, that contains IPA-characters you can also use the characters from the phonetic alphabet. See more about this in the according options dialog page.
R: 	your personal remarks
While is loading, saving a large file or otherwise busy doing something time consuming, you will see a progress bar in this status line.

Inline editing
There are two modes that allow you to modify the content of the cells in the main view. You can select the desired mode in the options menu.
Inline editing enabled 	When this mode is enabled you can modify the lesson or the state of a table row by selecting it from a listbox. The listbox appears after clicking on it with the mouse or pressing space while the cursor is in the cell.
To modify a word or an expression just start typing and press Return when you have finished.
Please note: You can't invoke the entry dialog window in this mode.
Inline editing disabled 	When inline editing is disabled you must press F2 to open a listbox or an edit field to make you changes.
To invoke the entry dialog window just press Return when the cursor in the cell or double click on it.

Using the keyboard
I tried to optimize the work flow for the use with the keyboard. So all of the important functions are reachable this way.
Tab 	The cursor is moved to the smart search input field. If you start typing an expression in this field, will search the next best match after each key. The cursor in the vocabulary is then moved to this location.
If you press Return it will move to the next match.
If you only want entries that match from the beginning of the expression you must press Return.
Pressing Tab or Tab will move back to the vocabulary.
Left Arrow 	The cursor in the vocabulary is moved one column to the left. If it has reached the leftmost column, nothing happens.
Right Arrow 	The cursor in the vocabulary is moved one column to the right. If it has reached the rightmost column, nothing happens.
Up Arrow 	The cursor in the vocabulary is moved one row upwards. If it has reached the topmost row, nothing happens.
Down Arrow 	The cursor in the vocabulary is moved one row downwards. If it has reached the bottommost row, nothing happens.
Page Up 	The cursor in the vocabulary is moved one page (the amount of visible lines -1) upwards. If the cursor would exceed the first possible row, nothing happens.
Page Down 	The cursor in the vocabulary is moved one page downwards. If the cursor would exceed the last possible row, nothing happens.
Enter 	Invoke dialog for modification of this entry.
Ins 	Invokes a dialog to enter a new original expression and appends a new row with this expression at the end of the vocabulary. The cursor is moved to the end of the vocabulary afterwards.
If you have selected smart appending you are prompted to enter originals and their translations until you stop by pressing the ESC key.
Del 	After confirmation of a safety dialog, the currently selected row or selection is removed from the vocabulary.
+ or - 	By pressing and one of the two number pad keys, + or -, you can choose the previous or next item in the combo box determining the current lesson. If you don't have a number pad you may also use the normal + or - keys.

Using the mouse
Double clicking an expression in the table will invoke the dialog to modify this entry.
Left mouse click in of the header buttons will sort this column in ascending order. The next click will sort in descending order. When the colum is sorted you can see a triangle in the button that shows the direction.
Keeping pressed the left mouse button for about 1 second in on of the table header buttons will pop up its header menu.

Working on selections
It is possible to mark a range of expressions. You can then modify one or more properties from the selection or save them as a new file.
If you keep the key pressed while clicking on an entry, the whole row is marked for further processing. A click on a marked entry will remove this selection.
When you additionally press a key when clicking on an entry, the selection will be extended from the current entry to the point where the cursor was previously.
You invoke the edit dialog to modify the selection by pressing Return. In this case the dialog appears differently. Some properties are disabled. For example it does not make sense to edit the expression itself or the remark of a whole range.
All selectable fields are empty at the beginning to represent the unmodified state. Once you have modified a property there will be contents in its field and only those properties are altered in your selection when you confirm the dialog.

Available file formats
can read and write the following file formats:
Its native xml-style document type with the extension .kvtml.
If you want to share documents with others use this one as it is the only file format that is capable of containing all the properties in .
Vocabulary files from vocabbox which is the leanest vocabulary trainer I know. I recommend this application if you need a really compact one.
Files created by Vocabulary Trainer This is an application for . It uses the file extension lex. Unfortunately the link to the original files at Compuserve is dead but there may still be files available elsewhere so I kept it.
Simple text files with special delimiters between the entries which are also used by simple database programs. The extension is csv in this case. also detects if those files are encoded in UTF8 since such files are also available to preserve the correct characters, see more about this in the section about encodings and charsets.
There are a lot of dictionaries on the internet which use the tabular character or one or two colons to separate the different languages. To select this separator use the dialog for setting the clipboard options.
reads the first few bytes from a file and makes a guess about the file format. When none of the special types like kvtml or lex are recognized, it uses the csv format.

Available word types
has the following internal word types. Furthermore every document can contain user derfined types.
Type name	Description	Example
Adjective	describing the properties of things or persons	expensive, good
Adverb	tells you when, how, where .. something is happening	today, strongly
Article definite article indefinite article		a, an the
Conjunction	serves to bind words or sentences	and, but
Proper Noun	name of a person, a creature, sometimes a thing	Big Ben, Tom
Noun male female neutral	naming of things, feelings	table, coffee (english does not distinguish here)
Numeral ordinal cardinal	counting or numbering of things	first, second one, two
Phrase	special combination of words	to kill two birds with one stone
Preposition	tells you about the relationship or location	behind, between
Pronoun Possessive pronoun Personal pronoun	tells about the ownership of something stands as a replacement for a noun	my, your you, she
Interrogatory	introduces questions	who, what
Verb regular verb irregular verb	who is doing something or what is happening	to cook, cooked, cooked to go, went, gone

About charsets, encodings, unicode and such strange things
Every human-readable text file is represented by a sequence of bytes or octets. The actual meaning of those bytes can happen in a lot of different ways, depending on the system where it is displayed or which language the text is intended for.
Since usually a byte is the smallest common unit for data on computers each character you see on a screen is represented by exactly one byte. Each byte can stand for a value from 0 to 255 and therefore you are able to display up to 256 different characters within one file.
Usually you have the ascii characters, ⪚ a through z, A through Z, 0 through 9 and additional language dependent characters. For example, the German umlauts ä or ü or a lot of other special symbols from Russian, Greek, Hebrew or even Chinese. All this tots up to far more than 256 different symbols.
At this point it should be obvious that you have to take care to select the correct charset, which is needed on a lot of computer systems to display the bytes in the same way as they are intended.
A better approach is to combine two ore more bytes into a representation for a single character on the screen. This is for example what Unicode does. Unicode is a standard that currently uses a range from 0 to 65535 (and even more) to designate a given symbol. Almost each symbol of almost any language on earth (and even a lot more, ⪚ well known icons or klingon) is assigned a unique and unabiguous number.
Unfortunately the handling of Unicode is a bit more complicated and does not work with most of the current tools. Texts in unicode might also be longer. A compromise is to use UTF-8 which uses 7 bits (8 bits form one byte) for the most common characters from the ascii set and switches to 2, 3 or even 4 or more bytes if needed.
Every vocabulary file for is basically such a simple text file using Unicode.
To support as many languages as possible version 0.7 offered the possibility to choose a special charset for each language. If you have saved your files in the former 8Bit-Mode you might see the wrong characters when you load with version 0.8 and higher. Contact me in this case.
If you want to learn more about this issue you should visit the following links:
http://www.hut.fi/u/jkorpe la/chars.html
http://linuxdoc.org/ HOWTO/Unicode-HOWTO.html
http://czyborra.com/c harsets/codepages.html

And how should I learn?
The usual way to learn with is to use one of its random query functions.
It keeps track of your knowledge of the expressions by assigning them one of seven grades ranging from Level 1 to Level 7.
Several possibilities are implemented which can be configured in the dialog for the query options.
To keep the amount of expressions reasonable, restrict the query to a lesson and/or a word type. I personally prefer about 50 words per cycle and subdivide the lessons accordingly.
Furthermore, the range for the query can depend on the current grade, the number of queries and the last query date.
Learning is efficient, if you don't repeat the words for a certain length of time, dependig on the current grade.
There is a blocking and expiring mechanism for that case, so you are not obliged to modify the settings after each cycle. The known expression is blocked at least for the given time and will be shown after the expiration time.
The direction of the learning can be changed randomly to avoid one way learning.
For your personal taste or just for becoming acquainted with a new word, you can choose a query that shows the solution together with several other randomly chosen words (called multiple choice).
Special word types need special queries.
For this reason there are queries for the conjugation of verbs, comparision form of adjectives and the articles of nouns.
All these settings can be summarized into query groups and retained under an arbitrarily name.
When querying shows the expressions in random order until you confirm all as known. If you did not select a special lesson, all lessons are queried one after the other.
Remaining expressions of a currently running query are accordingly stored when you leave . After a later restart you can resume the query (currently this does not apply to special queries with verbs, articles and comparisons). Those expressions are marked with a green check mark in the main view.