# The &kvoctrain; Handbook

## Introduction

### What is it?

&kvoctrain; is a &kde; vocabulary program to help you train your vocabulary, when you are trying to learn a foreign language for example. You can create your own files 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.

## Quick Start to &kvoctrain;

Here is &kvoctrain; the first time you run it, either from the &kmenu; Edutainment Languages or with &Alt;F2 and type `kvoctrain` in the field.

&kvoctrain; main window &kvoctrain; main window

You can study a file in the examples by using the File Open Example... menu. There are 2 files here for you to learn how to use &kvoctrain;. The file `sample-en.kvtml` shows you some vocabulary words in English, German and French.

You can also get vocabulary files through the Internet using File Get New Vocabularies... The Get Hot New Stuff dialog will open with a list of available documents.

Get Vocabularies dialog Get Vocabularies dialog

Here I choose the Katakana file to learn Japanese and with a click on the Install button in the dialog, the file is installed. Click on the Close button to exit the dialog. The Katakana vocabulary file is opened in the &kvoctrain; window.

The Katakana file The Katakana file

This file consists in 26 lessons and should allow me to learn Katakana writing for the basics letters and syllables. So lets start with lesson 1. Open Configure &kvoctrain;... in the Settings menu and go to the Thresholds page. You can set which lessons you want to learn. We highlight Lesson 1 and click on Apply to save the Setting and on OK to close the dialog.

Configure your lesson Configure your lesson

In the Learning menu, choose what you want to learn. For example I choose ri as I want to learn the Katakana signs associated with Romaji. I then choose Create Multiple Choice From jp and the following dialog appears:

Lesson 1 - Multiple choice query Lesson 1 - Multiple choice query

## Using &kvoctrain;

### 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 columns 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 on the right in this status line.

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

&Ctrl;Return

- Invoke the Edit Properties dialog for modification of this entry.

Ins

- Appends a new row at the end of the vocabulary. The cursor is moved to the entry in the Original row. Edit the items in place or invoke the Edit Properties dialog for modification of this entry.

  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.

&Ctrl;+ or &Ctrl;-

- 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 do not have a number pad you may also use the normal + or - keys.

### Using the mouse

Double clicking an expression in the table lets you edit this items in place.

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 click on an entry, the whole row is marked for further processing.

If you keep the &Ctrl; key pressed while clicking on an entry, the whole row is added to yoor selection.

When you additionally press a &Shift; key when clicking on an entry, the selection will be extended from the current entry to the previously selected entry.

You invoke the edit dialog to modify the selection by pressing &Ctrl;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;.

- 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 files on the Internet which use the tabular character or one or two colons to separate the different languages. To select this separator use the tab for setting the Copy & Paste options in the Settings Configure &kvoctrain;... dialog.

&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 do not 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 profiles 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.

## Dialogs

### Document Properties dialog

Open this dialog with Vocabulary Document Properties. 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.

#### Types 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 check box 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.

### Language Properties dialog

Open this dialog with Vocabulary Language Properties.

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.

Articles

- 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 check box to determine this.

  Leave the unneccessary 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.

### Settings dialog

Open this dialog with Settings Configure &kvoctrain;.... The settings in this dialog are global and affect all vocabularies equally.

#### General

General settings dialog screenshot General Settings Dialog

Save vocabularies automatically on close and quit

- If you check this option, &kvoctrain; will automatically save the document if it was modified when you use the close button or when you quit &kvoctrain;.

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

Create a backup every 15 minutes

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

Apply changes without asking

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

Percentage

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

#### Languages

Language Settings dialog screenshot Language Settings 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``.

Keybord Layout

- To be written.

Delete

- Clicking an this button 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 Data From KDE Database

- Clicking on this drop down box opens a list 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 do not have a special reason. This is to achieve compatible document files that can be shared among all users.

Add Language Data From ISO639-1

- Clicking on this drop down box opens a list that contains all the language codes that are covered by ISO639-1.

Basically the previous two drop down boxes 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.

#### View

View Settings dialog screenshot View Settings 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 do not 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 do not want any colors but just black on white, uncheck the Use Colors check box.

#### Copy & Paste

Copy & Paste Settings dialog screenshot Copy & Paste Settings 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

Query Settings dialog screenshot Query Settings dialog

Time Per Query

- Here you can influence the behavior of &kvoctrain; when you do not 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 check box you can determine, that the directions are altered randomly.

Use alternative learning method

- The normal learning style is to learn a single lesson at a time, and when you answer correctly the first time it is removed from the current learning list.

  The alternative method was developed by Sebastian Leitner in his book "So lernt man lernen, Angewandte Lernpsychologie - ein Weg zum Erfolg" (Freiburg: Heider, 1972) (English: Learn how to learn, applied learning psychology - A way to success).

  The idea of Leitner's method is to try learn those questions you have a hard time to learn, and do not bother you with those that you do know. This is accomplished by requiring you to answer correctly to each question four times in a row.

  In real life it works by creating four rows of cards. Each row, above the bottom one, can only hold a certain number of cards. The top row can hold seven cards, the others can hold two cards. (In the original game, the bottom row can only hold three card, thus limiting the number of cards in the game to 20. This "limitation" is not present in &kvoctrain;.)

  In the bottom row are the questions that have yet to be asked and the questions that have previously been answered incorrectly. When a question is answered correctly, it is removed from the row it was in and moved to the back of row above. If answered incorrectly, the card is moved to the back of the bottom row. If the row a card is placed in exceed the maximum number of cards for that row, the next question is taken from the front of that row, else the question is taken from the front of the bottom row. A card is removed from the game when it would otherwise be moved to the fifth row, &ie; it has been answering correctly while located in the top row.

#### Thresholds

Thresholds Settings dialog screenshot Thresholds Settings dialog

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 Do not care for it.

