# The &kvoctrain; Handbook

## Introduction

### What is it?

&kvoctrain; is a little utility to help you train your vocabulary, when you are trying to learn a foreign language. You can create your own database with the words you need.

It is intended as a replacement for index (flash) cards.

You probably remember flashcards from school. The teacher would write the original expression on the front side of the card and the translation on the back. Then look at the cards one after another. If you knew the translation, you could put it away. If you failed, you put it back to try again.

&kvoctrain; is not intended to teach you grammar or other sophisticated things. This is, and probably will stay, beyond the scope of this application.

## 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 appears 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 pronounce 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 &kvoctrain; 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.

  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, &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 only want entries that match from the beginning of the expression you must press &Ctrl; Return.

  Pressing &Shift; 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 &Ctrl; 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 column 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 &Ctrl; 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 &Shift; 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

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

- 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 &Microsoft; &Windows;. 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. &kvoctrain; 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.

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

### Available word types

&kvoctrain; has the following internal word types. Furthermore every document can contain user defined 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 unambiguous 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 using Unicode.

To support as many languages as possible &kvoctrain; 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 &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.

- 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, depending 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, comparison 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 &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 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.

## The Menubar

### The File Menu

File New

- Creates a new document.

&Ctrl;O File Open...

- Opens an existing document.

File Open recent...

- Opens one of the recently opened documents.

File Open example file...

- Opens an example file shipped with &kvoctrain;

File Merge..

- Merges another vocabulary to the current.

  Only those parts of the second vocabulary are merged, that have the same international language code as your current one.

  So always use the correct codes. This helps you share vocabularies with others. &kvoctrain; supports you in this and offers all codes in the according options page

&Ctrl;S File Save

- Saves the document.

File Save as

- Saves the document under another name.

File Quit

- Exits &kvoctrain;.

### The Edit Menu

&Ctrl;C Edit Copy

- Copies the current row to the clipboard. The entries are separated by a special sequence of characters which can be chosen in the options dialog.

&Ctrl;V Edit Paste

- Pastes from clipboard. The entries are divided by the above mentioned separator character and inserted as a new row with one or more columns. You can also adjust the order in which the columns are concatenated before copying all to the clipboard.

  Pasting multiple lines (⪚ from a `CSV` data base file) will append them all as new rows one after another.

&Ctrl;A Edit Select all

- Marks the whole vocabulary as selected for further processing.

&Ctrl; Del Edit Clear selection

- Removes all multiple selection marks.

&Ctrl;F Edit Search from clipboard

- Pastes the clipboard content into the smart search entry field and searches this expression in all the entries in the current column.

Ins Edit Append new entry

- Appends one or more new expressions. See Insert key section for more information.

Enter Edit Edit selected area

- Edits current expression. See Enter key section for more information.

Del Edit Remove selected area

- Removes selection. See Delete key for more information.

Edit Save selected area...

- Saves the selection to a file.

### The Vocabulary Menu

Vocabulary Show statistics

- Invokes the statistics dialog to display the most important facts about your vocabulary.

Vocabulary Assign lessons

- Searches the vocabulary for entries that are not yet assigned a lesson. They are randomly assigned new lessons.

Vocabulary Clean up

- Searches for entries which are exactly the same (original and all translations) and removes all but one.

Vocabulary Append language

- Appends a new column (a new language).

Vocabulary Set language

- Sets the language code and name for a column.

Vocabulary Remove language

- Removes one of the translations.

Vocabulary Document properties

- Invokes the document properties dialog.

Vocabulary Language properties

- Invokes the language properties dialog.

### The Learn Menu

Learn `Language Names`

- Provides a submenu for each language with all the query dialogs. Exactly the same as the menu appearing in a table header button.

Learn Resume random query

- Resumes the previous random query if you terminated one before. Remaining entries appear with a green check mark.

Learn Resume multiple choice

- Resumes the previous random query with multiple choice.

### The Options Menu

Options Toolbar

- Toggles the visibility of the toolbar buttons.

Options Statusbar

- Toggles on or off the status line at the bottom.

Options Inline editing

