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

<book id="khangman" lang="&language;">

<bookinfo>
<title>The &khangman; Handbook</title>

<authorgroup>
<author>
<firstname>Anne-Marie</firstname>
<surname>Mahfouf</surname>
<affiliation>
<address>&Anne-Marie.Mahfouf.mail;</address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>


<copyright>
<year>2001</year><year>2009</year>
<holder>&Anne-Marie.Mahfouf;</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>


<date>2013-05-31</date>
<releaseinfo>2.5 (&kde; 4.11)</releaseinfo>

<abstract>
<para>
&khangman; is the classic hangman game for children, adapted for &kde;.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeedu</keyword>
<keyword>KHangMan</keyword>
<keyword>hangman</keyword>
<keyword>game</keyword>
<keyword>child</keyword>
<keyword>words</keyword>
</keywordset>

</bookinfo>

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

<para>
&khangman; is a game based on the well-known hangman game. It is aimed at
children aged six and over. The game has several categories of words to play
with and among them: <guimenuitem>Animals</guimenuitem> (animals words) and 
three difficulty categories: <guimenuitem>Easy</guimenuitem>,
<guimenuitem>Medium</guimenuitem> and <guimenuitem>Hard</guimenuitem>.
A word is picked at random, the letters are hidden, and you
must guess the word by trying one letter after another. Each time you guess a
wrong letter, part of a picture of a hangman is drawn. You must guess the word
before being hanged! You have 10 tries.
</para>

</chapter>

<chapter id="using-khangman">
<title>Using &khangman;</title>

<screenshot>
<screeninfo>Here's a screenshot of &khangman; when you start it for the first
time</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="khangman-main.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&khangman; screenshot</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para>
Here you can see &khangman; as it is the first time you run it. Category is
Animals, language is default (English here, the default is your current &kde;
language if the data exists), the theme is "Sea". Any changes in category,
language or theme (background) are written in the configuration file and
restored in your next game.
</para>

<para>
Please note how easy it is to change the theme, just click on the combo box on
the toolbar. Getting a new word and quitting the game are also easily done by
clicking on the corresponding buttons on the toolbar.
</para>

<sect1 id="general-usage">
<title>General usage</title>

<para>A word is chosen and its letters are displayed as an underscore (_)
symbol. You know how many letters there are in the word. You have to guess the
word by trying one letter after another. You enter the letter in the text box
and you either press the &Enter; key or click on the
<guibutton>Guess</guibutton> button to see if the
letter belongs or not to the word. </para>

<para>The word is picked at random and it is not the same as the previous word.
</para>

<important><para>All the words are nouns (there are no verbs or
adjectives, &etc;).</para></important>

<para>If you need help guessing the word, you can click on the <guiicon>Show
Hint</guiicon> icon <inlinemediaobject><imageobject> <imagedata
fileref="games-hint.png" format="PNG"/></imageobject></inlinemediaobject> in the
toolbar and a hint will be displayed to give you some clue about the word.
Clicking the <guiicon>Show Hint</guiicon> icon again will hide the hint. 
</para>

<para>Hints are not displayed in default start mode. 
</para>

<para> Usually, it is not important whether you type in lowercase or uppercase.
The program converts all input into lowercase (except for German words beginning
with an uppercase letter). The program does that automatically. </para>

<para> 
The current category, wins and losses are displayed in the statusbar.
</para>

<para>
Each time you guess a letter that is not in the word, another part of the
hangman is drawn. You have 10 tries to guess the word. After that, the correct
answer is displayed.
</para>

<para>
There are 4 categories: easy, medium, hard and animals, plus categories for
other
topics in some languages. The program scans for all data files in all
languages and uses &kanagram; words files as well.
 </para>
 
<para>
In the easy category, the words are quite simple and related to everyday life.
It
is suitable for children from 6 to 9.  The animals category contains only names
of
animals so they are easier to find. Some of them are easy, others are more
difficult. In the medium category, the words are longer and more difficult. It
is
suitable for ages 9+. The hard category is just that, hard, &ie; the words are
difficult to spell and not very well known. This category is challenging, even
for
adults.
</para>

