<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY package "kdeedu">
  <!ENTITY kappname "&kvoctrain;">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE"> <!-- change language only here -->
]>

<book lang="&language;">
<bookinfo>
<title>The &kvoctrain; Handbook</title>

<authorgroup>
<author>
<firstname>Ewald</firstname>
<surname>Arnold</surname>
<affiliation><address><email>ewald@ewald-arnold.de</email>
</address></affiliation>
</author>

<othercredit role="reviewer">
<firstname>Eric</firstname>
<surname>Bischoff</surname>
<affiliation><address><email>e.bischoff@noos.fr</email>
</address></affiliation>
<contrib>Reviewer</contrib>
</othercredit>

<author>
<firstname>Anne-Marie</firstname>
<surname>Mahfouf</surname>
<affiliation><address><email>annma@kde.org</email>	
</address></affiliation>
</author>

<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>1999</year><year>2000</year><year>2001</year><year>2002</year>
<holder>Ewald Arnold</holder>
</copyright>
<copyright>
<year>2005</year>
<holder>Anne-Marie Mahfouf</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>

<date>2005-06-06</date>
<releaseinfo>0.8.2</releaseinfo>

<abstract><para>This handbook describes &kvoctrain; version 0.8.2.
&kvoctrain; is a &kde; vocabulary program to help you train your vocabulary,
when you are trying to learn a foreign language for example.</para></abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>KVocTrain</keyword>
<keyword>vocabulary</keyword>
<keyword>training</keyword>
<keyword>learning</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<sect1 id="what-is-it">
<title>What is it?</title>

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

<para>It is intended as a replacement for index (flash) cards.</para>

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

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

</sect1>

</chapter>

<chapter id="quick-start">
<title>Quick Start to &kvoctrain;</title>

<para>Here is &kvoctrain; the first time you run it, either form the K menu,  Edutaintment, Languages or with <keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo> and type <command>kvoctrain</command> in the field.</para>
<screenshot>
<screeninfo>&kvoctrain; main window</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="quick-1.png" format="PNG" /></imageobject>
<textobject><phrase>&kvoctrain; main window</phrase></textobject>
</mediaobject>
</screenshot>

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

<para>
You can also get vocabulary files through the Internet using <guimenu>File</guimenu> <guimenuitem>Get Vocabularies...</guimenuitem>. The KNewStuff dialog will open with a list of available documents.
</para>

<screenshot>
<screeninfo>Get Vocabularies dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="quick-2.png" format="PNG" /></imageobject>
<textobject><phrase>Get Vocabularies dialog</phrase></textobject>
</mediaobject>
</screenshot>

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

<screenshot>
<screeninfo>The Katakana file</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="quick-3.png" format="PNG" /></imageobject>
<textobject><phrase>The Katakana file</phrase></textobject>
</mediaobject>
</screenshot>
<para>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  <guimenuitem>Configure &kvoctrain;... </guimenuitem> in the <guimenu>Settings</guimenu> menu and go to the Thresholds tab. You can set which lessons you want to learn. We highlight Lesson 1 and click on <guibutton>Apply</guibutton> to save the Setting and on <guibutton>OK</guibutton>.</para>

<screenshot>
<screeninfo>Configure your lesson</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="quick-4.png" format="PNG" /></imageobject>
<textobject><phrase>Configure your lesson</phrase></textobject>
</mediaobject>
</screenshot>

<para>
In the <guimenu>Learning</guimenu> menu, choose what you want to learn. For example I choose <guimenuitem>ri</guimenuitem> as I want to learn the Katakana signs associated with Romaji.  I then choose <guimenuitem>Create multiple choice</guimenuitem> <guimenuitem>from jp</guimenuitem> and the following dialog appears:
</para>

<screenshot>
<screeninfo>Lesson 1 - Multiple choice query</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="quick-5.png" format="PNG" /></imageobject>
<textobject><phrase>Lesson 1 - Multiple choice query</phrase></textobject>
</mediaobject>
</screenshot>

<!-- This chapter should tell the user how to quickly start using your app.  It should include screenshots 
with short explanations in a Step 1, Step 2 way maybe.-->
</chapter>

<chapter id="usage">
<title>Using &kvoctrain;</title>

<sect1 id="overview">
<title>Overview</title>

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

<screenshot>
<mediaobject>
<imageobject><imagedata fileref="mainview.png" format="PNG" /></imageobject>
<textobject><phrase>[main view]</phrase></textobject>
</mediaobject>
</screenshot>

<para>In the picture above, you can see that several properties of
the vocabulary have a visual representation:</para>

<itemizedlist>

<listitem><para>Colors show the grade (Level 1 to 7) of your
knowledge</para></listitem>
<listitem><para>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.</para></listitem>

<listitem><para>If you mark a range of entries to work with, they
appear with a different background.</para></listitem>
</itemizedlist>

<para>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 <quote>to the
original</quote>. See section <link linkend="entry6-dlg">entry
dialog</link> for more on this.</para>

<para>Of course it is also possible to use it as an ordinary dictionary
and <link linkend="smart-search">lookup manually</link>.</para>

<para>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:</para>

<variablelist>
<varlistentry>
<term>T:</term>
<listitem><para>the <link linkend="types">type</link> of this
word</para></listitem>
</varlistentry>

<varlistentry>
<term>P:</term>
<listitem><para>how to pronounce this expression. If you have a
font installed, that contains <acronym>IPA</acronym> characters you can also use the characters from 
the phonetic alphabet. See more about this in the according
<link linkend="opt-dlg-ipa">options dialog page</link>.
</para></listitem>
</varlistentry>

<varlistentry><term>R:</term>
<listitem><para>your personal remarks</para></listitem>
</varlistentry>
</variablelist>

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

</sect1>

<!--<sect1 id="inline-edit">
<title>Inline editing</title>
<para>
  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
  <link linkend="opt-menu">options menu</link>.
</para>

<variablelist>
<varlistentry>
<term>Inline editing enabled</term>
<listitem><para>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.</para>
<para>To modify a word or an expression just start typing and press
<keycap>Return</keycap>
when you have finished.</para>

<note><para>You can't invoke the <link linkend="entry-dlg">entry dialog window</link> in this mode. 
</para></note></listitem>
</varlistentry>

<varlistentry>
<term>Inline editing disabled</term>
<listitem><para>When inline editing is disabled you must press
<keycap>F2</keycap> to open a
listbox or an edit field to make you changes.</para>

<para>To invoke the
<link linkend="entry-dlg">entry dialog window</link> just press
<keycap>Return</keycap> when the cursor in the cell
or double click on it.
</para></listitem>
</varlistentry>

</variablelist>

</sect1>-->

<sect1 id="keyboard">
<title>Using the keyboard</title>

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

<variablelist id="smart-search">
<varlistentry>
<term><keycap>Tab</keycap></term>
<listitem><para>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.</para>

<para>If you press <keycap>Return</keycap> it will move to the next
match.</para>

<para>If you only want entries that match from the <emphasis>beginning</emphasis>
of the expression you must press <keycombo action="simul">&Ctrl;
<keycap>Return</keycap></keycombo>.</para>

<para>Pressing <keycombo action="simul">&Shift;
<keycap>Tab</keycap></keycombo> or <keycap>Tab</keycap> will move back
to the vocabulary.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Left Arrow</keycap></term>
<listitem><para>The cursor in the vocabulary is moved one column
to the left. If it has reached the leftmost column, nothing
happens.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Right Arrow</keycap></term>
<listitem><para>The cursor in the vocabulary is moved one column
to the right. If it has reached the rightmost column, nothing
happens.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Up Arrow</keycap></term>
<listitem><para>The cursor in the vocabulary is moved one row upwards.
 If
