eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] eliot/po LINGUAS ca.po cs.po eliot.pot en.po fr...


From: Olivier Teulire
Subject: [Eliot-dev] eliot/po LINGUAS ca.po cs.po eliot.pot en.po fr...
Date: Fri, 29 Jul 2011 22:50:10 +0000

CVSROOT:        /cvsroot/eliot
Module name:    eliot
Changes by:     Olivier Teulière <ipkiss>       11/07/29 22:50:10

Modified files:
        po             : LINGUAS ca.po cs.po eliot.pot en.po fr.po id.po 

Log message:
        Regenerated po files and completed french translation

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/po/LINGUAS?cvsroot=eliot&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/eliot/po/ca.po?cvsroot=eliot&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/eliot/po/cs.po?cvsroot=eliot&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/eliot/po/eliot.pot?cvsroot=eliot&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/eliot/po/en.po?cvsroot=eliot&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/eliot/po/fr.po?cvsroot=eliot&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/eliot/po/id.po?cvsroot=eliot&r1=1.1&r2=1.2

Patches:
Index: LINGUAS
===================================================================
RCS file: /cvsroot/eliot/eliot/po/LINGUAS,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- LINGUAS     8 Jan 2011 22:27:59 -0000       1.7
+++ LINGUAS     29 Jul 2011 22:50:09 -0000      1.8
@@ -2,6 +2,7 @@
 ca
 cs
 id
+rs
 en
 address@hidden
 address@hidden

Index: ca.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/ca.po,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- ca.po       8 Jan 2011 22:27:59 -0000       1.15
+++ ca.po       29 Jul 2011 22:50:09 -0000      1.16
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: eliot 1.9\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: 2010-05-22 14:32+0200\n"
 "Last-Translator: Joan Montané\n"
 "MIME-Version: 1.0\n"
@@ -15,11 +15,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr "'%1%' no és un caràcter vàlid."
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
@@ -30,51 +30,47 @@
 "Si us plau, empreu un altre caràcter per identificar la fitxa i modifiqueu "
 "la llista de paraules de forma adient."
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr "No es pot obrir el fitxer '%1%'"
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr "s'estan escrivint %1% arestes"
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr "Hi ha un error a la línia %1%, columna %2%: %3%"
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr "No es pot obrir el fitxer de sortida '%1%'"
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr "La llista de paraules és buida!"
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr "readLetters: No hi ha els camps imprescindibles a %1% (línia %2%)"
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr ""
 "readLetters: Fitxa no vàlida a la línia %1% (només es permet un caràcter)"
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr "Opcions obligatòries:"
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr "  -d, --dicname <text>  Estableix el nom i la versió del diccionari"
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 "  -l, --letters <text>  Camí al fitxer que conté la distribució de fitxes "
 "(vegeu més endavant)"
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
@@ -82,7 +78,7 @@
 "  -i, --input <text>    Camí al fitxer del diccionari descomprimit "
 "(codificat en UTF-8)"
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
@@ -90,35 +86,35 @@
 "                          Les paraules han de trobar-se en ordre alfabètic, "
 "sense duplicats"
 
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr "  -o, --output <text>    Camí al fitxer de diccionari comprimit"
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr "Altres opcions:"
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr "  -h, --help              Mostra aquesta ajuda i surt"
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr "Exemple:"
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr " -d 'ODS 5.0' -l fitxes.txt -i ods5.txt -o ods5.dawg"
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr ""
 "El fitxer que conté la distribució de fitxes (paràmetre --letters), ha "
 "d'estar en codificació UTF-8."
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
@@ -126,7 +122,7 @@
 "Cada línia correspon a una fitxa (lletra), i ha de tenir com a mínim 5 
camps "
 "separats per un o més espais."
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
@@ -134,11 +130,11 @@
 "- 1r camp: la fitxa o lletra, com es troba codificada al fitxer d'entrada "
 "(un únic caràcter)"
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr " - 2n camp: els punts de la fitxa, el valor facial."
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
@@ -146,7 +142,7 @@
 " - 3r camp: la freqüència de la fitxa (quantes fitxes d'aquesta mena té el 
"
 "joc de fitxes)"
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
@@ -154,7 +150,7 @@
 " - 4t camp: 1 si es considera que la fitxa és una vocal a l'Scrabble, 0 en "
 "cas contrari"
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
@@ -162,7 +158,7 @@
 " - 5è camp: 1 si es considera que la fitxa és una consonant a l'Scrabble, 0 
"
 "en cas contrari"
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
@@ -170,7 +166,7 @@
 " - 6è camp (opcional): cadena visible per a la fitxa (predeterminat: la "
 "mateixa lletra)"
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
@@ -178,37 +174,37 @@
 " - altres camps (opcional): entrades alternatives per a la fitxa, a més de "
 "la cadena visible"
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr "Exemple pel francès:"
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr "Exemple pel català:"
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr "W 10 1 0 1 L·L L.L L-L ĿL"
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr "Manca alguna opció obligatòria"
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr " Temps de càrrega: %1% s"
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr " Temps de compressió: %1% s"
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr " Nivell màxim de recursivitat aconseguit: %1%"
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr "S'ha detectat una excepció: %1%"
 
@@ -283,17 +279,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr "Arestes: %1% usades + %2% desades"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr "Fitxa"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr "Punts"
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr "Freqüència"
 
@@ -334,129 +330,129 @@
 msgid "Invalid regular expression: "
 msgstr "Expressió regular no vàlida: "
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr "No es pot canviar a un jugar no-humà"
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr "No es pot canviar a un jugador que ja ha jugat"
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr "No és possible en mode aleatori"
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr "El sac és buit"
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr "No hi ha suficients vocals o consonants per a completar un faristol"
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr "Algunes fitxes no són vàlides per al diccionari actual"
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr "El sac no conté totes aquestes fitxes"
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr "No hi ha suficients vocals o consonants al faristol"
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr "Jugador %u"
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr "Entrenament"
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr "Faristol:"
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr "És una vocal?"
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr "És una consonant?"
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr "Entrades alternatives"
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr "Seleccioneu un diccionari"
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr "Fitxes no vàlides o incompletes"
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr "La paraula  '%1' existeix"
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr "La paraula '%1' no existeix"
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr "Faristol: %1"
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr "Anagrames"
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr "Expressió regular: %1"
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr "Expressió regular no vàlida: %1"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr "Sí"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr "No"
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 #, fuzzy
 msgid "File '%1' successfully saved"
 msgstr "El diccionari s'ha creat correctament"
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr "Eliot - Error"
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 #, fuzzy
 msgid "Cannot save the words list: %1"
 msgstr "No es poden desar les preferències: %1"
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr "Informació general"
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
@@ -464,7 +460,7 @@
 "En aquesta pàgina, podeu definir la informació principal i necessària per 
a "
 "crear un diccionari nou."
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
@@ -473,7 +469,7 @@
 "Indiqueu un nom pel diccionari. Aquest nom apareixerà a la barra d'estat de "
 "l'Eliot quan el diccionari estigui carregat. exemple: El meu diccionari 1.0"
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
@@ -482,7 +478,7 @@
 "Seleccioneu el fitxer de sortida. L'assistent generarà el fitxer, el "
 "diccionari comprimit. Ha de tenir l'extensió .dawg."
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
@@ -490,7 +486,7 @@
 "Seleccioneu el fitxer que conté la llista de paraules. Ha d'estar en el joc "
 "de caràcters UTF-8, i ha de contenir una paraula a cada línia."
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
@@ -498,36 +494,36 @@
 "La llista de paraules conté caràcters no vàlids (no alfabètics). Es 
mostren "
 "tot seguit, amb la primera línia on s'han trobat:"
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr "'%1' (codi ASCII %2) a la línia %3"
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr "Eliot"
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr "Corregiu la llista de paraules."
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr "La llista de paraules conté entrades duplicades."
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr "Seleccioneu un fitxer per al diccionari generat"
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr "Seleccioneu un fitxer amb la llista de paraules"
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr "Característiques de les fitxes"
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -547,11 +543,11 @@
 "la vegada com a vocal i com a consonant. Això succeeix habitualment en el "
 "cas de l'escarràs i, en francès, per a la lletra Y."
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr "Conclusió"
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
@@ -559,7 +555,7 @@
 "Feu clic a '%1' per generar el diccionari.\n"
 "\n"
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
@@ -569,43 +565,43 @@
 "més tard, fent servir l'opció del menú'Paràmetres -> Canvia el 
diccionari..."
 "\""
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr "El diccionari s'ha creat correctament"
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr "Torn"
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr "Faristol"
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr "Paraula"
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr "Ref"
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr "Jugador"
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr "(PASSA)"
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr "&Partida"
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr "Tauler"
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
@@ -613,281 +609,292 @@
 "No es pot carregar el diccionari '%1' indicat a les preferències.\n"
 "Motiu: %2"
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+#, fuzzy
+msgid "End of the game"
+msgstr "Historial de la partida"
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr "Cap partida"
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr "Mode d'entrenament"
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr "Partida duplicada"
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr "Partida lliure"
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr "No hi ha diccionari"
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr "Diccionari: %1"
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr "Si carregueu un diccionari, finalitzareu la partida actual."
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr "Diccionari carregat: '%1'"
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr "Voleu continuar?"
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr "&Nova..."
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr "Ctrl+N"
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr "Inicia una partida nova"
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr "&Carrega..."
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr "Ctrl+O"
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr "Carrega una partida prèvia"
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr "Anomena i de&sa..."
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr "Ctrl+S"
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr "Desa la partida actual"
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr "Im&primeix..."
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr "Ctrl+P"
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr "Imprimeix la partida actual"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr "&Surt"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr "Ctrl+Q"
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr "Surt de l'Eliot"
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr "&Historial"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr "&Primer torn"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr "Ctrl+Inici"
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr "Vés al primer torn de la partida"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr "Torn &anterior"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr "Ctrl+Esquerra"
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr "Vés al torn anterior de la partida"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr "Torn &següent"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr "Ctrl+Dreta"
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr "Vés al torn següent de la partida"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr "&Darrer torn"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr "Ctrl+Final"
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr "Vés al darrer torn de la partida"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr "To&rna a jugar el torn"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr "Ctrl+R"
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr ""
 "Juga la partida des la posició actual, substituint tot allò que s'ha jugat."
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr "&Paràmetres"
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr "&Indiqueu un diccionari"
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr "Ctrl+C"
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr "Selecciona un diccionari"
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr "Crea un diccionari &nou..."
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr ""
 "Inicia l'assistent per crear un diccionari nou a partir d'una llista de "
 "paraules"
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr "&Preferències..."
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr "Ctrl+F"
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr "Edita les preferències"
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr "&Finestres"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr "&Barra d'eines"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr "Ctrl+T"
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr "Mostra/amaga la barra d'eines"
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr "&Sac"
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr "Ctrl+B"
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr "Mostra/amaga els fitxes romanents al sac"
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr "Tauler &extern"
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr "Ctrl+E"
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr "Mostra/amaga el tauler extern"
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr "Ctrl+H"
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr "Mostra/amaga l'historial de la partida"
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr "Eines del &diccionari"
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr "Ctrl+D"
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr "Mostra/amaga les eines del diccionari"
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr "A&juda"
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr "&Quant a..."
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr "Quan a l'Eliot"
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -897,89 +904,90 @@
 "Heu de seleccionar un diccionari (fitxer .dawg) abans de començar una "
 "partida. Podeu fer-ho al menú \"Paràmetres\"."
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 #, fuzzy
 msgid "Starting a new game will stop the current one."
 msgstr "Si carregueu un diccionari, finalitzareu la partida actual."
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr "Partida iniciada"
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr "Primer heu de seleccionar un diccionari!"
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr "Carrega una partida"
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr "S'ha produït un error en carregar la partida:\n"
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr "Partida carregada"
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr "Desa una partida"
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr "Partida desada"
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr "S'ha produït un error en desar la partida: %1"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr "N."
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr "FARISTOL"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr "SOLUCIÓ"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr "REF"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr "PTS"
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr "Seleccioneu un diccionari"
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr "Assistent de creació de diccionaris"
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr "Sac"
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr "Historial"
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr "Eines del diccionari"
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
+#, fuzzy
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
@@ -993,16 +1001,16 @@
 "Software Foundation; en la versió 2 de la Llicència, o (a opció vostra) "
 "qualsevol versió posterior."
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr "Lloc web: http://www.nongnu.org/eliot/en/";
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr "Torn %1/%2"
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
@@ -1010,7 +1018,7 @@
 "Si torneu a jugar aquest torn, modificareu l'historial de la partida i se "
 "suprimiran els torns posterior a aquest (això és, els torns \"del futur\")."
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr "S'està tornat a jugar el torn %1"
 
@@ -1043,15 +1051,40 @@
 msgid "Duplicate"
 msgstr "Duplicada"
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
+#: qt/player_widget.cpp:181
+#, fuzzy
+msgid ""
+"Cannot pass turn:\n"
+"%1"
 msgstr "No es pot passar el torn (%1)"
 
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
+#: qt/player_widget.cpp:183
+#, fuzzy
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
 msgstr "No es poden canviar les fitxes '%1' (%2)"
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+
+#: qt/player_widget.cpp:187
+#, fuzzy
+msgid "The rack of the current player does not contain all the listed letters"
+msgstr "El sac no conté totes aquestes fitxes"
+
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
+msgstr ""
+
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr ""
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
@@ -1061,7 +1094,7 @@
 "Els escarrassos del faristol s'han d'escriure entre parèntesis.\n"
 "Ex.: para(u)la o PARA(U)LA"
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -1073,77 +1106,89 @@
 "i la columna abans de la fila per a paraules verticals.\n"
 "Exemple: H4 o 4H"
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr "No es pot jugar la paraula: els parèntesis no estan ben col·locats"
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
+#: qt/play_word_mediator.cpp:138
+#, fuzzy
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
 msgstr "No es pot jugar '%1' a la posició '%2':\n"
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr "Algunes fitxes no són vàlides al diccionari actual"
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr "Coordenades no vàlides"
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr "La paraula no existeix"
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr "El faristol no té les fitxes necessàries per jugar aquesta paraula"
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr "La paraula és part d'una altra més llarga"
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr "La jugada intenta substituir una fitxa ja existent"
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr "Una paraula secundària no és vàlida"
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr "La paraula ja es troba present al tauler amb aquestes coordenades"
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr ""
 "Una paraula no pots estar aïllada (sense connectar a alguna paraula del "
 "tauler)"
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr "La primera paraula de la partida ha de ser horitzontal"
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr "La primera paraula de la partida ha de cobrir la casella H8"
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr "La paraula surt fora del tauler"
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
-msgstr "Paraula incorrecta o en posició errònia (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
+msgstr "Paraula incorrecta o en mala posició"
+
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr "No es pot jugar la paraula: els parèntesis no estan ben col·locats"
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
+
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr "Error %1"
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr "No es poden carregar les preferències: %1"
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr "No es poden desar les preferències: %1"
 
@@ -1151,69 +1196,77 @@
 msgid "Score"
 msgstr "Puntuació"
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr ""
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr ""
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr "Atenció: No es pot posar el faristol a '%1'"
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr "S'està cercant amb el faristol '%1'..."
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr "Cerca feta"
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr "Puntuacions"
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr "%s: %d"
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr "Faristols"
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr "%s: %ls"
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr "Cerca completa"
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr "Resultats de la cerca"
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr "Historial de la partida"
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr " N |  FARISTOL   |     SOLUCIÓ     | REF | PTS | P | BONIFICACIÓ"
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr "Ajuda"
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr "[Global]"
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr "   h, H, ?          Mostra/amaga la finestra d'ajuda"
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr "   y, Y             Mostra/amaga l'historial de la partida"
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
@@ -1221,92 +1274,92 @@
 "   b, B             Mostra/amaga es contingut del sac (incloent-hi les "
 "fitxes dels faristols)"
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 "   e, E             Mostra/amaga els punts de les caselles buides del tauler "
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr "   d, D             Comprova l'existència d'una paraula al diccionari"
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr "   j, J             Juga una paraula"
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr "   s, S             Desa la partida"
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr "   l, L             Carrega la partida"
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr "   q, Q             Surt"
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr "[Mode entrenament]"
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr "   *                Pren un faristol aleatori"
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr "   +                Completa el faristol actual de forma aleatòria"
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr "   t, T             Indica el faristol manualment"
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr "   c, C             Calcula totes la paraules possibles"
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr "   r, R             Mostra/amaga els resultat de la cerca"
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr "[Mode duplicada]"
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr "   n, N             Canvia al següent jugador humà"
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr "[Mode partida lliure]"
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr "   p, P             Passa el vostre torn (amb o sense canvi de fitxes)"
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr "[Miscel·lània]"
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr "   <amunt>, <avall>     Navega línia per línia en una caixa"
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr "   <RePàg>, <AvPàg> Navega per pàgines en una caixa"
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr "   Ctrl-l           Actualitza la pantalla"
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr " FITXA | PUNTS | FREQÜÈNCIA | ROMANENT"
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr "Juga una paraula"
 
@@ -1314,95 +1367,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr "Paraula jugada:"
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr "Coordenades:"
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr "Paraula incorrecta o en mala posició"
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr "Diccionari"
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr "Indiqueu la paraula a comprovar:"
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr "La paraula '%ls' existeix"
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr "La paraula '%ls' no existeix"
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr "Desa la partida"
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr "Indiqueu el nom de fitxer:"
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr "S'ha desat la partida a '%ls'"
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr "S'ha produït un error en desar la partida %s:"
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr "No es pot carregar la partida:"
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr "Passa el torn"
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr "Indiqueu les fitxes a canviar:"
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr "El torn no es pot passar"
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr "Indiqueu el faristol"
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr "Indiqueu les fitxes noves:"
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr "No es poden agafar aquestes fitxes del sac:"
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr "Mode de partida lliure"
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr "Mode duplicat"
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr "Partida amb escarràs"
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr "[h per a l'ajuda]"
 
@@ -1463,7 +1512,7 @@
 msgstr "Carrega aquest diccionari a l'Eliot"
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr "Explora..."
 