- Toggles on or off inline editing in the table cell.

Options General options

- Invokes the general options dialog.

Options Query options

- Invokes the query options dialog.

Options Save options

- Saves the options. Only selectable if the options are not already saved automatically.

### The Help menu

&help.menu.documentation;

### Table header menu

The following context menu will appear when you keep the third button (your original expressions) in the table header pressed for about a second.

Create random query

- Creates a random query on this column with all unknown expressions according to your thresholds.

Create multiple choice

- Creates a random multiple choice query on this column with all unknown expressions according to your thresholds.

Query verbs

- All of the verbs with its conjugations are queried.

Query articles

- Queries the articles if the gender of the nouns is defined.

Query comparison

- Queries comparison forms.

Query synonyms

- Queries the synonyms.

Query antonyms

- Queries the antonyms.

Query the examples

- Queries the examples.

Query paraphrase

- Queries the paraphrases.

Sort

- Sorts this row in ascending resp. descending order.

Set language

- Chooses a language for this column. If your desired language does not yet exists in this menu, you have to add it with the options dialog.

The following two topics only appear if you keep a header button pressed that belongs to a translation.

Reset properties

- Resets the properties of all the selected entries to their initial state as if you just had appended them.

  If you have chosen a lesson in the appropriate box in the toolbar, then only those lesson members are reset. Otherwise all entries are affected.

Remove language

- Removes this column and all its entries.

## Dialogs

### Document properties dialog

This dialog also consists of several pages the determine properties that belong only to the current document. They are stored with the vocabulary.

#### General properties

General document properties screenshot General document properties

Title

- Here you enter the title of the document which is displayed in the window's title bar.

Authors

- Usually you will enter your name in this field. If there are more than one author you might use a line for each person.

License

- If you want to restrict (or better allow) the use of you vocabulary you should enter the according permission or license here.

  I recommend something like the Free Document License

Remark

- This field should contain things that do not fall in one of the other categories.

#### Lesson descriptions

Lesson descriptions dialog screenshot Lesson descriptions

Here you add, modify or delete descriptions of your lessons.

The buttons should be pretty selfexplanatory except Clean up. This one will remove all lesson descriptions that are unused in the current document.

#### Type descriptions

Similar to the previous section about lessons, you can edit your own expression types on this page.

Since the dialog page looks the same as the one before there is no picture.

#### Tenses

On the next page you may add the tenses you need.

#### Usage labels

The last page provides the possibility to enter your own usage labels.

If you think an important item is missing (from the above tense, type or usage label section) you should tell me, so I can include them in the application as standard item.

This way all the other users can benefit.

#### Document options

Document options dialog screenshot Document Options

allow sorting

- If you have created your vocabulary with a certain order, you can use this checkbox to turn sorting off for this document. A click in the header button will then no longer sort the row.

Version 0.7 of &kvoctrain; additionally offered the choice to either use 8Bit or Unicode to store the vocabulary files. This is no more supported. The files are always stored in Unicode to prevent wrong rendering of characters.

Unfortunately there is no backwards compatibility to versions below 0.6 any more but I think the benefit is worth it.

If you have important files that are rendered wrong in the new version you may contact me since it might be worth the effort to create some conversion tool.

### Language properties dialog

Language Properties dialog screenshot Language Elements

The following pages of this dialog determine for each language of this dictionary several elements that are used in the according queries.

Article

- For every gender you enter here the definite and the indefinite article. If there is none for this language, you leave the field empty.

Conjugation

- In the similar manner you input the descriptor for the first, second and third person each in plural and singular.

  Because many languages do not distinguish in the third person plural, there is a checkbox to determine this.

  Leave the uneccessary fields empty.

Version 0.7 of &kvoctrain; also offered the choice for a special charset. In &Qt; version 3 there is no need for this any more.

If you have important files that are rendered wrong in the new version you may contact me since it might be worth the effort to create some conversion tool.

### Options dialog

The settings of this dialog are global and affect all vocabularies equally.

#### General options

General options dialog screenshot General Options Dialog

Automatic backup interval