#### Blocking

Blocking Settings dialog screenshot Blocking Settings dialog

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.

#### Profiles

A Profile is a set of settings (settings related to queries) which you can save/load in order to use again later. This Profiles... button at the bottom of the Configure &kvoctrain; dialog allows you to see existing profiles, to load a new profile and to save your current settings in a new profile.

Clicking on the Profiles... button will display the following dialog.

Profiles dialog Profiles dialog

Save

- Saves the current query settings under the current name.

Load

- Load the settings from the profile in the listbox.

New

- Creates a new profile with the current settings.

Delete

- Removes the current profile.

Close

- Closes the Profiles dialog.

### Entry dialog

#### Common Properties

Here you enter a new expression into a table cell or modify existing entries and their properties. This dialog is accessed when a cell is chosen and you select Edit Edit Selected Area... from the menu or the Edit Expression... button in the Random Query.

Entry dialog screenshot Entry dialog

Expression

- Contains your words.

Lesson

- Selects the desired lesson.

  The button on the right also invokes the Edit Lesson Names dialog where you can edit lessons.

Pronunciation

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

  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 Edit User Defined Types dialog so you can edit the Type Descriptions immediately.

Usage Labels

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

  The button on the right invokes the the Edit User-Defined Usage Labels 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 do not have such a font you can find a link to a free one in the section about the view options.

#### Additional Properties

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

Additional entry dialog screenshot Additional entry dialog

Synonyms

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

Antonyms

- 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 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 do not 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

You can edit the entries on the Conjugation page only 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 do not distinguish in the 3rd person of the plural you may use the according check box.

Next searches for the next tense with already entered conjugations.

#### Additional properties for adjectives

You can edit the entries on the Comparison page only 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

Docking buttons Docking buttons

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 (see picture above). 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

Do Not Know

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

I Know It

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

Edit Expression...

- 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 Do not 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

Verb Training dialog Verb Training dialog

This dialog appears after starting the query of the verbs with Learning `Language Names` 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

This dialog appears after starting the query of articles with Learning `Language Names` Articles.

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 &RMB; on one of the pixmaps will popup a menu which shows the exact numbers.

## Sharing files and downloading dictionaries

### Contributing your files to &kvoctrain;

If you have created a kvtml file, please send an email to &Anne-Marie.Mahfouf.mail; with the file attached and I will put the file in the contributed kvtml files on the &kde;-Edu website so other people will be able to use it.

If you modify existing files or create new files based on copyrighted material you must ask the author for permission. Even taking literal examples from schoolbooks might be problematic! The files must be licensed under a free license, please indicate it in your mail when you send the file.

### Downloading and installing existing files

&kvoctrain; is shipped with only two examples files. But you can easily get and install existing files using the File Get New Vocabularies... menu, provided you have an Internet connection. The following dialog is then displayed:

Get New Vocabularies... dialog Get New Vocabularies... dialog

Choose the file you want to get. The Details button will give you more details about the content of the highlighted file. Click the Install button. The file is then downloaded from its location on the Internet, saved on your hard disk and opened in &kvoctrain; current window.

The files you download are saved in your home folder in the `Vocabularies` folder.

### 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`.

- Files in kvtml format are available at:

  - &kde;-Edu Contributed Learning Files

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

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

- 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 do not 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).

## 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):

- &kwordquiz; (&kde;)

- SVT (console)

### Other interesting links

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

- &GNU; Unifont Projekt

- SEUL Educational Projects

- Reference and Introduction to Phonetic Symbols

- The International Phonetic Association

## Command Reference

### The Main &kvoctrain; Window

#### The File Menu

&Ctrl;N 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...

- Opens an example file shipped with &kvoctrain;

&Ctrl;G File Get New Vocabularies...

- Opens the Get Hot New Stuff dialog to allow you to install new &kde;-Edu vocabulary files via the Internet.

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 Save Entries in Query As...

- Saves the entries marked in query as a new vocabulary.

&Ctrl;P File Print...

- Opens the standard &kde; print dialog

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; &Shift;A Edit Deselect

- Removes all multiple selection marks.

&Ctrl;F Edit Find...

- Searches for the clipboard content in the vocabulary file using the search field in the toolbar.

Insert Edit Append New Entry

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

&Ctrl;Return Edit Edit Selected Area...

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

Delete Edit Remove Selected Area

- Removes selection. See Delete key for more information.

#### 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 Learning Menu

Learning `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.

Learning Resume Query

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

Learning Resume Multiple Choice

- Resumes the previous random query with multiple choice.

#### The Settings Menu

Settings Show/Hide Toolbar

- Toggles the visibility of the toolbar buttons.

Settings Show/Hide Statusbar

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

Settings Configure Shortcuts...

- Configure the keyboard keys you use to access the different actions.

Settings Configure Toolbars...

- Configure the items you want to put in the toolbar

Settings Configure &kvoctrain;...

- Display the &kvoctrain; settings dialog

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

Train Verbs

- All of the verbs with its conjugations are queried.

Article Training

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

Comparison Training

- Queries comparison forms.

Synonyms

- Queries the synonyms.

Antonyms

- Queries the antonyms.

Examples

- Queries the examples.

Paraphrase

- Queries the paraphrases.

Sort alphabetically

- 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 Grades

- 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 Column

- Removes this column and all its entries.

## 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-2003 &Ewald.Arnold; &Ewald.Arnold.mail; 2004-2005 Peter Hedlund peter@peterandlinda.com

Documentation copyright 1999-2000 &Ewald.Arnold; &Ewald.Arnold.mail; 2005 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;

&underFDL; &underGPL;

## Installation

### How to obtain kvoctrain

&install.intro.documentation;

### 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 cannot promise.

### Compilation and installation

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