@@ -1564,36 +1613,28 @@
 msgid "Remove player"
 msgstr "Suprimeix el jugador"
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr "Remena"
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr "Canvia fitxes:"
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr "Indiqueu les fitxes que voleu canviar"
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr "Canvia"
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr "Passa"
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr "Ref.:"
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr "Juga una paraula:"
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
@@ -1601,12 +1642,12 @@
 "Indiqueu la paraula que voleu jugar. Per indicar el valor de l'escarràs, 
feu-"
 "ho escrivint el valor entre parèntesis. Ex: para(u)la o PARA(U)LA"
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr "Juga"
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
@@ -1616,37 +1657,54 @@
 "columna per a paraules horitzontals, i la columna abans de la fila per a "
 "paraules verticals. Ex.: H4 o 4H"
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+#, fuzzy
+msgid "Points:"
+msgstr "Punts"
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr "Indiqueu les fitxes que voleu canviar"
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr "Canvia"
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr "Preferències"
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr "Interfície"
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr "Camí al diccionari:"
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr ""
 "Indiqueu el camí al diccionari (això és obligatori per a poder iniciar una 
"
 "partida)"
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr "Obre una finestra de l'explorador per a seleccionar un diccionari"
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr "Mostra/amaga el valor facial de les fitxes al tauler."
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr "Mostra el valor de les fitxes"
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
@@ -1654,11 +1712,11 @@
 "Si està marcat, els historials de partida i jugador mostraran el faristol i "
 "la solució corresponent en la mateixa línia"
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr "Alinea el faristol i la solució a l'historial"
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
@@ -1666,11 +1724,11 @@
 "Si està marcat, se us farà demanarà confirmació abans de tornar a jugar 
un "
 "torn tancat. Si està desmarcat, els canvis es realitzen sense confirmació."
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr "Avisa abans de tornar a jugar un torn"
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
@@ -1678,29 +1736,29 @@
 "Si està marcat, no és possible jugar una paraula invàlida o amb 
coordenades "
 "errònies. Si està desmarcat, obtindreu 0 punts i perdreu el torn"
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr "Rebutja fer jugades no vàlides"
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr "Mínim per a jug. única:"
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr "Valor de jugada única:"
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr "Valor de la bonificació per jugada única. "
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr ""
 "Nombre mínim de jugadors necessari per a tenir en compte la bonificació de "
 "jugada única"
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
@@ -1708,15 +1766,15 @@
 "Si està marcat, qualsevol camí al faristol del jugador en mode 
d'entrenament "
 "actualitzarà la pestanya 'Més 1' de la finestra d'eines de diccionari"
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr "Copia el faristol a l'eina de diccionari 'Més 1'"
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr "Límit de resultats de cerca:"
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
@@ -1726,22 +1784,28 @@
 "sempre els millors. Poseu 0 per deshabilitar el límit (avís: les cerques 
que "
 "donen masses resultats poden ser extremadament lentes en aquest cas!)"
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr "Faristol nou"
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr "Complement"
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr "Cerca"
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr "Jugada seleccionada"
 
+#~ msgid "writing %1% edges"
+#~ msgstr "s'estan escrivint %1% arestes"
+
+#~ msgid "Incorrect or misplaced word (%1)"
+#~ msgstr "Paraula incorrecta o en posició errònia (%1)"
+
 #~ msgid "offset binary   | structure\n"
 #~ msgstr "offset binari   | estructura\n"
 

Index: cs.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/cs.po,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- cs.po       8 Jan 2011 22:27:59 -0000       1.6
+++ cs.po       29 Jul 2011 22:50:09 -0000      1.7
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: 2010-05-22 13:08+0200\n"
 "Last-Translator: Pavel Fric\n"
 "Language-Team: Czech <address@hidden>\n"
@@ -20,11 +20,11 @@
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr "'%1%' není platným písmenem."
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
@@ -34,49 +34,45 @@
 "jakožto vnitřní vyjádření znaků, i když má hrací kámen stanoven 
řetězec "
 "zobrazení. Použijte, prosím, jiný znak a změňte podle toho seznam slov."
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr "Soubor '%1%' se nepodařilo otevřít"
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr "zapisují se %1% okraje"
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr "Chyba na řádku %1%, sloupec %2%: %3%"
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr "Nelze otevřít výstupní soubor '%1%'"
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr "Seznam slov je prázdný"
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr "readLetters: Není dost polí v %1% (řádek %2%)"
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr "readLetters: Neplatné písmeno na řádku %1% (je povolen jen jeden 
znak)"
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr "Povinné volby:"
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr "  -d, --dicname <string>  Nastavit název slovníku a jeho verzi"
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 "  -l, --letters <string>  Cesta k souboru, který obsahuje písmena (viz 
níže)"
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
@@ -84,7 +80,7 @@
 "  -i, --input <string>    Cesta k nestlačenému slovníkovému souboru "
 "(kódování UTF-8)"
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
@@ -92,34 +88,34 @@
 "                          Slova musí být v abecedním pořádku, a nesmí 
být "
 "dvakrát"
 
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr ""
 "  -o, --output <string>   Cesta k souboru s vytvořeným stlačeným 
slovníkem"
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr "Jiné volby:"
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr "  -h, --help              Vytisknout tuto nápovědu a ukončit"
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr "Příklad:"
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr "Soubor obsahující písmena (--přepnutí písmen) musí být 
kódován v UTF-8"
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
@@ -127,24 +123,24 @@
 "Každý řádek odpovídá jednomu písmenu a musí obsahovat alespoň pět 
polí "
 "oddělených jednou nebo více mezerami."
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
 msgstr ""
 " - první pole: písmeno samo, jak je uloženo ve vstupním souboru (jeden 
znak)"
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr " - druhé pole: body písmene"
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
 msgstr " - třetí pole: četnost písmene (kolik je těchže písmen ve hře)"
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
@@ -152,7 +148,7 @@
 " - čtvrté pole: 1, pokud je písmeno považováno za samohlásku ve stolní 
hře "
 "skládání slov z písmen do kříže (Scrabble), jinak 0 "
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
@@ -160,7 +156,7 @@
 " - páté pole: 1, pokud je písmeno považováno za souhlásku ve stolní 
hře "
 "skládání slov z písmen do kříže (Scrabble), jinak 0 "
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
@@ -168,7 +164,7 @@
 " - šesté pole (volitelně): zobrazovací řetězec pro písmeno (výchozí: 
samo "
 "písmeno)"
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
@@ -176,37 +172,37 @@
 " - jiná pole (volitelně): vstupní řetězce pro písmeno, dodatečně k "
 "zobrazovacímu řetězci"
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr "Příklad pro francouzštinu:"
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr "Příklad pro katalánštinu:"
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr "W 10 1 0 1 L·L L.L L-L ĿL"
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr "Povinná volba chybí"
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr " Nahrávací čas: %1% s"
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr " Stlačovací čas: %1% s"
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr " Dosažena nejvyšší úroveň vracení se: %1%"
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr "Zachycena výjimka: %1%"
 
@@ -280,17 +276,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr "Okraje: %1% používané + %2% uložené"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr "Písmeno"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr "Body"
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr "Četnost"
 
@@ -331,129 +327,129 @@
 msgid "Invalid regular expression: "
 msgstr "Neplatný regulární výraz: "
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr "Nelze přepnout na ne-lidského hráče"
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr "Nelze přepnout na hráče, který již hrál"
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr "Ne náhodný režim"
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr "Pytlík je prázdný"
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr "Pro doplnění přihrádky není dost samohlásek nebo souhlásek"
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr "Některá písmena jsou pro současný slovník neplatná"
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr "Pytlík neobsahuje všechna tato písmena"
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr "V této přihrádce není dost samohlásek nebo souhlásek"
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr "Hráč %u"
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr "Procvičování"
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr "Přihrádka:"
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr "Samohláska?"
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr "Souhláska?"
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr "Náhradní vstupy"
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr "Vyberte, prosím, slovník"
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr "Neplatná nebo neúplná písmena"
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr "Slovo '%1' existuje"
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr "Slovo '%1' neexistuje"
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr "Přihrádka: %1"
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr "Přesmyčky"
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr "Regulární výraz: %1"
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr "Neplatný regulární výraz: %1"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr "Ano"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr "Ne"
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 #, fuzzy
 msgid "File '%1' successfully saved"
 msgstr "Slovník byl úspěšně vytvořen"
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr "Eliot - Chyba"
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 #, fuzzy
 msgid "Cannot save the words list: %1"
 msgstr "Nelze uložit nastavení: %1"
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr "Obecné informace"
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
@@ -461,7 +457,7 @@
 "Na této stránce můžete popsat hlavní údaje potřebné pro vytvoření 
nového "
 "slovníku."
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
@@ -471,7 +467,7 @@
 "Eliotově stavovém řádku.\n"
 "Například: Můj slovník 1.0"
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
@@ -481,7 +477,7 @@
 "stlačený slovník.\n"
 "Musí mít příponu .dawg."
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
@@ -489,7 +485,7 @@
 "Vyberte soubor obsahující seznam slov.\n"
 "Musí být zašifrovaný v UTF-8, a musí mít na každém řádku pouze 
jedno slovo."
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
@@ -497,36 +493,36 @@
 "V seznamu slov byly nalezeny některé neplatné znaky, jež nejsou 
přítomny v "
 "abecedě. Jsou ukázány níže, s údajem o prvním řádku, na kterém byly 
nalezeny:"
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr "'%1' (kód ASCII %2) na řádku %3"
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr "Eliot"
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr "Opravte, prosím, seznam slov."
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr "Seznam slov obsahuje některé záznamy dvakrát."
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr "Vyberte soubor s vytvořeným slovníkem"
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr "Vyberte soubor se seznamem slov"
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr "Vlastnosti písmen"
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -548,11 +544,11 @@
 "Všimněte si, že písmeno lze považovat jak za samohlásku, tak za 
souhlásku. "
 "Obvykle je to v případě žolíka a ve francouzštině písmene Y."
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr "Závěr"
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
@@ -560,7 +556,7 @@
 "Klepněte na '%1' pro vytvoření slovníku.\n"
 "\n"
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
@@ -570,43 +566,43 @@
 "Také jej můžete nahrát později za použití volby\n"
 "hlavní nabídky \"Nastavení -> Změnit slovník...\"."
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr "Slovník byl úspěšně vytvořen"
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr "Kolo"
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr "Přihrádka"
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr "Slovo"
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr "Souřadnice"
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr "Hráč"
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr "(VZDÁNÍ)"
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr "&Hra"
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr "Hrací deska"
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
@@ -614,279 +610,290 @@
 "Nelze nahrát slovník '%1' označený v nastavení.\n"
 "Důvod: %2"
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+#, fuzzy
+msgid "End of the game"
+msgstr "Záznam o průběhu hry"
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr "Žádná hra"
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr "Režim cvičení"
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr "Zdvojená hra"
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr "Volná hra"
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr "Žádný slovník"
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr "Slovník: %1"
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr "Nahrávání slovníku zastaví současnou hru."
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr "Nahraný slovník '%1'"
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr "Chcete pokračovat?"
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr "&Nová hra..."
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr "Ctrl+N"
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr "Začít novou hru"
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr "&Nahrát hru..."
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr "Ctrl+O"
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr "Nahrát stávající hru"
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr "&Uložit jako..."
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr "Ctrl+S"
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr "Uložit nynější hru"
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr "&Tisk..."
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr "Ctrl+P"
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr "Vytisknout nynější hru"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr "&Ukončit"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr "Ctrl+Q"
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr "Ukončit program Eliot"
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr "&Historie"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr "&První kolo"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr "Ctrl+Home"
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr "Jít na první kolo hry"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr "&Předchozí kolo"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr "Ctrl+Å¡ipka vlevo"
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr "Jít na předchozí kolo hry"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr "&Další kolo"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr "Ctrl+Å¡ipka vpravo"
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr "Jít na další kolo hry"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr "&Poslední kolo"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr "Ctrl+End"
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr "Jít na poslední kolo hry"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr "&Opakovat kolo"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr "Ctrl+R"
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr "Hrát hru od současné polohy. Nahrazuje se to, co bylo skutečně 
hráno"
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr "&Nastavení"
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr "&Vybrat slovník..."
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr "Ctrl+C"
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr "Vybrat nový slovník"
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr "Vytvořit &nový slovník..."
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr ""
 "Spustit průvodce pro vytvoření nového slovníku ze stávajícího seznamu 
slov"
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr "&Nastavení..."
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr "Ctrl+F"
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr "Upravit nastavení"
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr "&Okna"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr "&Nástrojový pruh"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr "Ctrl+T"
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr "Ukázat/Skrýt nástrojový pruh"
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr "&Pytlík"
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr "Ctrl+B"
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr "Ukázat/Skrýt zbývající hrací kameny v pytlíku"
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr "&Vnější hrací deska"
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr "Ctrl+E"
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr "Ukázat/Skrýt vnější hrací desku"
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr "Ctrl+H"
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr "Ukázat/Skrýt záznam o průběhu hry"
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr "&Slovníkové nástroje"
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr "Ctrl+D"
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr "Ukázat/Skrýt slovníkové nástroje"
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr "&Nápověda"
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr "&O programu..."
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr "O programu Eliot"
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -897,89 +904,90 @@
 "provést v nabídce \"Nastavení\".\n"
 "Soubory se slovníky si můžete stáhnout na stránkách programu Eliot."
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 #, fuzzy
 msgid "Starting a new game will stop the current one."
 msgstr "Nahrávání slovníku zastaví současnou hru."
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr "Hra spuštěna"
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr "Nejprve musíte vybrat slovník."
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr "Nahrát hru"
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr "Chyba při nahrávání hry:\n"
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr "Hra nahrána"
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr "Uložit hru"
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr "Hra uložena"
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr "Chyba při ukládání hry: %1"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr "N."
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr "PŘIHRÁDKA"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr "ŘEŠENÍ"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr "SOUŘADNICE"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr "BODY"
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr "Vybrat slovník"
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr "Průvodce vytvořením slovníku"
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr "Pytlík"
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr "Historie"
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr "Slovníkové nástroje"
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
+#, fuzzy
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
@@ -993,16 +1001,16 @@
 "Foundation; buď ve verzi 2 licence, nebo (podle své volby) v kterékoli "
 "pozdější verzi."
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr "Stránky: http://www.nongnu.org/eliot/en/";
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr "Kolo %1/%2"
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
@@ -1010,7 +1018,7 @@
 "Opakování tohoto kola povede k úpravě záznamu o průběhu hry smazáním 
kol, "
 "která jdou po zobrazeném kole /tj. kol \"v budoucnosti\""
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr "Opakování od kola %1"
 
@@ -1043,15 +1051,40 @@
 msgid "Duplicate"
 msgstr "Zdvojení"
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
+#: qt/player_widget.cpp:181
+#, fuzzy
+msgid ""
+"Cannot pass turn:\n"
+"%1"
 msgstr "Nelze vzdát kolo (%1)"
 
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
+#: qt/player_widget.cpp:183
+#, fuzzy
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
 msgstr "Nelze změnit písmena '%1' (%2)"
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+
+#: qt/player_widget.cpp:187
+#, fuzzy
+msgid "The rack of the current player does not contain all the listed letters"
+msgstr "Pytlík neobsahuje všechna tato písmena"
+
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
+msgstr ""
+
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr ""
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
@@ -1061,7 +1094,7 @@
 "Žolík z přihrádky musí být napsán v kulatých závorkách.\n"
 "Např.: s(l)ovo nebo S(L)OVO"
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -1073,76 +1106,88 @@
 "a sloupec před řádkem pro svislá slova.\n"
 "Např.: H4 nebo 4H"
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr "Se slovem nelze hrát: špatně umístěné kulaté závorky"
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
+#: qt/play_word_mediator.cpp:138
+#, fuzzy
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
 msgstr "Nelze hrát '%1' v poloze '%2':\n"
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr "Některá písmena nejsou pro současný slovník platná"
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr "Neplatné souřadnice"
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr "Slovo neexistuje"
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr ""
 "Přihrádka neobsahuje písmena, která jsou potřebná pro hru s tímto 
slovem"
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr "Slovo je částí delšího slova"
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr "Slovo zkouší nahradit stávající písmeno"
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr "Pravoúhlé slovo není platné"
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr "Slovo je již na hrací desce přítomno na těchto souřadnicích"
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr "Slovo nemůže být osamělé (nespojené s umístěnými slovy)"
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr "První slovo hry musí být vodorovné"
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr "První slovo hry musí pokrýt čtvereček H8"
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr "Slovo jde mimo hrací desku"
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
-msgstr "Nesprávné nebo špatně umístěné slovo (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
+msgstr "Nesprávné nebo špatně umístěné slovo"
+
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr "Se slovem nelze hrát: špatně umístěné kulaté závorky"
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
+
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr "%1 chyba"
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr "Nelze nahrát nastavení: %1"
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr "Nelze uložit nastavení: %1"
 
@@ -1150,71 +1195,79 @@
 msgid "Score"
 msgstr "Výsledek"
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr ""
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr ""
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr "Upozornění: Nelze nastavit přihrádku na '%1'"
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr "Hledá se s přihrádkou '%1'..."
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr "Hledání dokončeno"
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr "Výsledky"
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr "%s: %d"
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr "Přihrádky"
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr "%s: %ls"
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr "Hledání hotovo"
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr "Výsledky hledání"
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr "Záznam o průběhu hry"
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr ""
 " ČÍSLO |      PŘIHRÁDKA      |    ŘEŠENÍ     | SOUŘADNICE | BODY | 
HRÁČ | "
 "ODMĚNA"
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr "Nápověda"
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr "[Celkové]"
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr "   h, H, ?          Ukázat/Skrýt okénko s nápovědou"
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr "   y, Y               Ukázat/Skrýt záznam o průběhu hry"
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
@@ -1222,93 +1275,93 @@
 "   b, B              Ukázat/Skrýt průběh hry obsah pytlíku (včetně 