<para>After a word is guessed (or the hangman is completed), you are
congratulated and prompted for another word. You can either click on 
<guilabel>Play again</guilabel> and another word is ready to be guessed or
select
another <guimenu>Category</guimenu> to play.
To quit the game now select
<menuchoice><guimenu>Game</guimenu><guimenuitem>Quit</guimenuitem>
</menuchoice> or click the <guiicon>Quit</guiicon> icon in the toolbar.
</para>

<para>You type the letter you want to try in the text box (the mouse cursor is
ready in the text box) and you hit the &Enter; key or click the
<guibutton>Guess</guibutton> button. If
the letter belongs to the word, it takes its place, as many times as it appears
in the word. If the letter does not belong to the word, it goes in the
<guilabel>Misses</guilabel>
field and a further part of the hangman is drawn on the right. You have ten
tries and after that you lose and the correct word is displayed.
</para>

<para>During the game, you can choose to start a new game by going in the
<guimenu>Game</guimenu> menu and choosing <guimenuitem>New</guimenuitem> or
clicking on the <guiicon>New</guiicon> icon <inlinemediaobject><imageobject>
<imagedata
fileref="document-new.png" format="PNG"/></imageobject></inlinemediaobject> on
the toolbar. You can also change
the category of words using the <guimenu>Category</guimenu> menu (this
will bring you a new word for the new category).</para>

<para>The look can easily be changed with the <guimenuitem>Look</guimenuitem>
toolbar holding the look dropdown box.</para>

<para>The <guiicon>Quit</guiicon> button on the toolbar
<inlinemediaobject><imageobject> <imagedata
fileref="application-exit.png"
format="PNG"/></imageobject></inlinemediaobject> allows you to easily quit the
game.</para>

<para>You can also play the game with a local file installed on your machine
that you will open using the <guimenu>Game</guimenu> menu and choosing
<guimenuitem>Open</guimenuitem>.</para>

</sect1>