- &kvoctrain; will automatically save the document if it was modified after the period you enter here when the option is checked.

  As a side effect it also does not ask for confirmation to save when quitting with modified data but saves the vocabulary without asking.

  An interval of 0 also stops this behavior.

Smart appending

- If this feature is activated, you will repeatedly be prompted with the entry dialog. After entering the first original you have to enter the corresponding translations. Afterwards you proceed with the next original and its translations until you stop by pressing the ESC key.

  When you are in this mode and modify the lesson in the dialog it has the same meaning as selecting the lesson in the toolbar. This way it is preselected when the next entry dialog appears.

  The required lessons will have to be created in advance in the document settings.

Save options automatically

- When checked, all options are save upon termination of &kvoctrain;. Otherwise you have to select the appropriate menu item.

Column resizing

- When you resize your main window it is convenient, if the columns resize automatically, too.

  This is possible in two manners:

  Automatic

- &kvoctrain; makes each columns the same width except the leftmost with the lesson names which has half the size of the others. The second column which contains the picture that describes the state of the row has a fixed width.

Percent

- The widths of the columns are altered with the same factor the main window grew or shrunk.

If the last button labeled fixed is set, no resizing of the columns is done.

#### Available languages

Language options dialog screenshot Language options dialog

Language code

- Each column can be assigned a language. This is internally done with the usual international language codes ⪚ `en`, `de`, `it`. These codes are also stored with the document.

  You should always use the correct codes to be able to share vocabularies with others. Merging vocabularies also relies on the correct language codes.

Alternative code

- Sometimes it may be useful to have a second language code because some languages have the usual short code and one or two longer codes. For German for example it is common to use `de` but either `deu` or `ger` is also possible according to ISO639-2.

Language name

- Here you can give the language code a descriptive name in your own language which is shown in the header buttons in the main view.

Picture

- Additionally you can add a nice icon to your language which is shown in the table header button.

  &kde; 2 stores those pixmaps under `$`KDEDIR`/share/locale/l10n/`language -code``.

Delete

- Deletes the currently selected language code in the list.

Add

- After entering a new language code in the field to its left, you use this button to append it to your list. After that you need to fill in the fields for the long name and the picture for the header button.

Add language from KDE database

- Pressing this button opens a menu that contains all the countries that are known in your &kde; installation. Ordered by country you can add your desired language properties to your personal list.

  Maybe you want to change the language name or the according picture but I strongly recommend you keep at least the 2-byte language code and its 3-byte alternative if you don't have a special reason. This is to achieve compatible document files that can be shared among all users.

Add language from ISO639-1

- Pressing this button opens a menu that contains all the language codes that are covered by ISO639-1.

Basically the previous two button provide the same data. The former contains the language codes known in &kde; sorted by country whereas the second contains all ISO639-1 codes sorted alphabetically.

#### Table View

[view options dialog]

Table Font

- Lets you choose a font to display the vocabulary in the main view.

IPA Font

- Lets you choose a font to display the characters from the international phonetic alphabet. This is used to show the pronunciation of the expression on the bottom in the statusbar.

  Probably you don't have an IPA enabled font since those characters are seldom used. You may download a free font from http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html or http://www.hclrss.demon.co.uk/unicode/fonts.html . Install these fonts for example with kfontinst.

  If you have StarOffice installed you probably have the font Lucida Sans Unicode which also contains most of the needed characters (but be sure to select the font which ends with Unicode).

  I also found a Reference and Introduction to Phonetic Symbols that explains a bit about the background. There is also The International Phonetic Association where you can find even more information.

Grade colors

- Every grade can be assigned an individual color. For example I prefer green for best grade and red for worst.

  If you don't want any colors but just black on white, uncheck the according check box.

#### Clipboard

Clipboard options dialog screenshot Clipboard options dialog

Separator

- This is a sequence of one ore more characters which divide the parts of an expression when transferring data from or to an other application over the clipboard.

  The most common item is TAB which uses the tabulator character. Another possibility is to use the semicolon, if you want to export data to a database file in `CSV` format.This character is also used to read such files correctly.

Order