písmen v "
 "přihrádce)"
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 "   e, E              Ukázat/Skrýt tečky v prázdných čtverečcích na 
hrací "
 "desce"
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr "   d, D              Ověřit, že slovo je ve slovníku"
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr "   j, J                 Hrát slovo"
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr "   s, S              Uložit hru"
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr "   l, L                Nahrát hru"
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr "   q, Q              Ukončit"
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr "[Režim cvičení]"
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr "   *                   Vzít náhodnou přihrádku"
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr "   +                  Dodělat současnou přihrádku náhodně"
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr "   t, T               Nastavit přihrádku ručně"
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr "   c, C               Vypočítat všechna možná slova"
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr "   r, R               Ukázat/Skrýt okno výsledky hledání"
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr "[Zdvojený režim]"
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr "   n, N              Přepnout na dalšího lidského hráče"
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr "[Režim volné hry]"
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr "   p, P              Vzdát svoje kolo (s nebo beze změny písmen)"
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr "[Různé]"
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr "   <up>, <down>          Vést v okénku řádek za řádkem"
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr "   <pgup>, <pgdown> Vést v okénku stránku za stránkou"
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr "   Ctrl-l           Obnovit obrazovku"
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr " PÍSMENO | BODY | ČETNOST | ZBÝVAJÍCÍ"
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr "Hrát slovo"
 
@@ -1316,95 +1369,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr "Hrané slovo:"
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr "Souřadnice:"
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr "Nesprávné nebo špatně umístěné slovo"
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr "Slovník"
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr "Napište slovo k ověření:"
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr "Slovo '%ls' existuje"
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr "Slovo '%ls' neexistuje"
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr "Uložit hru"
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr "Zadat název souboru:"
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr "Hra uložena v '%ls'"
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr "Chyba při ukládání hry %s:"
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr "Nelze nahrát hru: "
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr "Vzdát svoje kolo"
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr "Zadat písmena ke změně:"
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr "Nelze vzdát kolo"
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr "Nastavit přihrádku"
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr "Zadat nová písmena:"
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr "Tato písmena nelze vzít z pytlíku:"
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr "Režim volné hry"
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr "Zdvojený režim"
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr "Hra se žolíkem"
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr "[h pro nápovědu]"
 
@@ -1465,7 +1514,7 @@
 msgstr "Nahrát tento slovník do Eliota"
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr "Procházet..."
 
@@ -1565,36 +1614,28 @@
 msgid "Remove player"
 msgstr "Odstranit hráče"
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr "Zamíchat"
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr "Změnit písmena:"
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr "Zadejte písmena, která chcete změnit"
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr "Změnit"
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr "Vzdát"
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr "Souřadnice:"
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr "Hrát slovo:"
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
@@ -1603,12 +1644,12 @@
 "Žolík z přihrádky musí být zapsán v kulatých závorkách. 
Například: sl(o)vo "
 "nebo SL(O)VO"
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr "Hrát"
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
@@ -1617,35 +1658,52 @@
 "Zadejte souřadnice slova. Určete řádek před sloupcem pro vodorovná 
slova, a "
 "sloupec před řádkem pro svislá slova. Např.: H4 nebo 4H"
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+#, fuzzy
+msgid "Points:"
+msgstr "Body"
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr "Zadejte písmena, která chcete změnit"
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr "Změnit"
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr "Nastavení"
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr "Rozhraní"
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr "Cesta ke slovníku:"
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr "Zadejte cestu ke slovníku (povinné, aby hra mohla být spuštěna)"
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr "Otevřít okno s prohlížečem pro výběr slovníku"
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr "Ukázat/Skrýt body hracích kamenů na hrací desce."
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr "Zobrazit body hracích kamenů"
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
@@ -1653,11 +1711,11 @@
 "Je-li zaškrtnuto, průběh hry a minulost hráče budou zobrazovat 
přihrádku a "
 "odpovídající řešení na témže řádku"
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr "Zarovnat přihrádku a řešení v záznamu o průběhu hry"
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
@@ -1665,11 +1723,11 @@
 "Je-li zaškrtnuto, bude před opakováním hry od daného kola požadováno "
 "potvrzení. Není-li zaškrtnuto, je tento krok proveden bez potvrzení."
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr "Upozornit před opakováním kola"
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
@@ -1677,28 +1735,28 @@
 "Je-li zaškrtnuto, hra neplatného nebo špatně umístěného slova nebude 
možná. "
 "Není-li zaškrtnuto, dostanete 0 bodů a ztratíte své kolo"
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr "Odmítnout hrát neplatné tahy"
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr "Nejmenší počet hráčů pro sólo:"
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr "Hodnota pro sólo:"
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr ""
 "Hodnota odměny za sólo. Nastavte ji na nulu, pokud nechcete odměnu za 
sólo"
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr "Nejmenší počet hráčů nezbytných pro vzetí odměny za sólo"
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
@@ -1706,15 +1764,15 @@
 "Je-li zaškrtnuto, jakákoli změna hráčovy přihrádky v režimu 
procvičování "
 "obnoví kartu 'Plus 1' okna 'Slovníkové nástroje'"
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr "Kopírovat přihrádku do slovníkového nástroje 'Plus 1'"
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr "Omezení výsledků hledání:"
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
@@ -1724,22 +1782,28 @@
 "nejlepší. Použijte 0 pro zákaz omezení (upozornění: hledání 
vynášející mnoho "
 "výsledků v tomto případě mohou být nesmírně pomalá!)."
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr "Nová přihrádka"
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr "Doplněk"
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr "Hledat"
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr "Hrát vybrané"
 
+#~ msgid "writing %1% edges"
+#~ msgstr "zapisují se %1% okraje"
+
+#~ msgid "Incorrect or misplaced word (%1)"
+#~ msgstr "Nesprávné nebo špatně umístěné slovo (%1)"
+
 #~ msgid "offset binary   | structure\n"
 #~ msgstr "posun dvojitý   | stavba\n"
 

Index: eliot.pot
===================================================================
RCS file: /cvsroot/eliot/eliot/po/eliot.pot,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- eliot.pot   8 Jan 2011 22:27:59 -0000       1.39
+++ eliot.pot   29 Jul 2011 22:50:09 -0000      1.40
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <address@hidden>\n"
 "Language-Team: LANGUAGE <address@hidden>\n"
@@ -17,173 +17,169 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr ""
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
 "defined. Please use another character and change your word list accordingly."
 msgstr ""
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr ""
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr ""
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr ""
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr ""
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr ""
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr ""
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr ""
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr ""
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr ""
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
 msgstr ""
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
 msgstr ""
 
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr ""
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr ""
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr ""
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr ""
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr ""
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr ""
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
 msgstr ""
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
 msgstr ""
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr ""
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
 msgstr ""
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
 msgstr ""
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
 msgstr ""
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
 msgstr ""
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
 msgstr ""
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr ""
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr ""
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr ""
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr ""
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr ""
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr ""
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr ""
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr ""
 
@@ -252,17 +248,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr ""
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr ""
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr ""
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr ""
 
@@ -303,188 +299,188 @@
 msgid "Invalid regular expression: "
 msgstr ""
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr ""
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr ""
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr ""
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr ""
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr ""
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr ""
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr ""
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr ""
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr ""
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 msgid "File '%1' successfully saved"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 msgid "Cannot save the words list: %1"
 msgstr ""
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr ""
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
 msgstr ""
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
 "E.g.: My Dic 1.0"
 msgstr ""
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
 "It must have the .dawg extension."
 msgstr ""
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
 msgstr ""
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
 msgstr ""
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr ""
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr ""
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr ""
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr ""
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr ""
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr ""
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr ""
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -497,337 +493,347 @@
 "This is usually the case for the joker and, in French, for the Y letter."
 msgstr ""
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr ""
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
 msgstr ""
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
 "'Settings -> Change dictionary...' menu option."
 msgstr ""
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr ""
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr ""
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr ""
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr ""
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr ""
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr ""
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr ""
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr ""
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr ""
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
 msgstr ""
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+msgid "End of the game"
+msgstr ""
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr ""
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr ""
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr ""
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr ""
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr ""
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr ""
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr ""
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr ""
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr ""
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr ""
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr ""
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr ""
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr ""
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr ""
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr ""
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr ""
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr ""
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr ""
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr ""
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr ""
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr ""
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr ""
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr ""
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr ""
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr ""
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr ""
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr ""
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr ""
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr ""
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr ""
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr ""
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr ""
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr ""
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr ""
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr ""
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr ""
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr ""
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr ""
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr ""
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr ""
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr ""
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr ""
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr ""
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr ""
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr ""
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr ""
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr ""
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr ""
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr ""
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr ""
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr ""
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr ""
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr ""
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr ""
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr ""
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr ""
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr ""
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr ""
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr ""
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -835,88 +841,88 @@
 "You can download dictionary files on Eliot web site."
 msgstr ""
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 msgid "Starting a new game will stop the current one."
 msgstr ""
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr ""
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr ""
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr ""
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr ""
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr ""
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr ""
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr ""
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr ""
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr ""
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr ""
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr ""
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
@@ -924,22 +930,22 @@
 "any later version."
 msgstr ""
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr ""
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr ""
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
 msgstr ""
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr ""
 
@@ -972,22 +978,44 @@
 msgid "Duplicate"
 msgstr ""
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
+#: qt/player_widget.cpp:181
+msgid ""
+"Cannot pass turn:\n"
+"%1"
+msgstr ""
+
+#: qt/player_widget.cpp:183
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
+msgstr ""
+
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+
+#: qt/player_widget.cpp:187
+msgid "The rack of the current player does not contain all the listed letters"
 msgstr ""
 
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr ""
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
 "E.g.: w(o)rd or W(O)RD"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -995,75 +1023,86 @@
 "E.g.: H4 or 4H"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr ""
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
+#: qt/play_word_mediator.cpp:138
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr ""
+
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
+
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr ""
 
@@ -1071,159 +1110,167 @@
 msgid "Score"
 msgstr ""
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr ""
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr ""
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr ""
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr ""
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr ""
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr ""
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr ""
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr ""
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr ""
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr ""
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr ""
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr ""
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr ""
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr ""
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr ""
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr ""
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr ""
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
 msgstr ""
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr ""
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr ""
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr ""
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr ""
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr ""
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr ""
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr ""
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr ""
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr ""
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr ""
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr ""
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr ""
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr ""
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr ""
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr ""
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr ""
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr ""
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr ""
 
@@ -1231,95 +1278,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr ""
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr ""
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr ""
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr ""
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr ""
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr ""
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr ""
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr ""
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr ""
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr ""
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr ""
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr ""
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr ""
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr ""
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr ""
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr ""
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr ""
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr ""
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr ""
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr ""
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr ""
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr ""
 
@@ -1379,7 +1422,7 @@
 msgstr ""
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr ""
 
@@ -1467,160 +1510,168 @@
 msgid "Remove player"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr ""
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr ""
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
 "or 4H"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+msgid "Points:"
+msgstr ""
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr ""
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
 "yielding many results can be extremely slow in this case!)."
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr ""

Index: en.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/en.po,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- en.po       8 Jan 2011 22:27:59 -0000       1.12
+++ en.po       29 Jul 2011 22:50:10 -0000      1.13
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: eliot 1.9\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: 2009-06-28 14:06+0200\n"
 "Last-Translator: Olivier Teulière <ipkiss @@ via.ecp.fr>\n"
 "Language-Team: English <address@hidden>\n"
@@ -16,173 +16,169 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr ""
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
 "defined. Please use another character and change your word list accordingly."
 msgstr ""
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr ""
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr ""
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr ""
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr ""
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr ""
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr ""
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr ""
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr ""
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr ""
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
 msgstr ""
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
 msgstr ""
 
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr ""
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr ""
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr ""
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr ""
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr ""
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr ""
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
 msgstr ""
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
 msgstr ""
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr ""
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
 msgstr ""
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
 msgstr ""
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
 msgstr ""
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
 msgstr ""
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
 msgstr ""
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr ""
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr ""
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr "W 10 1 0 1 L·L L.L L-L ĿL"
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr ""
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr ""
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr ""
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr ""
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr ""
 
@@ -251,17 +247,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr ""
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr ""
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr ""
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr ""
 
@@ -302,188 +298,188 @@
 msgid "Invalid regular expression: "
 msgstr ""
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr ""
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr ""
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr ""
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr ""
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr ""
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr ""
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr ""
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr ""
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr ""
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 msgid "File '%1' successfully saved"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 msgid "Cannot save the words list: %1"
 msgstr ""
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr ""
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
 msgstr ""
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
 "E.g.: My Dic 1.0"
 msgstr ""
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
 "It must have the .dawg extension."
 msgstr ""
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
 msgstr ""
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
 msgstr ""
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr ""
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr ""
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr ""
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr ""
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr ""
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr ""
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr ""
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -496,337 +492,347 @@
 "This is usually the case for the joker and, in French, for the Y letter."
 msgstr ""
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr ""
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
 msgstr ""
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
 "'Settings -> Change dictionary...' menu option."
 msgstr ""
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr ""
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr ""
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr ""
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr ""
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr ""
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr ""
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr ""
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr ""
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr ""
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
 msgstr ""
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+msgid "End of the game"
+msgstr ""
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr ""
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr ""
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr ""
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr ""
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr ""
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr ""
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr ""
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr ""
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr ""
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr ""
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr ""
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr ""
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr ""
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr ""
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr ""
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr ""
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr ""
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr ""
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr ""
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr ""
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr ""
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr ""
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr ""
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr ""
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr ""
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr ""
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr ""
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr ""
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr ""
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr ""
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr ""
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr ""
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr ""
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr ""
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr ""
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr ""
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr ""
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr ""
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr ""
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr ""
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr ""
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr ""
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr ""
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr ""
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr ""
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr ""
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr ""
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr ""
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr ""
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr ""
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr ""
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr ""
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr ""
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr ""
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr ""
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr ""
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr ""
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr ""
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr ""
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr ""
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -834,88 +840,88 @@
 "You can download dictionary files on Eliot web site."
 msgstr ""
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 msgid "Starting a new game will stop the current one."
 msgstr ""
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr ""
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr ""
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr ""
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr ""
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr ""
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr ""
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr ""
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr ""
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr ""
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr ""
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr ""
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr ""
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr ""
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr ""
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
@@ -923,22 +929,22 @@
 "any later version."
 msgstr ""
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr ""
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr ""
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
 msgstr ""
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr ""
 
@@ -971,22 +977,44 @@
 msgid "Duplicate"
 msgstr ""
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
+#: qt/player_widget.cpp:181
+msgid ""
+"Cannot pass turn:\n"
+"%1"
+msgstr ""
+
+#: qt/player_widget.cpp:183
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
+msgstr ""
+
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+
+#: qt/player_widget.cpp:187
+msgid "The rack of the current player does not contain all the listed letters"
 msgstr ""
 
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr ""
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
 "E.g.: w(o)rd or W(O)RD"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -994,75 +1022,86 @@
 "E.g.: H4 or 4H"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr ""
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
+#: qt/play_word_mediator.cpp:138
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr ""
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr ""
+
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
+
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr ""
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr ""
 
@@ -1070,159 +1109,167 @@
 msgid "Score"
 msgstr ""
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr ""
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr ""
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr ""
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr ""
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr ""
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr ""
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr ""
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr ""
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr ""
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr ""
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr ""
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr ""
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr ""
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr ""
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr ""
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr ""
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr ""
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
 msgstr ""
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr ""
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr ""
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr ""
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr ""
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr ""
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr ""
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr ""
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr ""
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr ""
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr ""
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr ""
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr ""
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr ""
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr ""
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr ""
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr ""
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr ""
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr ""
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr ""
 
@@ -1230,95 +1277,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr ""
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr ""
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr ""
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr ""
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr ""
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr ""
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr ""
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr ""
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr ""
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr ""
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr ""
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr ""
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr ""
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr ""
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr ""
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr ""
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr ""
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr ""
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr ""
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr ""
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr ""
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr ""
 
@@ -1378,7 +1421,7 @@
 msgstr ""
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr ""
 
@@ -1466,160 +1509,168 @@
 msgid "Remove player"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr ""
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr ""
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr ""
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
 "or 4H"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+msgid "Points:"
+msgstr ""
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr ""
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr ""
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
 "yielding many results can be extremely slow in this case!)."
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr ""
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr ""

Index: fr.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/fr.po,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- fr.po       8 Jan 2011 22:27:59 -0000       1.44
+++ fr.po       29 Jul 2011 22:50:10 -0000      1.45
@@ -1,14 +1,14 @@
 # French translations for eliot package
 # Traduction française du package eliot.
-# Copyright (C) 2005-2009 Eliot
+# Copyright (C) 2005-20011 Eliot
 # This file is distributed under the same license as the eliot package.
 # Olivier Teuliere <ipkiss @@ via.ecp.fr>, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: eliot 1.9\n"
+"Project-Id-Version: eliot 1.13\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: 2009-06-28 10:35+0100\n"
 "Last-Translator: Olivier Teulière <ipkiss @@ via.ecp.fr>\n"
 "Language-Team: French <address@hidden>\n"
@@ -18,11 +18,11 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr "'%1%' n'est pas une lettre valide."
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
@@ -33,51 +33,47 @@
 "la lettre a une chaîne d'affichage définie. Merci d'utiliser un autre "
 "caractère et d'adapter la liste de mots."
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr "Impossible d'ouvrir le fichier '1%'"
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr "%1% arcs écrits"
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr "Erreur sur la ligne %1%, colonne %2%: %3%"
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr "Impossible d'ouvrir le fichier d'output '%1%'"
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr "La liste de mots est vide !"
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr "readLetters : Pas assez de champs dans %1% (ligne %2%)"
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr ""
 "readLetters : Lettre invalide à la ligne %1% (un seul caractère est 
autorisé)"
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr "Options obligatoires :"
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr "  -d, --dicname <string>  Choisir le nom et la version du dictionnaire"
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 "  -l, --letters <string>  Chemin vers un fichier contenant les lettres (voir "
 "ci-dessous)"
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
@@ -85,7 +81,7 @@
 "  -i, --input <string>    Chemin vers le fichier de dictionnaire non "
 "compressé (encodé en UTF-8)"
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
@@ -93,37 +89,37 @@
 "                          Les mots doivent être triés par ordre 
