The K Desktop Environment

Next Previous Table of Contents

3. Working with kvoctrain

3.1 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. The leftmost column contains the name of the lesson this entry belongs to. The second is always the original word and the others to the right of it represent the respective translations.

[main view]

In the picture above, you can also see that several properties of the vocabulary have a visual representation:

The color in the column with the original will vary if you have two 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 properties of the current expression if available:

While kvoctrain is loading, saving a large file or otherwise busy doing something time consuming, you will see a progress bar in this status line.


3.2 Using the keyboard

I tried to optimize the work flow for the use with the keyboard. So all of the functions are reachable this way.


The cursor is moved to the smart search input field. If you start typing an expression in this field, kvoctrain 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 additionally keep SHIFT pressed while entering the next letter of your word (or press Return for the next match) only entries that match from the beginning of the expressions are recognized.

Pressing SHIFT-tab will move back to the vocabulary.


There are two possibilities:

  • SPACE for its own selects or de-selects the current row. This means this line is included in (or excluded from) the next query. When selected, the row appears in a bold face font.
  • If you press a shift key (one of shift, control or alt) together with the SPACE key, the current entry is assigned the lesson which is shown in the lessons listbox in the toolbar. If the entry was already assigned a lesson, it will belong to no lesson afterwards.

Cursor LEFT

The cursor in the vocabulary is moved one column to the left. If it has reached the leftmost column, nothing happens.

Cursor RIGHT

The cursor in the vocabulary is moved one column to the right. If it has reached the rightmost column, nothing happens.

Cursor UP

The cursor in the vocabulary is moved one row upwards. If it has reached the topmost row, nothing happens.

Cursor DOWN

The cursor in the vocabulary is moved one row downwards. If it has reached the bottommost row, nothing happens.

Cursor 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.


The cursor in the vocabulary is moved one page downwards. If the cursor would exceed the last possible row, nothing happens.


Invoke dialog for modification of this entry.


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.


After confirmation of a safety dialog, the currently selected row or selection is removed from the vocabulary.

+ -

Pressing the control key and one of the two number pad keys, + or -, you can choose the previous or next item in the combo box determinig the current lesson. If you don't have a number pad ypu may also use the normal + or - keys.

Some of the menus also have accelerator keys. They are shown on the according entry on the right side.

The buttons on top of the rows are acessible by the keyboard. To avoid clashes with the shortcuts for the main menu you have to press SHIFT + ALT and the key of underlined letter in the button text. Then the corresponding header menu will pop up.


3.3 Using the mouse


3.4 Working on multiple selections

It is possible to mark arbitrary ranges. You can then modify one or more properties for the selection or save them as a new file.

The selection will disappear after a simple mouse click in a table cell without a key pressed.

It is also possible to create multiple selections with the cursor keys. The shift and control keys have the same function here. If you want to move the cursor to an other area you have to keep the alt key depressed to prevent the selection from disappearing. If you want to select several areas you will have to press a lot of keys, but it works.

If you invoke the edit dialog to modify a selection 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 it's field and only those properties are altered in your selection.


3.5 Available file formats

kvoctrain can read and write the following file formats:

kvoctrain 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.


3.6 Available word types

kvoctrain has the following internal word types. Furthermore every document can contain user derfined types.

Type nameDescriptionExample
Adjectivedescribing the properties of things or personsexpensive, good
Adverbtells you when, how, where .. something is happeningtoday, strongly


  • definite article
  • indefinite article



  • a, an
  • the

Conjunctionserves to bind words or sentencesand, but
Namename of a person, a creature, sometimes a thingBig Ben, Tom


  • male
  • female
  • natural
naming of things, feelingstable, coffee (english does not distinguish here)


  • ordinal
  • cardinal
counting or numbering of things


  • first, second
  • one, two

Phrasespecial combination of wordsto kill two birds with one stone
Prepositiontells you about the relationship or locationbehind, between


  • Possessive pronoun
  • Personal pronoun


  • tells about the ownership of something
  • stands as a replacement for a noun


  • my, your
  • you, she

Interrogatoryintroduces questionswho, what


  • regular verb
  • irregular verb
who is doing something or what is happening


  • to cook, cooked, cooked
  • to go, went, gone


3.7 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 therefor you are able to display up to 256 different characters within one file.

Usually you have the "ascii" characters, e.g. a..Z, A..Z, 0..9 and additional language dependent characters. E.g. the german umlauts ä or ü or a lot of other special symbols from russian, greek, hebrew or even chinese. All this tots up to fare more than 256 different symbols.

At this point it should be obvoius that you have to take care to select the correct "charset", which is needed 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 to designate a given symbol. Almost each symbol of almost each language on earth (and even a lot more, e.g. well known icons) 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 kvoctrain is basically such a simple text file.

To support as many languages as possible kvoctrain offers the possibility to choose a special charset for a 8 or 16 bit based representation as well as the storage of the files and in the computers memory in UTF-8.

Unicode is only supported on QT2 based systems since this only works well if the underlying system works with uncode.

If you want to learn more about this issue you should visit the following links:


3.8 And how should I learn?

The usual way to learn with kvoctrain 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.

All these settings can be summarized into query groups and retained under an arbitrarily name.

When querying kvoctrain 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 kvoctrain. After a later restart you can resume the query (currently does not apply to special queries with verbs, articles and comparisons).

Next Previous Table of Contents