- When pasting via the clipboard &kvoctrain; does not know which languages the different fields belong to and just would insert them from left to right.

  To facilitate correct behavior, if you arranged your vocabulary in an other way, you can determine your desired order with this area.

  The buttons right to the list box move the current language up or down. Skip will insert a hole which means that the later calculated field from the clipboard is skipped.

Use current document

- When checked, the items in the clipboard are assumed to be in the same language order as the current document.

### Query options dialog

#### Option groups

Option groups dialog screenshot Option groups

Depending on the dictionary or the time you have to learn the vocabulary different settings may be optimal.

For that reason all the settings of the pages of this dialog can be summarized under an arbitrarily chosen name. You can store the settings and recall them whenever you want.

Retain

- Retains the settings of the other pages under the current name.

  Saving to disk is done as with all the other settings using the according menu item of the options menu. Some properties are stored with the document. For example the lessons to include since this depends on the document in use.

Recall

- Recalls the settings from the group in the listbox.

New

- Creates a new group with the current settings.

Delete

- Removes the current group.

#### General query options

General query options dialog screenshot General query options

Time per query

- Here you can influence the behavior of &kvoctrain; when you don't know the answer in time.

  - You may set a time limit &kvoctrain; grants you to remember the correct answer.

  - Additionally you can tell &kvoctrain; what to do when this limit is reached. Besides of waiting unlimited time you may select to be shown the solution or to continue immediately with the next question.

  - Furthermore you can activate a little progress bar to show the remaining time for the current answer.

  If you exceed the time limit several times in series in continuous mode &kvoctrain; will assume that there is currently no person in front of the screen and stop the query.

Swap direction randomly

- Usually a query is only in one direction, depending on the column you used to start the query. With this checkbox you can determine, that the directions are altered randomly.

#### Query thresholds

Query thresholds dialog screenshot Query thresholds

With this dialog you determine which entries are included in the next selection for random query.

If you have activated the blocking mechanism on the next dialog page, the thresholds from Grade, Query count, Bad count and Last query are disabled and not taken into account.

Lesson

- Designate which lessons to include or leave out. An arbitrary number of lessons can be selected for the calculation.

  For convenience there are two additional buttons to selected all entries or none.

  Starting with version 0.7.0 this part is stored with the document instead of storing globally.

Word type

- Select the word type. &kvoctrain; does not pay any attention to subtypes.

Grade

- The same for the grade.

Query count

- Choose how often the selection must be queried.

Bad count

- The same for the amount of times the entry was not known.

Last query

- Include queries before or within the given time span.

  Entries which have not been queried yet are always included if you choose before.

Entries are only included if all conditions are fulfilled. If you want a property to be ignored, choose Dont care for it.

#### Blocking and expiring

Query blocking dialog screenshot Query blocking

On this page you select the time, an known entry is excluded from queries resp. when it must be queried at the latest.

There are two conditions which must be fulfilled, otherwise you will be shown an according warning:

- The time must increase from level to level

- The time for blocking must be less than for expiring in the same level.

If at least one of blocking or expiring is active, the thresholds from Grade, Query count, Bad count and Last query on the previous dialog page are not taken into account.

### Entry dialog

#### General properties

Here you enter a new expression into a table cell or modify existing entries and their properties.

Entry dialog screenshot Entry dialog

Expression

- Contains your words.

Lesson

- Selects the desired lesson.

  The button on the right also invokes the document properties page where you can enter a new lesson.

Pronunciation

- In this field you can describe how the word is pronounciated.

  This is possible either by using simple ascii characters and maybe an fancy and very personal phonetic description or better by using the international phonetic alphabet. The button on the right invokes a dialog where you can select all the characters that belong to this alphabet.

Type

- Lets you choose one of the predefined types for your expression. If you change the type for an entry, all the other entries in that row will be assigned the new type.

  See the table for all available types.

Subtype

- Some types also include subtypes. If there is no subtype available this field is disabled.

  Every entry in a row can have a different subtype. This is useful for nouns as the gender of a noun may be different in different languages.

  The button to the right of this field invokes the according page from the document properties dialog so you can enter a new type immediately.