alphabétique,"
 "sans doublons"
 
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr ""
 "  -o, --output <string>   Chemin vers le fichier de dictionnaire compressé "
 "généré"
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr "Autres options :"
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr "  -h, --help              Affiche cette aide et quitte"
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr "Exemple :"
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr " -d 'ODS 5.0' -l lettres.txt -i ods5.txt -o ods5.dawg"
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr ""
 "Le fichier contenant les lettres (option --letters) doit être encodé en "
 "UTF-8."
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
@@ -131,7 +127,7 @@
 "Chaque ligne correspond à une lettre, et doit contenir au moins 5 champs "
 "séparés par une ou plusieurs espace(s)."
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
@@ -139,11 +135,11 @@
 " - 1er champ : la lettre elle-même, telle que stockée dans le fichier "
 "d'input (simple caractère)"
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr " - 2e champ : les points de cette lettre"
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
@@ -151,7 +147,7 @@
 " - 3e champ : la fréquence de la lettre (nombre de lettres de ce genre dans "
 "le jeu)"
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
@@ -159,7 +155,7 @@
 " - 4e champ : 1 si la lettre est considérée comme une voyelle au jeu de "
 "Scrabble, 0 sinon"
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
@@ -167,7 +163,7 @@
 " - 5e champ : 1 si la lettre est considérée comme une consonne au jeu de "
 "Scrabble, 0 sinon"
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
@@ -175,7 +171,7 @@
 " - 6e champ (optionnel) : chaîne d'affichage pour la lettre (par défaut : 
la "
 "lettre elle-même)"
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
@@ -183,37 +179,37 @@
 " - autres champs (optionnels) : chaînes de saisie pour la lettre, en plus de 
"
 "la chaîne d'affichage"
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr "Exemple pour le Français :"
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr "Exemple pour le Catalan :"
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr "W 10 1 0 1 L·L L.L L-L ĿL"
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr "Une option obligatoire est manquante"
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr " Temps de chargement : %1% s"
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr " Temps de compression : %1% s"
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr " Niveau maximum de récursion atteint : %1%"
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr "Exception interceptée : %1%"
 
@@ -287,17 +283,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr "Arcs : %1% utilisés + %2% évités"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr "Lettre"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr "Points"
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr "Fréquence"
 
@@ -338,127 +334,127 @@
 msgid "Invalid regular expression: "
 msgstr "Expression régulière invalide : "
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr "Impossible de choisir un joueur non-humain"
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr "Impossible de choisir un joueur qui a déjà joué"
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr "Pas un mode aléatoire"
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr "Le sac est vide"
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr "Pas assez de voyelles ou de consonnes pour compléter le tirage"
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr "Certaines lettres sont incorrectes pour le dictionnaire courant"
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr "Le sac ne contient pas toutes ces lettres"
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr "Pas assez de voyelles ou de consonnes dans ce tirage"
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr "Joueur %u"
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr "Entraînement"
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr "Tirage :"
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr "Voyelle ?"
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr "Consonne ?"
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr "Saisies alternatives"
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr "Choisir un dictionnaire"
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr "Lettres invalides ou incomplètes"
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr "Le mot '%1' existe"
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr "Le mot '%1' n'existe pas"
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr "Tirage : %1"
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr "Anagrammes"
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr "Expression régulière : %1"
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr "Expression régulière invalide : %1"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr "Oui"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr "Non"
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
-msgstr ""
+msgstr "Exporter la liste de mots"
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 msgid "File '%1' successfully saved"
 msgstr "Fichier '%1' enregistré avec succès"
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr "Eliot - erreur"
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 msgid "Cannot save the words list: %1"
 msgstr "Impossible de sauver la liste de mots : %1"
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr "Informations générales"
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
@@ -466,7 +462,7 @@
 "Sur cette page, vous pouvez définir les principales informations 
nécessaires "
 "à la création d'un nouveau dictionnaire."
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
@@ -476,7 +472,7 @@
 "d'Eliot après avoir chargé le dictionnaire.\n"
 "Exemple : Mon Dico 1.0"
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
@@ -486,7 +482,7 @@
 "contiendra le dictionnaire compressé.\n"
 "Il doit avoir l'extension .dawg."
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
@@ -494,7 +490,7 @@
 "Choisir le fichier contenant la liste de mots.\n"
 "Il doit être encodé en UTF-8, et doit contenir un mot par ligne."
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
@@ -503,36 +499,36 @@
 "de mots.Ils sont indiqués ci-dessous, avec la première ligne sur laquelle "
 "ils ont été trouvés :"
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr "'%1' (code ASCII %2) à la ligne %3"
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr "Eliot"
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr "Veuillez corriger la liste de mots."
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr "La liste de mots contient des doublons."
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr "Choisir un fichier pour le dictionnaire généré"
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr "Choisir la liste de mots"
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr "Caractéristiques des lettres"
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -555,11 +551,11 @@
 "comme consonne. C'est généralement le cas pour le joker et, en français, "
 "pour la lettre Y."
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr "Conclusion"
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
@@ -567,7 +563,7 @@
 "Cliquez sur '%1' pour générer le dictionnaire.\n"
 "\n"
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
@@ -577,43 +573,43 @@
 "Vous pouvez également le charger ultérieurement, en allant dans le menu\n"
 "'Paramètres -> Choisir un dictionnaire...'"
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr "Dictionnaire créé avec succès"
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr "Coup"
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr "Tirage"
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr "Mot"
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr "Ref"
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr "Joueur"
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr "(PASSE)"
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr "&Partie"
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr "Grille"
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
@@ -621,282 +617,294 @@
 "Impossible de charger le dictionnaire '%1' indiqué dans les préférences.\n"
 "Raison : %2"
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+msgid "End of the game"
+msgstr "Fin de la partie"
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr "Pas de partie en cours"
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr "Mode entraînement"
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr "Partie duplicate"
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr "Partie libre"
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr "Aucun dictionnaire"
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr "Dictionnaire : %1"
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+"Le site de définitions n'est pas défini.\n"
+"Veuillez en définir un dans les préférences."
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr "Charger un dictionnaire arrêtera la partie en cours."
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr "Dictionnaire '%1' chargé"
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr "Voulez-vous continuer ?"
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr "&Nouvelle partie..."
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr "Ctrl+N"
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr "Démarrer une nouvelle partie"
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr "&Charger..."
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr "Ctrl+O"
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr "Charger une partie existante"
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr "&Enregistrer sous..."
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr "Ctrl+S"
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr "Sauvegarder la partie en cours"
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr "Im&primer..."
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr "Ctrl+P"
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr "Imprimer la partie en cours"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr "&Quitter"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr "Ctrl+Q"
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr "Quitter Eliot"
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr "&Historique"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr "&Premier tour"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr "Ctrl+Début"
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr "Aller au premier tour de la partie"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr "Tour &précédent"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr "Ctrl+Gauche"
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr "Aller au tour précédent de la partie"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr "Tour &suivant"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr "Ctrl+Droite"
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr "Aller au tour suivant de la partie"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr "&Dernier tour"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr "Ctrl+Fin"
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr "Aller au dernier tour de la partie"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr "&Rejouer ce tour"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr "Ctrl+R"
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr ""
 "Jouer la partie depuis la position courante, en remplaçant ce qui a vraiment 
"
 "été joué"
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr "Para&mètres"
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr "Choisir un &dictionnaire..."
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr "Ctrl+C"
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr "Choisir un nouveau dictionnaire"
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr "Créer un &nouveau dictionnaire..."
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr ""
 "Démarrer l'assistant de création d'un dictionnaire à partir d'une liste de 
"
 "mots existante"
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr "&Préférences..."
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr "Ctrl+F"
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr "Modifier les préférences"
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr "&Fenêtres"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr "&Barre d'outils"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr "Ctrl+T"
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr "Afficher/cacher la barre d'outils"
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr "&Sac"
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr "Ctrl+B"
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr "Afficher/cacher les lettres restantes dans le sac"
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr "&Plateau de jeu externe"
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr "Ctrl+E"
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr "Afficher/cacher le plateau de jeu externe"
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr "Ctrl+H"
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr "Afficher/cacher l'historique de la partie"
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr "Outils du &dictionnaire"
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr "Ctrl+D"
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr "Afficher/cacher les outils de recherche dans le dictionnaire"
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr "&Aide"
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr "À &propos..."
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr "À propos d'Eliot"
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -908,111 +916,111 @@
 "\n"
 "Vous pouvez télécharger des fichiers de dictionnaire sur le site web 
d'eliot."
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 msgid "Starting a new game will stop the current one."
 msgstr "Démarrer une nouvelle partie arrêtera la partie en cours."
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr "Partie démarrée"
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr "Vous devez d'abord choisir un dictionnaire !"
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr "Charger une partie"
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr "Erreur pendant le chargement de la partie:\n"
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr "Partie chargée"
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr "Sauvegarder la partie"
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr "Partie enregistrée"
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr "Erreur pendant l'enregistrement de la partie : %1"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr "N."
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr "TIRAGE"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr "SOLUTION"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr "REF"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr "PTS"
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr "Choisir un dictionnaire"
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr "Assistant de création du dictionnaire"
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr "Sac"
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr "Historique"
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr "Outils du dictionnaire"
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
 "Software Foundation; either version 2 of the License, or (at your option) "
 "any later version."
 msgstr ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teulière\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teulière\n"
 "\n"
 "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le "
 "modifier selon les termes de la licence \"GNU General Public License\" "
 "publiée par la Free Software Fundation ; soit la version 2 de la Licence, "
 "soit (comme vous le préférez), n'importe quelle version ultérieure."
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr "Site web : http://www.nongnu.org/eliot/en/";
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr "Tour %1/%2"
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
@@ -1020,7 +1028,7 @@
 "Rejouer ce tour va modifier l'historique de la partie en effaçant les tours "
 "après celui qui est affiché (i.e. les tours \"dans le futur\")."
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr "Reprise à partir du tour %1"
 
@@ -1053,15 +1061,43 @@
 msgid "Duplicate"
 msgstr "Duplicate"
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
-msgstr "Impossible de passer le tour (%1)"
-
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
-msgstr "Impossible de changer les lettres '%1' (%2)"
+#: qt/player_widget.cpp:181
+msgid ""
+"Cannot pass turn:\n"
+"%1"
+msgstr ""
+"Impossible de passer le tour :\n"
+"%1"
+
+#: qt/player_widget.cpp:183
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
+msgstr ""
+"Impossible de changer les lettres '%1' :\n"
+"%2"
+
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+"Changer des lettres n'est pas autorisé quand il reste moins de 7 lettres "
+"dans le sac"
+
+#: qt/player_widget.cpp:187
+msgid "The rack of the current player does not contain all the listed letters"
+msgstr "Le tirage du joueur courant ne contient pas toutes les lettres 
listées"
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
+msgstr "La partie est déjà finie !"
+
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr "erreur inconnue"
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
@@ -1071,7 +1107,7 @@
 "Un joker provenant du chevalet doit être écrit entre parenthèses.\n"
 "Ex. : m(o)t ou M(O)T"
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -1083,76 +1119,94 @@
 "et la colonne avant la rangée pour les mots verticaux.\n"
 "Ex. : H4 ou 4H"
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr "Impossible de jouer le mot : parenthèses mal placées"
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
-msgstr "Impossible de jouer '%1' en '%2' :\n"
+#: qt/play_word_mediator.cpp:138
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
+msgstr ""
+"Impossible de jouer '%1' en '%2' :\n"
+"%3"
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr ""
 "Le tirage contient des lettres incorrectes pour le dictionnaire courant"
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr "Coordonnées invalides"
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr "Le mot n'existe pas"
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr "Le chevalet ne contient pas les lettres permettant de jouer ce mot"
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr "Le mot fait partie d'un autre mot plus long"
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr "Le mot remplace une lettre existante"
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr "Un mot perpendiculaire est invalide"
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr "Le mot est déjà présent sur la grille à cette position"
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr "Un mot ne peut pas être isolé (non connecté aux autres mots 
placés)"
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr "Le premier mot de la partie doit être horizontal"
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr "Le premier mot de la partie doit couvrir la case H8"
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr "Le mot sort de la grille"
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
-msgstr "Mot incorrect ou mal placé (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
+msgstr "Mot incorrect ou mal placé"
+
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr "Impossible de jouer le mot : parenthèses mal placées"
+
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
+"URL du site utilisé pour afficher les définitions.\n"
+"Dans l'URL, %w sera remplacé par le mot en minuscules. Exemples :\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr "Erreur %1"
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr "Impossible de charger les préférences : %1"
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr "Impossible de sauver les préférences : %1"
 
@@ -1160,69 +1214,77 @@
 msgid "Score"
 msgstr "Score"
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr "Verrouiller la taille des colonnes"
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr "Désactive le redimensionnement automatique des colonnes"
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr "Attention : Impossible de choisir le tirage '%1'"
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr "Recherche en cours pour le tirage '%1'..."
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr "Recherche terminée"
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr "Scores"
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr "%s : %d"
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr "Tirages"
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr "%s : %ls"
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr "Recherche terminée"
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr "Résultats de la recherche"
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr "Historique de la partie"
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr " N |     TIRAGE     |    SOLUTION     | REF | PTS | J | BONUS"
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr "Aide"
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr "[Général]"
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr "   h, H, ?          Afficher/cacher la boîte d'aide"
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr "   y, Y             Afficher/cacher l'historique de la partie"
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
@@ -1230,94 +1292,94 @@
 "   b, B             Afficher/cacher le contenu du sac (avec les lettres des "
 "tirages)"
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 "   e, E             Afficher/cacher les points sur les cases vides du "
 "plateau de jeu"
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr "   d, D             Vérifier l'existence d'un mot dans le 
dictionnaire"
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr "   j, J             Jouer un mot"
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr "   s, S             Sauvegarder la partie"
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr "   l, L             Charger une partie"
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr "   q, Q             Quitter"
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr "[Mode entraînement]"
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr "   *                Tirage aléatoire"
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr "   +                Compléter le tirage courant de manière 
aléatoire"
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr "   t, T             Entrer le tirage manuellement"
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr "   c, C             Calculer tous les mots possibles"
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr "   r, R             Afficher/cacher les résultats de la recherche"
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr "[Mode duplicate]"
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr "   n, N             Passer au joueur humain suivant"
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr "[Mode partie libre]"
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr ""
 "   p, P             Passer son tour (en changeant ou pas certaines lettres)"
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr "[Divers]"
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr "   <haut>, <bas>    Naviguer dans une boîte ligne par ligne"
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr "   <pgup>, <pgdown> Naviguer dans une boîte page par page"
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr "   Ctrl-l           Rafraîchir l'écran"
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr " LETTRE | POINTS | FREQUENCE | RESTANT"
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr "Jouer un mot"
 
@@ -1325,95 +1387,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr "Mot joué    :"
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr "Coordonnées :"
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr "Mot incorrect ou mal placé"
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr "Dictionnaire"
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr "Entrer le mot à vérifier:"
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr "Le mot '%ls' existe"
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr "Le mot '%ls' n'existe pas"
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr "Sauvegarder la partie"
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr "Entrer le nom du fichier :"
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr "Partie sauvée dans '%ls'"
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr "Erreur pendant l'enregistrement de la partie %s:"
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr "Impossible de charger la partie : "
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr "Passer son tour"
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr "Entrer les lettres à changer:"
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr "Impossible de passer le tour"
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr "Choix du tirage"
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr "Entrer les nouvelles lettres:"
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr "Impossible de prendre ces lettres dans le sac:"
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr "Mode partie libre"
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr "Mode duplicate"
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr "Partie joker"
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr "[h pour l'aide]"
 
@@ -1473,7 +1531,7 @@
 msgstr "Charger ce dictionnaire dans Eliot"
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr "Parcourir..."
 
@@ -1575,36 +1633,28 @@
 msgid "Remove player"
 msgstr "Supprimer un joueur"
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr "Mélanger"
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr "Lettres à changer :"
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr "Entrer les lettres à changer"
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr "Changer"
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr "Passer"
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr "Ref. :"
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr "Jouer le mot :"
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
@@ -1612,12 +1662,12 @@
 "Entrer le mot à jouer (insensible à la casse). Un joker provenant du "
 "chevalet doit être écrit entre parenthèses. Ex. : m(o)( ou M(O)T"
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr "Jouer"
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
@@ -1627,35 +1677,51 @@
 "mots horizontaux, et la colonne avant la rangée pour les mots verticaux. "
 "Ex. : H4 ou 4H"
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+msgid "Points:"
+msgstr "Points :"
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr "Entrer les lettres à changer"
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr "Changer"
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr "Préférences"
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr "Interface"
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr "Chemin du dictionnaire :"
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr "Entrer le chemin du dictionnaire (obligatoire pour jouer une partie)"
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr "Ouvre une fenêtre de sélection du dictionnaire"
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr "Site de définitions :"
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr "Afficher/cacher les points des jetons sur la grille."
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr "Afficher les points"
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
@@ -1663,11 +1729,11 @@
 "Si la case est cochée, les historiques de la partie et des joueurs\n"
 "afficheront le tirage et la solution correspondante sur la même ligne"
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr "Aligner tirages et solutions dans l'historique"
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
@@ -1676,11 +1742,11 @@
 "partie à partir du tour courant.\n"
 "Sinon, l'action sera effectuée sans demander de confirmation."
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr "Avertir avant de rejouer un coup"
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
@@ -1688,29 +1754,29 @@
 "Si la case est cochée, jouer un mot invalide ou mal placé sera 
impossible.\n"
 "Sinon, un tel mot apportera 0 point et vous perdrez votre tour"
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr "Refuser de jouer des mots invalides"
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr "Nombre minimal de joueurs pour un solo :"
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr "Valeur du solo :"
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr ""
 "Valeur de la prime de solo.\n"
 "Mettez 0 pour désactiver les primes de solo."
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr "Nombre minimal de joueurs pour prendre en compte la prime de solo"
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
@@ -1720,15 +1786,15 @@
 "sera répercuté sur l'onglet \"Plus 1\" de la fenêtre \"Outils du 
dictionnaire"
 "\""
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr "Copier le tirage vers l'outil \"Plus 1\" du dictionnaire"
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr "Limite pour les résultats de la recherche :"
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
@@ -1739,22 +1805,28 @@
 "(attention: les recherches renvoyant beaucoup de résultats peuvent\n"
 "devenir extrêmement lentes dans ce cas !)"
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr "Nouveau tirage"
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr "Complément"
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr "Recherche"
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr "Jouer sélection"
 