it has reached the topmost row, nothing happens.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Down Arrow</keycap></term>
<listitem><para>The cursor in the vocabulary is moved one row
downwards. If it has reached the bottommost row, nothing
happens.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Page Up</keycap></term>
<listitem><para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>Page Down</keycap></term>
<listitem><para>The cursor in the vocabulary is moved one page
downwards. If the cursor would exceed the last possible row, nothing
happens.</para></listitem>
</varlistentry>

<varlistentry id="key-enter">
<term><keycap>Enter</keycap></term>
<listitem><para>Invoke dialog for modification of this
entry.</para></listitem>
</varlistentry>

<varlistentry id="key-insert">
<term><keycap>Ins</keycap></term>
<listitem><para>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.</para>
<para>If you have selected smart appending you are prompted to enter
originals and their translations until you stop by pressing the ESC
key.</para></listitem>
</varlistentry>
    
<varlistentry id="key-delete">
<term><keycap>Del</keycap></term>
<listitem><para>After confirmation of a safety dialog,
the currently selected row or selection is removed from the
vocabulary.</para></listitem>
</varlistentry>

<varlistentry>
<term><keycap>+</keycap> or <keycap>-</keycap></term>
<listitem><para>By pressing &Ctrl; and one of the two number pad
keys, <keycap>+</keycap> or <keycap>-</keycap>, 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
<keycap>+</keycap> or <keycap>-</keycap> keys.</para></listitem> 
</varlistentry>

</variablelist>

<!--  FIXME: Re-implement??
<para>The buttons on top of the rows are accessible by the keyboard. To
avoid clashes with the shortcuts for the main menu you have to press
<keycombo action="simul">&Shift;&Alt;</keycombo> and the key of
underlined letter in the button text. Then the corresponding <link
linkend="header-menu">header menu</link> will pop up.</para>
-->

</sect1>

<sect1 id="mouse">
<title>Using the mouse</title>

<para>Double clicking an expression in the table will invoke the
<link linkend="entry-dlg">dialog</link> to modify this entry.</para>
    
<para><mousebutton>Left</mousebutton> 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.</para>

<para>Keeping pressed the <mousebutton>left</mousebutton> mouse button
for about 1 second in on of the table header buttons will pop up its
<link linkend="header-menu">header menu</link>.</para>

</sect1>

<sect1 id="selections">
<title>Working on selections</title>

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

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

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

<para>You invoke the edit dialog to modify the selection by pressing
<keycap>Return</keycap>. 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.</para>

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

</sect1>

<sect1 id="file-formats">
<title>Available file formats</title>

<para>&kvoctrain; can read and write the following file formats:</para>

<itemizedlist>
<listitem><para>Its native xml-style document type with the extension
<literal role="extension">.kvtml</literal>.</para>

<para>If you want to share documents with others use this one as it is
the only file format that is capable of containing
<emphasis>all</emphasis> the properties in
&kvoctrain;.</para></listitem>

<listitem><para>Simple text files with special delimiters between the
entries which are also used by simple database programs. The
extension is <literal role="extension">csv</literal> 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 <link
linkend="encodings">encodings and charsets.</link></para>

<para>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 <link
linkend="options4-dlg">Copy &amp; Paste options</link> in the <guimenu>Settings</guimenu> <guimenuitem>Configure &kvoctrain;...</guimenuitem> dialog.</para></listitem>

</itemizedlist>

<para>&kvoctrain; reads the first few bytes from a file and makes a
guess about the file format. When none of the special types like
<literal role="extension">kvtml</literal> or <literal
role="extension">lex</literal> are recognized, it uses the <literal
role="extension">csv</literal> format.</para>

</sect1>

<sect1 id="types">
<title>Available word types</title>

<para>&kvoctrain; has the following internal word types. Furthermore
every document can contain user defined types.</para>

<informaltable><tgroup cols="3">
<thead>
<row>
<entry>Type name</entry>
<entry>Description</entry>
<entry>Example</entry>
</row>
</thead>

<tbody>
<row>
<entry>Adjective</entry>
<entry>describing the properties of things or persons</entry>
<entry>expensive, good</entry>
</row>

<row>
<entry>Adverb</entry>
<entry>tells you when, how, where .. something is happening</entry>
<entry>today, strongly</entry>
</row>

<row>
<entry><para>Article
  <itemizedlist>
     <listitem><para>definite article</para></listitem>
     <listitem><para>indefinite article</para></listitem>
  </itemizedlist></para></entry>
<entry><para></para></entry>
<entry><para>
  <itemizedlist>
     <listitem><para>a, an</para></listitem>
     <listitem><para>the</para></listitem>
  </itemizedlist></para></entry>
</row>

<row>
<entry><para>Conjunction</para></entry>
<entry><para>serves to bind words or sentences</para></entry>
<entry><para>and, but</para></entry>
</row>

<row>
<entry><para>Proper Noun</para></entry>
<!-- This was name - does this need changing in the app too? -->
<entry><para>name of a person, a creature, sometimes a
 thing</para></entry>
<entry><para>Big Ben, Tom</para></entry>
</row>

<row>
<entry><para>Noun          
  <itemizedlist>
     <listitem><para>male</para></listitem>
     <listitem><para>female</para></listitem>
     <listitem><para>neutral</para></listitem>
  </itemizedlist></para></entry>
<entry><para>naming of things, feelings</para></entry>
<entry><para>table, coffee (English does not distinguish
 here)</para></entry>
</row>

<row>
<entry><para>Numeral        
  <itemizedlist>
     <listitem><para>ordinal</para></listitem>
     <listitem><para>cardinal</para></listitem>
  </itemizedlist></para></entry>
<entry><para>counting or numbering of things</para></entry>
<entry><para>
  <itemizedlist>
     <listitem><para>first, second</para></listitem>
     <listitem><para>one, two</para></listitem>
  </itemizedlist></para></entry>
</row>
    
<row>
<entry><para>Phrase</para></entry>
<entry><para>special combination of words</para></entry>
<entry><para>to kill two birds with one stone</para></entry>
</row>

<row>
<entry><para>Preposition</para></entry>
<entry><para>tells you about the relationship or location</para></entry>
<entry><para>behind, between</para></entry>
</row>

<row>
<entry><para>Pronoun
  <itemizedlist>
      <listitem><para>Possessive pronoun</para></listitem>
      <listitem><para>Personal pronoun</para></listitem>
   </itemizedlist></para></entry>
<entry><para>
  <itemizedlist>
      <listitem><para>tells about the ownership of
 something</para></listitem>
      <listitem><para>stands as a replacement for a
 noun</para></listitem>
  </itemizedlist></para></entry>
<entry><para>
  <itemizedlist>
     <listitem><para>my, your</para></listitem>
     <listitem><para>you, she</para></listitem>
  </itemizedlist></para></entry>
</row>

<row>
<entry><para>Interrogatory</para></entry>
<entry><para>introduces questions</para></entry>
<entry><para>who, what</para></entry>
</row>

<row>
<entry><para>Verb           
  <itemizedlist>
     <listitem><para>regular verb</para></listitem>
     <listitem><para>irregular verb</para></listitem>
  </itemizedlist></para></entry>