Usage label

- One or more usage labels can be selected to describe the usual usage of the expression, ⪚ medicine or chemistry.

  The button on the right also invokes the according page from the document properties dialog to enter a new usage label.

##### Selecting from the international phonetic alphabet

If you have an IPA-enabled font installed your dialog should look like this:

IPA dialog screenshot International phonetic alphabet dialog

If you don't have such a font you can find a link to a free one in the section about the view options.

#### Additional properties

Less important properties that did not find place on the previous page are located here.

For most of these fields there are special queries, too.

Additional entry dialog screenshot Additional entry dialog

Synonym

- Here you may enter words that have the same meaning as the expression. There is also a query type for this expression.

Antonym

- This is for words that have the opposite meaning. This field can also be queried.

Example

- Additionally you may enter here an example sentence for the expression. There is a simple query type which prompts you with the content of this field but with dots instead of the word in question.

Remark

- This is an optional field to store additional information.

Paraphrase

- Here you may enter a description in different words. There is also a query type for this expression.

#### Suggestions for a multiple choice query

Multiple choice dialog screenshot Multiple choice dialog

If you want to create an efficient multiple choice query it is good to offer expressions that are similar to the solution to make it more difficult. If you don't offer them, &kvoctrain; has only the possibility to create such queries with randomly chosen expressions which are rather easy to guess. You can enter up to five expressions for this purpose.

#### Additional properties for verbs

This page is only accessible when you selected verb as word type.

Verb entry dialog screenshot Verb entry dialog

For every tense &kvoctrain; knows you can enter the conjugations of the verb for the different persons. The tense can be selected from the list. After doing this the entry fields are updated accordingly.

Because some languages don't distinguish in the 3rd person of the plural you may use the according checkbox.

Next searches for the next tense with already entered conjugations.

#### Additional properties for adjectives

This page is only accessible when you selected adjective as word type.

Comparison entry dialog screenshot Comparison entry dialog

Here you enter the the comparison forms of the adjective.

#### Properties from or to the original

For some properties it is possible to set up values from the original or to the original. For example you can have a grade when querying the translation (=> from the original). The opposite is the grade when querying the original when one of the translations is given (=> to the original).

From/to entry dialog screenshot From/to entry dialog

Grade

- Contains the current grade of this expression.

False friend

- Sometimes there is a word in a foreign language that looks like a word in your native language so you think it must have the same meaning. But in fact, it is not.

  Enter such words in this field.

Last query date

- This is the date when this entry was last queried. If it was never queried yet you only see `--`.

  For convenience reasons there are two buttons to set the current date or reset to never queried.

  Due to internal reasons, it is not possible to store dates before August 12 1999 with every version of &kvoctrain;. Versions 0.8 and later are no more affected.

altogether

- Designates how often this entry was queried.

wrong

- Shows the amount of times you did not know the right answer.

#### Docking to the main window

If you have to enter or change a lot of words you may want to place the main window next to the entry dialog and occupy the whole screen. You may do this manually or use one of the two buttons in the bottom left corner. The left one resizes the windows to an optimal height and places them one upon the other. The second places them accordingly side by side.

After closing the entry dialog the main window returns to its previous position and size.

### Query dialogs

#### Normal random query

After selecting Create random query the main window disappears.

Then all entries that match your current thresholds are put into a list and shown in random order with the following dialog box.

Random query dialog screenshot Random query dialog

In the dialog area with the original expression there are some properties you can enable to give you some hints. You have to enter the solution in the according text field.

Show all

- Shows the complete solution in the Translation field.

Show more

- Each click on this button will show one more character of the solution to give you a little help.

Verify

- Compares your answer with the correct solution. Currently your solution must match exactly to be accepted. If the answer was correct the color of the translation changes to green, otherwise to red