+#~ msgid "writing %1% edges"
+#~ msgstr "%1% arcs écrits"
+
+#~ msgid "Incorrect or misplaced word (%1)"
+#~ msgstr "Mot incorrect ou mal placé (%1)"
+
 #~ msgid "offset binary   | structure\n"
 #~ msgstr "offset binaire  | structure\n"
 
@@ -2219,9 +2291,6 @@
 #~ msgid "Invalid game"
 #~ msgstr "Partie invalide"
 
-#~ msgid "The game is empty"
-#~ msgstr "La partie est vide"
-
 #~ msgid "Cannot create "
 #~ msgstr "Impossible de créer "
 
@@ -2298,9 +2367,6 @@
 #~ msgid "Stop current game?"
 #~ msgstr "Arrêter la partie en cours ?"
 
-#~ msgid "Unknown (old format)"
-#~ msgstr "Inconnu (vieux format)"
-
 #~ msgid "compressed on: Unknown date (old format)\n"
 #~ msgstr "Compressé le : Date inconnue (vieux format)\n"
 

Index: id.po
===================================================================
RCS file: /cvsroot/eliot/eliot/po/id.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- id.po       8 Jan 2011 22:27:59 -0000       1.1
+++ id.po       29 Jul 2011 22:50:10 -0000      1.2
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: Eliot 1.12\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-08 18:24+0100\n"
+"POT-Creation-Date: 2011-07-30 00:35+0200\n"
 "PO-Revision-Date: 2010-11-26 00:22+0100\n"
 "Last-Translator: Switchu Legitri\n"
 "Language-Team: \n"
@@ -18,11 +18,11 @@
 "X-Poedit-Language: Indonesian\n"
 "X-Poedit-Country: INDONESIA\n"
 
-#: dic/compdic.cpp:92
+#: dic/compdic.cpp:93
 msgid "'%1%' is not a valid letter."
 msgstr "'%1%' bukan huruf yang benar"
 
-#: dic/compdic.cpp:93
+#: dic/compdic.cpp:94
 msgid ""
 "For technical reasons, Eliot currently only supports alphabetical characters "
 "as internal character representation, even if the tile has a display string "
@@ -33,52 +33,48 @@
 "terdefinisi untuk ditampilkan. Silakan gunakan huruf lain dan ganti daftar "
 "kata Anda."
 
-#: dic/compdic.cpp:132 dic/compdic.cpp:137 dic/compdicmain.cpp:58
+#: dic/compdic.cpp:133 dic/compdic.cpp:138 dic/compdicmain.cpp:58
 msgid "Could not open file '%1%'"
 msgstr "Tidak bisa membuka file '%1%'"
 
-#: dic/compdic.cpp:188
-msgid "writing %1% edges"
-msgstr ""
-
-#: dic/compdic.cpp:262
+#: dic/compdic.cpp:256
 msgid "Error on line %1%, col %2%: %3%"
 msgstr "Error di baris %1%, kolom %2%: %3%"
 
-#: dic/compdic.cpp:343
+#: dic/compdic.cpp:337
 msgid "Cannot open output file '%1%'"
 msgstr "Tidak bisa membuka file '%1%'"
 
-#: dic/compdic.cpp:355
+#: dic/compdic.cpp:349
 msgid "The word list is empty!"
 msgstr "Daftar katanya kosong!"
 
-#: dic/compdicmain.cpp:86
+#: dic/compdicmain.cpp:95
 msgid "readLetters: Not enough fields in %1% (line %2%)"
 msgstr "readLetters: Tidak ada cukup field di %1% (baris %2%)"
 
-#: dic/compdicmain.cpp:96
+#: dic/compdicmain.cpp:105
 msgid "readLetters: Invalid letter at line %1% (only one character allowed)"
 msgstr ""
 "readLetters: Huruf yang tidak benar di baris %1% (hanya 1 karakter yang "
 "dibolehkan)"
 
-#: dic/compdicmain.cpp:118
+#: dic/compdicmain.cpp:127
 msgid "Mandatory options:"
 msgstr "Pilihan tetap:"
 
-#: dic/compdicmain.cpp:119
+#: dic/compdicmain.cpp:128
 msgid "  -d, --dicname <string>  Set the dictionary name and version"
 msgstr "  -d, --dicname <teks>  Tentukan nama kamus dan versinya"
 
-#: dic/compdicmain.cpp:120
+#: dic/compdicmain.cpp:129
 msgid ""
 "  -l, --letters <string>  Path to the file containing the letters (see below)"
 msgstr ""
 "  -l, --letters <teks> Path menuju ke file yang berisi huruf-huruf (lihat di "
 "bawah)"
 
-#: dic/compdicmain.cpp:121
+#: dic/compdicmain.cpp:130
 msgid ""
 "  -i, --input <string>    Path to the uncompressed dictionary file (encoded "
 "in UTF-8)"
@@ -86,7 +82,7 @@
 "  -i, --input <teks>    Path menuju ke file kamus yang tidak dikompres "
 "(dikodekan di UTF-8)"
 
-#: dic/compdicmain.cpp:122
+#: dic/compdicmain.cpp:131
 msgid ""
 "                          The words must be in alphabetical order, without "
 "duplicates"
@@ -95,35 +91,35 @@
 "abjad, tanpa duplikasi"
 
 # no > after "string" in the original string.
-#: dic/compdicmain.cpp:123
+#: dic/compdicmain.cpp:132
 msgid ""
 "  -o, --output <string>   Path to the generated compressed dictionary file"
 msgstr "  -o, --output <teks>   Path menuju ke file kamus yang dikompres"
 
-#: dic/compdicmain.cpp:124
+#: dic/compdicmain.cpp:133
 msgid "Other options:"
 msgstr "Pilihan lain:"
 
-#: dic/compdicmain.cpp:125
+#: dic/compdicmain.cpp:134
 msgid "  -h, --help              Print this help and exit"
 msgstr "  -h, --help              Cetak teks help ini dan "
 
-#: dic/compdicmain.cpp:126
+#: dic/compdicmain.cpp:135
 msgid "Example:"
 msgstr "Contoh:"
 
-#: dic/compdicmain.cpp:127
+#: dic/compdicmain.cpp:136
 msgid " -d 'ODS 5.0' -l letters.txt -i ods5.txt -o ods5.dawg"
 msgstr " -d 'ODS 5.0' -l huruf.txt -i ods5.txt -o ods5.dawg"
 
-#: dic/compdicmain.cpp:129
+#: dic/compdicmain.cpp:138
 msgid ""
 "The file containing the letters (--letters switch) must be UTF-8 encoded."
 msgstr ""
 "File yang berisi huruf-huruf (--letters parameter) harus dikodekan dengan "
 "UTF-8."
 
-#: dic/compdicmain.cpp:130
+#: dic/compdicmain.cpp:139
 msgid ""
 "Each line corresponds to one letter, and must contain at least 5 fields "
 "separated with one or more space(s)."
@@ -131,7 +127,7 @@
 "Setiap baris dihubungkan ke satu huruf, dan harus mempunyai setidaknya 5 "
 "bagian yang dipisahkan dengan satu spasi atau lebih."
 
-#: dic/compdicmain.cpp:132
+#: dic/compdicmain.cpp:141
 msgid ""
 " - 1st field: the letter itself, as stored in the input file (single "
 "character)"
@@ -139,11 +135,11 @@
 " - bagian pertama: huruf itu sendiri, seperti yang disimpan di file input "
 "(satu karakter)"
 
-#: dic/compdicmain.cpp:133
+#: dic/compdicmain.cpp:142
 msgid " - 2nd field: the points of the letter"
 msgstr " - bagian ke-2: poin yang didapatkan dari huruf"
 
-#: dic/compdicmain.cpp:134
+#: dic/compdicmain.cpp:143
 msgid ""
 " - 3rd field: the frequency of the letter (how many letters of this kind in "
 "the game)"
@@ -151,7 +147,7 @@
 " - bagian ke-3: frekuensi hurufnya (ada berapa banyak huruf ini di permainan "
 "ini)"
 
-#: dic/compdicmain.cpp:135
+#: dic/compdicmain.cpp:144
 msgid ""
 " - 4th field: 1 if the letter is considered as a vowel in Scrabble game, 0 "
 "otherwise"
@@ -159,7 +155,7 @@
 " - bagian ke-4: 1 kalau huruf ini dianggap sebagai huruf vowel di permainan "
 "Scrabble, kalau tidak 0"
 
-#: dic/compdicmain.cpp:136
+#: dic/compdicmain.cpp:145
 msgid ""
 " - 5th field: 1 if the letter is considered as a consonant in Scrabble game, "
 "0 otherwise"
@@ -167,7 +163,7 @@
 " - bagian ke-5: 1 kalau huruf ini dianggap sebagai huruf konsonan di "
 "permainan Scrabble, kalau tidak 0"
 
-#: dic/compdicmain.cpp:137
+#: dic/compdicmain.cpp:146
 msgid ""
 " - 6th field (optional): display string for the letter (default: the letter "
 "itself)"
@@ -175,7 +171,7 @@
 " - bagian ke-6 (tidak diharuskan): tampilkan teks untuk huruf tersebut "
 "(default: huruf itu sendiri)"
 
-#: dic/compdicmain.cpp:138
+#: dic/compdicmain.cpp:147
 msgid ""
 " - other fields (optional): input strings for the letter, in addition to the "
 "display string"
@@ -183,37 +179,37 @@
 " - bagian lain (tidak diharuskan): masukkan teks untuk huruf tersebut, "
 "sebagai tambahan dari teks yang ditampilkan"
 
-#: dic/compdicmain.cpp:140
+#: dic/compdicmain.cpp:149
 msgid "Example for french:"
 msgstr "Contoh untuk bahasa Perancis:"
 
-#: dic/compdicmain.cpp:146
+#: dic/compdicmain.cpp:155
 msgid "Example for catalan:"
 msgstr "Contoh untuk bahasa Catalan (di Spanyol):"
 
 #. TRANSLATORS: the first "L.L" must be translated "L·L",
 #. and the last one translated "Ä¿L"
-#: dic/compdicmain.cpp:151
+#: dic/compdicmain.cpp:160
 msgid "W 10 1 0 1 L.L L.L L-L L.L"
 msgstr "W 10 1 0 1 L·L L.L L-L ĿL"
 
-#: dic/compdicmain.cpp:236
+#: dic/compdicmain.cpp:245
 msgid "A mandatory option is missing"
 msgstr "Pilihan yang diharuskan tidak ada"
 
-#: dic/compdicmain.cpp:248
+#: dic/compdicmain.cpp:257
 msgid " Load time: %1% s"
 msgstr " Waktu load: %1% detik"
 
-#: dic/compdicmain.cpp:249
+#: dic/compdicmain.cpp:258
 msgid " Compression time: %1% s"
 msgstr "Waktu untuk kompres: %1% detik"
 
-#: dic/compdicmain.cpp:251
+#: dic/compdicmain.cpp:260
 msgid " Maximum recursion level reached: %1%"
 msgstr "Level rekursi maksimum yang dicapai: %1%"
 
-#: dic/compdicmain.cpp:257
+#: dic/compdicmain.cpp:266
 msgid "Exception caught: %1%"
 msgstr "Perkecualian yang tercakup: %1%"
 
@@ -290,17 +286,17 @@
 msgid "Edges: %1% used + %2% saved"
 msgstr "Edges: %1% digunakan + %2% disimpan"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:108
-#: qt/dic_wizard.cpp:200
+#: dic/header.cpp:642 qt/bag_widget.cpp:46 qt/dic_tools_widget.cpp:122
+#: qt/dic_wizard.cpp:198
 msgid "Letter"
 msgstr "Huruf"
 
-#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:109
-#: qt/dic_wizard.cpp:201 qt/history_widget.cpp:55 qt/training_widget.cpp:77
+#: dic/header.cpp:642 qt/bag_widget.cpp:47 qt/dic_tools_widget.cpp:123
+#: qt/dic_wizard.cpp:199 qt/history_widget.cpp:63 qt/training_widget.cpp:79
 msgid "Points"
 msgstr "Poin"
 
-#: dic/header.cpp:642 qt/dic_tools_widget.cpp:110 qt/dic_wizard.cpp:202
+#: dic/header.cpp:642 qt/dic_tools_widget.cpp:124 qt/dic_wizard.cpp:200
 msgid "Frequency"
 msgstr "Frekuensi"
 
@@ -341,127 +337,127 @@
 msgid "Invalid regular expression: "
 msgstr "Ekspresi reguler yang tidak valid:"
 
-#: game/duplicate.cpp:291
+#: game/duplicate.cpp:303
 msgid "Cannot switch to a non-human player"
 msgstr "Tidak bisa ganti ke pemain yang bukan orang:"
 
-#: game/duplicate.cpp:295
+#: game/duplicate.cpp:307
 msgid "Cannot switch to a player who has already played"
 msgstr "Tidak bisa ganti ke pemain yang sudah bermain"
 
-#: game/game.cpp:174
+#: game/game.cpp:177
 msgid "Not a random mode"
 msgstr "Bukan mode yang "
 
-#: game/game.cpp:230
+#: game/game.cpp:233
 msgid "The bag is empty"
 msgstr "Kantongnya kosong"
 
-#: game/game.cpp:237 game/game.cpp:247
+#: game/game.cpp:240 game/game.cpp:250
 msgid "Not enough vowels or consonants to complete the rack"
 msgstr "Tidak ada vowel atau konsonan yang cukup untuk melengkapi rak ini:"
 
-#: game/game.cpp:410
+#: game/game.cpp:411 qt/player_widget.cpp:191
 msgid "Some letters are invalid for the current dictionary"
 msgstr "Beberapa huruf tidak valid untuk kamus yang digunakan sekarang"
 
-#: game/game.cpp:419
+#: game/game.cpp:420
 msgid "The bag does not contain all these letters"
 msgstr "Kantongnya tidak mempunyai semua huruf ini"
 
-#: game/game.cpp:432
+#: game/game.cpp:433
 msgid "Not enough vowels or consonants in this rack"
 msgstr "Tidak ada cukup vowel atau konsonan di rak ini"
 
-#: game/game_factory.cpp:149
+#: game/game_factory.cpp:154
 #, c-format
 msgid "Player %u"
 msgstr "Pemain %u"
 
-#: game/training.cpp:173 qt/new_game.cpp:98 qt/new_game.cpp:107
+#: game/training.cpp:186 qt/new_game.cpp:98 qt/new_game.cpp:107
 #: qt/ui/new_game.ui.h:214
 msgid "Training"
 msgstr "Latihan"
 
-#: qt/dic_tools_widget.cpp:98 qt/dic_tools_widget.cpp:103
-#: qt/ui/player_widget.ui.h:135 qt/ui/training_widget.ui.h:158
+#: qt/dic_tools_widget.cpp:112 qt/dic_tools_widget.cpp:117
+#: qt/ui/player_widget.ui.h:160 qt/ui/training_widget.ui.h:183
 msgid "Rack:"
 msgstr "Rak:"
 
-#: qt/dic_tools_widget.cpp:111 qt/dic_wizard.cpp:203
+#: qt/dic_tools_widget.cpp:125 qt/dic_wizard.cpp:201
 msgid "Vowel?"
 msgstr "Vowel?"
 
-#: qt/dic_tools_widget.cpp:112 qt/dic_wizard.cpp:204
+#: qt/dic_tools_widget.cpp:126 qt/dic_wizard.cpp:202
 msgid "Consonant?"
 msgstr "Konsonan?"
 
-#: qt/dic_tools_widget.cpp:113
+#: qt/dic_tools_widget.cpp:127
 msgid "Alternative inputs"
 msgstr "Input lain"
 
-#: qt/dic_tools_widget.cpp:151 qt/dic_tools_widget.cpp:195
-#: qt/dic_tools_widget.cpp:248
+#: qt/dic_tools_widget.cpp:165 qt/dic_tools_widget.cpp:209
+#: qt/dic_tools_widget.cpp:262
 msgid "Please select a dictionary"
 msgstr "Silahkan pilih sebuah kamus"
 
-#: qt/dic_tools_widget.cpp:161
+#: qt/dic_tools_widget.cpp:175
 msgid "Invalid or incomplete letters"
 msgstr "Huruf-hurufnya tidak valid atau tidak lengkap"
 
-#: qt/dic_tools_widget.cpp:173
+#: qt/dic_tools_widget.cpp:187
 msgid "The word '%1' exists"
 msgstr "Kata '%1' ada"
 
-#: qt/dic_tools_widget.cpp:178
+#: qt/dic_tools_widget.cpp:192
 msgid "The word '%1' does not exist"
 msgstr "Kata '%1' tidak ada"
 
-#: qt/dic_tools_widget.cpp:203
+#: qt/dic_tools_widget.cpp:217
 msgid "Rack: %1"
 msgstr "Rak: %1"
 
-#: qt/dic_tools_widget.cpp:221
+#: qt/dic_tools_widget.cpp:235
 msgid "Anagrams"
 msgstr "Anagram"
 
-#: qt/dic_tools_widget.cpp:256
+#: qt/dic_tools_widget.cpp:270
 msgid "Regular expression: %1"
 msgstr "Ekspresi reguler: %1"
 
-#: qt/dic_tools_widget.cpp:277
+#: qt/dic_tools_widget.cpp:291
 msgid "Invalid regular expression: %1"
 msgstr "Ekspresi reguler yang tidak valid: %1"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "Yes"
 msgstr "Ya"
 
-#: qt/dic_tools_widget.cpp:326 qt/dic_tools_widget.cpp:328
+#: qt/dic_tools_widget.cpp:340 qt/dic_tools_widget.cpp:342
 msgid "No"
 msgstr "Tidak"
 
-#: qt/dic_tools_widget.cpp:357 qt/dic_tools_widget.cpp:364
+#: qt/dic_tools_widget.cpp:371 qt/dic_tools_widget.cpp:378
 msgid "Export words list"
 msgstr ""
 
-#: qt/dic_tools_widget.cpp:365
+#: qt/dic_tools_widget.cpp:379
 msgid "File '%1' successfully saved"
 msgstr "File '%1' telah berhasil dibuat"
 