<entry><para>who is doing something or what is happening</para></entry>
<entry><para>
   <itemizedlist>
     <listitem><para>to cook, cooked, cooked</para></listitem>
     <listitem><para>to go, went, gone</para></listitem>
    </itemizedlist></para></entry>
</row>

</tbody>
</tgroup></informaltable>
</sect1>

<sect1 id="encodings">
<title>About charsets, encodings, unicode and such strange
 things</title>

<para>Every human-readable text file is represented by a sequence of
<quote>bytes</quote> or <quote>octets</quote>. 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.</para>

<para>Since usually a <quote>byte</quote> is the smallest common unit
for data on computers each <quote>character</quote> 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.</para>

<para>Usually you have the <quote>ascii</quote> characters, &eg; a
through z, A through Z, 0 through 9 and additional language dependent
characters. For example, the German umlauts &auml; or &uuml; 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.</para>

<para>At this point it should be obvious that you have to take care to
select the correct <quote>charset</quote>, which is needed on a lot of
computer systems to display
the bytes in the same way as they are intended.</para>

<para>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 <quote>Unicode</quote> 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, &eg; well known
icons or klingon) is assigned a unique and unambiguous number.</para>

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

<para>Every vocabulary file for &kvoctrain; is basically such a simple
text file using Unicode.</para>

<para>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 <quote>8Bit-Mode</quote> you might see the wrong characters
when you load with version 0.8 and higher.
Contact <ulink url="mailto:kvoctrain@ewald-arnold.de">me</ulink> in this case.
</para>

<para>If you want to learn more about this issue you should visit the
following links:</para>

<itemizedlist>
<listitem><para>
<ulink
url="http://www.hut.fi/u/jkorpela/chars.html">http://www.hut.fi/u/jkorpe
la/chars.html</ulink>
</para></listitem>
<listitem><para>
<ulink
 url="http://linuxdoc.org/HOWTO/Unicode-HOWTO.html">http://linuxdoc.org/
HOWTO/Unicode-HOWTO.html</ulink>
</para></listitem>
<listitem><para>
<ulink
 url="http://czyborra.com/charsets/codepages.html">http://czyborra.com/c
harsets/codepages.html</ulink>
</para></listitem>
</itemizedlist>
              
</sect1>

<sect1 id="learning">
<title>And how should I learn?</title>

<para>The usual way to learn with &kvoctrain; is to use one of its
 random 
query functions.</para>

<para>It keeps track of your knowledge of the expressions by assigning
them one of seven grades ranging from <quote>Level 1</quote> to
<quote>Level 7</quote>.</para>

<para>Several possibilities are implemented which can be configured in
the dialog for the query options.</para>

<itemizedlist>
<listitem><para>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.</para></listitem>

<listitem><para>Furthermore, the range for the query can depend on the
current grade, the number of queries and the last query
date.</para></listitem>

<listitem><para>Learning is efficient, if you do not repeat the words
for a certain length of time, depending on the current
grade.</para>

<para>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.</para></listitem>

<listitem><para>The direction of the learning can be changed randomly
to avoid one way learning.</para></listitem>

<listitem><para>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).</para></listitem>

<listitem><para>Special word types need special queries.</para>
<para>For this reason there are queries for the conjugation of verbs,
comparison form of adjectives and the articles of
nouns.</para></listitem>
</itemizedlist>

<para>All these settings can be summarized into
<link linkend="profiles">profiles</link> and retained
under an arbitrarily name.</para>

<para>When querying &kvoctrain; shows the expressions in random order
until you confirm all as <quote>known</quote>. If you did not select a
special lesson, all lessons are queried one after the other.</para>

<para>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 <link linkend="overview">main view</link>.</para>

</sect1>
</chapter>



<chapter id="dialogs">
<title>Dialogs</title>

<sect1 id="docprop-dlg">
<title>Document properties dialog</title>

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

<sect2 id="docprop1-dlg">
<title>General properties</title>

<screenshot>
<screeninfo>General document properties screenshot</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="docprop1-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>General document properties</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Title</guilabel></term>
<listitem><para>Here you enter the title of the document which is
displayed in the window's title bar.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Authors</guilabel></term>
<listitem><para>Usually you will enter your name in this field. If
there are more than one author you might use a line for each
person.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>License</guilabel></term>
<listitem><para>If you want to restrict (or better allow) the use
of you vocabulary you should enter the according permission or license
here.</para>
<para>I recommend something like the
<ulink url="http://www.gnu.org/philosophy/using-gfdl.html">Free Document License</ulink>
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Remark</guilabel></term>
<listitem><para>This field should contain things that do not fall in
one of the other categories.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="docprop2-dlg">
<title>Lesson descriptions</title>

<screenshot>
<screeninfo>Lesson descriptions dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="docprop2-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Lesson descriptions</phrase></textobject>
</mediaobject>
</screenshot>

<para>Here you add, modify or delete descriptions of your
 lessons.</para>

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

</sect2>

<sect2 id="docprop3-dlg">
<title>Type descriptions</title>

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

<para>Since the dialog page looks the same as the one before there is
no picture.</para>

</sect2>

<sect2 id="docprop4-dlg">
<title>Tenses</title>

<para>On the next page you may add the tenses you need.</para>

</sect2>

<sect2 id="docprop5-dlg">
<title>Usage labels</title>

<para>The last page provides the possibility to enter your own usage
 labels.</para>

<important><para>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.</para>
<para>This way all the other users can benefit.</para></important>

</sect2>

<sect2 id="docprop6-dlg">
<title>Document options</title>

<screenshot>
<screeninfo>Document options dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="docprop6-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Document Options</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>allow sorting</guilabel></term>
<listitem><para>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.</para></listitem>
</varlistentry>

</variablelist>

<para>Version 0.7 of &kvoctrain; additionally offered the choice to either use
<quote>8Bit</quote> or <quote>Unicode</quote> to store the vocabulary files.
This is no more supported. The files are always stored
in Unicode to prevent wrong rendering of characters.</para>
<para>Unfortunately there is no backwards
compatibility to versions below 0.6 any more but I think the benefit is worth it.</para>

</sect2>
</sect1>

<sect1 id="langprop-dlg">
<title>Language properties dialog</title>

<screenshot>
<screeninfo>Language Properties dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="lang1-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Language Elements</phrase></textobject>
</mediaobject>
</screenshot>

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

<variablelist>
<varlistentry>
<term><guilabel>Article</guilabel></term>
<listitem><para>For every gender you enter here the definite and the
indefinite article. If there is none for this language, you leave the
field empty.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Conjugation</guilabel></term>
<listitem><para>In the similar manner you input the descriptor for the
first, second and third person each in plural and singular.</para>
<para>Because many languages do not distinguish in the third person
 plural, there is a checkbox to determine this.</para>
<para>Leave the unneccessary fields empty.</para></listitem>
</varlistentry>

</variablelist>

<para>Version 0.7 of &kvoctrain; also offered the choice for a special
<link linkend="encodings">charset.</link>
In &Qt; version 3 there is no need for this any more.</para>
<para>
If you have important files that are rendered wrong in the new version
you may contact
<ulink url="mailto:kvoctrain@ewald-arnold.de">me</ulink>
since it might be worth the effort
to create some conversion tool.
</para>

</sect1>

<sect1 id="options-dlg">
<title>Settings dialog</title>

<para>The settings of this dialog are global and affect all vocabularies
equally.</para>