Don`t know

- Tells &kvoctrain; that you did not know the answer and that the according grade must be lowered.

Know it

- Click this button to tell &kvoctrain; that you knew the answer correctly. This entry is then removed from the currentbad list.

Edit

- If you find a mistake with a query you can invoke the edit dialog immediately and correct it.

Stop query

- Stop query mode and show vocabulary again.

In the right bottom corner you see two progressbars that indicate the remaining time and the amount of queries to come.

The query of the current lesson is repeated until all its expressions are known. The amount of retries of the current lesson is shown below the progress indicator. Once the current lesson is finished &kvoctrain; continues with the next (provided that you have set up the query options accordingly).

I regret to admit, but usually I don`t know the solution. For this reason the Return key has special behavior, which I found convenient:

- First pressing Return shows the complete solution (at the beginning the button Show more is the default button) and makes Don`t know the default button.

- Pressing Return the second time will leave this dialog and tell &kvoctrain; that you did not know the answer.

At the moment you must decide for yourself, if you knew the answer or failed. Later versions may provide a more or less smart algorithm to make this decision from the answer you entered.

If you knew the correct answer, the grade is increased by one step. If you did not know it, the grade is reset to level 1 which is worst.

#### Random query with multiple choice

Multiple choice query dialog screenshot Multiple choice query dialog

This type of query works similar to the previous one. The solution is shown together with random other expressions and you have to choose one answer from the five provided.

This query works most efficiently if you provide similar solutions on the according entry dialog pages. Additionally a false friend is added if available.

#### Query of conjugations

Conjugation query dialog Conjugation query dialog

This dialog appears after starting the query of the verbs.

All tenses are queried that have definitions for conjugations. Of course you must know all of them for a successful result.

#### Query of articles

Article query dialog screenshot Article query dialog

In this dialog the article of the noun is queried.

It is important to having selected the correct subtype in the entry dialog.

#### Query of comparison forms

Comparison query dialog screenshot Comparison query dialog

All expressions that contain also comparison forms are shown. One word is chosen randomly and you must complete the remaining two.

#### Query of synonyms, antonyms, paraphrases and example sentences.

Synonym query dialog screenshot Synonym query dialog

The queries for the above mentioned additional properties of your expression look basically the same for all types.

You are prompted the expression and have to enter the according property. Querying by example is a bit different since &kvoctrain; takes the expression and replaces it by some dots so this is mainly useful when your expression is a single word.

### Document statistics dialog

#### General

General document statistics screenshot General document statistics

On this page you find the most important general information about your document:

- The filename

- The title

- The name of the author

- and the number of entries and lessons.

#### All languages in the dictionary

Per language statistics screenshot Per language statistics

Depending on the amount of translations your document contains, you will have none, one or more additional pages. Each page contains two pictures for each lesson describing the amount of entries per grade in each lesson.

A click with the right mouse button on one of the pixmaps will popup a menu which shows the exact numbers.

## Dictionaries

### Contributing a dictionary to &kvoctrain;

If you have created a dictionary, please send an email to kvoctrain@ewald-arnold.de and tell me about it. I plan to collect pointers to those files and include them in this handbook. If I find an electronic abode for &kvoctrain; with enough space, I might also store them there.

But please:

- Don't send me any files before telling me. Maybe someone else has already started this type of dictionary.

- The dictionaries should have a reasonable good quality as I don't want to do any revision.

- If you modify existing vocabularies or create vocabularies based on copyrighted material you must ask the author for permission. Even taking literal examples from schoolbooks might be problematic!

### Other dictionaries on the web

- If you are German an want to learn English (or vice versa) you can download the monthly vocabulary list provided by the German magazine Spotlight-Online.

  The &kvoctrain; distribution contains an executable called `spotlight2kvtml` to transform those lists in kvtml format. The original files come as &Windows; Word DOC-files so you have to save them as ANSI-TXT files before starting conversion. StarOffice or kword can do this job.

  `spotlight2kvtml` needs the 3 parameters `filename`, `month` and `year` and produces a file in the same folder with the same name and the extension `kvtml`:

  ``spotlight2kvtml` `0199.txt 01 99``

- Thanks to a contribution by Andreas Neuper you can download files from Langenscheidt. This is a german site and contains files in several languages. This distribution contains his perl script `langen2kvtml` to transform those lists in kvtml format.

  `langen2kvtml` needs only the original filename as parameter and tries to extract as much information as possible from the source file. For example is keeps the lesson names, conjugations and articles.

  It produces a file in the same folder with the same name and the extension `kvtml`.

- Dictionaries in ascii-format are for example available at:

  - ftp.uni- ulm.de/pub/misc/dict/english_german.tar.gz (approx. 350 kB)

  - ftp.gwdg.d e/pub/misc/dictionary/english/words.gz (approx. 1035 kB)

  - sable.ox.ac.uk/pub/wordlists

- Dictionaries from the *Quick project in CSV format but encoded in UTF8 so you should have all characters rendered correctly. The files are available from its download section. They are in compressed &Windows; `.EXE` format so you have to use unzip to extract the files.

If you know another source please tell me to include it here.

### Translator applications

If you don't want to learn but just need quick translations of expressions in larger dictionaries you might be unhappy with &kvoctrain; if your computer doesn't have much memory and MHz. A 150000 entry file consumes about 60M and takes ages to load if your system is short of memory.

In this case you might want to try one of the following:

- kdsing (&kde;).

- steak/xsteak (console/X).

- Ding (TCL).

- qtrans (&Qt; 2.x).

## Interesting links

### Similar projects

You might also want to try one of the other vocabulary trainers I have found (sorted by the time when I found them):

- QVocab (&Qt;)

- Vokabel-Trainer (Tcl/Tk)

- Lingvisto (X)

- KVoclearn (&kde;)

- SVT (console)

- chflashcard (X11, for Chinese)

- Vocabul ary Trainer (freeware, all flavors of &Windows;)

- Acavoc (Java)

  The author of this application has also written a theoretical article about learning languages (German only).

- wordtrain (console)

- vocabbox (Python &Qt;/&kde;)

- DokVok (&kde;)

- gvoc

- Wordlearn (&Windows; 32/commercial)

- GVoctra (DOS)

- Vocitrainer (Mac/Win32, commercial)

### Other interesting links

Maybe you are interrested in the one or the other links I found while working on &kvoctrain;.

- &GNU; Unifont Projekt

- SEUL Educational Projects

- &Linux; Schulserver (Linux at school, German)

- Reference and Introduction to Phonetic Symbols

- The International Phonetic Association

## Credits and License

### Thanks

&kvoctrain; is my first &GUI; application for &kde;, so I had to borrow a lot of code from other applications. The biggest chunks are taken from

- &klpq; (table functionality in versions up to 0.7)

- &kontour; (XML reading/writing).

- &khexedit; (about dialog in versions up to 0.7).

I'd like to thank the following people personally for their contribution to &kvoctrain;:

- Andrea Marconi for localization to Italian

- Hans Kottman for localization to French

- Grzegorz Ilczuk for localization to Polish

- Eric Bischoff for converting the documentation to DocBook

I also want to thank all the other unnamed persons, especially the whole &kde; team, for their help, constructive criticism, suggestions or bug-reports.

### Copyright

&kvoctrain; Program copyright 1999-2001 Ewald Arnold ewald@ewald-arnold.de

Documentation copyright 1999-2000 Ewald Arnold ewald@ewald-arnold.de

&underFDL; &underGPL;

## Installation

### How to obtain kvoctrain

&install.intro.documentation;

Current snapshots and dictionary files can be found on the kvoctrain homepage.

Anonymous CVS download is also available.

Don't use the CVS code from the Sourceforge server because ths branch is obsolete.

You can find precompiled binaries as rpm packages for the SuSE distribution (of almost all KDE apps): LinuKS: SuSE Linux KDE Service.

Another place for precompiled packages is Linuxberg.

### Requirements

In order to successfully compile &kvoctrain;, you need the &kde; libraries as well as the &Qt; C++ library. All required libraries can be found on ftp.kde.org/pub/kde/.

&kvoctrain; is tested with &kde; 3.0 and &Qt; 3.0. It should also basically run under &kde; 2.x and &Qt; 2.x if compiled accordingly but I can't promise.

### Compilation and installation

&install.compile.documentation;
&documentation.index;