-#: qt/dic_tools_widget.cpp:369 qt/dic_wizard.cpp:346 qt/main_window.cpp:299
+#: qt/dic_tools_widget.cpp:383 qt/dic_wizard.cpp:344 qt/main_window.cpp:313
 msgid "Eliot - Error"
 msgstr "Eliot - Eror"
 
-#: qt/dic_tools_widget.cpp:370
+#: qt/dic_tools_widget.cpp:384
 msgid "Cannot save the words list: %1"
 msgstr "Tidak dapat simpan daftar kata: %1"
 
-#: qt/dic_wizard.cpp:49
+#: qt/dic_wizard.cpp:47
 msgid "General information"
 msgstr "Informasi umum"
 
-#: qt/dic_wizard.cpp:50
+#: qt/dic_wizard.cpp:48
 msgid ""
 "On this page, you can define the main information needed to create a new "
 "dictionary."
@@ -469,7 +465,7 @@
 "Di halaman ini, Anda dapat menentukan informasi utama yang dibutuhkan untuk "
 "membuat kamus baru."
 
-#: qt/dic_wizard.cpp:52
+#: qt/dic_wizard.cpp:50
 msgid ""
 "Choose a dictionary name. This name will appear in Eliot status bar when the "
 "dictionary is loaded.\n"
@@ -479,7 +475,7 @@
 "sudah dimuat.\n"
 "Misalnya: My Dic 1.0"
 
-#: qt/dic_wizard.cpp:55
+#: qt/dic_wizard.cpp:53
 msgid ""
 "Choose the output file. This file will be generated by the wizard, and will "
 "contain the compressed dictionary.\n"
@@ -489,7 +485,7 @@
 "yang dikompres.\n"
 "Filenya harus mempunyai ekstensi .dawg."
 
-#: qt/dic_wizard.cpp:59
+#: qt/dic_wizard.cpp:57
 msgid ""
 "Choose the file containing the word list.\n"
 "It must be encoded in UTF-8, and must contain one word on each line."
@@ -497,7 +493,7 @@
 "Pilih file yang berisi daftar kata.\n"
 "File ini harus dikode dengan UTF-8, dan harus memuat satu kata di tiap baris."
 
-#: qt/dic_wizard.cpp:129
+#: qt/dic_wizard.cpp:127
 msgid ""
 "Some invalid (non-alphabetical) characters have been found in the word list. "
 "They are indicated below, with the first line on which they were found:"
@@ -506,36 +502,36 @@
 "daftar kata. Mereka tertulis di bawah, dengan baris pertama di mana mereka "
 "ditemukan:"
 
-#: qt/dic_wizard.cpp:134
+#: qt/dic_wizard.cpp:132
 msgid "'%1' (ASCII code %2) at line %3"
 msgstr "'%1' (kode ASCII %2) di baris %3"
 
-#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148 qt/main_window.cpp:391
+#: qt/dic_wizard.cpp:135 qt/dic_wizard.cpp:146 qt/main_window.cpp:430
 #: qt/new_game.cpp:56 qt/ui/main_window.ui.h:124
 msgid "Eliot"
 msgstr "Eliot"
 
-#: qt/dic_wizard.cpp:139 qt/dic_wizard.cpp:150
+#: qt/dic_wizard.cpp:137 qt/dic_wizard.cpp:148
 msgid "Please correct the word list."
 msgstr "Silahkan benarkan daftar kata."
 
-#: qt/dic_wizard.cpp:147
+#: qt/dic_wizard.cpp:145
 msgid "The word list contains duplicate entries."
 msgstr "Daftar katanya ada kata-kata yang terduplikasi."
 
-#: qt/dic_wizard.cpp:162
+#: qt/dic_wizard.cpp:160
 msgid "Choose a file for the generated dictionary"
 msgstr "Pilih file untuk kamus yang dibuat"
 
-#: qt/dic_wizard.cpp:175
+#: qt/dic_wizard.cpp:173
 msgid "Choose a word list file"
 msgstr "Pilih sebuah file daftar kata"
 
-#: qt/dic_wizard.cpp:187
+#: qt/dic_wizard.cpp:185
 msgid "Letters characteristics"
 msgstr "Karakteristik huruf-huruf"
 
-#: qt/dic_wizard.cpp:188
+#: qt/dic_wizard.cpp:186
 msgid ""
 "The table below lists all the letters found in the word list (plus the "
 "joker). For each letter, you need to define:\n"
@@ -557,11 +553,11 @@
 "Sebuah huruf dapat dianggap sebagai huruf hidup dan huruf mati. Ini biasanya "
 "untuk joker, dan dalam bahasa Perancis, untuk huruf Y."
 
-#: qt/dic_wizard.cpp:285
+#: qt/dic_wizard.cpp:283
 msgid "Conclusion"
 msgstr "Kesimpulan"
 
-#: qt/dic_wizard.cpp:292
+#: qt/dic_wizard.cpp:290
 msgid ""
 "Click '%1' to generate the dictionary.\n"
 "\n"
@@ -569,7 +565,7 @@
 "Klik '%1' untuk membuat kamus.\n"
 "\n"
 
-#: qt/dic_wizard.cpp:293
+#: qt/dic_wizard.cpp:291
 msgid ""
 "You may now load it in Eliot using the checkbox below.\n"
 "You can also load it later, using the\n"
@@ -579,43 +575,43 @@
 "Anda juga dapat memuatnya nanti, menggunakan \n"
 "Pilihan menu: 'Setting -> Pilih kamus...'."
 
-#: qt/dic_wizard.cpp:350
+#: qt/dic_wizard.cpp:348
 msgid "Dictionary successfully created"
 msgstr "Kamus telah berhasil dibuat"
 
-#: qt/history_widget.cpp:51
+#: qt/history_widget.cpp:59
 msgid "Turn"
 msgstr "Giliran"
 
-#: qt/history_widget.cpp:52
+#: qt/history_widget.cpp:60
 msgid "Rack"
 msgstr "Rak"
 
-#: qt/history_widget.cpp:53 qt/training_widget.cpp:75
+#: qt/history_widget.cpp:61 qt/training_widget.cpp:77
 msgid "Word"
 msgstr "Kata"
 
-#: qt/history_widget.cpp:54 qt/training_widget.cpp:76
+#: qt/history_widget.cpp:62 qt/training_widget.cpp:78
 msgid "Ref"
 msgstr "Referensi"
 
-#: qt/history_widget.cpp:87 qt/score_widget.cpp:46
+#: qt/history_widget.cpp:110 qt/score_widget.cpp:46
 msgid "Player"
 msgstr "Pemain"
 
-#: qt/history_widget.cpp:143 qt/main_window.cpp:722 utils/ncurses.cpp:421
+#: qt/history_widget.cpp:166 qt/main_window.cpp:766 utils/ncurses.cpp:422
 msgid "(PASS)"
 msgstr "(LULUS)"
 
-#: qt/history_widget.cpp:177 qt/main_window.cpp:426
+#: qt/history_widget.cpp:200 qt/main_window.cpp:465
 msgid "&Game"
 msgstr "&Permainan"
 
-#: qt/main_window.cpp:112 qt/main_window.cpp:815 qt/ui/main_window.ui.h:145
+#: qt/main_window.cpp:116 qt/main_window.cpp:868 qt/ui/main_window.ui.h:145
 msgid "Board"
 msgstr "Papan"
 
-#: qt/main_window.cpp:171
+#: qt/main_window.cpp:178
 msgid ""
 "Cannot load dictionary '%1' indicated in the preferences.\n"
 "Reason: %2"
@@ -623,280 +619,291 @@
 "Tidak bisa memuat kamus '%1' yang diindikasikan di preferensi.\n"
 "Alasan: %2"
 
-#: qt/main_window.cpp:262
+#: qt/main_window.cpp:231
+#, fuzzy
+msgid "End of the game"
+msgstr "Sejarah permainan"
+
+#: qt/main_window.cpp:275
 msgid "No game"
 msgstr "Tidak ada permainan"
 
-#: qt/main_window.cpp:270 utils/ncurses.cpp:1110 qt/ui/prefs_dialog.ui.h:277
+#: qt/main_window.cpp:283 utils/ncurses.cpp:1111 qt/ui/prefs_dialog.ui.h:298
 msgid "Training mode"
 msgstr "Mode latihan"
 
-#: qt/main_window.cpp:274
+#: qt/main_window.cpp:287
 msgid "Duplicate game"
 msgstr "Duplikasi permainan"
 
-#: qt/main_window.cpp:278 qt/new_game.cpp:100 qt/new_game.cpp:169
+#: qt/main_window.cpp:291 qt/new_game.cpp:100 qt/new_game.cpp:169
 #: qt/ui/new_game.ui.h:213
 msgid "Free game"
 msgstr "Permainan gratis"
 
-#: qt/main_window.cpp:287
+#: qt/main_window.cpp:300
 msgid "No dictionary"
 msgstr "Tidak ada kamus"
 
-#: qt/main_window.cpp:290
+#: qt/main_window.cpp:303
 msgid "Dictionary: %1"
 msgstr "Kamus: %1"
 
-#: qt/main_window.cpp:362
+#: qt/main_window.cpp:333
+msgid ""
+"No definitions site defined.\n"
+"Please define one in the preferences."
+msgstr ""
+
+#: qt/main_window.cpp:399
 msgid "Loading a dictionary will stop the current game."
 msgstr "Memuat kamus akan menghentikan permainan yang sekarang."
 
-#: qt/main_window.cpp:375
+#: qt/main_window.cpp:414
 msgid "Loaded dictionary '%1'"
 msgstr "Kamus yang termuat '%1'"
 
-#: qt/main_window.cpp:393
+#: qt/main_window.cpp:432
 msgid "Do you want to continue?"
 msgstr "Apakah Anda ingin lanjut?"
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "&New..."
 msgstr "&Permainan baru..."
 
-#: qt/main_window.cpp:427
+#: qt/main_window.cpp:466
 msgid "Ctrl+N"
 msgstr "Ctrl+N"
 
-#: qt/main_window.cpp:428
+#: qt/main_window.cpp:467
 msgid "Start a new game"
 msgstr "Mulai permainan baru"
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "&Load..."
 msgstr "&Load..."
 
-#: qt/main_window.cpp:430
+#: qt/main_window.cpp:469
 msgid "Ctrl+O"
 msgstr "Ctrl+O"
 
-#: qt/main_window.cpp:431
+#: qt/main_window.cpp:470
 msgid "Load an existing game"
 msgstr "Load permainan yang ada"
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "&Save as..."
 msgstr "&Simpan sebagai..."
 
-#: qt/main_window.cpp:432
+#: qt/main_window.cpp:471
 msgid "Ctrl+S"
 msgstr "Ctrl+S"
 
-#: qt/main_window.cpp:433
+#: qt/main_window.cpp:472
 msgid "Save the current game"
 msgstr "Simpan permainan yang sekarang"
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "&Print..."
 msgstr "&Print..."
 
-#: qt/main_window.cpp:435
+#: qt/main_window.cpp:474
 msgid "Ctrl+P"
 msgstr "Ctrl+P"
 
-#: qt/main_window.cpp:436
+#: qt/main_window.cpp:475
 msgid "Print the current game"
 msgstr "Cetak permainan yang sekarang"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "&Quit"
 msgstr "&Berhenti"
 
-#: qt/main_window.cpp:439
+#: qt/main_window.cpp:478
 msgid "Ctrl+Q"
 msgstr "Ctrl+Q"
 
-#: qt/main_window.cpp:440
+#: qt/main_window.cpp:479
 msgid "Quit Eliot"
 msgstr "Hentikan Eliot"
 
-#: qt/main_window.cpp:445 qt/main_window.cpp:491
+#: qt/main_window.cpp:484 qt/main_window.cpp:530
 msgid "&History"
 msgstr "&Sejarah"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "&First turn"
 msgstr "Giliran &pertama"
 
-#: qt/main_window.cpp:446
+#: qt/main_window.cpp:485
 msgid "Ctrl+Home"
 msgstr "Ctrl+Home"
 
-#: qt/main_window.cpp:447
+#: qt/main_window.cpp:486
 msgid "Go to the first turn of the game"
 msgstr "Pergi ke giliran pertama dari permainan"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "&Previous turn"
 msgstr "Giliran &sebelumnya"
 
-#: qt/main_window.cpp:449
+#: qt/main_window.cpp:488
 msgid "Ctrl+Left"
 msgstr "Ctrl+Left"
 
-#: qt/main_window.cpp:450
+#: qt/main_window.cpp:489
 msgid "Go to the previous turn of the game"
 msgstr "Pergi ke giliran sebelumnya dari permainan"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "&Next turn"
 msgstr "Giliran &berikutnya"
 
-#: qt/main_window.cpp:452
+#: qt/main_window.cpp:491
 msgid "Ctrl+Right"
 msgstr "Ctrl+Right"
 
-#: qt/main_window.cpp:453
+#: qt/main_window.cpp:492
 msgid "Go to the next turn of the game"
 msgstr "Pergi ke giliran berikutnya dari permainan"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "&Last turn"
 msgstr "Giliran &terakhir"
 
-#: qt/main_window.cpp:455
+#: qt/main_window.cpp:494
 msgid "Ctrl+End"
 msgstr "Ctrl+End"
 
-#: qt/main_window.cpp:456
+#: qt/main_window.cpp:495
 msgid "Go to the last turn of the game"
 msgstr "Pergi ke giliran terakhir dari permainan"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "&Replay turn"
 msgstr "&Mainkan lagi giliran"
 
-#: qt/main_window.cpp:458
+#: qt/main_window.cpp:497
 msgid "Ctrl+R"
 msgstr "Ctrl+R"
 
-#: qt/main_window.cpp:459
+#: qt/main_window.cpp:498
 msgid ""
 "Play the game from the current position, replacing what was really played"
 msgstr ""
 "Mainkan permainan dari posisi sekarang, untuk mengganti apa yang sebenarnya "
 "dimainkan sebelumnya"
 
-#: qt/main_window.cpp:471
+#: qt/main_window.cpp:510
 msgid "&Settings"
 msgstr "&Setting"
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "&Choose dictionary..."
 msgstr "&Pilih kamus..."
 
-#: qt/main_window.cpp:472
+#: qt/main_window.cpp:511
 msgid "Ctrl+C"
 msgstr "Ctrl+C"
 
-#: qt/main_window.cpp:473
+#: qt/main_window.cpp:512
 msgid "Select a new dictionary"
 msgstr "Pilih kamus baru"
 
-#: qt/main_window.cpp:474
+#: qt/main_window.cpp:513
 msgid "Create &new dictionary..."
 msgstr "Buat &kamus baru..."
 
-#: qt/main_window.cpp:475
+#: qt/main_window.cpp:514
 msgid ""
 "Start the wizard for creating a new dictionary from an existing word list"
 msgstr "Mulai wizard untuk membuat kamus baru dari daftar kata yang tersedia"
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "&Preferences..."
 msgstr "&Preferensi..."
 
-#: qt/main_window.cpp:477
+#: qt/main_window.cpp:516
 msgid "Ctrl+F"
 msgstr "Ctrl+F"
 
-#: qt/main_window.cpp:478
+#: qt/main_window.cpp:517
 msgid "Edit the preferences"
 msgstr "Edit preferensi"
 
-#: qt/main_window.cpp:483
+#: qt/main_window.cpp:522
 msgid "&Windows"
 msgstr "&Windows"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "&Toolbar"
 msgstr "&Toolbar"
 
-#: qt/main_window.cpp:484
+#: qt/main_window.cpp:523
 msgid "Ctrl+T"
 msgstr "Ctrl+T"
 
-#: qt/main_window.cpp:485
+#: qt/main_window.cpp:524
 msgid "Show/hide the toolbar"
 msgstr "Tampilkan/sembunyikan toolbar"
 
-#: qt/main_window.cpp:487
+#: qt/main_window.cpp:526
 msgid "&Bag"
 msgstr "&Tas"
 
-#: qt/main_window.cpp:487 qt/ui/main_window.ui.h:129
+#: qt/main_window.cpp:526 qt/ui/main_window.ui.h:129
 msgid "Ctrl+B"
 msgstr "Ctrl+B"
 
-#: qt/main_window.cpp:488 qt/ui/main_window.ui.h:127
+#: qt/main_window.cpp:527 qt/ui/main_window.ui.h:127
 msgid "Show/hide the remaining tiles in the bag"
 msgstr "Tampilkan/sembunyikan kotak yang tersisa di dalam tas"
 
-#: qt/main_window.cpp:489
+#: qt/main_window.cpp:528
 msgid "&External board"
 msgstr "&Papan eksternal"
 
-#: qt/main_window.cpp:489 qt/ui/main_window.ui.h:134
+#: qt/main_window.cpp:528 qt/ui/main_window.ui.h:134
 msgid "Ctrl+E"
 msgstr "Ctrl+E"
 
-#: qt/main_window.cpp:490 qt/ui/main_window.ui.h:132
+#: qt/main_window.cpp:529 qt/ui/main_window.ui.h:132
 msgid "Show/hide the external board"
 msgstr "Tampilkan/sembunyikan papan eksternal"
 
-#: qt/main_window.cpp:491 qt/ui/main_window.ui.h:139
+#: qt/main_window.cpp:530 qt/ui/main_window.ui.h:139
 msgid "Ctrl+H"
 msgstr "Ctrl+H"
 
-#: qt/main_window.cpp:492 qt/ui/main_window.ui.h:137
+#: qt/main_window.cpp:531 qt/ui/main_window.ui.h:137
 msgid "Show/hide the game history"
 msgstr "Tampilkan/sembunyikan sejarah permainan"
 
-#: qt/main_window.cpp:494
+#: qt/main_window.cpp:533
 msgid "&Dictionary tools"
 msgstr "&Tool kamus"
 
-#: qt/main_window.cpp:494 qt/ui/main_window.ui.h:144
+#: qt/main_window.cpp:533 qt/ui/main_window.ui.h:144
 msgid "Ctrl+D"
 msgstr "Ctrl+D"
 
-#: qt/main_window.cpp:495 qt/ui/main_window.ui.h:142
+#: qt/main_window.cpp:534 qt/ui/main_window.ui.h:142
 msgid "Show/hide the dictionary tools"
 msgstr "Tampilkan/sembunyikan tool kamus"
 