<sect2 id="settings1-dlg">
<title>General</title>

<screenshot>
<screeninfo>General settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options1-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>General Settings Dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Save vocabularies automaticaly on close and quit</guilabel></term>
<listitem><para>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;.</para>
<para>As a side effect it also does not ask for confirmation to save
 when quitting with modified data but saves the vocabulary without
 asking.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Automatic backup interval</guilabel></term>
<listitem><para>&kvoctrain; will automatically save the document if it
was modified after the period you enter here when the option is
checked.</para>
<para>As a side effect it also does not ask for confirmation to save
 when quitting with modified data but saves the vocabulary without
 asking.</para>
<para>An interval of 0 also stops this behavior.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Smart appending</guilabel></term>
<listitem><para>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 <keycap>ESC</keycap> key.</para>
<para>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.</para>
<para>The required lessons will have to be created in advance in the
document settings.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Apply changes without asking</guilabel></term>
<listitem><para>When checked, all options are save upon termination
of &kvoctrain;. Otherwise you have to select the appropriate menu
item.</para></listitem>
</varlistentry>


<varlistentry>
<term><guilabel>Column resizing</guilabel></term>
<listitem><para>When you resize your main window it is convenient,
if the columns resize automatically, too.</para>
<para>This is possible in two manners:
  <variablelist>
  <varlistentry>
  <term><guilabel>Automatic</guilabel></term>
  <listitem><para>&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.</para></listitem>
  </varlistentry>

  <varlistentry>
  <term><guilabel>Percent</guilabel></term>
  <listitem><para>
  The widths of the columns are altered with the same
  factor the main window grew or shrunk.
  </para></listitem>
  </varlistentry>
  </variablelist></para>

<para>If the last button labeled <quote>fixed</quote> is set, no resizing of
the columns is done.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="settings2-dlg">
<title>Languages</title>

<screenshot>
<screeninfo>Language settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options2-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Language settings dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Language code</guilabel></term>
<listitem><para>Each column can be assigned a
language. This is internally done with the usual <ulink
url="http://www.loc.gov/standards/iso639-2/englangn.html">international
language codes</ulink> &eg; <literal>en</literal>, <literal>de</literal>,
<literal>it</literal>. These codes are also stored with the document.</para>
<para>You should always use the correct codes to be able to share
vocabularies with others. Merging vocabularies also relies on the
 correct language codes.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Alternative code</guilabel></term>
<listitem><para>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 <literal>de</literal>
but either <literal>deu</literal> or <literal>ger</literal> is also
possible according to ISO639-2.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Language name</guilabel></term>
<listitem><para>Here you can give the language code a descriptive name
in your own language which is shown in the header buttons in the
<link linkend="overview">main view</link>.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Picture</guilabel></term>
<listitem><para>Additionally you can add a nice icon to your language
which is shown in the table header button.</para>
<para>&kde; 2 stores those pixmaps under
<filename>$<envar>KDEDIR</envar>/share/locale/l10n/<replaceable>language
-code</replaceable></filename>.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Delete</guilabel></term>
<listitem><para>Deletes the currently selected language code in the
list.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Add</guilabel></term>
<listitem><para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Add language from KDE database</guilabel></term>
<listitem><para>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.</para>

<para>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.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Add language from ISO639-1</guilabel></term>
<listitem><para>Pressing this button opens a menu that contains all the language codes
that are covered by <quote>ISO639-1</quote>.</para>

</listitem>
</varlistentry>

</variablelist>

<para>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
<emphasis>all</emphasis> <quote>ISO639-1</quote> codes sorted alphabetically.</para>

</sect2>

<sect2 id="settings3-dlg">
<title>View</title>

<screenshot>
<screeninfo>View settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options3-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>View settings dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Table Font</guilabel></term>
<listitem><para>Lets you choose a font to display the vocabulary
in the
<link linkend="overview">main view</link>.
</para>
</listitem>
</varlistentry>

<varlistentry id="opt-dlg-ipa">
<term><guilabel>IPA Font</guilabel></term>
<listitem><para>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.</para>
<para>Probably you do not have an IPA enabled font since those characters are seldom used.
You may download a free font from
<ulink url="http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html">http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html
</ulink> or
<ulink url="http://www.hclrss.demon.co.uk/unicode/fonts.html">http://www.hclrss.demon.co.uk/unicode/fonts.html
</ulink>. Install these fonts for example with kfontinst.</para>

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

<para>I also found a <ulink url="http://esl.about.com/library/weekly/aa040998.htm">
Reference and Introduction to Phonetic Symbols</ulink> that explains a bit about
the background. There is also
<ulink url="http://www2.arts.gla.ac.uk/IPA/ipa.html">
The International Phonetic Association</ulink> where you can find even more information.
</para>

</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Grade colors</guilabel></term>
<listitem><para>Every grade can be assigned an individual color. For
example I prefer green for best grade and red for worst.</para>
<para>If you do not want any colors but just black on white, uncheck the
according check box.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="options4-dlg">
<title>Copy &amp; Paste</title>

<screenshot>
<screeninfo>Copy &amp; Paste settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options4-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Copy &amp; Paste settings dialog </phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry id="cut-n-paste">
<term><guilabel>Separator</guilabel></term>
<listitem><para>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.</para>
<para>The most common item is <keycap>TAB</keycap> which uses the tabulator
character. Another possibility is to use the semicolon, if you want to
export data to a database file in <literal role="extension">CSV</literal>
 format.This character is also used to read such files correctly.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Order</guilabel></term>
<listitem><para>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.</para>
<para>To facilitate correct behavior, if you arranged your vocabulary
 in an other way, you can determine your desired order with this area.</para>
<para>The buttons right to the list box move the current language up or
down. <guibutton>Skip</guibutton> will insert a hole which means that
 the later calculated field from the clipboard is skipped.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Use current document</guilabel></term>
<listitem><para>When checked, the items in the clipboard are assumed to
be in the same language order as the current document.</para></listitem>
</varlistentry>
</variablelist>

</sect2>
<sect2 id="options5-dlg">
<title>Query</title>

<screenshot>
<screeninfo>Query settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options5-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Query settings dialog </phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Time per query</guilabel></term>
<listitem><para>Here you can influence the behavior of &kvoctrain;
when you do not know the answer in time.
  <itemizedlist>
  <listitem><para>You may set a time limit &kvoctrain; grants you to
  remember the correct answer.</para></listitem>
  <listitem><para>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.</para></listitem>
  <listitem><para>Furthermore you can activate a little progress bar to
  show the remaining time for the current answer.</para></listitem>
  </itemizedlist></para>
<para>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.</para></listitem>
</varlistentry>

<!-- DEFERRED AFTER KDE RELEASE

<varlistentry>
<term><guilabel>Ask sub properties</guilabel></term>
<listitem><para>

</para></listitem>
</varlistentry>
</variablelist>
-->


<varlistentry>
<term><guilabel>Swap direction randomly</guilabel></term>
<listitem><para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Use alternative learning method</guilabel></term>
<listitem><para>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.</para>

<para>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).</para>

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

<para>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.)</para>

<para>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, i.e. it has been answering
correctly while located in the top row.</para>

</listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="options6-dlg">
<title>Thresholds</title>

<screenshot>
<screeninfo>Thresholds settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options6-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Thresholds settings dialog </phrase></textobject>
</mediaobject>
</screenshot>