<sect1 id="languages">
<title>Playing in different languages</title>
<para>
You can play &khangman; in many languages including: Brazilian Portuguese,
Bulgarian, Catalan, Czech, Danish, Dutch, English (US and GB), Finnish, French,
German, Hungarian, Irish (Gaelic), Italian, Norwegian (Bokm&#229;l), Norwegian
(Nynorsk), Polish, Portuguese, Romanian, Spanish, Serbian (Latin and Cyrillic),
Slovenian,
Tajik, Swedish, Russian and Turkish. You can even try Chinese if you install
the files from &kanagram;!!
</para>

<para>
By default, after the first installation of &khangman;, only English and your
&kde; language if it is one of the above and if you have the corresponding
kde-i18n package will be installed. For example if you are a Danish user and if
you have &kde; in Danish, in <guimenu>Language</guimenu> you will see two
items: English and Danish and Danish will be the default. </para>

<para>
You can still play &khangman; in other languages. It is very easy to add new
data in &khangman;. All you need is a working Internet connection. You click on
the <guimenu>Game</guimenu> menu and then on <guimenuitem>Get Words in New
Language...</guimenuitem>. A dialog appears, similar to this one:
</para>

<screenshot>
<screeninfo>The Get New Words dialog for &khangman;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="getnewstuff.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>The Get New Words dialog for &khangman;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para>
Click on the language name you want to install and then on the
<guibutton>Install</guibutton> button. If the language is successfully
installed, a green tick is displayed in front of the language name and the
<guibutton>Install</guibutton> turns to <guibutton>Uninstall</guibutton>. The
data is immediately installed and available in &khangman;. You click on the
<guibutton>Close</guibutton> button to close the Get New Words dialog (if you
want another data file, you can repeat these steps). </para>

<para>
You can then easily change the language by going in the
<guimenu>Language</guimenu> and choose the new language. </para>

<para>
Please note that you can now type the special characters in a language by
displaying the <interface>Special Characters</interface> toolbar. This toolbar
holds buttons with an icon of each special character per language like &eacute;
in French for example. Clicking on such a button will write the corresponding
letter in the input line and you validate your choice with &Enter;. You can of
course also use the keyboard layout corresponding to the language. This toolbar
can be shown or hidden. The setting is restored next time you play &khangman;.
</para>

<important><para>
Please note that you need Arial and URW Bookman fonts in order to display the
special characters correctly in some languages. Provided you have those fonts
installed, &khangman; will automatically use them. If you see small squares
instead of letters, then you may not have one of these fonts installed. Type
<command>fonts:/</command> into the &konqueror; address bar to check which fonts
you have installed. </para></important>

</sect1>
<sect1 id="few-tips">
<title>A few tips</title>
<para>
In English, try to guess the vowels first. Then have a go with the most common
consonants:
l, t, r, n, s
</para>
<para>When you see <quote>io</quote>, try n after that, in French and English.
</para>
<para>
In Brazilian Portuguese, Catalan, Spanish and Portuguese, the accented
vowels can be discovered when you type the non accented corresponding
vowel. For example, all the accented <quote>a</quote> are displayed in
the word when you type <quote>a</quote>. This is when <guilabel>Type accented
letters</guilabel> on the <guilabel>Languages</guilabel> page of &khangman;'s
configuration dialog is not checked. When <guilabel>Type accented
letters</guilabel> is checked, then you have to type
the accented letters yourself. When you type <quote>a</quote>, only
<quote>a</quote> is displayed and you have to type for example
&atilde; for this letter to be displayed.
</para>
<para> Did you know? In English, the most common letter is e (12.7%), followed
by t (9.1%) then a (8.2%), i (7.0%) and n (6.7%). </para>
</sect1>


</chapter>

<chapter id="menus">
<title>Menubar and toolbars</title>

<sect1 id="mainwindow">
<title>The Main &khangman; Window</title>

<para>The <guimenu>Game</guimenu> menu has 3 items:
<guimenuitem>New</guimenuitem>, <guimenuitem>Get Words in New
Language...</guimenuitem> and <guimenuitem>Quit</guimenuitem>.</para>

<para><guimenuitem>New</guimenuitem> brings you a new game, &ie; a new word to
guess, in the same category you already are. <guimenuitem>Get Words in New
Language...</guimenuitem> will display the Get New Stuff dialog to allow you to
download data in a new language. <guimenuitem>Quit</guimenuitem> quits the game
by closing the main window and writing the actual settings in the configuration
file.</para>

<para>
The <guimenu>Category</guimenu> menu allows you to choose the category of words
you want to play with and also three difficulty categories.
</para>

<para>
The <guimenu>Language</guimenu> menu allows you to change the language the
words are displayed in. 
</para>

<para>
The <guimenu>Look</guimenu> menu proposes four themes: the <guimenuitem>Sea
Theme</guimenuitem>, the <guimenuitem>Winter Theme</guimenuitem>, the
<guimenuitem>Bee Theme</guimenuitem> and the <guimenuitem>Desert
Theme</guimenuitem>. The background and the font colors change for each theme.
</para>

<para>
The <guimenu>Settings</guimenu> menu allows you to configure
&khangman; easily.  First, <guimenuitem>Toolbars</guimenuitem>,
<guimenuitem>Show Hint</guimenuitem> and
<guimenuitem>Show Statusbar</guimenuitem> give you the possibility to
hide or show the toolbars, hints and the statusbar.
</para>

<para>There are four toolbars: the <guimenuitem>Main</guimenuitem>,
<guimenuitem>Look</guimenuitem>
and <guimenuitem>Language</guimenuitem> toolbars which are the one on top
with the buttons and combo boxes and the
<guilabel>Special Characters</guilabel> toolbar which, when it is shown, is
on the bottom. This toolbar has buttons with the special characters
for each language: accented letters and other special characters. This
allows users to easily play in another language without having to configure
a new keyboard layout. You click on a special letter and it is
displayed as the letter to try. Pressing &Enter; will make the program
see if the letter is present in the word or not. The toolbar can be
hidden if you don't want it. This is saved in the configuration file
so if the toolbar is hidden, it will be hidden next time you run
&khangman;.
</para>

<tip>
<para>
It is of course possible to move the toolbars around. Put the mouse
cursor on the small handle on the left of the toolbar, press the &LMB;
and drag the toolbar to position it on the screen where you want
it. If you point the mouse on one of the toolbars and press the right
mouse button, a context menu appears to let you choose different
options for the toolbar.
</para>
</tip>

<para>
<guimenuitem>Configure Shortcuts...</guimenuitem> is a standard &kde; setting
dialog that allows you to choose different shortcut keys for different actions.
For example, <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> is the
standard shortcut for <guimenuitem>Quit</guimenuitem>.</para>
<para><guimenuitem>Configure Toolbars...</guimenuitem> is also a standard &kde;
menu item that allows you to add or suppress items from the toolbar.
</para>

<screenshot>
<screeninfo>&khangman; Desert theme</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="khangman-desert.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&khangman; Desert theme</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para> Here you have &khangman; with the Desert theme, French language and
category
Easy. The <interface>Special Characters</interface> toolbar is shown
here.</para>

<para>
The category is chosen with a combo box in the toolbar or via the
<guimenu>Category</guimenu> menu in the menubar. Available are
<guimenuitem>Easy</guimenuitem>, <guimenuitem>Medium</guimenuitem>,
<guimenuitem>Animals</guimenuitem> and <guimenuitem>Hard</guimenuitem> and some
more. 
<guimenuitem>Easy</guimenuitem> is related to common objects a child 
aged six or seven knows. <guimenuitem>Medium</guimenuitem> regards nouns
a bit more challenging, <guimenuitem>Hard</guimenuitem> is quite difficult and 
<guimenuitem>Animals</guimenuitem> is only animals nouns. There are also some 
other categories of words, depending on the language.
</para>

<para> All words are nouns. No verbs, no adjectives. The chosen category
 is then displayed on the statusbar.</para>
<para>Only letters are allowed to be typed in the text box.</para>
</sect1>

<sect1 id="settings">
<title>Available Settings</title>
<para>
A toolbar is provided for quick access to some settings. You can click on a
button to have a new game (i.e. a new word), to see the hint or to quit the
game. The theme is easily changed via a combo box on the toolbar. 
</para>
<para>
In <menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure
&khangman;...</guimenuitem> </menuchoice> you will find tree pages. The first
one is for <guilabel>General</guilabel> settings. 
</para>

<sect2 id="general-settings">
<title>General Settings</title>

<screenshot>
<screeninfo>&khangman; General settings</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="settings-general.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&khangman; General settings</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para><guilabel>Require more guesses for duplicate letters</guilabel>: this is
unchecked as default. When unchecked, if you try the letter "a" and the word has
several as, they will be all displayed. For example if the word is "potato" and
you try "o", both os will be diaplayed. If you check this option however, only
the first "o" will be displayed and you will have to try it one more time to
display the second "o" in "potato". This increases the difficulty.
</para>

<para><guilabel>Enable animations</guilabel>: the default is checked, that means
that when you win a game, a message box will be displayed to tell you that you
won and ask you if you want to play again. If you uncheck this option, this
dialog is not displayed anymore, instead a new game starts directly after 3
seconds.
</para>

<para><guilabel>Enable hints globally</guilabel>: the default is unchecked.
Hints are not shown. If you check this (or use the <guilabel>Show
Hints</guilabel> icon or 
the <menuchoice><guimenu>Settings</guimenu><guimenuitem>Show
Hint</guimenuitem></menuchoice> menu or use the shortcut 
<keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>), a hint will be
displayed above the word to guess to help you find the word more easily.
</para>

<para>
In the <guilabel>Sounds</guilabel> section, if you check <guilabel>Enable
sounds</guilabel> then a sound will be played on new game and another sound will
be played when you win a game.
</para>

</sect2>
<sect2 id="languages-settings">
<title>Languages Settings</title>
<para>The <guilabel>Languages</guilabel> Settings tab allows you to set some
settings specific to some languages. If the settings are not available for the
language you are playing in then those settings will be grayed and disabled so
you cannot choose them.
</para>

<screenshot>
<screeninfo>&khangman; Languages Settings</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="settings-languages.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&khangman; Languages Settings</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para><guilabel>Type accented letters</guilabel> is available for Spanish,
Portuguese and Catalan in &khangman;'s configuration dialog. If you check
<guilabel>Type accented letters</guilabel>  then you will have to type all
accented vowels (like &atilde;). If this remains unchecked, when you type any
vowel, all accented vowels will be displayed as well.
</para>

</sect2>

<sect2 id="timers-settings">
<title>Timers Settings</title>
<para>The <guilabel>Timers</guilabel> Settings tab allows you to set
<guilabel>Time for displaying the Already Guessed Letter tooltip</guilabel>.
</para>

<screenshot>
<screeninfo>&khangman; Timers Settings</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="settings-timers.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>&khangman; Timers Settings</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para><guilabel>Time for displaying the Already Guessed Letter
tooltip</guilabel> allows you to increase or decrease the time for displaying
the Already Guessed Letter tooltip. This tooltip is a label which appears when
you tried a letter that was already tried. Some people will want not to see it
for long while children will need time to understand it and thus will need to
set the display for a longer duration.
</para>

</sect2>

</sect1>

</chapter>

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

<sect1 id="khangman-mainwindow">
<title>Menus and Shortcut Keys</title>

<sect2>
<title>The Game Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
<listitem><para><action>New</action> game (&ie; new word)</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Open</guimenuitem>
</menuchoice></term>
<listitem><para><action>Open</action> a local file to play with the
words</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Get Words in New Language...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Display</action> the <guilabel>Get Hot New
Stuff!</guilabel> dialog which lists all the data available in the different
languages. </para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Quits</action> &khangman;</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2>
<title>The Category Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Category</guimenu>
<guimenuitem>Animals</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the list of animals words to
guess</para>
<para>All other installed categories are displayed as items in this menu as
well.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Category</guimenu>
<guimenuitem>Easy</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the list of easy words to
guess</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Category</guimenu>
<guimenuitem>Medium</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the list of medium difficulty words to
guess</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Category</guimenu>
<guimenuitem>Hard</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the list of difficult words to
guess</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2>
<title>The Language Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Language</guimenu>
<guimenuitem>English</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the English language for the words to
guess.</para>
<para>All other installed languages are displayed as items in this menu as
well.</para></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2>
<title>The Look Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Look</guimenu>
<guimenuitem>Sea Theme</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the Sea background picture and
associated font colors</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Look</guimenu>
<guimenuitem>Winter Theme</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the Winter background picture and
associated font colors</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Look</guimenu>
<guimenuitem>Bee Theme</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the Bee background picture and
associated font colors</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Look</guimenu>
<guimenuitem>Desert Theme</guimenuitem>
</menuchoice></term>
<listitem><para><action>Choose</action> the Desert background picture and
associated font colors</para></listitem>
</varlistentry>
</variablelist>

<para>
Additionally &khangman; has the common &kde; <guimenu>Settings</guimenu> and <guimenu>Help</guimenu>
menu items, for more information read the sections about the <ulink url="help:/fundamentals/ui.html#menus-settings"
>Settings Menu</ulink> and <ulink url="help:/fundamentals/ui.html#menus-help">Help Menu</ulink>
of the &kde; Fundamentals.
</para>

</sect2>

</sect1>
</chapter>

<chapter id="developers">
<title>Developer's Guide to &khangman;</title>

<sect1 id="changing-words">
<title>How to translate words in a new language for the game</title>

<para>Please follow the procedure and then send me the files tarred and gzipped
to &Anne-Marie.Mahfouf.mail;.
</para>
<para>
Please have a look in &khangman; <guimenuitem>Get Words in New
Language...</guimenuitem> in the <guimenu>Game</guimenu> menu to see if your
language is available yet. If it is, then you can check if it contains
<emphasis>hints</emphasis>.
</para>
<para>The standard list words are stored in 4 separate files, so to make
different categories. The files are in
<filename class="directory">/khangman/data/</filename>. The file
<filename>easy.kvtml</filename> is for category easy, the file
<filename>medium.kvtml</filename> is for category medium, the file
<filename>animals.kvtml</filename> is for category animals and the file
<filename>hard.kvtml</filename> is for category hard.</para>
<para>English is the default and thus the only language to be shipped with
&khangman;. All other languages data are put in the corresponding kde-l10n
module.
</para>
<procedure>
<step>
<para>The files use the kvtml format. The tag <sgmltag
class="starttag">text</sgmltag> is for the word and the tag <sgmltag
class="starttag">comment</sgmltag> is for the hint, those are within a <sgmltag
class="starttag">entry</sgmltag> tag. Please try to match the hint with the
category of difficulty. The category <guimenuitem>Easy</guimenuitem> will
require an easy hint but the category
<guimenuitem>Hard</guimenuitem> will require the definition in the dictionary.
Try not to use words of
the same family in the hint, that would give the word away too easily!</para>

<para> Note that you must use <emphasis role="bold">UTF-8 encoding</emphasis>
when editing the files. If your editor cannot do this, try using &kwrite; or
&kate;. When opening a file in &kwrite; or &kate; you can select utf8 encoding
with the combo box at the top of the file open dialog.</para>

<para>An example of a kvtml file is as follow:</para>
<programlisting><markup>
&lt;?xml version="1.0"?&gt; 
&lt;DOCTYPE kvtml PUBLIC "kvtml2.dtd"
"http://edu.kde.org/kanagram/kvtml2.dtd"&gt; 
&lt;kvtml version="2.0"&gt; 
&lt;information&gt;
    &lt;generator&gt;converter&lt;/generator&gt;
    &lt;title&gt;Animals&lt;/title&gt;&lt;!--Translate tag content--&gt;
    &lt;comment&gt;Animals from across the
planet&lt;/comment&gt;&lt;!--Translate tag content--&gt;
  &lt;/information&gt;
  &lt;identifiers&gt;
    &lt;identifier id="0" &gt;
      &lt;locale&gt;en&lt;/locale&gt;
    &lt;/identifier&gt;
  &lt;/identifiers&gt;
...
&lt;entry id="0" &gt;
      &lt;inactive&gt;false&lt;/inactive&gt;
      &lt;inquery&gt;false&lt;/inquery&gt;
      &lt;translation id="0" &gt;
        &lt;text&gt;bear&lt;/text&gt;&lt;!--Translate all text tags
content--&gt;
        &lt;comment&gt;Large heavy animal with thick
fur&lt;/comment&gt;&lt;!--Translate all comment tags content--&gt;
      &lt;/translation&gt;
    &lt;/entry&gt;
...
&lt;/kvtml&gt;
</markup></programlisting>
</step>
<step>
<para>At the beginning of the file, you should translate the content of the
<sgmltag class="starttag">title</sgmltag> and
the <sgmltag class="starttag">comment</sgmltag> tags which are within the
<sgmltag class="starttag">information</sgmltag> tag. The title will be the one
that will appear in the Category menu of the game (where the user chooses the
file to play with).
</para>
</step>
<step>
<para>Then within the <sgmltag class="starttag">identifier</sgmltag> tag, please
put your language code instead of en in
<sgmltag class="starttag">locale</sgmltag>.</para>

<para>Please don't translate the file name itself as filenames should never
contain any special characters. Thus please save your file with the same English
filename.</para>
</step>
<step>
<para>
Edit the kvtml files with a text editor (it will be easier if you use the &XML;
syntax highlighting) and replace each word inside the 
<sgmltag class="starttag">text</sgmltag> tag with a translated word and each
hint inside a <sgmltag class="starttag">comment</sgmltag> with a translated
hint. It is not really important that the exact meaning is preserved, but try to
keep the length and category of difficulty roughly the same.
</para> 

<para>You can include words with white space or - in them, in that case the
white space or the - will be shown instead of the _. Please contact me if
there is anything special related to your language so I can adapt the code to it
(especially the special and accented characters).
</para>
</step>	

<step>
<para>You can just translate the words but you can also adapt them
following the category and add new words if you want. For example,
<quote>table</quote> is in category easy in English but in your language,
it can be category medium. Feel free to adapt the files to your language
needs. The number of words in a file is not important, you can add
some if you want.</para>

<para>Remember that all words are nouns.</para>

</step>

<step>
<para>You can then commit your files in 
<emphasis>l10n-kde4/&lt;lang_code&gt;/data/kdeedu/khangman</emphasis>. Don't
forget to update the CMakeLists.txt file as well.
Please contact me by email if you need further
information. When you send me the files, please don't forget to mention any
<emphasis role="bold">special characters</emphasis> used in your language (put
them in a text file, one per line and add this file in the tarball) and please
mention any other specificity.</para>
<para><emphasis>Please never commit files in a BRANCH as it might break the
game.</emphasis></para>
</step>
</procedure>
<para>Many thanks for your contribution!</para>
</sect1>

<sect1 id="internal">
<title>What is stored by &khangman; and where</title>
<para>
When you get a new language via <menuchoice><guimenu>Game</guimenu>
<guimenuitem>Get Words in New Language...</guimenuitem></menuchoice>, the new
language data is stored in <filename
class="directory">$KDEHOME/share/apps/kvtml/</filename> in the language code
folder. The available language dir names are also stored in the &khangman;
config file in <filename>$KDEHOME/share/config/khangmanrc</filename>.
</para>
<para>
The provider name (i.e. the address of the website where to download the new
languages) is stored in
<filename>$KDEDIR/share/apps/khangman/khangmanrc</filename>.
</para>
<para>
The English language (default) and the user language from his i18n package(s)
(if available) are stored in <filename
class="directory">$KDEDIR/share/apps/kvtml</filename>.
</para>
<para>
In the configuration file, stored for each user in
<filename>$KDEHOME/share/config/khangmanrc</filename> are saved all the game
settings such as the background, last category played, ... plus the files that
were downloaded from the <guilabel>Get Hot New Stuff!</guilabel> dialog.
</para>
</sect1>
</chapter>

<chapter id="faq">
<title>Questions and Answers</title>

&reporting.bugs;
&updating.documentation;

<qandaset id="faqlist">
<qandaentry>
<question>
<para>I have an error message telling me the pictures cannot be found.</para>
</question>
<answer>
<para>The game installs by default in <filename
class="directory">/usr/local/kde</filename> so add <filename
class="directory">/usr/local/kde/bin</filename> to your path and set
the <envar>KDEDIR</envar> variable to <filename
class="directory">/usr/local/kde</filename> before running the
game. An easy way is to configure &khangman; with the option
<option>--prefix</option>=$<envar>KDEDIR</envar> where
$<envar>KDEDIR</envar> is where the rest of &kde; is installed.  This
could vary widely, depending on the distribution and operating system
you have. Better install &khangman; from your distribution!</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>&khangman; does not start correctly after I upgraded from an earlier
version to the &kde; 4 version</para>
</question>
<answer>
<para>
There might be a problem due to the change of the configuration file. Please
remove the <filename>khangmanrc</filename> file in your <filename
class="directory">$KDEHOME/share/config</filename> folder. 
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
&khangman;
</para>
<para>
Program copyright 2001-2007 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;
</para>
<para>
Contributors:
<itemizedlist>
<listitem><para>Hangman graphics: Renaud Blanchard
<email>kisukuma@chez.com</email></para> </listitem>
<listitem><para>Sounds: Ludovic Grossard
<email>ludovic.grossard@libertysurf.fr</email></para> </listitem>
<listitem><para>Former maintainer: &Primoz.Anzur;
&Primoz.Anzur.mail;</para> </listitem>
<listitem><para>Swedish data files, coding help, transparent pictures and i18n
fixes: Stefan Asserhäll 
<email>stefan.asserhall@telia.com
</email></para> </listitem>
<listitem><para>Spanish data files: eXParTaKus
<email>expartakus@expartakus.com
</email></para> </listitem>
<listitem><para>Spanish data hints: Rafael Beccar
<email>rafael.beccar@kdemail.net
</email></para> </listitem>
<listitem><para>Danish data files: Erik Kjaer Pedersen
<email>erik@mpim-bonn.mpg.de
</email></para> </listitem>
<listitem><para>Finnish data files: Niko Lewman
<email>niko.lewman@edu.hel.fi
</email></para> </listitem>
<listitem><para>Brazilian Portuguese data files: João Sebastião de Oliveira
Bueno
<email>gwidion@mpc.com.br
</email></para> </listitem>
<listitem><para>Catalan data files: Antoni Bella
<email>bella5@teleline.es
</email></para> </listitem>
<listitem><para>Italian data files: Giovanni Venturi
<email>jumpyj@tiscali.it
</email></para> </listitem>
<listitem><para>Dutch data files: Rinse
<email>rinse@kde.nl
</email></para> </listitem>
<listitem><para>Portuguese data files: Pedro Morais
<email>morais@kde.org
</email></para> </listitem>
<listitem><para>Serbian (Cyrillic and Latin) data files: Chusslove Illich
<email>chaslav@sezampro.yu
</email></para> </listitem>
<listitem><para>Slovenian data files: Jure Repinc
<email>jlp@holodeck1.com
</email></para> </listitem>
<listitem><para>Czech data files: Luk&aacute;&scaron; Tinkl
<email>lukas@kde.org
</email></para> </listitem>
<listitem><para>Tajik data files: Roger Kovacs
<email>rkovacs@khujand.org
</email></para> </listitem>
<listitem><para>Norwegian (Bokm&#229;l) data files: Torger &#197;ge Sinnes
<email>torg-a-s@online.no
</email></para> </listitem>
<listitem><para>Hungarian data files: Tamas Szanto
<email>tszanto@mol.hu
</email></para> </listitem>
<listitem><para>Norwegian (Nynorsk) data files: Gaute Hvoslef Kvalnes
<email>gaute@verdsveven.com
</email></para> </listitem>
<listitem><para>Turkish data files: Mehmet &Ouml;zel
<email>mehmet_ozel2003@hotmail.com
</email></para> </listitem>
<listitem><para>Bulgarian data files: Radostin Radnev
      <email>radnev@yahoo.com
</email></para> </listitem>
<listitem><para>Irish (Gaelic) data files: Kevin Patrick Scannell
    <email>scannell@slu.edu
</email></para> </listitem>
<listitem><para>Coding help: &Robert.Gogolok;
&Robert.Gogolok.mail;</para> </listitem>
<listitem><para>Coding help: Benjamin Meyer
<email>ben@meyerhome.net</email></para> </listitem>
<listitem><para>Code fixes: Lubos Lun&agrave;k
<email>l.lunak@kde.org</email></para> </listitem>
<listitem><para>Code fixes: Albert Astals Cid
&Albert.Astals.Cid.mail;</para> </listitem>
<listitem><para>Usability study: Celeste Paul
<email>seele@obso1337.org</email></para> </listitem>
</itemizedlist>
</para>

<para>
Documentation copyright 2001-2007 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;               <!-- FDL: do not remove -->
&underGPL;        	 <!-- GPL License -->

</chapter>

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

<sect1 id="getting-khangman">
<title>How to obtain &khangman;</title>

&install.intro.documentation;

</sect1>

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

&install.compile.documentation;

</sect1>
</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