-#: qt/main_window.cpp:499
+#: qt/main_window.cpp:538
 msgid "Hel&p"
 msgstr "Hel&p"
 
-#: qt/main_window.cpp:500
+#: qt/main_window.cpp:539
 msgid "&About..."
 msgstr "&Mengenai..."
 
-#: qt/main_window.cpp:501 qt/main_window.cpp:884
+#: qt/main_window.cpp:540 qt/main_window.cpp:939
 msgid "About Eliot"
 msgstr "Mengenai Eliot"
 
-#: qt/main_window.cpp:510
+#: qt/main_window.cpp:551
 msgid ""
 "You have to select a dictionary (.dawg file) before starting a game. This "
 "can be done in the \"Settings\" menu.\n"
@@ -908,88 +915,89 @@
 "\n"
 "Anda dapat download file kamus di website Eliot"
 
-#: qt/main_window.cpp:526
+#: qt/main_window.cpp:567
 msgid "Starting a new game will stop the current one."
 msgstr "Memulai permainan baru akan menghentikan permainan yang sekarang."
 
-#: qt/main_window.cpp:545
+#: qt/main_window.cpp:582
 msgid "Game started"
 msgstr "Permainan dimulai"
 
-#: qt/main_window.cpp:553
+#: qt/main_window.cpp:594
 msgid "You have to select a dictionary first!"
 msgstr "Anda harus memilih kamus dulu"
 
-#: qt/main_window.cpp:557 utils/ncurses.cpp:639
+#: qt/main_window.cpp:598 utils/ncurses.cpp:640
 msgid "Load a game"
 msgstr "Load permainan"
 
-#: qt/main_window.cpp:568
+#: qt/main_window.cpp:609
 msgid "Error while loading the game:\n"
 msgstr "Error ketika load permainan:\n"
 
-#: qt/main_window.cpp:575 utils/ncurses.cpp:653
+#: qt/main_window.cpp:616 utils/ncurses.cpp:654
 #, c-format
 msgid "Game loaded"
 msgstr "Permainan sudah di-load"
 
-#: qt/main_window.cpp:585
+#: qt/main_window.cpp:626
 msgid "Save a game"
 msgstr "Simpan permainan"
 
-#: qt/main_window.cpp:591
+#: qt/main_window.cpp:632
 msgid "Game saved"
 msgstr "Permainan sudah disimpan"
 
-#: qt/main_window.cpp:595
+#: qt/main_window.cpp:636
 msgid "Error saving game: %1"
 msgstr "Error untuk menyimpan permainan: %1"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "N."
 msgstr "N."
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "RACK"
 msgstr "RAK"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "SOLUTION"
 msgstr "SOLUSI"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "REF"
 msgstr "REF"
 
-#: qt/main_window.cpp:630
+#: qt/main_window.cpp:674
 msgid "PTS"
 msgstr "PTS"
 
-#: qt/main_window.cpp:762 qt/prefs_dialog.cpp:153
+#: qt/main_window.cpp:815 qt/prefs_dialog.cpp:164
 msgid "Choose a dictionary"
 msgstr "Pilih sebuah kamus"
 
-#: qt/main_window.cpp:770
+#: qt/main_window.cpp:823
 msgid "Dictionary creation wizard"
 msgstr "Wizard untuk membuat kamus"
 
-#: qt/main_window.cpp:797 utils/ncurses.cpp:493 qt/ui/main_window.ui.h:125
+#: qt/main_window.cpp:850 utils/ncurses.cpp:494 qt/ui/main_window.ui.h:125
 msgid "Bag"
 msgstr "Tas"
 
-#: qt/main_window.cpp:833 qt/ui/main_window.ui.h:135
+#: qt/main_window.cpp:886 qt/ui/main_window.ui.h:135
 #: qt/ui/main_window.ui.h:146
 msgid "History"
 msgstr "Sejarah"
 
-#: qt/main_window.cpp:850 qt/ui/dic_tools_widget.ui.h:263
+#: qt/main_window.cpp:903 qt/ui/dic_tools_widget.ui.h:263
 #: qt/ui/main_window.ui.h:140
 msgid "Dictionary tools"
 msgstr "Tool kamus"
 
-#: qt/main_window.cpp:875
+#: qt/main_window.cpp:930
+#, fuzzy
 msgid ""
-"Copyright (C) 1999-2010 - Antoine Fraboulet & Olivier Teuliere\n"
+"Copyright (C) 1999-2011 - Antoine Fraboulet & Olivier Teuliere\n"
 "\n"
 "This program is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU General Public License as published by the Free "
@@ -1003,16 +1011,16 @@
 "seperti yang dipublikasikan oleh Free Software Foundation; baik versi 2 dari "
 "ijin tersebut, atau (dengan pilihan Anda) versi berikutnya."
 
-#: qt/main_window.cpp:881
+#: qt/main_window.cpp:936
 msgid "Web site: http://www.nongnu.org/eliot/en/";
 msgstr "Web site: http://www.nongnu.org/eliot/en/";
 
-#: qt/main_window.cpp:899 qt/main_window.cpp:912 qt/main_window.cpp:925
-#: qt/main_window.cpp:938
+#: qt/main_window.cpp:954 qt/main_window.cpp:967 qt/main_window.cpp:980
+#: qt/main_window.cpp:993
 msgid "Turn %1/%2"
 msgstr "Giliran %1/%2"
 
-#: qt/main_window.cpp:951
+#: qt/main_window.cpp:1006
 msgid ""
 "Replaying this turn will modify the game history by deleting the turns after "
 "the displayed one (i.e. turns \"in the future\")."
@@ -1021,7 +1029,7 @@
 "giliran-giliran sesudah giliran yang ditampilkan (i.e. giliran \"di masa "
 "yang akan datang\")."
 
-#: qt/main_window.cpp:961
+#: qt/main_window.cpp:1016
 msgid "Replaying from turn %1"
 msgstr "Mainkan lagi dari giliran %1"
 
@@ -1054,15 +1062,40 @@
 msgid "Duplicate"
 msgstr "Duplikasi"
 
-#: qt/player_widget.cpp:165
-msgid "Cannot pass turn (%1)"
+#: qt/player_widget.cpp:181
+#, fuzzy
+msgid ""
+"Cannot pass turn:\n"
+"%1"
 msgstr "Tidak dapat abaikan giliran (%1)"
 
-#: qt/player_widget.cpp:167
-msgid "Cannot change letters '%1' (%2)"
+#: qt/player_widget.cpp:183
+#, fuzzy
+msgid ""
+"Cannot change letters '%1':\n"
+"%2"
 msgstr "Tidak dapat mengganti huruf '%1' (%2)"
 
-#: qt/play_word_mediator.cpp:66
+#: qt/player_widget.cpp:185
+msgid ""
+"Changing letters is not allowed when there are less than 7 tiles left in the "
+"bag"
+msgstr ""
+
+#: qt/player_widget.cpp:187
+#, fuzzy
+msgid "The rack of the current player does not contain all the listed letters"
+msgstr "Kantongnya tidak mempunyai semua huruf ini"
+
+#: qt/player_widget.cpp:189
+msgid "The game is already finished!"
+msgstr ""
+
+#: qt/player_widget.cpp:193
+msgid "Unknown error"
+msgstr ""
+
+#: qt/play_word_mediator.cpp:67
 msgid ""
 "Enter the word to play (case-insensitive).\n"
 "A joker from the rack must be written in parentheses.\n"
@@ -1073,7 +1106,7 @@
 "Joker dari rak harus ditulis da dalam tanda kurung.\n"
 "Contoh : k(a)ata atau K(A)TA"
 
-#: qt/play_word_mediator.cpp:69
+#: qt/play_word_mediator.cpp:70
 msgid ""
 "Enter the coordinates of the word.\n"
 "Specify the row before the column for horizontal words,\n"
@@ -1085,78 +1118,90 @@
 "dan kolom sebelum baris untuk kata vertikal.\n"
 "Contoh : H4 atau 4H"
 
-#: qt/play_word_mediator.cpp:123
-msgid "Cannot play word: misplaced parentheses"
-msgstr "Tidak dapat mainkan kata: tanda kurung salah tempat"
-
-#: qt/play_word_mediator.cpp:149
-msgid "Cannot play '%1' at position '%2':\n"
+#: qt/play_word_mediator.cpp:138
+#, fuzzy
+msgid ""
+"Cannot play '%1' at position '%2':\n"
+"%3"
 msgstr "Tidak dapat mainkan '%1' di posisi '%2':\n"
 
-#: qt/play_word_mediator.cpp:154
+#: qt/play_word_mediator.cpp:143
 msgid "Some letters are not valid for the current dictionary"
 msgstr "Beberapa huruf tidak valid untuk kamus sekarang"
 
-#: qt/play_word_mediator.cpp:157
+#: qt/play_word_mediator.cpp:146
 msgid "Invalid coordinates"
 msgstr "Koordinasi tidak valid"
 
-#: qt/play_word_mediator.cpp:160
+#: qt/play_word_mediator.cpp:149
 msgid "The word does not exist"
 msgstr "Kata ini tidak ada"
 
-#: qt/play_word_mediator.cpp:163
+#: qt/play_word_mediator.cpp:152
 msgid "The rack doesn't contain the letters needed to play this word"
 msgstr ""
 "Rak ini tidak berisi huruf-huruf yang dibutuhkan untuk memainkan kata ini"
 
-#: qt/play_word_mediator.cpp:166
+#: qt/play_word_mediator.cpp:155
 msgid "The word is part of a longer one"
 msgstr "Kata ini adalah bagian dari kata yang lebih panjang"
 
-#: qt/play_word_mediator.cpp:169
+#: qt/play_word_mediator.cpp:158
 msgid "The word tries to replace an existing letter"
 msgstr "Kata ini berusaha untuk mengganti huruf yang ada"
 
-#: qt/play_word_mediator.cpp:172
+#: qt/play_word_mediator.cpp:161
 msgid "An orthogonal word is not valid"
 msgstr "Kata yang ortogonal tidak valid"
 
-#: qt/play_word_mediator.cpp:175
+#: qt/play_word_mediator.cpp:164
 msgid "The word is already present on the board at these coordinates"
 msgstr "Kata ini sudah ada di papan di koordinasi ini"
 
-#: qt/play_word_mediator.cpp:178
+#: qt/play_word_mediator.cpp:167
 msgid "A word cannot be isolated (not connected to the placed words)"
 msgstr ""
 "Kata ini tidak dapat diisolasikan (tidak terhubung ke kata-kata yang "
 "ditempatkan)"
 
-#: qt/play_word_mediator.cpp:181
+#: qt/play_word_mediator.cpp:170
 msgid "The first word of the game must be horizontal"
 msgstr "Kata pertama di permainan harus horisontal"
 
-#: qt/play_word_mediator.cpp:184
+#: qt/play_word_mediator.cpp:173
 msgid "The first word of the game must cover the H8 square"
 msgstr "Kata pertama di permainan harus ditempatkan di kotak H8"
 
-#: qt/play_word_mediator.cpp:187
+#: qt/play_word_mediator.cpp:176
 msgid "The word is going out of the board"
 msgstr "Kata-kata ini keluar dari papan"
 
-#: qt/play_word_mediator.cpp:190
-msgid "Incorrect or misplaced word (%1)"
-msgstr "Kata yang tidak benar atau salah tempat (%1)"
+#: qt/play_word_mediator.cpp:179 utils/ncurses.cpp:581
+msgid "Incorrect or misplaced word"
+msgstr "Kata yang tidak benar atau salah tempat"
+
+#: qt/play_word_mediator.cpp:203
+msgid "Cannot play word: misplaced parentheses"
+msgstr "Tidak dapat mainkan kata: tanda kurung salah tempat"
+
+#: qt/prefs_dialog.cpp:47
+msgid ""
+"URL of the site used to display word definitions.\n"
+"In the URL, %w will be replaced with the word in lower case. Examples:\n"
+"\thttp://fr.wiktionary.org/wiki/%w\n";
+"\thttp://en.wiktionary.org/wiki/%w\n";
+"\thttp://images.google.com/images?q=%w";
+msgstr ""
 
-#: qt/prefs_dialog.cpp:71 qt/prefs_dialog.cpp:86 qt/prefs_dialog.cpp:141
+#: qt/prefs_dialog.cpp:81 qt/prefs_dialog.cpp:96 qt/prefs_dialog.cpp:152
 msgid "%1 error"
 msgstr "%1 error"
 
-#: qt/prefs_dialog.cpp:72
+#: qt/prefs_dialog.cpp:82
 msgid "Cannot load preferences: %1"
 msgstr "Tidak dapat load preferensi: %1"
 
-#: qt/prefs_dialog.cpp:87 qt/prefs_dialog.cpp:142
+#: qt/prefs_dialog.cpp:97 qt/prefs_dialog.cpp:153
 msgid "Cannot save preferences: %1"
 msgstr "Tidak dapat simpan preferensi: %1"
 
@@ -1164,69 +1209,77 @@
 msgid "Score"
 msgstr "Nilai"
 
-#: qt/training_widget.cpp:251
+#: qt/training_widget.cpp:88
+msgid "Lock columns sizes"
+msgstr ""
+
+#: qt/training_widget.cpp:90
+msgid "Disable auto-resizing of the columns"
+msgstr ""
+
+#: qt/training_widget.cpp:295
 msgid "Warning: Cannot set the rack to '%1'"
 msgstr "Peringatan: Tidak dapat set rak ke '%1'"
 
-#: qt/training_widget.cpp:291
+#: qt/training_widget.cpp:335
 msgid "Searching with rack '%1'..."
 msgstr "Cari dengan rak '%1'..."
 
-#: qt/training_widget.cpp:293
+#: qt/training_widget.cpp:337
 msgid "Search done"
 msgstr "Pencarian sudah dilaksanakan"
 
-#: utils/ncurses.cpp:289
+#: utils/ncurses.cpp:290
 msgid "Scores"
 msgstr "Nilai-nilai"
 
-#: utils/ncurses.cpp:293 utils/ncurses.cpp:299
+#: utils/ncurses.cpp:294 utils/ncurses.cpp:300
 #, c-format
 msgid "%s: %d"
 msgstr "%s: %d"
 
-#: utils/ncurses.cpp:311
+#: utils/ncurses.cpp:312
 msgid "Racks"
 msgstr "Rak-rak"
 
-#: utils/ncurses.cpp:315 utils/ncurses.cpp:321
+#: utils/ncurses.cpp:316 utils/ncurses.cpp:322
 #, c-format
 msgid "%s: %ls"
 msgstr "%s: %ls"
 
-#: utils/ncurses.cpp:335 utils/ncurses.cpp:338
+#: utils/ncurses.cpp:336 utils/ncurses.cpp:339
 msgid "Search complete"
 msgstr "Pencarian sudah selesai"
 
-#: utils/ncurses.cpp:347 qt/ui/training_widget.ui.h:178
+#: utils/ncurses.cpp:348 qt/ui/training_widget.ui.h:204
 msgid "Search results"
 msgstr "Hasil pencarian"
 
-#: utils/ncurses.cpp:376
+#: utils/ncurses.cpp:377
 msgid "History of the game"
 msgstr "Sejarah permainan"
 
-#: utils/ncurses.cpp:382
+#: utils/ncurses.cpp:383
 msgid " N |      RACK      |    SOLUTION     | REF | PTS | P | BONUS"
 msgstr " N |      RAK       |     SOLUSI      | REF | PTS | P | BONUS"
 
-#: utils/ncurses.cpp:447
+#: utils/ncurses.cpp:448
 msgid "Help"
 msgstr "Help"
 
-#: utils/ncurses.cpp:451
+#: utils/ncurses.cpp:452
 msgid "[Global]"
 msgstr "[Global]"
 
-#: utils/ncurses.cpp:452
+#: utils/ncurses.cpp:453
 msgid "   h, H, ?          Show/hide help box"
 msgstr "   h, H, ?          Tampilkan/sembunyikan kotak help"
 
-#: utils/ncurses.cpp:453
+#: utils/ncurses.cpp:454
 msgid "   y, Y             Show/hide history of the game"
 msgstr "   y, Y             Tampilkan/sembunyikan sejarah permainan"
 
-#: utils/ncurses.cpp:454
+#: utils/ncurses.cpp:455
 msgid ""
 "   b, B             Show/hide contents of the bag (including letters of the "
 "racks)"
@@ -1234,94 +1287,94 @@
 "   b, B             Tampilkan/sembunyikan isi tas (termasuk huruf-huruf di "
 "rak)"
 
-#: utils/ncurses.cpp:455
+#: utils/ncurses.cpp:456
 msgid "   e, E             Show/hide dots on empty squares of the board"
 msgstr ""
 "   e, E             Tampilkan/sembunyikan titik-titik di kotak-kotak kosong "
 "di papan"
 
-#: utils/ncurses.cpp:456
+#: utils/ncurses.cpp:457
 msgid "   d, D             Check the existence of a word in the dictionary"
 msgstr "   d, D             Cek keberadaan kata di kamus"
 
-#: utils/ncurses.cpp:457
+#: utils/ncurses.cpp:458
 msgid "   j, J             Play a word"
 msgstr "   j, J             Mainkan kata"
 
-#: utils/ncurses.cpp:458
+#: utils/ncurses.cpp:459
 msgid "   s, S             Save the game"
 msgstr "   s, S             Simpan permainan"
 
-#: utils/ncurses.cpp:459
+#: utils/ncurses.cpp:460
 msgid "   l, L             Load a game"
 msgstr "   l, L             Load sebuah permainan"
 
-#: utils/ncurses.cpp:460
+#: utils/ncurses.cpp:461
 msgid "   q, Q             Quit"
 msgstr "   q, Q             Berhenti"
 
-#: utils/ncurses.cpp:463
+#: utils/ncurses.cpp:464
 msgid "[Training mode]"
 msgstr "[Mode training]"
 
-#: utils/ncurses.cpp:464
+#: utils/ncurses.cpp:465
 msgid "   *                Take a random rack"
 msgstr "   *                Ambil rak secara acak"
 
-#: utils/ncurses.cpp:465
+#: utils/ncurses.cpp:466
 msgid "   +                Complete the current rack randomly"
 msgstr "   +                Penuhi rak sekarang secara acak"
 