<para id="thresholds">With this dialog you determine which entries are
included in the next selection for random query.</para>

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

<variablelist>
<varlistentry>
<term><guilabel>Lesson</guilabel></term>
<listitem><para>Designate which lessons to include or leave out. An
arbitrary number of lessons can be selected for the calculation.</para>
<para>For convenience there are two additional buttons to selected all
entries or none.</para>
<para>Starting with version 0.7.0 this part is stored with the document
instead of storing globally.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Word type</guilabel></term>
<listitem><para>Select the word type. &kvoctrain; does not pay any
attention to subtypes.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Grade</guilabel></term>
<listitem><para>The same for the grade.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Query count</guilabel></term>
<listitem><para>Choose how often the selection must be
queried.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Bad count</guilabel></term>
<listitem><para>The same for the amount of times the entry was not
known.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Last query</guilabel></term>
<listitem><para>Include queries before or within the given time
 span.</para>
<para>Entries which have not been queried yet are always included if you
choose <emphasis>before</emphasis>.</para></listitem>
</varlistentry>
</variablelist>

<para>Entries are only included if all conditions are fulfilled. If you
want a property to be ignored, choose <guilabel>Do not care </guilabel>for it.</para>

</sect2>

<sect2 id="options7-dlg">
<title>Blocking</title>

<screenshot>
<screeninfo>Blocking settings dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="options7-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Blocking settings dialog </phrase></textobject>
</mediaobject>
</screenshot>

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

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

<itemizedlist>
<listitem><para>The time must increase from level to level</para></listitem>

<listitem><para>The time for blocking must be less than for expiring in
the same level.</para></listitem>
</itemizedlist>

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

</sect2>

<sect2 id="profiles">
<title>Profiles</title>
<para>
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.
</para>
<para>Clicking on the <guibutton>Profiles</guibutton> button will display the following dialog.</para>
<screenshot>
<screeninfo>Profiles dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="profiles.png" format="PNG" /></imageobject>
<textobject><phrase>Profiles dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Save</guilabel></term>
<listitem><para>Saves the current query settings under the
current name.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Load</guilabel></term>
<listitem><para>Load the settings from the profile in the
listbox.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>New</guilabel></term>
<listitem><para>Creates a new profile with the current
settings.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Delete</guilabel></term>
<listitem><para>Removes the current profile.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Close</guilabel></term>
<listitem><para>Closes the Profiles dialog.</para></listitem>
</varlistentry>

</variablelist> 
 
</sect2>

</sect1>

<sect1 id="entry-dlg">
<title>Entry dialog</title>

<sect2 id="entry1-dlg">
<title>General properties</title>

<para>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 the <guimenu>Edit</guimenu> -&gt; <guimenuitem>Edit Selected Area...</guimenuitem> menu or from the Random Query dialog -&gt; <guibutton>Edit Expression...</guibutton> button.</para>

<screenshot>
<screeninfo>Entry dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry1-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Entry dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Expression</guilabel></term>
<listitem><para>Contains your words.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Lesson</guilabel></term>
<listitem><para>Selects the desired lesson.</para>
<para>The button on the right also invokes the
<link linkend="docprop2-dlg">document
properties page</link> where you can enter a new lesson.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Pronunciation</guilabel></term>
<listitem><para>In this field you can describe how the word is
pronounced.</para>
<para>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
<link linkend="pron-window">dialog</link> where you can select
all the characters that belong to this alphabet.</para>

</listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Type</guilabel></term>
<listitem><para>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.</para>
<para>See the table for all <link linkend="types">available
types</link>.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Subtype</guilabel></term>
<listitem><para>Some types also include subtypes. If there is no subtype
available this field is disabled.</para>
<para>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.</para>
<para>The button to the right of this field invokes the according page
from the
<link linkend="docprop3-dlg">document
properties dialog </link> so you can enter a new type
immediately.</para></listitem>
</varlistentry>
    
<varlistentry>
<term><guilabel>Usage label</guilabel></term>
<listitem><para>One or more usage labels can be selected to describe
the usual usage of the expression, &eg; medicine or chemistry.</para>
<para>The button on the right also invokes the according page from the
<link linkend="docprop3-dlg">document
properties dialog</link> to enter a new usage label.</para></listitem>
</varlistentry>
</variablelist>

<sect3 id="pron-window">
<title>Selecting from the international phonetic alphabet</title>

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

<screenshot>
<screeninfo>IPA dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="pron-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>International phonetic alphabet dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>If you do not have such a font you can find a link to a free one in the section
about the <link linkend="opt-dlg-ipa">view options</link>.</para>
</sect3>


</sect2>
<sect2 id="entry2-dlg">
<title>Additional properties</title>

<para>For most of these fields there are special queries, too.</para>

<screenshot>
<screeninfo>Additional entry dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry2-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Additional entry dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Synonym</guilabel></term>
<listitem><para>Here you may enter words that have the same
meaning as the expression. There is also a query type for this
expression.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Antonym</guilabel></term>
<listitem><para>This is for words that have the opposite meaning. This
field can also be queried.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Example</guilabel></term>
<listitem><para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Remark</guilabel></term>
<listitem><para>This is an optional field to store additional
information.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Paraphrase</guilabel></term>
<listitem><para>Here you may enter a description in different words.
 There is also a query type for this expression.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="entry3-dlg">
<title>Suggestions for a multiple choice query</title>

<screenshot>
<screeninfo>Multiple choice dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry3-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Multiple choice dialog</phrase></textobject>
</mediaobject>
</screenshot>

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

</sect2>

<sect2 id="entry4-dlg">
<title>Additional properties for verbs</title>

<para>This page is only accessible when you selected
<guilabel>verb</guilabel> as word type.</para>

<screenshot>
<screeninfo>Verb entry dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry4-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Verb entry dialog</phrase></textobject>
</mediaobject>
</screenshot>

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

<para>Because some languages do not distinguish in the 3rd person of the
plural you may use the according checkbox.</para>

<para><guibutton>Next</guibutton> searches for the next tense with
already entered conjugations.</para>

</sect2>

<sect2 id="entry5-dlg">
<title>Additional properties for adjectives</title>

<para>This page is only accessible when you selected
<guilabel>adjective</guilabel> as word type.</para>

<screenshot>
<screeninfo>Comparison entry dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry5-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Comparison entry dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>Here you enter the the comparison forms of the
 adjective.</para>

</sect2>

<sect2 id="entry6-dlg">
<title>Properties from or to the original</title>

<para>For some properties it is possible to set up values
<emphasis>from</emphasis> the original or <emphasis>to</emphasis> 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).</para>

<screenshot>
<screeninfo>From/to entry dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry6-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>From/to entry dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Grade</guilabel></term>
<listitem><para>Contains the current grade of this
expression.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>False friend</guilabel></term>
<listitem><para>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.</para>
<para>Enter such words in this field.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Last query date</guilabel></term>
<listitem><para>This is the date when this entry was
last queried. If it was never queried yet you only see
<computeroutput>&#150;&#150;</computeroutput>.</para>
<para>For convenience reasons there are two buttons to set the current
date or reset to <quote>never queried</quote>.</para>
<para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>altogether</guilabel></term>
<listitem><para>Designates how often this entry was queried.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>wrong</guilabel></term>
<listitem><para>Shows the amount of times you did not know the right
answer.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2>
<title>Docking to the main window</title>

<screenshot>
<screeninfo>Docking buttons</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="entry7-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Docking buttons</phrase></textobject>
</mediaobject>
</screenshot>

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

<para>After closing the entry dialog the main window returns to its previous
position and size.</para>

</sect2>
</sect1>

<sect1 id="query-dlg">
<title>Query dialogs</title>

<sect2 id="norm-query-dlg">
<title>Normal random query</title>

<para>After selecting <guimenuitem>Create random query </guimenuitem>
the main window disappears.</para>

<para>Then all entries that match your current <link
linkend="thresholds">thresholds</link> are put into a list and shown
in random order with the following dialog box.</para>

<screenshot>
<screeninfo>Random query dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Random query dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>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.</para>
 
<variablelist>
<varlistentry>
<term><guilabel>Show all</guilabel></term>
<listitem><para>Shows the complete solution in the <guilabel>Translation</guilabel>
field.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Show more</guilabel></term>
<listitem><para>Each click on this button will show one more character
of the solution to give you a little help.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Verify</guilabel></term>
<listitem><para>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</para></listitem>
</varlistentry>
   
<varlistentry>
<term><guilabel>Don`t know</guilabel></term>
<listitem><para>Tells &kvoctrain; that you did not know the answer and
that the according grade must be lowered.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Know it</guilabel></term>
<listitem><para>Click this button to tell &kvoctrain; that you
knew the answer correctly. This entry is then removed from the current<quote>bad
list</quote>.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Edit</guilabel></term>
<listitem><para>If you find a mistake with a query you can invoke the
edit dialog immediately and correct it.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Stop query</guilabel></term>
<listitem><para>Stop query mode and show vocabulary
again.</para></listitem>
</varlistentry>
   
</variablelist>

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

<para>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 <link linkend="thresholds">query options</link> accordingly).</para>

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

<itemizedlist>
<listitem><para>First pressing <keycap>Return</keycap> shows the
 complete solution (at the beginning the button <guibutton>Show more</guibutton>
is the default button) and makes <guibutton>Don`t know</guibutton>
the default button.</para></listitem>

<listitem><para>Pressing <keycap>Return</keycap> the second time
will leave this dialog and tell &kvoctrain; that you did not know the
answer.</para></listitem>
</itemizedlist></para>

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

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

</sect2>

<sect2 id="mu-query-dlg">
<title>Random query with multiple choice</title>

<screenshot>
<screeninfo>Multiple choice query dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="mu-query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Multiple choice query dialog</phrase></textobject>
</mediaobject>
</screenshot>

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

<para>This query works most efficiently if you provide similar solutions on the
<link linkend="entry2-dlg">according entry dialog pages</link>. Additionally
<link linkend="entry6-dlg">a false friend</link>
is added if available.</para>

</sect2>

<sect2 id="verb-query-dlg">
<title>Query of conjugations</title>

<screenshot>
<screeninfo>Conjugation query dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="verb-query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Conjugation query dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>This dialog appears after starting the query of the verbs.</para>

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

</sect2>

<sect2 id="art-query-dlg">
<title>Query of articles</title>

<screenshot>
<screeninfo>Article query dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="art-query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Article query dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>In this dialog the article of the noun is queried.</para>

<para>It is important to having selected the correct subtype in the
<link linkend="entry1-dlg">entry dialog</link>.</para>

</sect2>

<sect2 id="comp-query-dlg">
<title>Query of comparison forms</title>

<screenshot>
<screeninfo>Comparison query dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="comp-query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Comparison query dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>All expressions that contain also
<link linkend="entry5-dlg">comparison forms</link> are shown. One
word is chosen randomly and you must complete the remaining two.</para>

</sect2>

<sect2 id="syn-query-dlg">
<title>Query of synonyms, antonyms, paraphrases and example
 sentences.</title>

<screenshot>
<screeninfo>Synonym query dialog screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="syn-query-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Synonym query dialog</phrase></textobject>
</mediaobject>
</screenshot>

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

<para>You are prompted the expression and have to enter the according
property. Querying by <guilabel>example</guilabel> 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.</para>

</sect2>
</sect1>

<sect1 id="stat-dlg">
<title>Document statistics dialog</title>

<sect2 id="stat1-dlg">
<title>General</title>

<screenshot>
<screeninfo>General document statistics screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="stat1-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>General document statistics</phrase></textobject>
</mediaobject>
</screenshot>

<para>On this page you find the most important general information about
your document:</para>

<itemizedlist>
<listitem><para>The filename</para></listitem>
<listitem><para>The title</para></listitem>
<listitem><para>The name of the author</para></listitem>
<listitem><para>and the number of entries and lessons.</para></listitem>
</itemizedlist>

</sect2>

<sect2 id="stat2-dlg">
<title>All languages in the dictionary</title>

<screenshot>
<screeninfo>Per language statistics screenshot</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="stat2-dlg.png" format="PNG" /></imageobject>
<textobject><phrase>Per language statistics</phrase></textobject>
</mediaobject>
</screenshot>

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

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

</sect2>
</sect1>
</chapter>

<chapter id="dictionaries">
<title>Sharing files and downloading dictionaries</title>

<sect1 id="dictionary">
<title>Contributing your files to &kvoctrain;</title>

<para>If you have created a kvtml file, please send an email to
<email>annma@kde.org</email> with the file attached and I will put the file in the <ulink url="http://edu.kde.org/contrib/kvtml.php">contributed kvtml files</ulink> on <ulink url="http://edu.kde.org">the KDE-Edu website</ulink> so other people will be able to use it.</para>

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

</sect1>

<sect1 id="new-stuff">
<title>Downloading and installing existing files</title>

<para>&kvoctrain; is shipped with only two examples files. But you can easily get and install existing files using the <guimenu>File</guimenu> -&gt; <guimenuitem>Get New Vocabularies...</guimenuitem> menu, provided you have an internet connection. The following dialog is then displayed:</para>

<screenshot>
<screeninfo>Get New Vocabularies... dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="get-new-stuff.png" format="PNG" /></imageobject>
<textobject><phrase>Get New Vocabularies... dialog</phrase></textobject>
</mediaobject>
</screenshot>

<para>Choose the file you want to get. The <guibutton>Details</guibutton> button will give you more details about the content of the highlighted file. Click the <guibutton>Install</guibutton> button. The file is then downloaded from its location on the internet, saved on your hard disk and opened in KVocTrain current window.
</para>

<note><para>The files you download are saved in your home directory in the <filename>Vocabularies</filename> folder.</para></note>
</sect1>

<sect1 id="other-dict">
<title>Other dictionaries on the web</title>

<itemizedlist>
<listitem><para>If you are German an want to learn English
(or vice versa) you can download the monthly vocabulary
list provided by the German magazine <ulink url="http://www.spotlight-online.de">Spotlight-Online</ulink>.</para>
<para>The &kvoctrain; distribution contains an executable called
<command>spotlight2kvtml</command> 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. <application>StarOffice</application> or <application>kword</application>
can do this job.</para>
<para><command>spotlight2kvtml</command> needs the 3 parameters
<parameter>filename</parameter>, <parameter>month</parameter> and
<parameter>year</parameter> and produces a file in the same folder
with the same name and the extension <literal role="extension">kvtml</literal>:</para>
<para><userinput><command>spotlight2kvtml</command>
<replaceable>0199.txt 01 99</replaceable></userinput></para></listitem>