-#: utils/ncurses.cpp:466
+#: utils/ncurses.cpp:467
 msgid "   t, T             Set the rack manually"
 msgstr "   t, T             Set rak secara manual"
 
-#: utils/ncurses.cpp:467
+#: utils/ncurses.cpp:468
 msgid "   c, C             Compute all the possible words"
 msgstr "   c, C             Komputasi semua kata-kata yang mungkin"
 
-#: utils/ncurses.cpp:468
+#: utils/ncurses.cpp:469
 msgid "   r, R             Show/hide search results"
 msgstr "   r, R             Tampilkan/sembunyikan hasil pencarian"
 
-#: utils/ncurses.cpp:471
+#: utils/ncurses.cpp:472
 msgid "[Duplicate mode]"
 msgstr "[Mode duplikasi]"
 
-#: utils/ncurses.cpp:472
+#: utils/ncurses.cpp:473
 msgid "   n, N             Switch to the next human player"
 msgstr "   n, N             Ganti ke orang pemain berikutnya"
 
-#: utils/ncurses.cpp:475
+#: utils/ncurses.cpp:476
 msgid "[Free game mode]"
 msgstr "[Mode permainan gratis]"
 
-#: utils/ncurses.cpp:476
+#: utils/ncurses.cpp:477
 msgid "   p, P             Pass your turn (with or without changing letters)"
 msgstr ""
 "   p, P             Abaikan giliran Anda (dengan atau tanpa mengganti huruf)"
 
-#: utils/ncurses.cpp:479
+#: utils/ncurses.cpp:480
 msgid "[Miscellaneous]"
 msgstr "[Miscellaneous]"
 
-#: utils/ncurses.cpp:480
+#: utils/ncurses.cpp:481
 msgid "   <up>, <down>     Navigate in a box line by line"
 msgstr "   <up>, <down>     Navigasi di kotak baris per baris"
 
-#: utils/ncurses.cpp:481
+#: utils/ncurses.cpp:482
 msgid "   <pgup>, <pgdown> Navigate in a box page by page"
 msgstr "   <pgup>, <pgdown> Navigasi di kotak halaman per halaman"
 
-#: utils/ncurses.cpp:482
+#: utils/ncurses.cpp:483
 msgid "   Ctrl-l           Refresh the screen"
 msgstr "   Ctrl-l           Refresh layar"
 
-#: utils/ncurses.cpp:500
+#: utils/ncurses.cpp:501
 msgid " LETTER | POINTS | FREQUENCY | REMAINING"
 msgstr " HURUF | NILAI | FREKUENSI | SISA"
 
-#: utils/ncurses.cpp:556
+#: utils/ncurses.cpp:557
 msgid "Play a word"
 msgstr "Mainkan sebuah kata"
 
@@ -1329,95 +1382,91 @@
 #. "Coordinates:". For example:
 #. Pl. word   :
 #. Coordinates:
-#: utils/ncurses.cpp:557 utils/ncurses.cpp:565
+#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
 msgid "Played word:"
 msgstr "Kata yang telah dimainkan"
 
-#: utils/ncurses.cpp:558 utils/ncurses.cpp:566
+#: utils/ncurses.cpp:559 utils/ncurses.cpp:567
 msgid "Coordinates:"
 msgstr "Koordinasi:"
 
-#: utils/ncurses.cpp:580
-msgid "Incorrect or misplaced word"
-msgstr "Kata yang tidak benar atau salah tempat"
-
-#: utils/ncurses.cpp:590
+#: utils/ncurses.cpp:591
 msgid "Dictionary"
 msgstr "Kamus"
 
-#: utils/ncurses.cpp:591
+#: utils/ncurses.cpp:592
 msgid "Enter the word to check:"
 msgstr "Masukkan kata untuk dicek"
 
-#: utils/ncurses.cpp:600
+#: utils/ncurses.cpp:601
 #, c-format
 msgid "The word '%ls' exists"
 msgstr "Kata '%ls' ada"
 
-#: utils/ncurses.cpp:602
+#: utils/ncurses.cpp:603
 #, c-format
 msgid "The word '%ls' does not exist"
 msgstr "Kata '%ls' tidak ada"
 
-#: utils/ncurses.cpp:612
+#: utils/ncurses.cpp:613
 msgid "Save the game"
 msgstr "Simpan permainan"
 
-#: utils/ncurses.cpp:613 utils/ncurses.cpp:640
+#: utils/ncurses.cpp:614 utils/ncurses.cpp:641
 msgid "Enter the file name:"
 msgstr "Masukkan nama file:"
 
-#: utils/ncurses.cpp:623
+#: utils/ncurses.cpp:624
 #, c-format
 msgid "Game saved in '%ls'"
 msgstr "Permainan disimpan di '%ls'"
 
-#: utils/ncurses.cpp:628
+#: utils/ncurses.cpp:629
 #, c-format
 msgid "Error saving game %s:"
 msgstr "Error untuk menyimpan permainan %s:"
 
-#: utils/ncurses.cpp:658
+#: utils/ncurses.cpp:659
 msgid "Unable to load game: "
 msgstr "Tidak bisa load permainan:"
 
-#: utils/ncurses.cpp:668
+#: utils/ncurses.cpp:669
 msgid "Pass your turn"
 msgstr "Abaikan giliran Anda"
 
-#: utils/ncurses.cpp:669
+#: utils/ncurses.cpp:670
 msgid "Enter the letters to change:"
 msgstr "Masukkan huruf untuk diganti:"
 
-#: utils/ncurses.cpp:678
+#: utils/ncurses.cpp:679
 msgid "Cannot pass the turn"
 msgstr "Tidak bisa abaikan giliran"
 
-#: utils/ncurses.cpp:688
+#: utils/ncurses.cpp:689
 msgid "Set rack"
 msgstr "Set rak"
 
-#: utils/ncurses.cpp:689
+#: utils/ncurses.cpp:690
 msgid "Enter the new letters:"
 msgstr "Masukkan huruf baru:"
 
-#: utils/ncurses.cpp:701
+#: utils/ncurses.cpp:702
 msgid "Cannot take these letters from the bag:"
 msgstr "Tidak bisa ambil huruf-huruf ini dari tas:"
 
-#: utils/ncurses.cpp:1112 qt/ui/prefs_dialog.ui.h:272
+#: utils/ncurses.cpp:1113 qt/ui/prefs_dialog.ui.h:293
 msgid "Free game mode"
 msgstr "Mode permainan gratis"
 
-#: utils/ncurses.cpp:1114 qt/ui/prefs_dialog.ui.h:259
+#: utils/ncurses.cpp:1115 qt/ui/prefs_dialog.ui.h:280
 msgid "Duplicate mode"
 msgstr "Mode duplikasi"
 
-#: utils/ncurses.cpp:1117 qt/ui/new_game.ui.h:220
+#: utils/ncurses.cpp:1118 qt/ui/new_game.ui.h:220
 msgid "Joker game"
 msgstr "Permainan joker"
 
-#: utils/ncurses.cpp:1118
+#: utils/ncurses.cpp:1119
 msgid "[h for help]"
 msgstr "[h untuk help]"
 
@@ -1477,7 +1526,7 @@
 msgstr "Load kamus ini di Eliot"
 
 #: qt/ui/dic_wizard_info_page.ui.h:143 qt/ui/dic_wizard_info_page.ui.h:144
-#: qt/ui/prefs_dialog.ui.h:246
+#: qt/ui/prefs_dialog.ui.h:266
 msgid "Browse..."
 msgstr "Browse..."
 
@@ -1578,36 +1627,28 @@
 msgid "Remove player"
 msgstr "Menyingkirkan pemain"
 
-#: qt/ui/player_widget.ui.h:136
+#: qt/ui/player_widget.ui.h:161
 msgid "Shuffle"
 msgstr "Mengacak"
 
-#: qt/ui/player_widget.ui.h:137
+#: qt/ui/player_widget.ui.h:162
 msgid "Change letters:"
 msgstr "Ganti huruf-huruf:"
 
-#: qt/ui/player_widget.ui.h:139
-msgid "Enter the letters you want to change"
-msgstr "Masukkan huruf-huruf yang Anda ingin ganti"
-
-#: qt/ui/player_widget.ui.h:141
-msgid "Change"
-msgstr "Ganti"
-
-#: qt/ui/player_widget.ui.h:142
+#: qt/ui/player_widget.ui.h:163
 msgid "Pass"
 msgstr "Abaikan"
 
-#: qt/ui/player_widget.ui.h:143 qt/ui/training_widget.ui.h:166
+#: qt/ui/player_widget.ui.h:164 qt/ui/training_widget.ui.h:191
 msgid "Ref.:"
 msgstr "Ref.:"
 
-#: qt/ui/player_widget.ui.h:144 qt/ui/training_widget.ui.h:159
+#: qt/ui/player_widget.ui.h:165 qt/ui/training_widget.ui.h:184
 msgid "Play a word:"
 msgstr "Mainkan sebuah kata:"
 
-#: qt/ui/player_widget.ui.h:146 qt/ui/player_widget.ui.h:149
-#: qt/ui/training_widget.ui.h:161 qt/ui/training_widget.ui.h:164
+#: qt/ui/player_widget.ui.h:167 qt/ui/player_widget.ui.h:170
+#: qt/ui/training_widget.ui.h:186 qt/ui/training_widget.ui.h:189
 msgid ""
 "Enter the word to play (case-insensitive). A joker from the rack must be "
 "written in parentheses. E.g.: w(o)rd or W(O)RD"
@@ -1616,12 +1657,12 @@
 "Sebuah joker dari rak harus ditulis di dalam tanda kurung. Contoh: k(a)ta "
 "atau K(A)TA"
 
-#: qt/ui/player_widget.ui.h:151 qt/ui/training_widget.ui.h:173
+#: qt/ui/player_widget.ui.h:172 qt/ui/training_widget.ui.h:199
 msgid "Play"
 msgstr "Mainkan"
 
-#: qt/ui/player_widget.ui.h:153 qt/ui/player_widget.ui.h:156
-#: qt/ui/training_widget.ui.h:168 qt/ui/training_widget.ui.h:171
+#: qt/ui/player_widget.ui.h:174 qt/ui/player_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:193 qt/ui/training_widget.ui.h:196
 msgid ""
 "Enter the coordinates of the word. Specify the row before the column for "
 "horizontal words, and the column before the row for vertical words. E.g.: H4 "
@@ -1631,35 +1672,52 @@
 "untuk kata horisontal, dan kolomnya sebelum barisnya untuk kata vertikal. "
 "Contoh: H4 atau 4H"
 
-#: qt/ui/prefs_dialog.ui.h:237
+#: qt/ui/player_widget.ui.h:179 qt/ui/training_widget.ui.h:198
+#, fuzzy
+msgid "Points:"
+msgstr "Poin"
+
+#: qt/ui/player_widget.ui.h:181
+msgid "Enter the letters you want to change"
+msgstr "Masukkan huruf-huruf yang Anda ingin ganti"
+
+#: qt/ui/player_widget.ui.h:183
+msgid "Change"
+msgstr "Ganti"
+
+#: qt/ui/prefs_dialog.ui.h:257
 msgid "Preferences"
 msgstr "Preferensi"
 
-#: qt/ui/prefs_dialog.ui.h:238
+#: qt/ui/prefs_dialog.ui.h:258
 msgid "Interface"
 msgstr "Interface"
 
-#: qt/ui/prefs_dialog.ui.h:239
+#: qt/ui/prefs_dialog.ui.h:259
 msgid "Dictionary path:"
 msgstr "Direktori kamus:"
 
-#: qt/ui/prefs_dialog.ui.h:241
+#: qt/ui/prefs_dialog.ui.h:261
 msgid "Enter the dictionary path (mandatory to start a game)"
 msgstr "Masukkan direktori kamus (diharuskan untuk memulai permainan)"
 
-#: qt/ui/prefs_dialog.ui.h:244
+#: qt/ui/prefs_dialog.ui.h:264
 msgid "Open a browser window to choose the dictionary"
 msgstr "Buka window browser untuk memilih kamus"
 
-#: qt/ui/prefs_dialog.ui.h:248
+#: qt/ui/prefs_dialog.ui.h:267
+msgid "Definitions site:"
+msgstr ""
+
+#: qt/ui/prefs_dialog.ui.h:269
 msgid "Show/hide the tiles points on the board."
 msgstr "Tampilkan/sembunyikan nilai kotak di papan."
 
-#: qt/ui/prefs_dialog.ui.h:250
+#: qt/ui/prefs_dialog.ui.h:271
 msgid "Display tiles points"
 msgstr "Tampilkan nilai kotak"
 
-#: qt/ui/prefs_dialog.ui.h:252
+#: qt/ui/prefs_dialog.ui.h:273
 msgid ""
 "If checked, the game and player histories will display the rack and the "
 "corresponding solution on the same line"
@@ -1667,11 +1725,11 @@
 "Apabila ditandai, sejarah permainan dan pemain akan menampilkan rak dan "
 "solusi yang berhubungan di baris yang sama"
 
-#: qt/ui/prefs_dialog.ui.h:254
+#: qt/ui/prefs_dialog.ui.h:275
 msgid "Align the rack and the solution in history"
 msgstr "Gabungkan rak dan solusi di sejarah"
 
-#: qt/ui/prefs_dialog.ui.h:256
+#: qt/ui/prefs_dialog.ui.h:277
 msgid ""
 "If checked, a confirmation will be requested before replaying the game from "
 "a given turn. If unchecked, the action is performed without confirmation."
@@ -1680,11 +1738,11 @@
 "dari giliran yang diberi. Apabila tidak ditandai, aksi akan dilaksanakan "
 "tanpa konfirmasi."
 
-#: qt/ui/prefs_dialog.ui.h:258
+#: qt/ui/prefs_dialog.ui.h:279
 msgid "Warn before replaying a turn"
 msgstr "Peringati sebelum memainkan lagi giliran"
 
-#: qt/ui/prefs_dialog.ui.h:261 qt/ui/prefs_dialog.ui.h:274
+#: qt/ui/prefs_dialog.ui.h:282 qt/ui/prefs_dialog.ui.h:295
 msgid ""
 "If checked, playing an invalid or misplaced word will not be possible. If "
 "unchecked, you will get 0 point and lose your turn"
@@ -1693,27 +1751,27 @@
 "akan mungkin. Apabila tidak ditandai, Anda akan mendapat nilai 0 dan "
 "kehilangan giliran Anda"
 
-#: qt/ui/prefs_dialog.ui.h:263 qt/ui/prefs_dialog.ui.h:276
+#: qt/ui/prefs_dialog.ui.h:284 qt/ui/prefs_dialog.ui.h:297
 msgid "Refuse to play invalid moves"
 msgstr "Menolak untuk memainkan langkah yang tidak valid"
 
-#: qt/ui/prefs_dialog.ui.h:264
+#: qt/ui/prefs_dialog.ui.h:285
 msgid "Min. players for a solo:"
 msgstr "Minimum pemain untuk bermain solo:"
 
-#: qt/ui/prefs_dialog.ui.h:265
+#: qt/ui/prefs_dialog.ui.h:286
 msgid "Solo value:"
 msgstr "Nilai tunggal:"
 
-#: qt/ui/prefs_dialog.ui.h:267
+#: qt/ui/prefs_dialog.ui.h:288
 msgid "Value of the solo bonus. Set it to 0 if you don't want solo bonus"
 msgstr "Nilai dari bonus solo. Set ke 0 apabila Anda tidak ingin bonus solo"
 
-#: qt/ui/prefs_dialog.ui.h:270
+#: qt/ui/prefs_dialog.ui.h:291
 msgid "Minimum number of players needed to take into account the solo bonus"
 msgstr "Jumlah pemain minimum yang dibutuhkan untuk memperhitungkan bonus solo"
 
-#: qt/ui/prefs_dialog.ui.h:279
+#: qt/ui/prefs_dialog.ui.h:300
 msgid ""
 "If checked, any change to the player rack in training mode will update the "
 "'Plus 1' tab of the 'Dictionary tools' window"
@@ -1721,15 +1779,15 @@
 "Apabila ditandai, perubahan apa pun di rak pemain di mode latihan akan "
 "merubah tab 'Plus 1' dari window 'Tool kamus'"
 
-#: qt/ui/prefs_dialog.ui.h:281
+#: qt/ui/prefs_dialog.ui.h:302
 msgid "Copy rack to the 'Plus 1' dictionary tool"
 msgstr "Kutip rak ke tool kamus 'Plus 1'"
 
-#: qt/ui/prefs_dialog.ui.h:282
+#: qt/ui/prefs_dialog.ui.h:303
 msgid "Search results limit:"
 msgstr "Batas hasil pencarian:"
 
-#: qt/ui/prefs_dialog.ui.h:284
+#: qt/ui/prefs_dialog.ui.h:305
 msgid ""
 "Maximum number of results returned by a search. The returned results will "
 "always be the best ones. Use 0 to disable the limit (warning: searches "
@@ -1739,22 +1797,25 @@
 "terbaik. Gunakan 0 untuk melumpuhkan batas (peringatan: pencarian yang "
 "mempunyai banyak hasil bisa menjadi sangat lambat di kasus ini!)."
 
-#: qt/ui/training_widget.ui.h:174
+#: qt/ui/training_widget.ui.h:200
 msgid "New rack"
 msgstr "Rak baru"
 
-#: qt/ui/training_widget.ui.h:175
+#: qt/ui/training_widget.ui.h:201
 msgid "Complement"
 msgstr "Lengkapi"
 
-#: qt/ui/training_widget.ui.h:176
+#: qt/ui/training_widget.ui.h:202
 msgid "Search"
 msgstr "Cari"
 
-#: qt/ui/training_widget.ui.h:177
+#: qt/ui/training_widget.ui.h:203
 msgid "Play selected"
 msgstr "Mainkan yang dipilih"
 
+#~ msgid "Incorrect or misplaced word (%1)"
+#~ msgstr "Kata yang tidak benar atau salah tempat (%1)"
+
 #~ msgid "usage: %s [-a|-h|-l|-x] dictionary\n"
 #~ msgstr "penggunaan: %s [-a|-h|-l|-x] kamus\n"
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]