<listitem>
<para>Thanks to a contribution by Andreas Neuper you
can download files from
<ulink url="http://www.vokabeln.de/files.htm">Langenscheidt</ulink>.
This is a german site and contains files in several languages.
This distribution contains his perl script
<command>langen2kvtml</command> to transform those lists
in kvtml format.</para>

<para><command>langen2kvtml</command> 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.</para>

<para>It produces a file in the same folder
with the same name and the extension <literal role="extension">kvtml</literal>.</para>
</listitem>

<listitem><para>Files in kvtml format are available at:</para>
  <itemizedlist>
<listitem><para>
  <ulink
 url="http://edu.kde.org/contrib/kvtml.php">
 KDE-Edu Contributed Learning Files</ulink>
  </para></listitem>
</itemizedlist>
</listitem>

<listitem><para>Dictionaries in ascii-format are for example available
 at:</para>
  <itemizedlist>
  <!-- obsolete <listitem><para>
  <ulink
 url="ftp://ftp.uni-ulm.de/pub/misc/dict/english_german.tar.gz">ftp.uni-
ulm.de/pub/misc/dict/english_german.tar.gz</ulink> (approx. 350 kB)
  </para></listitem>-->
  <listitem><para>
  <ulink
 url="ftp://ftp.gwdg.de/pub/misc/dictionary/english/words.gz">ftp.gwdg.d
e/pub/misc/dictionary/english/words.gz</ulink> (approx. 1035 kB)
  </para></listitem>
  <!-- obsolete <listitem><para>
  <ulink
 url="ftp://sable.ox.ac.uk/pub/wordlists">
 sable.ox.ac.uk/pub/wordlists</ulink>
  </para></listitem>-->
  </itemizedlist>
</listitem>

<listitem><para>Dictionaries from the
<ulink url="http://www3.futureware.at/kquick.htm">*Quick project</ulink> in
<quote>CSV</quote> format but encoded in <quote>UTF8</quote> so you should have
all characters rendered correctly.

The files are available from its
<ulink url="http://www3.futureware.at/1dim.htm">download section</ulink>.
They are in compressed &Windows; <literal role="extension">.EXE</literal>
format so you have
to use <application>unzip</application> to extract the files.</para>
</listitem>

</itemizedlist>

<para>If you know another source please tell
<ulink url="mailto:annma@kde.org">me</ulink>
to include it here.</para>
</sect1>

<sect1 id="translators">
<title>Translator applications</title>

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

<para>In this case  you might want to try one of the following:</para>
<itemizedlist>
<listitem><para>
<ulink url="http://www.franken.de/users/duffy1/rjakob/">kdsing</ulink>
 (&kde;).
</para></listitem>

<listitem><para>
<ulink
 url="http://www.tm.informatik.uni-frankfurt.de/~razi/steak/steak.html">
steak/xsteak</ulink> (console/X).
</para></listitem>

<listitem><para>
<ulink
 url="http://dict.tu-chemnitz.de/">Ding</ulink>
 (TCL).
</para></listitem>

</itemizedlist>

</sect1>
</chapter>

<chapter id="links">
<title>Interesting links</title>

<sect1 id="similar">
<title>Similar projects</title>

<para>You might also want to try one of the other vocabulary trainers
I have found (sorted by the time when I found them):</para>
<itemizedlist>
<listitem><para><ulink
url="http://edu.kde.org/kwordquiz/">KWordQuiz</ulink> (&kde;)</para></listitem>

<listitem><para><ulink
url="http://members.tripod.com/~planetphil/svt.html">SVT</ulink>
(console)</para></listitem>
</itemizedlist>
</sect1>

<sect1 id="other-links">
<title>Other interesting links</title>

<para>Maybe you are interested in the one or the other links I found
while working on &kvoctrain;.</para>
<itemizedlist>
<listitem><para><ulink url="http://czyborra.com/unifont/">&GNU; Unifont
Projekt</ulink></para></listitem>

<listitem><para><ulink url="http://www.seul.org/edu/projects.html">SEUL
Educational Projects</ulink></para></listitem>

<listitem><para><ulink url="http://esl.about.com/library/weekly/aa040998.htm">
Reference and Introduction to Phonetic Symbols</ulink></para></listitem>

<listitem><para><ulink url="http://www2.arts.gla.ac.uk/IPA/ipa.html">
The International Phonetic Association</ulink></para></listitem>

</itemizedlist>

</sect1>
</chapter>

<chapter id="commands">
<title>Command Reference</title>

<sect1 id="kapp-mainwindow">
<title>The main &kvoctrain; window</title>

<sect2 id="file-menu">
<title>The <guimenu>File</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice>
</term>
<listitem><para><action>Creates</action> a new
 document.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem></menuchoice></term>
<listitem><para><action>Opens an existing document.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open recent...</guimenuitem></menuchoice></term>
<listitem><para><action>Opens one of the recently opened
 documents.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open example...</guimenuitem></menuchoice></term>
<listitem><para><action>Opens an example file</action> shipped with &kvoctrain;
</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Get New Vocabularies...</guimenuitem></menuchoice></term>
<listitem><para><action>Opens</action> the Get Hot New Stuff dialog to allow you to install new KDE-Edu vocabulary files via the internet.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>File</guimenu>
<guimenuitem>Merge..</guimenuitem></menuchoice></term>
<listitem><para><action>Merges another vocabulary to the
 current.</action></para>
<para>Only those parts of the second vocabulary are merged, that have
 the same 
<ulink url="http://www.loc.gov/standards/iso639-2/englangn.html">
 international
language code</ulink> as your current one.</para>
<para>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 <link linkend="settings2-dlg">options page</link>
</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo
 action="simul">&Ctrl;<keycap>S</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save</guimenuitem></menuchoice></term>
<listitem><para><action>Saves the document.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save as</guimenuitem></menuchoice></term>
<listitem><para><action>Saves the document under another
 name.</action></para></listitem>
</varlistentry>

<varlistentry>
  <term><menuchoice>
      <guimenu>File</guimenu>
      <guimenuitem>Save Entries In Query As...</guimenuitem></menuchoice></term>
  <listitem><para><action>Saves the entries marked In Query as a new vocabulary.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem></menuchoice></term>
<listitem><para><action>Exits</action> &kvoctrain;.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="edit-menu">
<title>The <guimenu>Edit</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">
&Ctrl;<keycap>C</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Copy</guimenuitem></menuchoice></term>
<listitem><para><action>Copies the current row to the
 clipboard.</action> The entries are separated by a special sequence of
 characters which can be chosen in the <link
 linkend="options4-dlg">options dialog</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">
&Ctrl;<keycap>V</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Paste</guimenuitem></menuchoice></term>
<listitem><para><action>Pastes from clipboard.</action> The entries are
 divided by
the above mentioned <link linkend="cut-n-paste">separator</link>
character and inserted as a new row with one or more columns. You can
also <link linkend="options4-dlg">adjust the order</link> in which the
columns are concatenated before copying all to the clipboard.</para>
<para>Pasting multiple lines (&eg; from a <literal role="extension">CSV</literal>
 data base file) will
 append them all as new rows one after another.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">
&Ctrl;<keycap>A</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Select All</guimenuitem></menuchoice></term>
<listitem><para><action>Marks the whole vocabulary</action> as
 <quote>selected</quote>
 for further processing.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>&Shift;</keycap><keycap>A</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Deselect</guimenuitem></menuchoice></term>
<listitem><para><action>Removes all multiple selection
 marks.</action></para></listitem>
</varlistentry>


<varlistentry>
<term><menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Find</guimenuitem></menuchoice></term>
<listitem><para><action>Searches</action> for the clipboard content in the vocabulary file using the search field in the toolbar.
.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycap>Ins</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Append new entry</guimenuitem></menuchoice></term>
<listitem><para><action>Appends one or more new expressions.</action>
 See
<link linkend="key-insert">Insert key</link> section for more
information.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><shortcut><keycap>Enter</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Edit selected area</guimenuitem></menuchoice></term>
<listitem><para><action>Edits current expression.</action> See <link
linkend="key-enter">Enter key</link> section for more
information.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><shortcut><keycap>Del</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Remove selected area</guimenuitem></menuchoice></term>
<listitem><para><action>Removes selection.</action> See <link
 linkend="key-delete">Delete
key</link> for more information.</para></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="voc-menu">
<title>The <guimenu>Vocabulary</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Show statistics</guimenuitem></menuchoice></term>
<listitem><para>Invokes the <link linkend="stat-dlg">statistics
dialog</link> to <action>display the most important facts about your
vocabulary.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Assign lessons</guimenuitem></menuchoice></term>
<listitem><para><action>Searches the vocabulary for entries that are
not yet assigned a lesson.</action> They are randomly assigned new
lessons.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Clean up</guimenuitem></menuchoice></term>
<listitem><para><action>Searches for entries which are exactly the
 same</action>
(original and all translations) and removes all but
 one.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Append language</guimenuitem></menuchoice></term>
<listitem><para><action>Appends a new column</action> (a new
 language).</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Set language</guimenuitem></menuchoice></term>
<listitem><para><action>Sets the language code and name for a column</action>.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Remove language</guimenuitem></menuchoice></term>
<listitem><para><action>Removes one of the
 translations.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Document properties</guimenuitem></menuchoice></term>
<listitem><para>Invokes the <link linkend="docprop-dlg">document
properties dialog</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Vocabulary</guimenu>
<guimenuitem>Language properties</guimenuitem></menuchoice></term>
<listitem><para>Invokes the <link linkend="langprop-dlg">language
properties dialog</link>.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="learn-menu">
<title>The <guimenu>Learning</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Learn</guimenu>
<guimenuitem><replaceable>Language Names</replaceable></guimenuitem>
</menuchoice></term>
<listitem><para>Provides a submenu for each language with all the
query dialogs. Exactly the same as the menu appearing in a <link
linkend="header-menu">table header button</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice>
<guimenu>Learn</guimenu>
<guimenuitem>Resume random query</guimenuitem></menuchoice></term>
<listitem><para><action>Resumes the previous random query if you
 terminated one
before.</action> Remaining entries appear with a green check mark.
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Learn</guimenu><guimenuitem>Resume multiple
 choice</guimenuitem>
</menuchoice></term>
<listitem><para><action>Resumes the previous random query with multiple
choice.</action></para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="opt-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Toolbar</guimenuitem></menuchoice></term>
<listitem><para><action>Toggles the visibility of the toolbar
buttons.</action></para></listitem>
</varlistentry>

<varlistentry>
<term>
<menuchoice><guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Statusbar</guimenuitem></menuchoice></term>
<listitem><para><action>Toggles on or off the status line at the
bottom.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Configure</action> the keyboard keys you use to access the different actions.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Configure</action> the items you want to put in the toolbar
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kvoctrain;...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Display</action> the &kvoctrain; settings dialog
</para></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="help-menu">
<title>The <guimenu>Help</guimenu> menu</title>

&help.menu.documentation;

</sect2>

<sect2 id="header-menu">
<title>Table header menu</title>

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

<variablelist>
<varlistentry>
<term><guimenuitem>Create random query</guimenuitem></term>
<listitem><para>Creates a <link linkend="query-dlg">random query</link>
on this column with all unknown expressions according to your <link
linkend="thresholds">thresholds</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Create multiple choice</guimenuitem></term>
<listitem><para>Creates a <link linkend="mu-query-dlg">random multiple
choice query</link> on this column with all unknown expressions
 according to your <link
 linkend="thresholds">thresholds</link>.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query verbs</guimenuitem></term>
<listitem><para>All of the verbs with its conjugations are
queried.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query articles</guimenuitem></term>
<listitem><para>Queries the articles if the gender of the nouns is
defined.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query comparison</guimenuitem></term>
<listitem><para>Queries comparison forms.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query synonyms</guimenuitem></term>
<listitem><para>Queries the synonyms.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query antonyms</guimenuitem></term>
<listitem><para>Queries the antonyms.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query the examples</guimenuitem></term>
<listitem><para>Queries the examples.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Query paraphrase</guimenuitem></term>
<listitem><para>Queries the paraphrases.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Sort</guimenuitem></term>
<listitem><para>Sorts this row in ascending resp. descending
order.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Set language</guimenuitem></term>
<listitem><para>Chooses a language for this column. If your desired
language does not yet exists in this menu, you have to add it with the
<link linkend="settings2-dlg">options dialog</link>.</para></listitem>
</varlistentry>
</variablelist>

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

<variablelist>
<varlistentry>
<term><guimenuitem>Reset properties</guimenuitem></term>
<listitem><para>Resets the properties of all the selected entries to
their initial state as if you just had appended them.</para>
<para>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.</para></listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>Remove language</guimenuitem></term>
<listitem><para>Removes this column and all its
 entries.</para></listitem>
</varlistentry>
</variablelist>

</sect2>
</sect1>

</chapter>

<chapter id="credits-and-license">
<title>Credits and License</title>

<sect1 id="credits">
<title>Thanks</title>

<para>&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</para>
<itemizedlist>
<listitem><para>&klpq; (table functionality in versions up to 0.7)</para></listitem>
<listitem><para>&kontour; (XML reading/writing).</para></listitem>
<listitem><para>&khexedit; (<quote>about</quote> dialog in versions up to
0.7).</para></listitem>
</itemizedlist>

<para>I'd like to thank the following people personally for their
contribution to &kvoctrain;:</para>
<itemizedlist>
<listitem><para>Andrea Marconi for localization to
 Italian</para></listitem>
<listitem><para>Hans Kottman for localization to
 French</para></listitem>
<listitem><para>Grzegorz Ilczuk for localization to
 Polish</para></listitem>
<listitem><para>Eric Bischoff for converting the documentation to
DocBook</para></listitem>
</itemizedlist>

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

</sect1>

<sect1 id="copyright">
<title>Copyright</title>

<para>&kvoctrain; Program copyright 1999-2003 Ewald Arnold
<email>ewald@ewald-arnold.de</email>
2004-2005 Peter Hedlund <email>peter@peterandlinda.com</email>
</para>

<para>Documentation copyright 1999-2000 Ewald Arnold
<email>ewald@ewald-arnold.de</email>
2005 Anne-Marie Mahfouf
<email>annma@kde.org</email>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;

</sect1>
</chapter>

<appendix id="installation">
<title>Installation</title>

<sect1 id="obtaining">
<title>How to obtain kvoctrain</title>

&install.intro.documentation;

</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<para>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 <ulink
url="ftp://ftp.kde.org/pub/kde/">ftp.kde.org/pub/kde/</ulink>.</para>

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

</sect1>

<sect1 id="compilation">
<title>Compilation and installation</title>

&install.compile.documentation;

</sect1>
</appendix>

&documentation.index;

</book>
