changeset 862:ca7a2bf4fb40

i18n: updated the translation files
author souliane <souliane@mailoo.org>
date Mon, 24 Feb 2014 19:21:07 +0100
parents 4d091738275c
children 97ee7594c788
files README4TRANSLATORS i18n/fr.po i18n/fr/LC_MESSAGES/sat.mo i18n/sat.po
diffstat 4 files changed, 2278 insertions(+), 1731 deletions(-) [+]
line wrap: on
line diff
--- a/README4TRANSLATORS	Mon Feb 24 12:57:56 2014 +0100
+++ b/README4TRANSLATORS	Mon Feb 24 19:21:07 2014 +0100
@@ -4,7 +4,7 @@
 
 To translate a file, you can use a dedicated tool as the excellent gtranslator:
 
-- use the template .po file (e.g. sat.po) and name it to your translated language (e.g. fr.po for french); you can preferably generate a new template directly from the source with the following command (eventually adapted, the following command use zsh's globbing syntax), launched from root sat dir:
+- use the template .po file (e.g. sat.po) and name it to your translated language (e.g. fr.po for french); you can preferably generate a new template directly from the source with the following command (eventually adapted, the following command use zsh's globbing syntax), launched from root sat dir after having emptied the build directory:
 > xgettext -L python -d sat --keyword=D_ -p i18n  **/*(.py|.tac|primitivus|wix)(.) **/jp(.)
 
 - then to start a new translation, copy i18n/sat.po to your language file, e.g. cd i18n; cp sat.po fr.po
@@ -12,11 +12,9 @@
 - use the choosed tool (a simple text editor can be sufficient) to edit the file: e.g. gtranslator fr.po
 
 - once you translation is finished (or partly finished: the english sentences are used if there is no translation), you can test them by generating a binary and moving it to the right place with the following commands:
-> msgfmt -o sat.mo fr
+> msgfmt -o sat.mo fr.po
 > mv sat.mo i18n/fr/LC_MESSAGES/sat.mo
 
-/!\ Note that you don't need to precise the file extention mith the msgfmt command, here fr mean "use fr.po file"
-
 - if you have already a translation, and want to update it (new translations to do, some sentences have changed), you can use the following commands:
 > msgmerge fr.po sat.po > fr2.po
 and if everything is allright
@@ -26,5 +24,5 @@
 
 You can check the fr.po file to see how it's done and to know what to put while you set up you translation tool.
 
-Trank you again for you help, don't forget to give me your name and contact email so I can credit you, and don't hesitate to contact me if you need help (goffi@goffi.org, or the sat XMPP room at sat@chat.jabberfr.org).
+Thank you again for you help, don't forget to give me your name and contact email so I can credit you, and don't hesitate to contact me if you need help (goffi@goffi.org, or the sat XMPP room at sat@chat.jabberfr.org).
 
--- a/i18n/fr.po	Mon Feb 24 12:57:56 2014 +0100
+++ b/i18n/fr.po	Mon Feb 24 19:21:07 2014 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: 0.0.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-12-29 16:04+0100\n"
+"POT-Creation-Date: 2014-02-24 19:12+0100\n"
 "PO-Revision-Date: 2010-03-05 19:24+1100\n"
 "Last-Translator: Goffi <goffi@goffi.org>\n"
 "Language-Team: French <goffi@goffi.org>\n"
@@ -48,7 +48,7 @@
 msgid "Away"
 msgstr "Absent"
 
-#: frontends/src/jp/jp:63
+#: frontends/src/jp/base.py:46
 msgid ""
 "ProgressBar not available, please download it at http://pypi.python.org/pypi/"
 "progressbar"
@@ -56,7 +56,7 @@
 "ProgressBar n'est pas disponible, veuillez le télécharger à http://pypi."
 "python.org/pypi/progressbar"
 
-#: frontends/src/jp/jp:64
+#: frontends/src/jp/base.py:47
 msgid ""
 "Progress bar deactivated\n"
 "--\n"
@@ -64,174 +64,189 @@
 "Barre de progression désactivée\n"
 "--\n"
 
-#: frontends/src/jp/jp:75 frontends/src/quick_frontend/quick_app.py:43
+#: frontends/src/jp/base.py:79 frontends/src/quick_frontend/quick_app.py:43
 msgid "Can't connect to SàT backend, are you sure it's launched ?"
 msgstr ""
 "Impossible de se connecter au démon SàT, êtes vous sûr qu'il est lancé ?"
 
-#: frontends/src/jp/jp:78 frontends/src/quick_frontend/quick_app.py:46
+#: frontends/src/jp/base.py:82 frontends/src/quick_frontend/quick_app.py:46
 #, fuzzy
 msgid "Can't init bridge"
 msgstr "Construction du jeu de Tarot"
 
-#: frontends/src/jp/jp:84
-msgid ""
-"\n"
-"        %prog [options] [FILE1 FILE2 ...] JID\n"
-"        %prog -w [options] [JID1 JID2 ...]\n"
-"\n"
-"        %prog --help for options list\n"
-"        "
-msgstr ""
-"\n"
-"        %prog [options] [FICHIER1 FICHIER2 ...] JID\n"
-"        %prog -w [options] [JID1 JID2 ...]\n"
-"\n"
-"        %prog --help pour la liste des options\n"
-"        "
-
-#: frontends/src/jp/jp:94
+#: frontends/src/jp/base.py:90
+msgid "Available commands"
+msgstr ""
+
+#: frontends/src/jp/base.py:112
 #, python-format
-msgid "Use PROFILE profile key (default: %default)"
-msgstr ""
-
-#: frontends/src/jp/jp:96
-msgid "Make a bzip2 tarball"
-msgstr "Fait un fichier compressé bzip2"
-
-#: frontends/src/jp/jp:98
-msgid "Wait for a file to be sent by a contact"
-msgstr "Attend qu'un fichier soit envoyé par un contact"
-
-#: frontends/src/jp/jp:100
-msgid "Accept multiple files (you'll have to stop manually)"
-msgstr ""
-"Accepte plusieurs fichiers (vous devrez arrêter le programme à la main)"
-
-#: frontends/src/jp/jp:102
-msgid "Force overwritting of existing files"
-msgstr "Force le remplacement des fichiers existants"
-
-#: frontends/src/jp/jp:104
+msgid "Use PROFILE profile key (default: %(default)s)"
+msgstr ""
+
+#: frontends/src/jp/base.py:113
+msgid "Connect the profile before doing anything else"
+msgstr ""
+
+#: frontends/src/jp/base.py:117
 msgid "Show progress bar"
 msgstr "Affiche la barre de progression"
 
-#: frontends/src/jp/jp:106
-msgid ""
-"Separate xmpp messages: send one message per line instead of one message "
-"alone."
-msgstr ""
-"Sépare les messages xmpp: envoi un message par ligne plutôt qu'un seul "
-"message global."
-
-#: frontends/src/jp/jp:108
-msgid "Add a new line at the beginning of the input (usefull for ascii art ;))"
-msgstr ""
-"Ajoute un saut de ligne au début de l'entrée (utile pour l'art ascii ;))"
-
-#: frontends/src/jp/jp:110
-msgid "List available profiles"
-msgstr ""
-
-#: frontends/src/jp/jp:112
-msgid "Create a profile (args: profile_name jid password)"
-msgstr ""
-
-#: frontends/src/jp/jp:114
-msgid "Get profile informations (arg: profile_name)"
-msgstr ""
-
-#: frontends/src/jp/jp:116
-#, fuzzy
-msgid "Remove profile"
-msgstr "Vous essayer de connecter un profile qui n'existe pas"
-
-#: frontends/src/jp/jp:118
-msgid "Connect the profile before doing anything else"
-msgstr ""
-
-#: frontends/src/jp/jp:120
-msgid "Wait for the reception of a pipe stream"
-msgstr ""
-
-#: frontends/src/jp/jp:122
-msgid "Pipe a stream out "
-msgstr ""
-
-#: frontends/src/jp/jp:137
-msgid "You must specify the destination JID (Jabber ID)"
-msgstr "Vous devez préciser le JID (Jabber ID) de destination"
-
-#: frontends/src/jp/jp:149
-msgid "Option progress is not available, deactivated."
-msgstr ""
-"L'option « progress » (barre de progression) n'est pas disponible, elle est "
-"désactivée."
-
-#: frontends/src/jp/jp:196
+#: frontends/src/jp/base.py:145
+#, python-format
+msgid "Invalid module %s"
+msgstr ""
+
+#: frontends/src/jp/base.py:161
+msgid "User interruption: good bye"
+msgstr "Interrompu par l'utilisateur: au revoir"
+
+#: frontends/src/jp/base.py:203
+#, python-format
+msgid "%s is not a valid JID !"
+msgstr "%s n'est pas un JID valide !"
+
+#: frontends/src/jp/base.py:226
 #, fuzzy
 msgid "Can't connect profile"
 msgstr "Vous essayer de connecter un profile qui n'existe pas"
 
-#: frontends/src/jp/jp:202 frontends/src/quick_frontend/quick_app.py:128
-#, fuzzy
-msgid "The profile asked doesn't exist"
+#: frontends/src/jp/base.py:232
+#, fuzzy, python-format
+msgid "The profile [%s] doesn't exist"
 msgstr "Le fichier [%s] n'existe pas !"
 
-#: frontends/src/jp/jp:209
+#: frontends/src/jp/base.py:241
 #, fuzzy, python-format
 msgid ""
 "Profile [%(profile)s] is not connected, please connect it before using jp, "
 "or use --connect option"
 msgstr "SAT n'est pas connecté, veuillez le connecter avant d'utiliser jp"
 
-#: frontends/src/jp/jp:237
+#: frontends/src/jp/base.py:269
+msgid "Progress: "
+msgstr "Progression: "
+
+#: frontends/src/jp/cmd_adhoc.py:34
+#, fuzzy
+msgid "Remote control a software"
+msgstr "Supp&rimer un contact"
+
+#: frontends/src/jp/cmd_adhoc.py:37
+msgid "Software name"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:38
+msgid "Jids allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:39
+msgid "Groups allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:40
+msgid "Groups that are *NOT* allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:41
+msgid "Jids that are *NOT* allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:42
+msgid "Loop on the commands"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:56
+#, fuzzy, python-format
+msgid "Bus name found: [%s]"
+msgstr "Fonctionnalité trouvée: %s"
+
+#: frontends/src/jp/cmd_adhoc.py:59
 #, python-format
-msgid "%s is not a valid JID !"
-msgstr "%s n'est pas un JID valide !"
-
-#: frontends/src/jp/jp:285
-#, python-format
-msgid "File [%s] doesn't exist !"
+msgid "Command found: (path:%(path)s, iface: %(iface)s) [%(command)s]"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:68
+msgid "Ad-hoc commands"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:33
+#, fuzzy
+msgid "Send a file to a contact"
+msgstr "Attend qu'un fichier soit envoyé par un contact"
+
+#: frontends/src/jp/cmd_file.py:36
+msgid "A list of file"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:37 frontends/src/jp/cmd_message.py:36
+#: frontends/src/jp/cmd_pipe.py:37
+msgid "The destination jid"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:38
+msgid "Make a bzip2 tarball"
+msgstr "Fait un fichier compressé bzip2"
+
+#: frontends/src/jp/cmd_file.py:50
+#, fuzzy, python-format
+msgid "file [%s] doesn't exist !"
 msgstr "Le fichier [%s] n'existe pas !"
 
-#: frontends/src/jp/jp:288
+#: frontends/src/jp/cmd_file.py:53
 #, python-format
 msgid "[%s] is a dir ! Please send files inside or use compression"
 msgstr ""
 "[%s] est un répertoire ! Veuillez envoyer les fichiers qu'il contient ou "
 "utiliser la compression."
 
-#: frontends/src/jp/jp:295
-#, python-format
-msgid "tmp file (%s) already exists ! Please remove it"
+#: frontends/src/jp/cmd_file.py:61
+#, fuzzy, python-format
+msgid "tmp file_ (%s) already exists ! Please remove it"
 msgstr "le fichier temporaire (%s) existe déjà ! Veuillez le supprimer"
 
-#: frontends/src/jp/jp:297
+#: frontends/src/jp/cmd_file.py:63
 msgid "bz2 is an experimental option at an early dev stage, use with caution"
 msgstr ""
 "bz2 est une option expérimentale à un stade de développement peu avancé, "
 "utilisez-là avec prudence"
 
-#: frontends/src/jp/jp:299
+#: frontends/src/jp/cmd_file.py:65
 msgid "Starting compression, please wait..."
 msgstr "Lancement de la compression, veuillez patienter..."
 
-#: frontends/src/jp/jp:303
+#: frontends/src/jp/cmd_file.py:69
 #, python-format
 msgid "Adding %s"
 msgstr "Ajout de %s"
 
-#: frontends/src/jp/jp:306
-msgid "OK !"
-msgstr "C'est parti !"
-
-#: frontends/src/jp/jp:342
+#: frontends/src/jp/cmd_file.py:72
+#, fuzzy
+msgid "Done !"
+msgstr "N° de Tél:"
+
+#: frontends/src/jp/cmd_file.py:85
+msgid "Wait for a file to be sent by a contact"
+msgstr "Attend qu'un fichier soit envoyé par un contact"
+
+#: frontends/src/jp/cmd_file.py:92 frontends/src/jp/cmd_pipe.py:68
+msgid "Jids accepted (none means \"accept everything\")"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:93
+msgid "Accept multiple files (you'll have to stop manually)"
+msgstr ""
+"Accepte plusieurs fichiers (vous devrez arrêter le programme à la main)"
+
+#: frontends/src/jp/cmd_file.py:94
+msgid "Force overwritting of existing files"
+msgstr "Force le remplacement des fichiers existants"
+
+#: frontends/src/jp/cmd_file.py:103
 #, python-format
 msgid "Accepted file [%(filename)s] from %(sender)s"
 msgstr "Le fichier [%(filename)s] de %(sender)s a été accepté"
 
-#: frontends/src/jp/jp:346
+#: frontends/src/jp/cmd_file.py:107
 #, python-format
 msgid ""
 "Refused file [%(filename)s] from %(sender)s: a file with the same name "
@@ -240,17 +255,83 @@
 "Le fichier [%(filename)s] de %(sender)s a été refusé: un fichier avec le "
 "même nom existe déjà"
 
-#: frontends/src/jp/jp:371
-msgid "FIXME: actionResult not implemented"
-msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
-
-#: frontends/src/jp/jp:391
-msgid "Progress: "
-msgstr "Progression: "
-
-#: frontends/src/jp/jp:418
-msgid "User interruption: good bye"
-msgstr "Interrompu par l'utilisateur: au revoir"
+#: frontends/src/jp/cmd_file.py:125
+msgid "File sending/receiving"
+msgstr ""
+
+#: frontends/src/jp/cmd_message.py:31
+#, fuzzy
+msgid "Send a message to a contact"
+msgstr "Attend qu'un fichier soit envoyé par un contact"
+
+#: frontends/src/jp/cmd_message.py:34
+msgid ""
+"Separate xmpp messages: send one message per line instead of one message "
+"alone."
+msgstr ""
+"Sépare les messages xmpp: envoi un message par ligne plutôt qu'un seul "
+"message global."
+
+#: frontends/src/jp/cmd_message.py:35
+msgid "Add a new line at the beginning of the input (usefull for ascii art ;))"
+msgstr ""
+"Ajoute un saut de ligne au début de l'entrée (utile pour l'art ascii ;))"
+
+#: frontends/src/jp/cmd_pipe.py:34
+msgid "Pipe a stream out"
+msgstr ""
+
+#: frontends/src/jp/cmd_pipe.py:61
+msgid "Wait for the reception of a pipe stream"
+msgstr ""
+
+#: frontends/src/jp/cmd_pipe.py:87
+msgid "Stream piping through XMPP"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:30
+#, fuzzy
+msgid "The name of the profile"
+msgstr "Vous essayer de connecter un profile qui n'existe pas"
+
+#: frontends/src/jp/cmd_profile.py:35
+#, fuzzy
+msgid "Delete a profile"
+msgstr "Vous essayer de connecter un profile qui n'existe pas"
+
+#: frontends/src/jp/cmd_profile.py:50
+#, fuzzy
+msgid "Get informations about a profile"
+msgstr "Demande de contacts pour un profile inexistant"
+
+#: frontends/src/jp/cmd_profile.py:76
+#, fuzzy
+msgid "List profiles"
+msgstr "Vous essayer de connecter un profile qui n'existe pas"
+
+#: frontends/src/jp/cmd_profile.py:89
+#, fuzzy
+msgid "Create a new profile"
+msgstr "Veuillez entrer le nom du nouveau profile"
+
+#: frontends/src/jp/cmd_profile.py:92
+#, fuzzy
+msgid "the name of the profile"
+msgstr "Vous essayer de connecter un profile qui n'existe pas"
+
+#: frontends/src/jp/cmd_profile.py:93
+#, fuzzy
+msgid "the jid of the profile"
+msgstr "Vous essayer de connecter un profile qui n'existe pas"
+
+#: frontends/src/jp/cmd_profile.py:94
+msgid "the password of the profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:115
+#, fuzzy
+msgid "Profile commands"
+msgstr "Mauvais nom de profile"
 
 #: frontends/src/primitivus/card_game.py:266
 #: frontends/src/wix/card_game.py:103
@@ -282,203 +363,168 @@
 msgid "Do you put these cards in chien ?"
 msgstr "Voulez-vous placer ces cartes au chien ?"
 
-#: frontends/src/primitivus/chat.py:133
+#: frontends/src/primitivus/chat.py:134
 msgid "Game"
 msgstr "Jeu"
 
-#: frontends/src/primitivus/chat.py:136
+#: frontends/src/primitivus/chat.py:135
+msgid "MUC"
+msgstr ""
+
+#: frontends/src/primitivus/chat.py:137
+#, fuzzy
+msgid "Configure room"
+msgstr " Configurer l'application"
+
+#: frontends/src/primitivus/chat.py:139
 #, fuzzy
 msgid "Action"
 msgstr "Connexion..."
 
-#: frontends/src/primitivus/chat.py:136
+#: frontends/src/primitivus/chat.py:139
 #, fuzzy
 msgid "Send file"
 msgstr "Envoi un fichier"
 
-#: frontends/src/primitivus/chat.py:315
+#: frontends/src/primitivus/chat.py:318
 #, python-format
 msgid "Primitivus: %s is talking to you"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:317
-#, python-format
-msgid "Primitivus: %s mentioned you in room '%s'"
-msgstr ""
-
-#: frontends/src/primitivus/chat.py:334 frontends/src/wix/chat.py:273
+#: frontends/src/primitivus/chat.py:320
+#, fuzzy, python-format
+msgid "Primitivus: %(user)s mentioned you in room '%(room)s'"
+msgstr "L'utilisateur %(nick)s a rejoint le salon (%(room_id)s)"
+
+#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273
 #, fuzzy
 msgid "Can't start game"
 msgstr "Construction du jeu de Tarot"
 
-#: frontends/src/primitivus/chat.py:334 frontends/src/wix/chat.py:273
+#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273
 msgid "You need to be exactly 4 peoples in the room to start a Tarot game"
 msgstr ""
 "Vous devez être exactement 4 personnes dans le salon pour commencer un jeu "
 "de Tarot"
 
+#: frontends/src/primitivus/chat.py:345
+#: frontends/src/primitivus/primitivus:458
+#: frontends/src/primitivus/primitivus:460
+#: frontends/src/primitivus/primitivus:523
+#: frontends/src/primitivus/primitivus:549
+#: frontends/src/primitivus/primitivus:559
+#: frontends/src/primitivus/primitivus:578
+#: frontends/src/primitivus/primitivus:597 frontends/src/wix/card_game.py:134
+#: frontends/src/wix/main_window.py:248 frontends/src/wix/main_window.py:255
+#: frontends/src/wix/main_window.py:323 frontends/src/wix/main_window.py:410
+#: frontends/src/wix/main_window.py:458 frontends/src/wix/main_window.py:481
+msgid "Error"
+msgstr "Erreur"
+
 #: frontends/src/primitivus/contact_list.py:44
 #, fuzzy
 msgid "Contacts"
 msgstr "&Contacts"
 
-#: frontends/src/primitivus/gateways.py:29
-#: frontends/src/quick_frontend/quick_gateways.py:27
-#: frontends/src/wix/gateways.py:32
-msgid "Gateways manager"
-msgstr "Gestionnaire de transport"
-
-#: frontends/src/primitivus/gateways.py:39 frontends/src/wix/gateways.py:87
-msgid "Use external XMPP server: "
-msgstr "Utiliser un autre serveur XMPP:"
-
-#: frontends/src/primitivus/gateways.py:40 frontends/src/wix/gateways.py:90
-msgid "GO !"
-msgstr "C'est parti !"
-
-#: frontends/src/primitivus/gateways.py:51
-#: frontends/src/primitivus/primitivus:468
-#: frontends/src/primitivus/primitivus:470
-#: frontends/src/primitivus/primitivus:532
-#: frontends/src/primitivus/primitivus:558
-#: frontends/src/primitivus/primitivus:568
-#: frontends/src/primitivus/primitivus:586
-#: frontends/src/primitivus/primitivus:615
-#: frontends/src/primitivus/primitivus:630
-#: frontends/src/primitivus/primitivus:652 frontends/src/wix/card_game.py:134
-#: frontends/src/wix/main_window.py:124 frontends/src/wix/main_window.py:260
-#: frontends/src/wix/main_window.py:267 frontends/src/wix/main_window.py:335
-#: frontends/src/wix/main_window.py:462 frontends/src/wix/main_window.py:485
-msgid "Error"
-msgstr "Erreur"
-
-#: frontends/src/primitivus/gateways.py:51
-#, fuzzy
-msgid "You must enter an external server JID"
-msgstr "Utiliser un autre serveur XMPP:"
-
-#: frontends/src/primitivus/gateways.py:69 frontends/src/wix/gateways.py:147
-#, fuzzy
-msgid "Register"
-msgstr "enregistrement"
-
-#: frontends/src/primitivus/gateways.py:72 frontends/src/wix/gateways.py:151
-#, fuzzy
-msgid "Unregister"
-msgstr "enregistrement"
-
-#: frontends/src/primitivus/primitivus:112
-msgid "Error while sending message"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:275
+#: frontends/src/primitivus/primitivus:108
+#, fuzzy, python-format
+msgid "Error while sending message (%s)"
+msgstr "Erreur en tentant de rejoindre le salon"
+
+#: frontends/src/primitivus/primitivus:273
 msgid "Pleeeeasse, I can't even breathe !"
 msgstr "Pitiééééééééé, je ne peux même pas respirer !"
 
-#: frontends/src/primitivus/primitivus:290
-#: frontends/src/wix/main_window.py:123
-msgid "Error while calling menu"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:294 frontends/src/wix/profile.py:83
+#: frontends/src/primitivus/primitivus:285 frontends/src/wix/profile.py:83
 msgid "General"
 msgstr "Général"
 
-#: frontends/src/primitivus/primitivus:295
+#: frontends/src/primitivus/primitivus:286
 #: frontends/src/primitivus/profile_manager.py:49
 #: frontends/src/wix/profile_manager.py:69
 #, fuzzy
 msgid "Connect"
 msgstr "Connexion..."
 
-#: frontends/src/primitivus/primitivus:296 src/plugins/plugin_xep_0050.py:57
+#: frontends/src/primitivus/primitivus:287 src/plugins/plugin_xep_0050.py:57
 #, fuzzy
 msgid "Disconnect"
 msgstr "Déconnexion..."
 
-#: frontends/src/primitivus/primitivus:297
+#: frontends/src/primitivus/primitivus:288
 #, fuzzy
 msgid "Parameters"
 msgstr "&Paramètres"
 
-#: frontends/src/primitivus/primitivus:298
-#: frontends/src/primitivus/primitivus:636
+#: frontends/src/primitivus/primitivus:289
+#: frontends/src/primitivus/primitivus:603
 msgid "About"
 msgstr "À propos"
 
-#: frontends/src/primitivus/primitivus:299
+#: frontends/src/primitivus/primitivus:290
 #, fuzzy
 msgid "Exit"
 msgstr "Quitter"
 
-#: frontends/src/primitivus/primitivus:300
+#: frontends/src/primitivus/primitivus:291
 #, fuzzy
 msgid "Contact"
 msgstr "&Contacts"
 
-#: frontends/src/primitivus/primitivus:301
+#: frontends/src/primitivus/primitivus:292
 #, fuzzy
 msgid "Add contact"
 msgstr "&Ajouter un contact"
 
-#: frontends/src/primitivus/primitivus:302
+#: frontends/src/primitivus/primitivus:293
 #, fuzzy
 msgid "Remove contact"
 msgstr "Supp&rimer un contact"
 
-#: frontends/src/primitivus/primitivus:303
+#: frontends/src/primitivus/primitivus:294 src/plugins/plugin_xep_0055.py:56
 #, fuzzy
 msgid "Communication"
 msgstr "Connexion..."
 
-#: frontends/src/primitivus/primitivus:304
+#: frontends/src/primitivus/primitivus:295
 msgid "Join room"
 msgstr "Rejoindre un salon"
 
-#: frontends/src/primitivus/primitivus:305
-msgid "Find Gateways"
-msgstr "Chercher les transports"
-
-#: frontends/src/primitivus/primitivus:306
-#: frontends/src/primitivus/primitivus:620
-msgid "Search directory"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:318
+#: frontends/src/primitivus/primitivus:307
 #, fuzzy
 msgid "Main menu"
 msgstr "Construction des menus"
 
-#: frontends/src/primitivus/primitivus:364
-#: frontends/src/primitivus/primitivus:392
+#: frontends/src/primitivus/primitivus:354
+#: frontends/src/primitivus/primitivus:382
 #, fuzzy
 msgid "Chat menu"
 msgstr "Construction des menus"
 
-#: frontends/src/primitivus/primitivus:430
-#: frontends/src/wix/main_window.py:215
+#: frontends/src/primitivus/primitivus:420
+#: frontends/src/wix/main_window.py:203
 #, fuzzy, python-format
 msgid "unmanaged dialog type: %s"
 msgstr "type d'erreur inconnu: %s"
 
-#: frontends/src/primitivus/primitivus:445
+#: frontends/src/primitivus/primitivus:435
 msgid "INTERNAL ERROR: Unexpected class for main widget's footer"
 msgstr ""
 "ERREUR INTERNE: Classe inattendue pour le pied de page du widget principal"
 
-#: frontends/src/primitivus/primitivus:468
-#: frontends/src/wix/main_window.py:259
+#: frontends/src/primitivus/primitivus:458
+#: frontends/src/wix/main_window.py:247
 #, fuzzy
 msgid "Unmanaged action result"
 msgstr "Tab inconnu"
 
-#: frontends/src/primitivus/primitivus:487
-#: frontends/src/wix/main_window.py:289
+#: frontends/src/primitivus/primitivus:477
+#: frontends/src/wix/main_window.py:277
 msgid "Where do you want to save the file ?"
 msgstr "Où voulez-vous sauvegarder le fichier ?"
 
-#: frontends/src/primitivus/primitivus:499
-#: frontends/src/wix/main_window.py:283
+#: frontends/src/primitivus/primitivus:489
+#: frontends/src/wix/main_window.py:271
 #, python-format
 msgid ""
 "The contact %(jid)s wants to send you the file %(filename)s\n"
@@ -487,105 +533,82 @@
 "Le contact %(jid)s veut vous envoyer le fichier %(filename)s\n"
 "Êtes vous d'accord ?"
 
-#: frontends/src/primitivus/primitivus:511
-#: frontends/src/wix/main_window.py:320
+#: frontends/src/primitivus/primitivus:502
+#: frontends/src/wix/main_window.py:308
 msgid "unknown id, ignoring"
 msgstr "id inconnue, on l'ignore"
 
-#: frontends/src/primitivus/primitivus:517
-#: frontends/src/wix/main_window.py:256 frontends/src/wix/main_window.py:342
+#: frontends/src/primitivus/primitivus:508
+#: frontends/src/wix/main_window.py:244 frontends/src/wix/main_window.py:330
 msgid "XML user interface received"
 msgstr "Interface utilisateur XML reçue"
 
-#: frontends/src/primitivus/primitivus:520
-#: frontends/src/wix/main_window.py:345
+#: frontends/src/primitivus/primitivus:511
+#: frontends/src/wix/main_window.py:333
 msgid "Form"
 msgstr "Formulaire"
 
-#: frontends/src/primitivus/primitivus:522
-#: frontends/src/wix/main_window.py:347
+#: frontends/src/primitivus/primitivus:513
+#: frontends/src/wix/main_window.py:335
 #, fuzzy
 msgid "Registration"
 msgstr "Échec de l'inscription"
 
-#: frontends/src/primitivus/primitivus:546
-#: frontends/src/wix/main_window.py:364
+#: frontends/src/primitivus/primitivus:537
+#: frontends/src/wix/main_window.py:352
 #, fuzzy, python-format
 msgid "FIXME FIXME FIXME: type [%s] not implemented"
 msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
 
-#: frontends/src/primitivus/primitivus:556
-#: frontends/src/primitivus/primitivus:566
-#: frontends/src/wix/main_window.py:452 frontends/src/wix/main_window.py:512
+#: frontends/src/primitivus/primitivus:547
+#: frontends/src/primitivus/primitivus:557
+#: frontends/src/wix/main_window.py:448 frontends/src/wix/main_window.py:508
 #, fuzzy, python-format
 msgid "'%s' is an invalid JID !"
 msgstr "%s n'est pas un JID valide !"
 
-#: frontends/src/primitivus/primitivus:572
-#: frontends/src/wix/main_window.py:475
+#: frontends/src/primitivus/primitivus:563
+#: frontends/src/wix/main_window.py:471
 #, python-format
 msgid "Unsubscribing %s presence"
 msgstr "Désinscription à la présence de %s"
 
-#: frontends/src/primitivus/primitivus:586 frontends/src/wix/param.py:60
+#: frontends/src/primitivus/primitivus:578
 #, fuzzy
 msgid "Can't get parameters"
 msgstr "Impossible de charger les paramètres !"
 
-#: frontends/src/primitivus/primitivus:596
-#: frontends/src/wix/main_window.py:506
+#: frontends/src/primitivus/primitivus:587
+#: frontends/src/wix/main_window.py:502
 msgid "Entering a MUC room"
 msgstr "Entrée dans le salon MUC"
 
-#: frontends/src/primitivus/primitivus:596
-#: frontends/src/wix/main_window.py:504
+#: frontends/src/primitivus/primitivus:587
+#: frontends/src/wix/main_window.py:500
 #, fuzzy
 msgid "Please enter MUC's JID"
 msgstr "Veuillez entrer le JID de votre nouveau contact"
 
-#: frontends/src/primitivus/primitivus:600
-#, fuzzy
-msgid "Find gateways request"
-msgstr "Demande de recherche de transports"
-
-#: frontends/src/primitivus/primitivus:606
-msgid "Search directory request"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:615
-#: frontends/src/primitivus/primitivus:652
-msgid "Can't get search UI"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:620
-#, fuzzy
-msgid "Please enter the search jid: "
-msgstr "Veuillez entrer le nom du nouveau profile"
-
-#: frontends/src/primitivus/primitivus:624
-#: frontends/src/wix/main_window.py:445
+#: frontends/src/primitivus/primitivus:591
+#: frontends/src/wix/main_window.py:441
 msgid "Adding a contact"
 msgstr "Ajout d'un contact"
 
-#: frontends/src/primitivus/primitivus:624
-#: frontends/src/wix/main_window.py:444
+#: frontends/src/primitivus/primitivus:591
+#: frontends/src/wix/main_window.py:440
 msgid "Please enter new contact JID"
 msgstr "Veuillez entrer le JID de votre nouveau contact"
 
-#: frontends/src/primitivus/primitivus:630
+#: frontends/src/primitivus/primitivus:597
 #, fuzzy
 msgid "You have not selected any contact to delete !"
 msgstr "Vous n'avez sélectionné aucun contact !"
 
-#: frontends/src/primitivus/primitivus:632
+#: frontends/src/primitivus/primitivus:599
 #, fuzzy, python-format
 msgid "Are you sure you want to delete the contact [%s] ?"
 msgstr "Êtes vous sûr de vouloir supprimer le profile [%s] ?"
 
-#: frontends/src/primitivus/primitivus:649
-msgid "Search result"
-msgstr ""
-
 #: frontends/src/primitivus/profile_manager.py:35
 #, fuzzy
 msgid "Login:"
@@ -696,50 +719,22 @@
 msgid "New status"
 msgstr ""
 
-#: frontends/src/primitivus/xmlui.py:81 frontends/src/wix/xmlui.py:64
-msgid "Unmanaged tag"
-msgstr "Tab inconnu"
-
-#: frontends/src/primitivus/xmlui.py:94 frontends/src/wix/xmlui.py:78
-msgid "text node has no child !"
-msgstr "le nœud text n'a pas d'enfant !"
-
-#: frontends/src/primitivus/xmlui.py:124 frontends/src/wix/xmlui.py:112
-#, fuzzy, python-format
-msgid "FIXME FIXME FIXME: type [%s] is not implemented"
-msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
-
-#: frontends/src/primitivus/xmlui.py:160 frontends/src/wix/xmlui.py:143
-msgid "Unknown layout, using default one"
-msgstr "Disposition inconnue, utilisation de celle par defaut"
-
-#: frontends/src/primitivus/xmlui.py:173 frontends/src/wix/xmlui.py:162
-#, fuzzy
-msgid "Unknown tag"
+#: frontends/src/primitivus/xmlui.py:76
+#, fuzzy
+msgid "Unknown div_char"
 msgstr "Type d'action inconnu"
 
-#: frontends/src/primitivus/xmlui.py:203 frontends/src/wix/xmlui.py:186
+#: frontends/src/primitivus/xmlui.py:225 frontends/src/wix/xmlui.py:255
 msgid "Submit"
 msgstr "Envoyer"
 
-#: frontends/src/primitivus/xmlui.py:205 frontends/src/primitivus/xmlui.py:213
+#: frontends/src/primitivus/xmlui.py:227 frontends/src/primitivus/xmlui.py:235
 msgid "Cancel"
 msgstr "Annuler"
 
-#: frontends/src/primitivus/xmlui.py:212
-msgid "Save"
-msgstr "Sauvegarder"
-
 #: frontends/src/primitivus/xmlui.py:234
-#, fuzzy, python-format
-msgid "INTERNAL ERROR: Unmanaged show_type (%s)"
-msgstr "ERREUR INTERNE: contrat inconnu (mal orthographié ?)"
-
-#: frontends/src/primitivus/xmlui.py:283 frontends/src/wix/xmlui.py:244
-msgid "The form data is not sent back, the type is not managed properly"
-msgstr ""
-"Les données du formulaire ne sont pas envoyées, il y a une erreur dans la "
-"gestion du type"
+msgid "Save"
+msgstr "Sauvegarder"
 
 #: frontends/src/quick_frontend/quick_app.py:98
 #, fuzzy, python-format
@@ -770,6 +765,11 @@
 msgid "There is already one profile plugged (we are in single profile mode) !"
 msgstr "Il y a déjà un profile utilisé (nous comme en mode profile unique) !"
 
+#: frontends/src/quick_frontend/quick_app.py:128
+#, fuzzy
+msgid "The profile asked doesn't exist"
+msgstr "Le fichier [%s] n'existe pas !"
+
 #: frontends/src/quick_frontend/quick_app.py:131
 #, fuzzy
 msgid "The profile is already plugged"
@@ -812,7 +812,11 @@
 msgid "FIXME: error_type %s not implemented"
 msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
 
-#: frontends/src/quick_frontend/quick_app.py:302
+#: frontends/src/quick_frontend/quick_app.py:290
+msgid "sendMessage Error"
+msgstr ""
+
+#: frontends/src/quick_frontend/quick_app.py:306
 #, fuzzy, python-format
 msgid ""
 "presence update for %(jid)s (show=%(show)s, priority=%(priority)s, statuses="
@@ -821,50 +825,50 @@
 "Mise à jour des information de présence pour [%(entity)s] (available, show="
 "%(show)s statuses=%(statuses)s priority=%(priority)d)"
 
-#: frontends/src/quick_frontend/quick_app.py:319
+#: frontends/src/quick_frontend/quick_app.py:323
 #, fuzzy, python-format
 msgid "Watched jid [%s] is connected !"
 msgstr "Vous êtes déjà connecté !"
 
-#: frontends/src/quick_frontend/quick_app.py:332
+#: frontends/src/quick_frontend/quick_app.py:336
 #, fuzzy, python-format
 msgid "Room [%(room_jid)s] joined by %(profile)s, users presents:%(users)s"
 msgstr ""
 "%(profile)s a rejoint le salon [%(room_name)s], utilisateurs présents:"
 "%(users)s"
 
-#: frontends/src/quick_frontend/quick_app.py:343
+#: frontends/src/quick_frontend/quick_app.py:347
 #, fuzzy, python-format
 msgid "Room [%(room_jid)s] left by %(profile)s"
 msgstr "contrat [%(contrat)s] choisi par %(profile)s"
 
-#: frontends/src/quick_frontend/quick_app.py:353
+#: frontends/src/quick_frontend/quick_app.py:357
 #, fuzzy, python-format
 msgid "user [%(user_nick)s] joined room [%(room_jid)s]"
 msgstr "L'utilisateur %(nick)s a rejoint le salon (%(room_id)s)"
 
-#: frontends/src/quick_frontend/quick_app.py:361
+#: frontends/src/quick_frontend/quick_app.py:365
 #, fuzzy, python-format
 msgid "user [%(user_nick)s] left room [%(room_jid)s]"
 msgstr "L'utilisateur %(nick)s a quitté le salon (%(room_id)s)"
 
-#: frontends/src/quick_frontend/quick_app.py:369
+#: frontends/src/quick_frontend/quick_app.py:373
 #, fuzzy, python-format
 msgid ""
 "user [%(old_nick)s] is now known as [%(new_nick)s] in room [%(room_jid)s]"
 msgstr "L'utilisateur %(nick)s a rejoint le salon (%(room_id)s)"
 
-#: frontends/src/quick_frontend/quick_app.py:377
+#: frontends/src/quick_frontend/quick_app.py:381
 #, fuzzy, python-format
 msgid "new subject for room [%(room_jid)s]: %(subject)s"
 msgstr "Nouveau sujet pour le salon (%(room_id)s): %(subject)s"
 
-#: frontends/src/quick_frontend/quick_app.py:382
+#: frontends/src/quick_frontend/quick_app.py:386
 #, fuzzy
 msgid "Tarot Game Started \\o/"
 msgstr "Un jeu de Tarot est déjà lancé dans le salon %s"
 
-#: frontends/src/quick_frontend/quick_app.py:385
+#: frontends/src/quick_frontend/quick_app.py:389
 #, python-format
 msgid ""
 "new Tarot game started by [%(referee)s] in room [%(room_jid)s] with "
@@ -873,46 +877,46 @@
 "nouveau jeu de Tarot lancé par [%(referee)s] dans le salon [%(room_jid)s] "
 "avec %(players)s"
 
-#: frontends/src/quick_frontend/quick_app.py:390
+#: frontends/src/quick_frontend/quick_app.py:394
 #, fuzzy
 msgid "New Tarot Game"
 msgstr "nouveau jeu de Tarot"
 
-#: frontends/src/quick_frontend/quick_app.py:398
+#: frontends/src/quick_frontend/quick_app.py:402
 #, fuzzy
 msgid "Tarot: need to select a contrat"
 msgstr "Vous essayez de ré-attribuer une constante"
 
-#: frontends/src/quick_frontend/quick_app.py:405
+#: frontends/src/quick_frontend/quick_app.py:409
 #, fuzzy
 msgid "Show cards"
 msgstr "Affichage du chat"
 
-#: frontends/src/quick_frontend/quick_app.py:412
+#: frontends/src/quick_frontend/quick_app.py:416
 msgid "My turn to play"
 msgstr "C'est à moi de jouer"
 
-#: frontends/src/quick_frontend/quick_app.py:420
+#: frontends/src/quick_frontend/quick_app.py:424
 #, fuzzy
 msgid "Tarot: score received"
 msgstr "tarot: chien reçu"
 
-#: frontends/src/quick_frontend/quick_app.py:427
+#: frontends/src/quick_frontend/quick_app.py:431
 #, fuzzy, python-format
 msgid "Card(s) played (%(player)s): %(cards)s"
 msgstr "Cartes jouées par %(profile)s: [%(cards)s]"
 
-#: frontends/src/quick_frontend/quick_app.py:434
+#: frontends/src/quick_frontend/quick_app.py:438
 #, python-format
 msgid "Cards played are not valid: %s"
 msgstr "Les cartes jouées sont invalides: %s"
 
-#: frontends/src/quick_frontend/quick_app.py:441
+#: frontends/src/quick_frontend/quick_app.py:445
 #, fuzzy
 msgid "Quiz Game Started \\o/"
 msgstr "Un jeu de Tarot est déjà lancé dans le salon %s"
 
-#: frontends/src/quick_frontend/quick_app.py:444
+#: frontends/src/quick_frontend/quick_app.py:448
 #, fuzzy, python-format
 msgid ""
 "new Quiz game started by [%(referee)s] in room [%(room_jid)s] with "
@@ -921,38 +925,38 @@
 "nouveau jeu de Tarot lancé par [%(referee)s] dans le salon [%(room_jid)s] "
 "avec %(players)s"
 
-#: frontends/src/quick_frontend/quick_app.py:449
+#: frontends/src/quick_frontend/quick_app.py:453
 #, fuzzy
 msgid "New Quiz Game"
 msgstr "nouveau jeu de Tarot"
 
-#: frontends/src/quick_frontend/quick_app.py:457
+#: frontends/src/quick_frontend/quick_app.py:461
 #, python-format
 msgid "Quiz: new question: %s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:510
+#: frontends/src/quick_frontend/quick_app.py:514
 #, python-format
 msgid "The contact %s has accepted your subscription"
 msgstr "Le contact %s a accepté votre inscription"
 
-#: frontends/src/quick_frontend/quick_app.py:510
-#: frontends/src/quick_frontend/quick_app.py:516
+#: frontends/src/quick_frontend/quick_app.py:514
+#: frontends/src/quick_frontend/quick_app.py:520
 #, fuzzy
 msgid "Subscription confirmation"
 msgstr "désinscription confirmée pour [%s]"
 
-#: frontends/src/quick_frontend/quick_app.py:513
+#: frontends/src/quick_frontend/quick_app.py:517
 #, python-format
 msgid "The contact %s has refused your subscription"
 msgstr "Le contact %s a refusé votre inscription"
 
-#: frontends/src/quick_frontend/quick_app.py:513
+#: frontends/src/quick_frontend/quick_app.py:517
 #, fuzzy
 msgid "Subscription refusal"
 msgstr "demande d'inscription pour [%s]"
 
-#: frontends/src/quick_frontend/quick_app.py:516
+#: frontends/src/quick_frontend/quick_app.py:520
 #, python-format
 msgid ""
 "The contact %s wants to subscribe to your presence.\n"
@@ -961,12 +965,12 @@
 "Le contact %s veut s'inscrire à vos informations de présence\n"
 "Acceptez vous ?"
 
-#: frontends/src/quick_frontend/quick_app.py:527
+#: frontends/src/quick_frontend/quick_app.py:531
 #, python-format
 msgid "param update: [%(namespace)s] %(name)s = %(value)s"
 msgstr "Le paramètre [%(namespace)s] %(name)s vaut désormais %(value)s"
 
-#: frontends/src/quick_frontend/quick_app.py:529
+#: frontends/src/quick_frontend/quick_app.py:533
 #, python-format
 msgid "Changing JID to %s"
 msgstr "Changement du JID pour %s"
@@ -1063,27 +1067,53 @@
 msgid "Trying to update an unknown contact: %s"
 msgstr "Tentative d'accès à un profile inconnu"
 
-#: frontends/src/quick_frontend/quick_gateways.py:28
-msgid ""
-"Be careful ! Gateways allow you to use an external IM (legacy IM), so you "
-"can see your contact as jabber contacts.\n"
-"But when you do this, all your messages go throught the external legacy IM "
-"server, it is a huge privacy issue (i.e.: all your messages throught the "
-"gateway can be monitored, recorded, analyzed by the external server, most of "
-"time a private company)."
-msgstr ""
-"Soyez prudent ! Les transports vous permettent d'utiliser une messagerie "
-"externe, de façon à pouvoir afficher vos contacts comme des contacts "
-"jabber.\n"
-"Mais si vous faites cela, tous vos messages passeront par les serveurs de la "
-"messagerie externe, c'est un gros problème pour votre vie privée (comprenez: "
-"tous vos messages à travers le transport pourront être affichés, "
-"enregistrés, analysés par ces serveurs externes, la plupart du temps une "
-"entreprise privée)."
-
-#: frontends/src/quick_frontend/quick_gateways.py:35
-msgid "Unknown IM"
-msgstr "Messagerie inconnue"
+#: frontends/src/tools/xmlui.py:191
+msgid "XMLUI can have only one main container"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:240
+#, fuzzy, python-format
+msgid "Unknown container [%s], using default one"
+msgstr "Disposition inconnue, utilisation de celle par defaut"
+
+#: frontends/src/tools/xmlui.py:249
+msgid "Internal Error, container has not _xmluiAppend method"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:315
+#, fuzzy, python-format
+msgid "FIXME FIXME FIXME: widget type [%s] is not implemented"
+msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
+
+#: frontends/src/tools/xmlui.py:316
+#, fuzzy, python-format
+msgid "FIXME FIXME FIXME: type [%s] is not implemented"
+msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
+
+#: frontends/src/tools/xmlui.py:324
+#, python-format
+msgid "No change listener on [%s]"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:330
+#, fuzzy, python-format
+msgid "Unknown tag [%s]"
+msgstr "Type d'action inconnu"
+
+#: frontends/src/tools/xmlui.py:395
+#, fuzzy
+msgid "No callback_id found"
+msgstr "Aucun transport trouvé"
+
+#: frontends/src/tools/xmlui.py:436
+msgid "The form data is not sent back, the type is not managed properly"
+msgstr ""
+"Les données du formulaire ne sont pas envoyées, il y a une erreur dans la "
+"gestion du type"
+
+#: frontends/src/tools/xmlui.py:441
+msgid "Cancelling form"
+msgstr "Annulation du formulaire"
 
 #: frontends/src/wix/card_game.py:95
 #, fuzzy
@@ -1144,11 +1174,11 @@
 msgid "filename: %s"
 msgstr "fichier enregistré dans %s"
 
-#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:293
+#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281
 msgid "File Transfer"
 msgstr "Transfert de fichier"
 
-#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:293
+#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281
 #, fuzzy, python-format
 msgid "Copying %s"
 msgstr "Ajout de %s"
@@ -1195,248 +1225,215 @@
 msgid "removing %s"
 msgstr "Ajout de %s"
 
-#: frontends/src/wix/gateways.py:105
-#, fuzzy, python-format
-msgid "Opening gateways manager on [%s]"
-msgstr "Envoi du message jabber à %s"
-
-#: frontends/src/wix/gateways.py:165 frontends/src/wix/param.py:144
-#: frontends/src/wix/profile.py:88 frontends/src/wix/xmlui.py:256
-msgid "close"
-msgstr "fermeture"
-
-#: frontends/src/wix/main_window.py:89
+#: frontends/src/wix/main_window.py:87
 msgid "Wix jabber client"
 msgstr "client jabber Wix"
 
-#: frontends/src/wix/main_window.py:111
+#: frontends/src/wix/main_window.py:109
 #, python-format
 msgid "plugin profile %s"
 msgstr "branchement du profil %s"
 
-#: frontends/src/wix/main_window.py:131
+#: frontends/src/wix/main_window.py:118
 #, fuzzy
 msgid "Creating menus"
 msgstr "Construction du jeu de Tarot"
 
-#: frontends/src/wix/main_window.py:133
+#: frontends/src/wix/main_window.py:120
 msgid "&Connect\tCTRL-c"
 msgstr "&Connexion\tCTRL-c"
 
-#: frontends/src/wix/main_window.py:133
+#: frontends/src/wix/main_window.py:120
 #, fuzzy
 msgid " Connect to the server"
 msgstr "Connexion au démarrage des frontends"
 
-#: frontends/src/wix/main_window.py:134
+#: frontends/src/wix/main_window.py:121
 msgid "&Disconnect\tCTRL-d"
 msgstr "&Déconnexion\tCTRL-d"
 
-#: frontends/src/wix/main_window.py:134
+#: frontends/src/wix/main_window.py:121
 #, fuzzy
 msgid " Disconnect from the server"
 msgstr "Déconnexion à la fermeture des frontends"
 
-#: frontends/src/wix/main_window.py:135
+#: frontends/src/wix/main_window.py:122
 msgid "&Parameters"
 msgstr "&Paramètres"
 
-#: frontends/src/wix/main_window.py:135
+#: frontends/src/wix/main_window.py:122
 msgid " Configure the program"
 msgstr " Configurer l'application"
 
-#: frontends/src/wix/main_window.py:137
+#: frontends/src/wix/main_window.py:124
 msgid "A&bout"
 msgstr "À propos"
 
-#: frontends/src/wix/main_window.py:137
+#: frontends/src/wix/main_window.py:124
 #, python-format
 msgid " About %s"
 msgstr " À propos %s"
 
-#: frontends/src/wix/main_window.py:138
+#: frontends/src/wix/main_window.py:125
 msgid "E&xit"
 msgstr "Quitter"
 
-#: frontends/src/wix/main_window.py:138
+#: frontends/src/wix/main_window.py:125
 msgid " Terminate the program"
 msgstr " Ferme l'application"
 
-#: frontends/src/wix/main_window.py:140
+#: frontends/src/wix/main_window.py:127
 msgid "&Add contact"
 msgstr "&Ajouter un contact"
 
-#: frontends/src/wix/main_window.py:140
+#: frontends/src/wix/main_window.py:127
 msgid " Add a contact to your list"
 msgstr " Ajouter un contact à votre liste"
 
-#: frontends/src/wix/main_window.py:141
+#: frontends/src/wix/main_window.py:128
 msgid "&Remove contact"
 msgstr "Supp&rimer un contact"
 
-#: frontends/src/wix/main_window.py:141
+#: frontends/src/wix/main_window.py:128
 msgid " Remove the selected contact from your list"
 msgstr " Supprime le contact sélectionné de votre liste"
 
-#: frontends/src/wix/main_window.py:143
+#: frontends/src/wix/main_window.py:130
 #, fuzzy
 msgid "&Show profile"
 msgstr "Affiche la barre de progression"
 
-#: frontends/src/wix/main_window.py:143
+#: frontends/src/wix/main_window.py:130
 #, fuzzy
 msgid " Show contact's profile"
 msgstr "Vous essayer de connecter un profile qui n'existe pas"
 
-#: frontends/src/wix/main_window.py:145
+#: frontends/src/wix/main_window.py:132
 msgid "&Join Room"
 msgstr "Re&joindre un salon"
 
-#: frontends/src/wix/main_window.py:145
+#: frontends/src/wix/main_window.py:132
 #, fuzzy
 msgid " Join a Multi-User Chat room"
 msgstr ""
 "Implémentation de l'initialisation de flux pour le transfert de fichier "
 
-#: frontends/src/wix/main_window.py:146
-msgid "&Find Gateways"
-msgstr "Trouver transports"
-
-#: frontends/src/wix/main_window.py:146
-msgid " Find gateways to legacy IM"
-msgstr " Trouve les transports vers les messageries externes"
-
-#: frontends/src/wix/main_window.py:148
+#: frontends/src/wix/main_window.py:134
 msgid "&General"
 msgstr "&Général"
 
-#: frontends/src/wix/main_window.py:149
+#: frontends/src/wix/main_window.py:135
 msgid "&Contacts"
 msgstr "&Contacts"
 
-#: frontends/src/wix/main_window.py:150
+#: frontends/src/wix/main_window.py:136
 #, fuzzy
 msgid "&Communication"
 msgstr "Connexion..."
 
-#: frontends/src/wix/main_window.py:279
+#: frontends/src/wix/main_window.py:267
 #, fuzzy
 msgid "Confirmation asked"
 msgstr "inscription demandée pour"
 
-#: frontends/src/wix/main_window.py:282
+#: frontends/src/wix/main_window.py:270
 msgid "File transfer confirmation asked"
 msgstr "Demande de confirmation pour un transfer de fichier demandée"
 
-#: frontends/src/wix/main_window.py:284
+#: frontends/src/wix/main_window.py:272
 msgid "File Request"
 msgstr "Gestion de fichiers"
 
-#: frontends/src/wix/main_window.py:302
+#: frontends/src/wix/main_window.py:290
 msgid "Yes/No confirmation asked"
 msgstr "confirmation de type Oui/Non demandée"
 
-#: frontends/src/wix/main_window.py:304
+#: frontends/src/wix/main_window.py:292
 #: frontends/src/wix/profile_manager.py:111
 #, fuzzy
 msgid "Confirmation"
 msgstr "Connexion..."
 
-#: frontends/src/wix/main_window.py:318
+#: frontends/src/wix/main_window.py:306
 #, python-format
 msgid "actionResult: type = [%(type)s] id = [%(id)s] data = [%(data)s]"
 msgstr "actionResult: type = [%(type)s] id = [%(id)s] data = [%(data)s]"
 
-#: frontends/src/wix/main_window.py:327
+#: frontends/src/wix/main_window.py:315
 msgid "Success"
 msgstr "Succès"
 
-#: frontends/src/wix/main_window.py:346
+#: frontends/src/wix/main_window.py:334
 #, fuzzy
 msgid "registration"
 msgstr "enregistrement"
 
-#: frontends/src/wix/main_window.py:394
+#: frontends/src/wix/main_window.py:382
 #, python-format
 msgid "onContactActivated: %s"
 msgstr "onContactActivated: %s"
 
-#: frontends/src/wix/main_window.py:412
+#: frontends/src/wix/main_window.py:400
 msgid "Status change request"
 msgstr "Demande de changement de statut"
 
-#: frontends/src/wix/main_window.py:416
+#: frontends/src/wix/main_window.py:404
 msgid "Param request"
 msgstr "Gestion des paramètres"
 
-#: frontends/src/wix/main_window.py:426
+#: frontends/src/wix/main_window.py:406
+#, fuzzy
+msgid "Configuration"
+msgstr "Connexion..."
+
+#: frontends/src/wix/main_window.py:422
 #, python-format
-msgid ""
-"%(name)s is a SàT (Salut à Toi) frontend\n"
-"%(name)s is based on WxPython, and is the standard graphic interface of SàT"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:442
+msgid "%(name)s is a SàT (Salut à Toi) frontend\n"
+msgstr "%(name)s est un frontend pour SàT (Salut à Toi)\n"
+
+#: frontends/src/wix/main_window.py:438
 msgid "Add contact request"
 msgstr "Demande d'ajout de contact"
 
-#: frontends/src/wix/main_window.py:445
+#: frontends/src/wix/main_window.py:441
 msgid "name@server.tld"
 msgstr "nom@serveur.ext"
 
-#: frontends/src/wix/main_window.py:458
+#: frontends/src/wix/main_window.py:454
 msgid "Remove contact request"
 msgstr "Demande de suppression de contact"
 
-#: frontends/src/wix/main_window.py:461 frontends/src/wix/main_window.py:484
+#: frontends/src/wix/main_window.py:457 frontends/src/wix/main_window.py:480
 msgid "You haven't selected any contact !"
 msgstr "Vous n'avez sélectionné aucun contact !"
 
-#: frontends/src/wix/main_window.py:469
+#: frontends/src/wix/main_window.py:465
 #, python-format
 msgid "Are you sure you want to delete %s from your roster list ?"
 msgstr "Êtes vous sûr de vouloir supprimer %s de votre liste de contacts ?"
 
-#: frontends/src/wix/main_window.py:470
+#: frontends/src/wix/main_window.py:466
 msgid "Contact suppression"
 msgstr "Suppression de contact"
 
-#: frontends/src/wix/main_window.py:481
+#: frontends/src/wix/main_window.py:477
 msgid "Show contact's profile request"
 msgstr "Demande d'affichage du profile d'un contact"
 
-#: frontends/src/wix/main_window.py:497
+#: frontends/src/wix/main_window.py:493
 #, fuzzy, python-format
 msgid "Profile received: [%s]"
 msgstr "tarot: chien reçu"
 
-#: frontends/src/wix/main_window.py:515
-msgid "Find Gateways request"
-msgstr "Demande de recherche de transports"
-
-#: frontends/src/wix/main_window.py:528
+#: frontends/src/wix/main_window.py:512
 #, fuzzy
 msgid "Exiting..."
 msgstr "Déconnexion..."
 
-#: frontends/src/wix/main_window.py:535
+#: frontends/src/wix/main_window.py:519
 msgid "Tray Click"
 msgstr "Clic sur l'icône de la barre de tâches"
 
-#: frontends/src/wix/param.py:31
-#, fuzzy
-msgid "Configuration"
-msgstr "Connexion..."
-
-#: frontends/src/wix/param.py:60
-#, fuzzy
-msgid "Parameters error"
-msgstr "&Paramètres"
-
-#: frontends/src/wix/param.py:86
-msgid "FIXME FIXME FIXME"
-msgstr "CORRIGER-MOI"
-
 #: frontends/src/wix/profile_manager.py:46
 msgid "Profile:"
 msgstr "Profile:"
@@ -1502,6 +1499,10 @@
 msgid "Avatar"
 msgstr "Avatar"
 
+#: frontends/src/wix/profile.py:88 frontends/src/wix/xmlui.py:297
+msgid "close"
+msgstr "fermeture"
+
 #: frontends/src/wix/quiz_game.py:168
 msgid ""
 "Quel dommage, personne n'a trouvé la réponse\n"
@@ -1509,228 +1510,223 @@
 "Attention, la prochaine question arrive..."
 msgstr ""
 
-#: frontends/src/wix/xmlui.py:219
-msgid "Submitting form"
-msgstr "Envoi du formulaire"
-
-#: frontends/src/wix/xmlui.py:250
-msgid "Cancelling form"
-msgstr "Annulation du formulaire"
-
-#: src/core/sat_main.py:91
+#: frontends/src/wix/xmlui.py:137
+#, fuzzy, python-format
+msgid "Can't find value [%s] to select"
+msgstr "Impossible de trouver la VCard de %s"
+
+#: frontends/src/wix/xmlui.py:175
+msgid "select"
+msgstr ""
+
+#: src/core/sat_main.py:97
 #, python-format
 msgid "Constant %(name)s overrided with [%(value)s]"
 msgstr ""
 
-#: src/core/sat_main.py:96
+#: src/core/sat_main.py:102
 msgid "Trying to access an undefined constant"
 msgstr "Vous essayer d'utiliser une constante indéfinie"
 
-#: src/core/sat_main.py:103
+#: src/core/sat_main.py:109
 #, fuzzy
 msgid "Trying to redefine a constant"
 msgstr "Vous essayer d'utiliser une constante indéfinie"
 
-#: src/core/sat_main.py:171
+#: src/core/sat_main.py:177
 #, fuzzy
 msgid "Memory initialised"
 msgstr "Le flux XML est initialisé"
 
-#: src/core/sat_main.py:201
+#: src/core/sat_main.py:207
 #, python-format
 msgid "Dependency plugin not found: [%s]"
 msgstr ""
 
-#: src/core/sat_main.py:208
+#: src/core/sat_main.py:214
 #, python-format
 msgid "importing plugin: %s"
 msgstr "Importation du plugin: %s"
 
-#: src/core/sat_main.py:227
+#: src/core/sat_main.py:233
 msgid "Trying to connect a non-exsitant profile"
 msgstr "Vous essayer de connecter un profile qui n'existe pas"
 
-#: src/core/sat_main.py:231
+#: src/core/sat_main.py:237
 #, fuzzy
 msgid "already connected !"
 msgstr "Vous  n'êtes pas connecté !"
 
-#: src/core/sat_main.py:239
+#: src/core/sat_main.py:255
 #, fuzzy
 msgid "Can't parse port value, using default value"
 msgstr "Pas de modèle de paramètres, utilisation du modèle par défaut"
 
-#: src/core/sat_main.py:267
+#: src/core/sat_main.py:283
 msgid "setting plugins parents"
 msgstr "Configuration des parents des extensions"
 
-#: src/core/sat_main.py:288
+#: src/core/sat_main.py:304
 msgid "not connected !"
 msgstr "Vous  n'êtes pas connecté !"
 
-#: src/core/sat_main.py:291
+#: src/core/sat_main.py:307
 #, fuzzy
 msgid "Disconnecting..."
 msgstr "Déconnexion..."
 
-#: src/core/sat_main.py:301 src/memory/memory.py:939
+#: src/core/sat_main.py:317 src/memory/memory.py:1027
 msgid "Asking contacts for a non-existant profile"
 msgstr "Demande de contacts pour un profile inexistant"
 
-#: src/core/sat_main.py:312
+#: src/core/sat_main.py:328
 #, fuzzy
 msgid "Asking group's contacts for a non-existant profile"
 msgstr "Demande de contacts pour un profile inexistant"
 
-#: src/core/sat_main.py:321
+#: src/core/sat_main.py:337
 msgid "Trying to remove reference to a client not referenced"
 msgstr ""
 
-#: src/core/sat_main.py:333
+#: src/core/sat_main.py:349
 msgid "running app"
 msgstr "Lancement de l'application"
 
-#: src/core/sat_main.py:337
+#: src/core/sat_main.py:353
 msgid "stopping app"
 msgstr "Arrêt de l'application"
 
-#: src/core/sat_main.py:398
-msgid "No user or server given"
-msgstr "L'utilisateur ou le serveur n'ont pas été spécifié"
-
-#: src/core/sat_main.py:400
+#: src/core/sat_main.py:414
 msgid "No user, password or server given, can't register new account."
 msgstr ""
 "L'utilisateur, le mot de passe ou le serveur n'ont pas été spécifiés, "
 "impossible d'inscrire un nouveau compte."
 
-#: src/core/sat_main.py:408
+#: src/core/sat_main.py:422
 #, python-format
 msgid "Are you sure to register new account [%(user)s] to server %(server)s ?"
 msgstr ""
 "Êtes vous sûr de vouloir inscrire le nouveau compte [%(user)s] au serveur "
 "%(server)s ?"
 
-#: src/core/sat_main.py:413
+#: src/core/sat_main.py:427
 #, fuzzy, python-format
 msgid "register Confirmation CB ! (%s)"
 msgstr "Callback de confirmation d'inscription !"
 
-#: src/core/sat_main.py:446
-#, python-format
-msgid "FIXME FIXME FIXME: Unmanaged action (%s) in submitForm"
-msgstr ""
-"CORRIGEZ-MOI CORRIGEZ-MOI CORRIGEZ-MOI: Action non gérée (%s) dans "
-"\"submitForm\""
-
-#: src/core/sat_main.py:456
+#: src/core/sat_main.py:442
 #, python-format
 msgid "setting param: %(name)s=%(value)s in category %(category)s"
 msgstr ""
 "Le paramètre %(name)s vaut désormais %(value)s dans la catégorie %(category)s"
 
-#: src/core/sat_main.py:466
+#: src/core/sat_main.py:452
 msgid "asking connection status for a non-existant profile"
 msgstr "demande de l'état de connexion pour un profile qui n'existe pas"
 
-#: src/core/sat_main.py:532
+#: src/core/sat_main.py:518
 #, fuzzy, python-format
 msgid "Sending jabber message of type [%(type)s] to %(to)s..."
 msgstr "Envoi du message jabber à %s"
 
-#: src/core/sat_main.py:570
+#: src/core/sat_main.py:556
 #, fuzzy
 msgid "Trying to send a message with no profile"
 msgstr "Tentative d'accès à un profile inconnu"
 
-#: src/core/sat_main.py:615
+#: src/core/sat_main.py:603
 #, fuzzy, python-format
 msgid "subsciption request [%(subs_type)s] for %(jid)s"
 msgstr "demande d'inscription [%(type)s] pour %(jid)s"
 
-#: src/core/sat_main.py:722 src/core/sat_main.py:739
+#: src/core/sat_main.py:716 src/core/sat_main.py:733
 #, python-format
 msgid "Requested disco info on %s"
 msgstr ""
 
-#: src/core/sat_main.py:724
+#: src/core/sat_main.py:718
 #, python-format
 msgid "Feature found: %s"
 msgstr "Fonctionnalité trouvée: %s"
 
-#: src/core/sat_main.py:727
+#: src/core/sat_main.py:721
 #, python-format
 msgid "Identity found: [%(category)s/%(type)s] %(identity)s"
 msgstr "Identité trouvée: [%(category)s/%(type)s] %(identity)s"
 
-#: src/core/sat_main.py:741
+#: src/core/sat_main.py:735
 #, fuzzy, python-format
 msgid "Identity added: (%(category)s,%(type)s) ==> %(entity)s [%(profile)s]"
 msgstr "Identité trouvée: [%(category)s/%(type)s] %(identity)s"
 
-#: src/core/sat_main.py:748
+#: src/core/sat_main.py:742
 #, python-format
 msgid ""
 "Can't get information on identity [%(entity)s] for profile [%(profile)s]"
 msgstr ""
 
-#: src/core/sat_main.py:753
+#: src/core/sat_main.py:747
 msgid ""
 "Using jabberfr workaround, be sure your domain has at least two levels (e.g. "
 "\"example.tld\", not \"example\" alone)"
 msgstr ""
 
-#: src/core/sat_main.py:777
+#: src/core/sat_main.py:771
 #, fuzzy
 msgid "action_type for actionResultExt must be DICT_DICT, fixing it"
 msgstr "Le type pour actionResultExt doit être DICT_DICT, correction"
 
-#: src/core/sat_main.py:791
+#: src/core/sat_main.py:785
 #, fuzzy
 msgid "Asking confirmation a non-existant profile"
 msgstr "Demande de contacts pour un profile inexistant"
 
-#: src/core/sat_main.py:793
+#: src/core/sat_main.py:787
 msgid "Attempt to register two callbacks for the same confirmation"
 msgstr "Tentative de déclaration de 2 callbacks pour la même configuration"
 
-#: src/core/sat_main.py:802
+#: src/core/sat_main.py:796
 #, fuzzy
 msgid "Confirmation answer from a non-existant profile"
 msgstr "demande de l'état de connexion pour un profile qui n'existe pas"
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 #, fuzzy, python-format
 msgid "Received confirmation answer for conf_id [%(conf_id)s]: %(success)s"
 msgstr "Réponse pour confirmation reçu (id [%(id)s]): %(success)s"
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 msgid "accepted"
 msgstr "accepté"
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 msgid "refused"
 msgstr "refusé"
 
-#: src/core/sat_main.py:805
+#: src/core/sat_main.py:799
 #, fuzzy, python-format
 msgid "Received an unknown confirmation (%(id)s for %(profile)s)"
 msgstr "Confirmation inconnue reçue"
 
-#: src/core/sat_main.py:824
+#: src/core/sat_main.py:818
 msgid "Trying to remove an unknow progress callback"
 msgstr "Tentative d'effacement d'une callback de progression inconnue."
 
-#: src/core/sat_main.py:856
+#: src/core/sat_main.py:851
 #, fuzzy
 msgid "id already registered"
 msgstr "Vous êtes maintenant désinscrit"
 
-#: src/core/sat_main.py:875
+#: src/core/sat_main.py:880
 #, fuzzy
 msgid "trying to launch action with a non-existant profile"
 msgstr "Tentative d'ajout d'un contact à un profile inexistant"
 
+#: src/core/sat_main.py:935
+#, fuzzy
+msgid "A menu with the same path and type already exists"
+msgstr "Ce nom de profile existe déjà"
+
 #: src/core/xmpp.py:57
 #, python-format
 msgid "********** [%s] CONNECTED **********"
@@ -1820,23 +1816,22 @@
 msgid "Registration asked for"
 msgstr "Éched de l'insciption (%s)"
 
-#: src/core/xmpp.py:438 src/plugins/plugin_xep_0077.py:80
-#: src/plugins/plugin_xep_0077.py:94
+#: src/core/xmpp.py:438 src/plugins/plugin_xep_0077.py:90
 #, python-format
 msgid "registration answer: %s"
 msgstr "réponse à la demande d'inscription: %s"
 
-#: src/core/xmpp.py:440 src/plugins/plugin_xep_0077.py:96
+#: src/core/xmpp.py:440
 msgid "Registration successfull"
 msgstr "Inscription réussie"
 
-#: src/core/xmpp.py:445 src/plugins/plugin_xep_0077.py:72
-#: src/plugins/plugin_xep_0077.py:104
+#: src/core/xmpp.py:445 src/plugins/plugin_xep_0077.py:86
+#: src/plugins/plugin_xep_0077.py:96
 #, python-format
 msgid "Registration failure: %s"
 msgstr "Échec de l'inscription: %s"
 
-#: src/core/xmpp.py:450 src/plugins/plugin_xep_0077.py:110
+#: src/core/xmpp.py:450 src/plugins/plugin_xep_0077.py:98
 msgid "Username already exists, please choose an other one"
 msgstr "Ce nom d'utilisateur existe déjà, veuillez en choisir un autre"
 
@@ -1906,142 +1901,155 @@
 msgid "Trying to access an unknown profile"
 msgstr "Tentative d'accès à un profile inconnu"
 
-#: src/memory/memory.py:325
+#: src/memory/memory.py:361
+msgid "Trying to register frontends parameters with no specified app: aborted"
+msgstr ""
+
+#: src/memory/memory.py:366
+#, python-format
+msgid "Trying to register twice frontends parameters for %(app)s: aborted"
+msgstr ""
+
+#: src/memory/memory.py:377
 #, python-format
 msgid "Can't determine default value for [%(category)s/%(name)s]: %(reason)s"
 msgstr ""
 "Impossible de déterminer la valeur par défaut pour [%(category)s/%(name)s]: "
 "%(reason)s"
 
-#: src/memory/memory.py:340 src/memory/memory.py:385 src/memory/memory.py:420
+#: src/memory/memory.py:392 src/memory/memory.py:437 src/memory/memory.py:472
 #, python-format
 msgid "Requested param [%(name)s] in category [%(category)s] doesn't exist !"
 msgstr ""
 "Le paramètre demandé  [%(name)s] dans la catégorie [%(category)s] n'existe "
 "pas !"
 
-#: src/memory/memory.py:396
+#: src/memory/memory.py:448
 msgid "Requesting a param for an non-existant profile"
 msgstr "Demande d'un paramètre pour un profile inconnu"
 
-#: src/memory/memory.py:400
+#: src/memory/memory.py:452
 #, fuzzy
 msgid "Requesting synchronous param for not connected profile"
 msgstr "Demande d'un paramètre pour un profile inconnu"
 
-#: src/memory/memory.py:424
+#: src/memory/memory.py:476
 #, python-format
-msgid "Trying to get parameter '%s' in category '%s' without authorization!!!"
-msgstr ""
-
-#: src/memory/memory.py:436
+msgid ""
+"Trying to get parameter '%(param)s' in category '%(cat)s' without "
+"authorization!!!"
+msgstr ""
+
+#: src/memory/memory.py:488
 #, fuzzy
 msgid "Requesting a param for a non-existant profile"
 msgstr "Demande d'un paramètre pour un profile inconnu"
 
-#: src/memory/memory.py:558 src/memory/memory.py:568 src/memory/memory.py:583
+#: src/memory/memory.py:622 src/memory/memory.py:638 src/memory/memory.py:661
 msgid "Asking params for inexistant profile"
 msgstr "Demande de paramètres pour un profile inconnu"
 
-#: src/memory/memory.py:635
+#: src/memory/memory.py:713
 #, fuzzy
 msgid "Trying to set parameter for an unknown profile"
 msgstr "Tentative d'accès à un profile inconnu"
 
-#: src/memory/memory.py:640
+#: src/memory/memory.py:718
 #, python-format
 msgid "Requesting an unknown parameter (%(category)s/%(name)s)"
 msgstr "Demande d'un paramètre inconnu: (%(category)s/%(name)s)"
 
-#: src/memory/memory.py:645
+#: src/memory/memory.py:723
 #, python-format
-msgid "Trying to set parameter '%s' in category '%s' without authorization!!!"
-msgstr ""
-
-#: src/memory/memory.py:688
+msgid ""
+"Trying to set parameter '%(param)s' in category '%(cat)s' without "
+"authorization!!!"
+msgstr ""
+
+#: src/memory/memory.py:776
 msgid "Memory manager init"
 msgstr "Initialisation du gestionnaire de mémoire"
 
-#: src/memory/memory.py:703
+#: src/memory/memory.py:791
 #, fuzzy
 msgid "Loading default params template"
 msgstr "Impossible de charger le modèle des paramètres !"
 
-#: src/memory/memory.py:716
+#: src/memory/memory.py:804
 msgid "Can't read main config !"
 msgstr ""
 
-#: src/memory/memory.py:750
+#: src/memory/memory.py:838
 #, python-format
 msgid "Parameters loaded from file: %s"
 msgstr ""
 
-#: src/memory/memory.py:753
+#: src/memory/memory.py:841
 #, fuzzy, python-format
 msgid "Can't load parameters from file: %s"
 msgstr "Impossible de charger le modèle des paramètres !"
 
-#: src/memory/memory.py:769
+#: src/memory/memory.py:857
 #, python-format
 msgid "[%s] Profile session started"
 msgstr ""
 
-#: src/memory/memory.py:775
+#: src/memory/memory.py:863
 #, fuzzy, python-format
 msgid "[%s] Profile session purge"
 msgstr "Ce profile n'est pas utilisé"
 
-#: src/memory/memory.py:780
+#: src/memory/memory.py:868
 #, python-format
 msgid "Trying to purge roster status cache for a profile not in memory: [%s]"
 msgstr ""
 
-#: src/memory/memory.py:790
+#: src/memory/memory.py:878
 #, fuzzy, python-format
 msgid "Parameters saved to file: %s"
 msgstr "Échec de la désinscription: %s"
 
-#: src/memory/memory.py:793
+#: src/memory/memory.py:881
 #, fuzzy, python-format
 msgid "Can't save parameters to file: %s"
 msgstr "Impossible de charger le modèle des paramètres !"
 
-#: src/memory/memory.py:879
+#: src/memory/memory.py:967
 #, python-format
 msgid ""
 "Entities (%(category)s/%(type)s) of %(server)s not available, maybe they "
 "haven't been asked yet?"
 msgstr ""
 
-#: src/memory/memory.py:908
+#: src/memory/memory.py:996
 #, fuzzy
 msgid "Trying find server feature for a non-existant profile"
 msgstr "Tentative d'ajout d'informations de présence à un profile inexistant"
 
-#: src/memory/memory.py:916
+#: src/memory/memory.py:1004
 #, python-format
 msgid "Features of %s not available, maybe they haven't been asked yet?"
 msgstr ""
 
-#: src/memory/memory.py:925
+#: src/memory/memory.py:1013
 #, fuzzy
 msgid "Asking contacts for a non-existant or not connected profile"
 msgstr "Demande de vcard pour un profile inexistant ou non connecté"
 
-#: src/memory/memory.py:929
+#: src/memory/memory.py:1017
 msgid "Entity not in cache"
 msgstr ""
 
-#: src/memory/memory.py:953
+#: src/memory/memory.py:1041
 msgid "Trying to add presence status to a non-existant profile"
 msgstr "Tentative d'ajout d'informations de présence à un profile inexistant"
 
-#: src/memory/memory.py:973 src/memory/memory.py:1004
+#: src/memory/memory.py:1061 src/memory/memory.py:1092
 #, fuzzy
 msgid "Trying to get entity data for a non-existant profile"
 msgstr "Tentative de suppression d'un contact pour un profile inexistant"
 
-#: src/memory/memory.py:1047
+#: src/memory/memory.py:1135
 msgid "Asking waiting subscriptions for a non-existant profile"
 msgstr "Demande des inscriptions en attente pour un profile inexistant"
 
@@ -2049,50 +2057,45 @@
 msgid "PersistentDict can't be used before memory initialisation"
 msgstr ""
 
-#: src/memory/sqlite.py:38
+#: src/memory/sqlite.py:83
 msgid "Connecting database"
 msgstr ""
 
-#: src/memory/sqlite.py:43
+#: src/memory/sqlite.py:88
 msgid "Can't activate foreign keys"
 msgstr ""
 
-#: src/memory/sqlite.py:46
+#: src/memory/sqlite.py:91
 #, fuzzy
 msgid "The database is new, creating the tables"
 msgstr "Ce nom de profile existe déjà"
 
-#: src/memory/sqlite.py:65
-#, python-format
-msgid "Error while creating tables in database [QUERY: %s]"
-msgstr ""
-
-#: src/memory/sqlite.py:112
+#: src/memory/sqlite.py:162
 #, fuzzy, python-format
 msgid "Can't delete profile [%s]"
 msgstr "Êtes vous sûr de vouloir supprimer le profile [%s] ?"
 
-#: src/memory/sqlite.py:117
+#: src/memory/sqlite.py:167
 #, fuzzy, python-format
 msgid "Profile [%s] deleted"
 msgstr "Aucun profile sélectionné"
 
-#: src/memory/sqlite.py:131
+#: src/memory/sqlite.py:181
 #, fuzzy
 msgid "loading general parameters from database"
 msgstr "Impossible de charger les paramètres généraux !"
 
-#: src/memory/sqlite.py:144
+#: src/memory/sqlite.py:194
 #, fuzzy
 msgid "loading individual parameters from database"
 msgstr "Impossible de charger les paramètres individuels !"
 
-#: src/memory/sqlite.py:166
+#: src/memory/sqlite.py:216
 #, fuzzy, python-format
 msgid "Can't set general parameter (%(category)s/%(name)s) in database"
 msgstr "Demande d'un paramètre inconnu: (%(category)s/%(name)s)"
 
-#: src/memory/sqlite.py:177
+#: src/memory/sqlite.py:227
 #, fuzzy, python-format
 msgid ""
 "Can't set individual parameter (%(category)s/%(name)s) for [%(profile)s] in "
@@ -2101,99 +2104,131 @@
 "Impossible de déterminer la valeur par défaut pour [%(category)s/%(name)s]: "
 "%(reason)s"
 
-#: src/memory/sqlite.py:196
+#: src/memory/sqlite.py:247
 #, python-format
 msgid ""
 "Can't save following message in history: from [%(from_jid)s] to [%(to_jid)s] "
 "==> [%(message)s]"
 msgstr ""
 
-#: src/memory/sqlite.py:261
+#: src/memory/sqlite.py:312
 #, python-format
 msgid "loading general private values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:263 src/memory/sqlite.py:279
+#: src/memory/sqlite.py:314 src/memory/sqlite.py:330
 #, python-format
 msgid "No data present in database for namespace %s"
 msgstr ""
 
-#: src/memory/sqlite.py:276
+#: src/memory/sqlite.py:327
 #, python-format
 msgid "loading individual private values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:288
+#: src/memory/sqlite.py:339
 #, python-format
 msgid ""
 "Can't set general private value (%(key)s) [namespace:%(namespace)s] in "
 "database"
 msgstr ""
 
-#: src/memory/sqlite.py:300
+#: src/memory/sqlite.py:351
 #, python-format
 msgid ""
 "Can't set individual private value (%(key)s) [namespace: %(namespace)s] for "
 "[%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:310
+#: src/memory/sqlite.py:361
 #, python-format
 msgid ""
 "Can't delete general private value (%(key)s) [namespace:%(namespace)s] in "
 "database"
 msgstr ""
 
-#: src/memory/sqlite.py:321
+#: src/memory/sqlite.py:372
 #, python-format
 msgid ""
 "Can't delete individual private value (%(key)s) [namespace: %(namespace)s] "
 "for [%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:335
+#: src/memory/sqlite.py:386
 #, python-format
 msgid "loading general private binary values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:337 src/memory/sqlite.py:353
+#: src/memory/sqlite.py:388 src/memory/sqlite.py:404
 #, python-format
 msgid "No binary data present in database for namespace %s"
 msgstr ""
 
-#: src/memory/sqlite.py:350
+#: src/memory/sqlite.py:401
 #, python-format
 msgid "loading individual private binary values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:362
+#: src/memory/sqlite.py:413
 #, python-format
 msgid ""
 "Can't set general private binary value (%(key)s) [namespace:%(namespace)s] "
 "in database"
 msgstr ""
 
-#: src/memory/sqlite.py:374
+#: src/memory/sqlite.py:425
 #, python-format
 msgid ""
 "Can't set individual binary private value (%(key)s) [namespace: "
 "%(namespace)s] for [%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:384
+#: src/memory/sqlite.py:435
 #, python-format
 msgid ""
 "Can't delete general private binary value (%(key)s) [namespace:"
 "%(namespace)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:395
+#: src/memory/sqlite.py:446
 #, python-format
 msgid ""
 "Can't delete individual private binary value (%(key)s) [namespace: "
 "%(namespace)s] for [%(profile)s] in database"
 msgstr ""
 
+#: src/memory/sqlite.py:512
+msgid ""
+"Your local schema is up-to-date, but database versions mismatch, fixing it..."
+msgstr ""
+
+#: src/memory/sqlite.py:522
+msgid ""
+"There is a schema mismatch, but as we are on a dev version, database will be "
+"updated"
+msgstr ""
+
+#: src/memory/sqlite.py:526
+msgid ""
+"schema version is up-to-date, but local schema differ from expected current "
+"schema"
+msgstr ""
+
+#: src/memory/sqlite.py:528
+#, python-format
+msgid ""
+"Here are the commands that should fix the situation, use at your own risk "
+"(do a backup before modifying database), you can go to SàT's MUC room at "
+"sat@chat.jabberfr.org for help\n"
+"### SQL###\n"
+"%s\n"
+"### END SQL ###\n"
+msgstr ""
+
+#: src/memory/sqlite.py:532
+msgid "Database schema has changed, local database will be updated"
+msgstr ""
+
 #: src/plugins/deprecated_misc_cs.py:50
 msgid ""
 "This plugin allow to manage your CouchSurfing account throught your SàT "
@@ -2321,6 +2356,30 @@
 msgid "sending message to %(friends)s with subject [%(subject)s]"
 msgstr "Envoi du message à %(friends)s avec le sujet [%(subject)s]"
 
+#: src/plugins/plugin_adhoc_dbus.py:48
+#, fuzzy
+msgid "Add D-Bus management to Ad-Hoc commands"
+msgstr "Implementation de vcard-temp"
+
+#: src/plugins/plugin_adhoc_dbus.py:55
+#, fuzzy
+msgid "plugin Ad-Hoc D-Bus initialization"
+msgstr "Initialisation du plugin XEP_0054"
+
+#: src/plugins/plugin_adhoc_dbus.py:164
+#, fuzzy
+msgid "Command selection"
+msgstr "Sélection du contrat"
+
+#: src/plugins/plugin_adhoc_dbus.py:201 src/plugins/plugin_xep_0050.py:372
+#, fuzzy
+msgid "Updated"
+msgstr "mise à jour de %s"
+
+#: src/plugins/plugin_adhoc_dbus.py:205
+msgid "Command sent"
+msgstr ""
+
 #: src/plugins/plugin_exp_command_export.py:36
 #, fuzzy
 msgid "Implementation of command export"
@@ -2499,41 +2558,41 @@
 msgid "Prosody path found: %s"
 msgstr "Fonctionnalité trouvée: %s"
 
-#: src/plugins/plugin_misc_groupblog.py:60
+#: src/plugins/plugin_misc_groupblog.py:61
 #, fuzzy
 msgid "Implementation of microblogging with roster access"
 msgstr "Implémentation de l'enregistrement en ligne"
 
-#: src/plugins/plugin_misc_groupblog.py:84
+#: src/plugins/plugin_misc_groupblog.py:85
 #, fuzzy
 msgid "Group blog plugin initialization"
 msgstr "Initialisation de l'extension pour les transports"
 
-#: src/plugins/plugin_misc_groupblog.py:142
-#: src/plugins/plugin_misc_room_game.py:309
+#: src/plugins/plugin_misc_groupblog.py:147
+#: src/plugins/plugin_misc_room_game.py:422
 #, python-format
 msgid "No client for this profile key: %s"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:148
+#: src/plugins/plugin_misc_groupblog.py:153
 msgid "Looking for item-access power pubsub server"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:156
+#: src/plugins/plugin_misc_groupblog.py:161
 #, python-format
 msgid "item-access powered pubsub service found: [%s]"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:166
+#: src/plugins/plugin_misc_groupblog.py:171
 msgid "No item-access powered pubsub server found, can't use group blog"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:315
+#: src/plugins/plugin_misc_groupblog.py:320
 #, fuzzy
 msgid "Unknown access_type"
 msgstr "Type d'action inconnu"
 
-#: src/plugins/plugin_misc_groupblog.py:356
+#: src/plugins/plugin_misc_groupblog.py:376
 #, fuzzy
 msgid "Unknown access type"
 msgstr "Type d'action inconnu"
@@ -2615,8 +2674,8 @@
 msgstr "Initialisation du plugin XEP_0054"
 
 #: src/plugins/plugin_misc_quiz.py:182
-#: src/plugins/plugin_misc_room_game.py:404
-#: src/plugins/plugin_misc_room_game.py:431
+#: src/plugins/plugin_misc_room_game.py:522
+#: src/plugins/plugin_misc_room_game.py:545
 #: src/plugins/plugin_misc_tarot.py:392 src/plugins/plugin_misc_tarot.py:406
 #, python-format
 msgid "profile %s is unknown"
@@ -2630,12 +2689,12 @@
 "Attention, tu es prêt ?"
 msgstr ""
 
-#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:469
+#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:474
 #, python-format
 msgid "Player %(player)s is ready to start [status: %(status)s]"
 msgstr "Le joueur %(player)s est prêt à commencer [statut: %(status)s]"
 
-#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:225
+#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:231
 #, fuzzy, python-format
 msgid "Unmanaged game element: %s"
 msgstr "élément de jeu de carte inconnu: %s"
@@ -2650,78 +2709,74 @@
 msgid "Radio collective initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_misc_radiocol.py:99
+#: src/plugins/plugin_misc_radiocol.py:101
 msgid "Can't access profile's data"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:123
+#: src/plugins/plugin_misc_radiocol.py:125
 msgid "No more participants in the radiocol: cleaning data"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:158
+#: src/plugins/plugin_misc_radiocol.py:161
 msgid "INTERNAL ERROR: can't find full path of the song to delete"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:165
+#: src/plugins/plugin_misc_radiocol.py:168
 #, python-format
 msgid "INTERNAL ERROR: can't find %s on the file system"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:44
+#: src/plugins/plugin_misc_room_game.py:45
 msgid "Base class for MUC games"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:166
+#: src/plugins/plugin_misc_room_game.py:197
+#, python-format
+msgid "%(user)s not allowed to join the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:331
 #, python-format
-msgid "%s not allowed to join the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:235
+msgid "%(user)s not allowed to invite for the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:376
 #, python-format
-msgid "%s not allowed to invite for the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:269
-#, python-format
-msgid "Still waiting for %s before starting the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:281
+msgid ""
+"Still waiting for %(users)s before starting the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:394
 #, python-format
 msgid "Preparing room for %s game"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:284 src/plugins/plugin_xep_0045.py:209
+#: src/plugins/plugin_misc_room_game.py:397 src/plugins/plugin_xep_0045.py:259
 #, fuzzy
 msgid "Unknown profile"
 msgstr "Afficher profile"
 
-#: src/plugins/plugin_misc_room_game.py:385
-#, python-format
-msgid "%s game already created in room %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:388
+#: src/plugins/plugin_misc_room_game.py:503
+#, fuzzy, python-format
+msgid "%(game)s game already created in room %(room)s"
+msgstr "%(profile)s est déjà dans le salon %(room_jid)s"
+
+#: src/plugins/plugin_misc_room_game.py:506
 #, python-format
-msgid "%s game in room %s can only be created by %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:401
+msgid "%(game)s game in room %(room)s can only be created by %(user)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:519
 #, fuzzy, python-format
-msgid "Creating %s game in room %s"
+msgid "Creating %(game)s game in room %(room)s"
 msgstr "Construction du jeu de Tarot"
 
-#: src/plugins/plugin_misc_room_game.py:409
-#, python-format
-msgid "Synchronize game %s in %s for %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:438
+#: src/plugins/plugin_misc_room_game.py:559
 #, python-format
 msgid "new round for %s game"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:495
+#: src/plugins/plugin_misc_room_game.py:624
 msgid "Message can not be sent without a sender profile"
 msgstr ""
 
@@ -2855,31 +2910,31 @@
 msgid "Cards played by %(profile)s: [%(cards)s]"
 msgstr "Cartes jouées par %(profile)s: [%(cards)s]"
 
-#: src/plugins/plugin_misc_tarot.py:502
+#: src/plugins/plugin_misc_tarot.py:507
 msgid "Everybody is passing, round ended"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:509
+#: src/plugins/plugin_misc_tarot.py:514
 #, python-format
 msgid "%(player)s win the bid with %(contrat)s"
 msgstr "%(player)s remporte l'enchère avec %(contrat)s"
 
-#: src/plugins/plugin_misc_tarot.py:530
+#: src/plugins/plugin_misc_tarot.py:535
 #, fuzzy
 msgid "tarot: chien received"
 msgstr "tarot: chien reçu"
 
-#: src/plugins/plugin_misc_tarot.py:581
+#: src/plugins/plugin_misc_tarot.py:586
 #, python-format
 msgid "The winner of this trick is %s"
 msgstr "le vainqueur de cette main est %s"
 
-#: src/plugins/plugin_misc_tarot.py:625
+#: src/plugins/plugin_misc_tarot.py:630
 #, fuzzy, python-format
 msgid "Unmanaged error type: %s"
 msgstr "type d'erreur inconnu: %s"
 
-#: src/plugins/plugin_misc_tarot.py:627
+#: src/plugins/plugin_misc_tarot.py:632
 #, python-format
 msgid "Unmanaged card game element: %s"
 msgstr "élément de jeu de carte inconnu: %s"
@@ -2909,16 +2964,16 @@
 "%s"
 msgstr ""
 
-#: src/plugins/plugin_misc_text_syntaxes.py:32
+#: src/plugins/plugin_misc_text_syntaxes.py:33 src/test/constants.py:42
 #, fuzzy
 msgid "Composition"
 msgstr "Connexion..."
 
-#: src/plugins/plugin_misc_text_syntaxes.py:57
+#: src/plugins/plugin_misc_text_syntaxes.py:58
 msgid "Management of various text syntaxes (XHTML-IM, Markdown, etc)"
 msgstr ""
 
-#: src/plugins/plugin_misc_text_syntaxes.py:97
+#: src/plugins/plugin_misc_text_syntaxes.py:99
 #, fuzzy
 msgid "Text syntaxes plugin initialization"
 msgstr "Initialisation de l'extension pour les transports"
@@ -2975,80 +3030,81 @@
 msgid "XEP-0033 is being used but the server doesn't support it!"
 msgstr ""
 
-#: src/plugins/plugin_xep_0033.py:91
+#: src/plugins/plugin_xep_0033.py:90
 #, python-format
-msgid "Stanzas using XEP-0033 should be addressed to %s, not %s!"
-msgstr ""
-
-#: src/plugins/plugin_xep_0033.py:92
+msgid ""
+"Stanzas using XEP-0033 should be addressed to %(expected)s, not %(current)s!"
+msgstr ""
+
+#: src/plugins/plugin_xep_0033.py:91
 msgid "TODO: addressing has be fixed by the backend... fix it in the frontend!"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:45
+#: src/plugins/plugin_xep_0045.py:47
 #, fuzzy
 msgid "Implementation of Multi-User Chat"
 msgstr "Implémentation de l'enregistrement en ligne"
 
-#: src/plugins/plugin_xep_0045.py:56
+#: src/plugins/plugin_xep_0045.py:58
 #, fuzzy
 msgid "Plugin XEP_0045 initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_xep_0045.py:78
+#: src/plugins/plugin_xep_0045.py:83
 #, python-format
 msgid "Unknown or disconnected profile (%s)"
 msgstr "Profil inconnu ou déconnecté (%s)"
 
-#: src/plugins/plugin_xep_0045.py:98
+#: src/plugins/plugin_xep_0045.py:103
 #, fuzzy
 msgid "Error while configuring the room"
 msgstr "Erreur en tentant de rejoindre le salon"
 
-#: src/plugins/plugin_xep_0045.py:109
+#: src/plugins/plugin_xep_0045.py:114
 #, fuzzy, python-format
 msgid "Error while joining the room %s"
 msgstr "Erreur en tentant de rejoindre le salon"
 
-#: src/plugins/plugin_xep_0045.py:111 src/plugins/plugin_xep_0045.py:258
+#: src/plugins/plugin_xep_0045.py:116 src/plugins/plugin_xep_0045.py:308
 msgid "Group chat error"
 msgstr "Erreur de salon de discussion"
 
-#: src/plugins/plugin_xep_0045.py:216
+#: src/plugins/plugin_xep_0045.py:266
 #, fuzzy
 msgid "Can't find a MUC service"
 msgstr "Impossible de trouver la VCard de %s"
 
-#: src/plugins/plugin_xep_0045.py:231
+#: src/plugins/plugin_xep_0045.py:281
 #, python-format
 msgid "%(profile)s is already in room %(room_jid)s"
 msgstr "%(profile)s est déjà dans le salon %(room_jid)s"
 
-#: src/plugins/plugin_xep_0045.py:233
+#: src/plugins/plugin_xep_0045.py:283
 #, python-format
 msgid "[%(profile)s] is joining room %(room)s with nick %(nick)s"
 msgstr "[%(profile)s] rejoint %(room)s avec %(nick)s"
 
-#: src/plugins/plugin_xep_0045.py:256
+#: src/plugins/plugin_xep_0045.py:306
 #, python-format
 msgid "Invalid room jid: %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:347
+#: src/plugins/plugin_xep_0045.py:397
 #, fuzzy, python-format
 msgid "user %(nick)s has joined room (%(room_id)s)"
 msgstr "L'utilisateur %(nick)s a rejoint le salon (%(room_id)s)"
 
-#: src/plugins/plugin_xep_0045.py:359
+#: src/plugins/plugin_xep_0045.py:409
 #, python-format
 msgid "Room [%(room)s] left (%(profile)s))"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:365
+#: src/plugins/plugin_xep_0045.py:415
 #, fuzzy, python-format
 msgid "user %(nick)s left room (%(room_id)s)"
 msgstr "L'utilisateur %(nick)s a quitté le salon (%(room_id)s)"
 
-#: src/plugins/plugin_xep_0045.py:377
+#: src/plugins/plugin_xep_0045.py:427
 #, fuzzy, python-format
 msgid "New subject for room (%(room_id)s): %(subject)s"
 msgstr "Nouveau sujet pour le salon (%(room_id)s): %(subject)s"
@@ -3131,141 +3187,161 @@
 msgid "Implementation of Ad-Hoc Commands"
 msgstr "Implementation de vcard-temp"
 
-#: src/plugins/plugin_xep_0050.py:207
+#: src/plugins/plugin_xep_0050.py:108
+#, fuzzy, python-format
+msgid "The groups [%(group)s] is unknown for profile [%(profile)s])"
+msgstr "Tentative d'accès à un profile inconnu"
+
+#: src/plugins/plugin_xep_0050.py:210
 #, fuzzy
 msgid "plugin XEP-0050 initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_xep_0050.py:215
+#: src/plugins/plugin_xep_0050.py:218 src/plugins/plugin_xep_0100.py:65
+msgid "Service"
+msgstr ""
+
+#: src/plugins/plugin_xep_0050.py:218
+msgid "commands"
+msgstr ""
+
+#: src/plugins/plugin_xep_0050.py:218
 msgid "Execute ad-hoc commands"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:221
+#: src/plugins/plugin_xep_0050.py:224
 msgid "Status"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:234
+#: src/plugins/plugin_xep_0050.py:237
 #, fuzzy
 msgid "Please select a command"
 msgstr "Veuillez entrer le nom du nouveau profile"
 
-#: src/plugins/plugin_xep_0050.py:331
+#: src/plugins/plugin_xep_0050.py:334
 #, fuzzy
 msgid "Please enter target jid"
 msgstr "Veuillez entrer le JID de votre nouveau contact"
 
-#: src/plugins/plugin_xep_0050.py:345
+#: src/plugins/plugin_xep_0050.py:348
 #, fuzzy
 msgid "status selection"
 msgstr "Sélection du contrat"
 
-#: src/plugins/plugin_xep_0050.py:369
-#, fuzzy
-msgid "Updated"
-msgstr "mise à jour de %s"
-
-#: src/plugins/plugin_xep_0050.py:373
+#: src/plugins/plugin_xep_0050.py:376
 msgid "Status updated"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:64
+#: src/plugins/plugin_xep_0054.py:65
 msgid "Implementation of vcard-temp"
 msgstr "Implementation de vcard-temp"
 
-#: src/plugins/plugin_xep_0054.py:74
+#: src/plugins/plugin_xep_0054.py:75
 msgid "Plugin XEP_0054 initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_xep_0054.py:143
+#: src/plugins/plugin_xep_0054.py:144
 #, python-format
 msgid "Photo of type [%s] found"
 msgstr "Photo du type [%s] trouvée"
 
-#: src/plugins/plugin_xep_0054.py:145
+#: src/plugins/plugin_xep_0054.py:146
 msgid "Decoding binary"
 msgstr "Décodage des données"
 
-#: src/plugins/plugin_xep_0054.py:152
+#: src/plugins/plugin_xep_0054.py:153
 #, fuzzy, python-format
 msgid "file saved to %s"
 msgstr "fichier enregistré dans %s"
 
-#: src/plugins/plugin_xep_0054.py:154
+#: src/plugins/plugin_xep_0054.py:155
 #, python-format
 msgid "file [%s] already in cache"
 msgstr "fichier [%s] déjà en cache"
 
-#: src/plugins/plugin_xep_0054.py:160
+#: src/plugins/plugin_xep_0054.py:161
 msgid "parsing vcard"
 msgstr "Analyse de la vcard"
 
-#: src/plugins/plugin_xep_0054.py:182
+#: src/plugins/plugin_xep_0054.py:183
 #, python-format
 msgid "FIXME: [%s] VCard tag is not managed yet"
 msgstr "CORRIGEZ-MOI: la balise VCard [%s] VCard n'est pas encore gérée"
 
-#: src/plugins/plugin_xep_0054.py:188
+#: src/plugins/plugin_xep_0054.py:189
 msgid "VCard found"
 msgstr "VCard trouvée"
 
-#: src/plugins/plugin_xep_0054.py:199
+#: src/plugins/plugin_xep_0054.py:200
 msgid "FIXME: vCard not found as first child element"
 msgstr "CORRIGEZ-MOI: la vCard n'est pas le premier élément enfant"
 
-#: src/plugins/plugin_xep_0054.py:205
+#: src/plugins/plugin_xep_0054.py:206
 #, python-format
 msgid "Can't find VCard of %s"
 msgstr "Impossible de trouver la VCard de %s"
 
-#: src/plugins/plugin_xep_0054.py:214
+#: src/plugins/plugin_xep_0054.py:215
 #, fuzzy
 msgid "Asking vcard for a non-existant or not connected profile"
 msgstr "Demande de vcard pour un profile inexistant ou non connecté"
 
-#: src/plugins/plugin_xep_0054.py:218
+#: src/plugins/plugin_xep_0054.py:219
 #, python-format
 msgid "Asking for %s's VCard"
 msgstr "Demande de la VCard de %s"
 
-#: src/plugins/plugin_xep_0054.py:233
+#: src/plugins/plugin_xep_0054.py:234
 #, python-format
 msgid "Asking for an uncached avatar [%s]"
 msgstr "Demande d'un avatar qui n'est pas en cache [%s]"
 
-#: src/plugins/plugin_xep_0054.py:262
+#: src/plugins/plugin_xep_0054.py:263
 #, fuzzy
 msgid "Trying to set avatar for a non-existant or not connected profile"
 msgstr "Demande de vcard pour un profile inexistant ou non connecté"
 
-#: src/plugins/plugin_xep_0054.py:307
+#: src/plugins/plugin_xep_0054.py:308
 msgid "New avatar found, requesting vcard"
 msgstr "Nouvel avatar trouvé, demande de vcard"
 
-#: src/plugins/plugin_xep_0055.py:37
+#: src/plugins/plugin_xep_0055.py:38
 #, fuzzy
 msgid "Implementation of Jabber Search"
 msgstr "Implementation de vcard-temp"
 
-#: src/plugins/plugin_xep_0055.py:44
+#: src/plugins/plugin_xep_0055.py:45
 #, fuzzy
 msgid "Jabber search plugin initialization"
 msgstr "Initialisation de l'extension pour les transports"
 
-#: src/plugins/plugin_xep_0055.py:75 src/plugins/plugin_xep_0055.py:116
+#: src/plugins/plugin_xep_0055.py:56 src/plugins/plugin_xep_0055.py:76
+msgid "Search directory"
+msgstr ""
+
+#: src/plugins/plugin_xep_0055.py:56
+msgid "Search use directory"
+msgstr ""
+
+#: src/plugins/plugin_xep_0055.py:77
+#, fuzzy
+msgid "Please enter the search jid"
+msgstr "Veuillez entrer le nom du nouveau profile"
+
+#: src/plugins/plugin_xep_0055.py:107 src/plugins/plugin_xep_0055.py:165
 msgid "No query element found"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:80 src/plugins/plugin_xep_0055.py:121
-#: src/plugins/plugin_xep_0077.py:59
+#: src/plugins/plugin_xep_0055.py:112 src/plugins/plugin_xep_0055.py:170
 msgid "No data form found"
 msgstr "Aucune donnée trouvée"
 
-#: src/plugins/plugin_xep_0055.py:87
+#: src/plugins/plugin_xep_0055.py:119
 #, fuzzy, python-format
 msgid "Fields request failure: %s"
 msgstr "Échec de l'inscription: %s"
 
-#: src/plugins/plugin_xep_0055.py:130
+#: src/plugins/plugin_xep_0055.py:176
 #, fuzzy, python-format
 msgid "Search request failure: %s"
 msgstr "Échec de la désinscription: %s"
@@ -3414,52 +3490,38 @@
 msgid "No proxy found on this server"
 msgstr ""
 
-#: src/plugins/plugin_xep_0071.py:43
+#: src/plugins/plugin_xep_0071.py:44
 #, fuzzy
 msgid "Implementation of XHTML-IM"
 msgstr "Implementation de vcard-temp"
 
-#: src/plugins/plugin_xep_0071.py:71
+#: src/plugins/plugin_xep_0071.py:72
 #, fuzzy
 msgid "XHTML-IM plugin initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_xep_0077.py:37
+#: src/plugins/plugin_xep_0071.py:114 src/plugins/plugin_xep_0277.py:259
+msgid "Can't have xhtml and rich content at the same time"
+msgstr ""
+
+#: src/plugins/plugin_xep_0077.py:39
 msgid "Implementation of in-band registration"
 msgstr "Implémentation de l'enregistrement en ligne"
 
-#: src/plugins/plugin_xep_0077.py:44
+#: src/plugins/plugin_xep_0077.py:46
 msgid "Plugin XEP_0077 initialization"
 msgstr "Initialisation du plugin XEP_0077"
 
-#: src/plugins/plugin_xep_0077.py:61
+#: src/plugins/plugin_xep_0077.py:64
+#, fuzzy
+msgid "Can't find data form"
+msgstr "Impossible de trouver la VCard de %s"
+
+#: src/plugins/plugin_xep_0077.py:65
 msgid "This gateway can't be managed by SàT, sorry :("
 msgstr "Ce transport ne peut être gérée par SàT, désolé :("
 
-#: src/plugins/plugin_xep_0077.py:82
-msgid "Your are now unregistred"
-msgstr "Vous êtes maintenant désinscrit"
-
-#: src/plugins/plugin_xep_0077.py:86
-#, python-format
-msgid "Unregistration failure: %s"
-msgstr "Échec de la désinscription: %s"
-
-#: src/plugins/plugin_xep_0077.py:90
-#, python-format
-msgid "Unregistration failed: %s"
-msgstr "Échec de la désinscription: %s"
-
-#: src/plugins/plugin_xep_0077.py:113
-#, fuzzy
-msgid "Registration failed"
-msgstr "Éched de l'insciption (%s)"
-
-#: src/plugins/plugin_xep_0077.py:131 src/plugins/plugin_xep_0095.py:183
-msgid "Asking for an non-existant or not connected profile"
-msgstr "Demande d'un profile inexistant ou non connecté"
-
-#: src/plugins/plugin_xep_0077.py:134
+#: src/plugins/plugin_xep_0077.py:109
 #, python-format
 msgid "Asking registration for [%s]"
 msgstr "Demande d'enregistrement pour [%s]"
@@ -3497,6 +3559,10 @@
 msgid "sending stream initiation accept answer"
 msgstr ""
 
+#: src/plugins/plugin_xep_0095.py:183
+msgid "Asking for an non-existant or not connected profile"
+msgstr "Demande d'un profile inexistant ou non connecté"
+
 #: src/plugins/plugin_xep_0095.py:188
 #, python-format
 msgid "Stream Session ID: %s"
@@ -3578,53 +3644,146 @@
 "[%(profile)s]"
 msgstr ""
 
-#: src/plugins/plugin_xep_0100.py:33
+#: src/plugins/plugin_xep_0100.py:35
 msgid "Implementation of Gateways protocol"
 msgstr "Implémentation du protocole de transports"
 
-#: src/plugins/plugin_xep_0100.py:40
-msgid "Gateways plugin initialization"
-msgstr "Initialisation de l'extension pour les transports"
+#: src/plugins/plugin_xep_0100.py:38
+#, fuzzy
+msgid ""
+"Be careful ! Gateways allow you to use an external IM (legacy IM), so you "
+"can see your contact as XMPP contacts.\n"
+"But when you do this, all your messages go throught the external legacy IM "
+"server, it is a huge privacy issue (i.e.: all your messages throught the "
+"gateway can be monitored, recorded, analysed by the external server, most of "
+"time a private company)."
+msgstr ""
+"Soyez prudent ! Les transports vous permettent d'utiliser une messagerie "
+"externe, de façon à pouvoir afficher vos contacts comme des contacts "
+"jabber.\n"
+"Mais si vous faites cela, tous vos messages passeront par les serveurs de la "
+"messagerie externe, c'est un gros problème pour votre vie privée (comprenez: "
+"tous vos messages à travers le transport pourront être affichés, "
+"enregistrés, analysés par ces serveurs externes, la plupart du temps une "
+"entreprise privée)."
+
+#: src/plugins/plugin_xep_0100.py:43
+msgid "Internet Relay Chat"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:44
+msgid "XMPP"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:45
+msgid "Tencent QQ"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:46
+msgid "SIP/SIMPLE"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:47
+msgid "ICQ"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:48
+msgid "Yahoo! Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:49
+msgid "Gadu-Gadu"
+msgstr ""
 
 #: src/plugins/plugin_xep_0100.py:50
+msgid "AOL Instant Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:51
+msgid "Windows Live Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:58
+msgid "Gateways plugin initialization"
+msgstr "Initialisation de l'extension pour les transports"
+
+#: src/plugins/plugin_xep_0100.py:65
+#, fuzzy
+msgid "gateways"
+msgstr "Chercher les transports"
+
+#: src/plugins/plugin_xep_0100.py:65
+#, fuzzy
+msgid "Find gateways"
+msgstr "Chercher les transports"
+
+#: src/plugins/plugin_xep_0100.py:77
+msgid "Invalid JID"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:84
+#, fuzzy, python-format
+msgid "Gateways manager (%s)"
+msgstr "Gestionnaire de transport"
+
+#: src/plugins/plugin_xep_0100.py:92
 #, python-format
-msgid "All items checked for id [%s]"
-msgstr "Tous les points ont été vérifiés pour l'id [%s]"
-
-#: src/plugins/plugin_xep_0100.py:61
+msgid "Failed (%s)"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:105
+#, fuzzy
+msgid "Use external XMPP server"
+msgstr "Utiliser un autre serveur XMPP:"
+
+#: src/plugins/plugin_xep_0100.py:107
+msgid "Go !"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:114
+#, fuzzy
+msgid "No gateway index selected"
+msgstr "Aucun profile sélectionné"
+
+#: src/plugins/plugin_xep_0100.py:128
 #, python-format
-msgid "Found gateway (%(jid)s): %(identity)s"
+msgid ""
+"INTERNAL ERROR: identity category should always be \"gateway\" in "
+"_getTypeString, got \"%s\""
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:132
+msgid "Unknown IM"
+msgstr "Messagerie inconnue"
+
+#: src/plugins/plugin_xep_0100.py:136
+msgid "Registration successful, doing the rest"
+msgstr "Inscription réussie, lancement du reste de la procédure"
+
+#: src/plugins/plugin_xep_0100.py:159
+msgid "Timeout"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:170
+#, fuzzy, python-format
+msgid "Found gateway [%(jid)s]: %(identity_name)s"
 msgstr "Transport trouvé (%(jid)s): %(identity)s"
 
-#: src/plugins/plugin_xep_0100.py:72
-#, fuzzy, python-format
-msgid "Error when discovering [%(jid)s]: %(error)s"
-msgstr "Erreur en analysant [%(jid)s]: %(condition)s"
-
-#: src/plugins/plugin_xep_0100.py:80
+#: src/plugins/plugin_xep_0100.py:173
+#, python-format
+msgid "Skipping [%(jid)s] which is not a gateway"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:180
 msgid "No gateway found"
 msgstr "Aucun transport trouvé"
 
-#: src/plugins/plugin_xep_0100.py:87
+#: src/plugins/plugin_xep_0100.py:185
 #, python-format
 msgid "item found: %s"
 msgstr "object trouvé: %s"
 
-#: src/plugins/plugin_xep_0100.py:92
-#, fuzzy, python-format
-msgid "Error when discovering [%(target)s]: %(condition)s"
-msgstr "Erreur en analysant [%(jid)s]: %(condition)s"
-
-#: src/plugins/plugin_xep_0100.py:93
-#, python-format
-msgid "Error while trying to discover %(target)s gateways: %(error_mess)s"
-msgstr "Erreur en essayant d'analyser %(target)s portails: %(error_mess)s"
-
-#: src/plugins/plugin_xep_0100.py:98
-msgid "Registration successful, doing the rest"
-msgstr "Inscription réussie, lancement du reste de la procédure"
-
-#: src/plugins/plugin_xep_0100.py:118
+#: src/plugins/plugin_xep_0100.py:209
 #, fuzzy, python-format
 msgid "find gateways (target = %(target)s, profile = %(profile)s)"
 msgstr "transports trouvée (cible = %s)"
@@ -3717,7 +3876,8 @@
 
 #: src/plugins/plugin_xep_0249.py:154
 #, python-format
-msgid "You have been invited by %s to join the room %s. Do you accept?"
+msgid ""
+"You have been invited by %(user)s to join the room %(room)s. Do you accept?"
 msgstr ""
 
 #: src/plugins/plugin_xep_0249.py:154 src/plugins/plugin_xep_0249.py:157
@@ -3728,55 +3888,78 @@
 #: src/plugins/plugin_xep_0249.py:157
 #, python-format
 msgid ""
-"An invitation from %s to join the room %s has been declined according to "
-"your personal settings."
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:45
+"An invitation from %(user)s to join the room %(room)s has been declined "
+"according to your personal settings."
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:47
 #, fuzzy
 msgid "Implementation of microblogging Protocol"
 msgstr "Implémentation du protocole de transports"
 
-#: src/plugins/plugin_xep_0277.py:56
+#: src/plugins/plugin_xep_0277.py:58
 #, fuzzy
 msgid "Microblogging plugin initialization"
 msgstr "Initialisation du plugin XEP_0054"
 
-#: src/plugins/plugin_xep_0277.py:95
-msgid "No entry element in microblog item"
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:131
-msgid "Error while parsing atom entry for microblogging event"
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:142
-#, fuzzy
-msgid "Cannot find author"
-msgstr "Impossible de trouver la VCard de %s"
-
-#: src/plugins/plugin_xep_0277.py:200
+#: src/plugins/plugin_xep_0277.py:132
+#, python-format
+msgid "No entry found in the pubsub item %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:155
+#, python-format
+msgid "Atom entry %s misses a required element"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:181
+#, python-format
+msgid "Can't parse the link element of pubsub entry %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:190
+#, python-format
+msgid "Can't find author element in pubsub entry %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:218
+msgid "Content of type XHTML must declare its namespace!"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:302
 msgid "Microblog data must contain at least 'content' key"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:204
+#: src/plugins/plugin_xep_0277.py:306
 msgid "Microblog data's content value must not be empty"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:238
+#: src/plugins/plugin_xep_0277.py:340
 #, fuzzy
 msgid "Can't find profile's jid"
 msgstr "Impossible de trouver la VCard de %s"
 
-#: src/plugins/plugin_xep_0277.py:245
+#: src/plugins/plugin_xep_0277.py:347
 #, python-format
 msgid "Microblog node has now access %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:249
+#: src/plugins/plugin_xep_0277.py:351
 msgid "Can't set microblog access"
 msgstr ""
 
+#: src/test/constants.py:43
+msgid "Enable unibox"
+msgstr ""
+
+#: src/test/constants.py:44
+msgid "'Wysiwyg' edition"
+msgstr ""
+
+#: src/test/test_plugin_misc_room_game.py:43
+msgid "Dummy plugin to test room game"
+msgstr ""
+
 #: src/tools/misc.py:58
 #, python-format
 msgid "There is already a bound priority [%s]"
@@ -3787,152 +3970,308 @@
 msgid "There is already a trigger with the same priority [%s]"
 msgstr ""
 
-#: src/tools/xml_tools.py:151
+#: src/tools/xml_tools.py:177
 #, fuzzy
 msgid "INTERNAL ERROR: parameters xml not valid"
 msgstr "ERREUR INTERNE: les paramètres doivent avoir un nom"
 
-#: src/tools/xml_tools.py:158
+#: src/tools/xml_tools.py:186
 msgid "INTERNAL ERROR: params categories must have a name"
 msgstr "ERREUR INTERNE: les catégories des paramètres doivent avoir un nom"
 
-#: src/tools/xml_tools.py:165
+#: src/tools/xml_tools.py:194
 msgid "INTERNAL ERROR: params must have a name"
 msgstr "ERREUR INTERNE: les paramètres doivent avoir un nom"
 
-#: src/tools/xml_tools.py:256
+#: src/tools/xml_tools.py:276
+msgid "TabElement must be a child of TabsContainer"
+msgstr ""
+
+#: src/tools/xml_tools.py:316
+msgid "Can't set row index if auto_index is True"
+msgstr ""
+
+#: src/tools/xml_tools.py:416
+msgid "either items or columns need do be filled"
+msgstr ""
+
+#: src/tools/xml_tools.py:429
+msgid "Headers lenght doesn't correspond to columns"
+msgstr ""
+
+#: src/tools/xml_tools.py:475
+msgid "Incorrect number of items in list"
+msgstr ""
+
+#: src/tools/xml_tools.py:578
+msgid "Value must be 0, 1, false or true"
+msgstr ""
+
+#: src/tools/xml_tools.py:612
+msgid "empty \"options\" list"
+msgstr ""
+
+#: src/tools/xml_tools.py:614
+msgid "invalid styles"
+msgstr ""
+
+#: src/tools/xml_tools.py:652
 #, fuzzy, python-format
 msgid "Unknown panel type [%s]"
 msgstr "Type d'action inconnu"
 
-#: src/tools/xml_tools.py:258
+#: src/tools/xml_tools.py:654
 msgid "form XMLUI need a submit_id"
 msgstr ""
 
-#: src/tools/xml_tools.py:291
+#: src/tools/xml_tools.py:656
+msgid "container argument must be a string"
+msgstr ""
+
+#: src/tools/xml_tools.py:748
 #, fuzzy, python-format
-msgid "Unknown layout type [%s]"
+msgid "Unknown container type [%s]"
+msgstr "Type d'action inconnu"
+
+#: src/tools/xml_tools.py:767
+#, fuzzy, python-format
+msgid "Invalid type [%s]"
 msgstr "Type d'action inconnu"
 
-#: src/tools/xml_tools.py:498
-msgid "Trying to add a category without parent tabs layout"
-msgstr ""
-"Tentative d'ajout d'une catégorie sans disposition dans l'onglet parent"
-
-#: src/tools/xml_tools.py:501
-msgid "parent layout of a category is not tabs"
-msgstr "la disposition parente d'une catégorie n'est pas \"tabs\" (onglets)"
-
-msgid "WARNING: unknown text type"
-msgstr "ATTENTION: type de texte inconnu"
-
-msgid "Ok"
-msgstr "Ok"
-
-msgid "Yes"
-msgstr "Oui"
-
-msgid "No"
-msgstr "Non"
-
-#, fuzzy
-msgid "INTERNAL ERROR: Tab not found"
-msgstr "ERREUR INTERNE: paramètres xml non valides"
-
-msgid "Impossible to list directory"
-msgstr "Impossible de lister les répertoires"
-
-msgid "Path: "
-msgstr "Chemin:"
-
-msgid "Bookmarks"
-msgstr "Favoris"
-
-msgid "No GTK bookmarks file found"
-msgstr "Aucun fichier favori pour GTK trouvé"
-
-msgid "No KDE bookmarks file found"
-msgstr "Aucun fichier favori pour KDE trouvé"
-
-msgid "%(name)s is a SàT (Salut à Toi) frontend\n"
-msgstr "%(name)s est un frontend pour SàT (Salut à Toi)\n"
-
-msgid "Contact List"
-msgstr "Liste de contacts"
-
-msgid "Incomplete data"
-msgstr "Données incomplétes"
-
-#, fuzzy
-msgid "Trying to call unknown function (%s)"
-msgstr "Tentative d'appel d'une fonction inconnue"
-
-#, fuzzy
-msgid "Trying to access an unknown menu (%(category)s/%(name)s/%(type)s)"
-msgstr "Demande d'un paramètre inconnu: (%(category)s/%(name)s)"
-
-msgid "general params data loaded"
-msgstr "Paramètres généraux chargés"
-
-msgid "individual params data loaded"
-msgstr "Paramètres individuels chargés"
-
-msgid "params template loaded"
-msgstr "Modèle des paramètres chargé"
-
-msgid "params loaded"
-msgstr "paramètres chargés"
-
-msgid "history loaded"
-msgstr "Historique chargée"
-
-msgid "private values loaded"
-msgstr "Données privées chargées"
-
-msgid "Can't load private values !"
-msgstr "Impossible de charger les données privées !"
-
-msgid "params saved"
-msgstr "Paramètres sauvés"
-
-msgid "history saved"
-msgstr "Historique sauvée"
-
-msgid "private values saved"
-msgstr "Données privées sauvées"
-
-msgid "source JID not found !"
-msgstr "JID source introuvable !"
-
-msgid "dest JID not found !"
-msgstr "JID destination introuvable !"
-
-msgid "Trying to add a contact to a non-existant profile"
-msgstr "Tentative d'ajout d'un contact à un profile inexistant"
-
-msgid "Adding connection: %(address)s, %(connection)s"
-msgstr "Ajout d'une connexion: %(address)s, %(connection)s"
-
-msgid "Saving file in %s."
-msgstr "Sauvegarde du fichier dans %s."
-
-msgid "Launching socks5 initiator"
-msgstr "Lancement de socks5 en mode initiateur"
-
-msgid "XEP-0096 management"
-msgstr "Gestion de XEP-0096"
-
-msgid "Transfer [%s] accepted"
-msgstr "Transfert [%s] accepté"
-
-msgid "Approved unknow id !"
-msgstr "id inconnue approuvée !"
-
-msgid "Feature negociation"
-msgstr "Négociation de fonctionnalités"
-
-msgid "presence update for [%s]"
-msgstr "mise à jour de l'information de présence pour [%s]"
+#~ msgid ""
+#~ "\n"
+#~ "        %prog [options] [FILE1 FILE2 ...] JID\n"
+#~ "        %prog -w [options] [JID1 JID2 ...]\n"
+#~ "\n"
+#~ "        %prog --help for options list\n"
+#~ "        "
+#~ msgstr ""
+#~ "\n"
+#~ "        %prog [options] [FICHIER1 FICHIER2 ...] JID\n"
+#~ "        %prog -w [options] [JID1 JID2 ...]\n"
+#~ "\n"
+#~ "        %prog --help pour la liste des options\n"
+#~ "        "
+
+#~ msgid "You must specify the destination JID (Jabber ID)"
+#~ msgstr "Vous devez préciser le JID (Jabber ID) de destination"
+
+#~ msgid "Option progress is not available, deactivated."
+#~ msgstr ""
+#~ "L'option « progress » (barre de progression) n'est pas disponible, elle "
+#~ "est désactivée."
+
+#~ msgid "OK !"
+#~ msgstr "C'est parti !"
+
+#~ msgid "FIXME: actionResult not implemented"
+#~ msgstr "CORRIGEZ-MOI: actionResult n'est pas implémenté"
+
+#~ msgid "GO !"
+#~ msgstr "C'est parti !"
+
+#, fuzzy
+#~ msgid "You must enter an external server JID"
+#~ msgstr "Utiliser un autre serveur XMPP:"
+
+#, fuzzy
+#~ msgid "Register"
+#~ msgstr "enregistrement"
+
+#, fuzzy
+#~ msgid "Unregister"
+#~ msgstr "enregistrement"
+
+#, fuzzy
+#~ msgid "Find gateways request"
+#~ msgstr "Demande de recherche de transports"
+
+#~ msgid "Unmanaged tag"
+#~ msgstr "Tab inconnu"
+
+#~ msgid "text node has no child !"
+#~ msgstr "le nœud text n'a pas d'enfant !"
+
+#, fuzzy
+#~ msgid "INTERNAL ERROR: Unmanaged show_type (%s)"
+#~ msgstr "ERREUR INTERNE: contrat inconnu (mal orthographié ?)"
+
+#, fuzzy
+#~ msgid "Opening gateways manager on [%s]"
+#~ msgstr "Envoi du message jabber à %s"
+
+#~ msgid "&Find Gateways"
+#~ msgstr "Trouver transports"
+
+#~ msgid " Find gateways to legacy IM"
+#~ msgstr " Trouve les transports vers les messageries externes"
+
+#~ msgid "Find Gateways request"
+#~ msgstr "Demande de recherche de transports"
+
+#, fuzzy
+#~ msgid "Parameters error"
+#~ msgstr "&Paramètres"
+
+#~ msgid "FIXME FIXME FIXME"
+#~ msgstr "CORRIGER-MOI"
+
+#~ msgid "Submitting form"
+#~ msgstr "Envoi du formulaire"
+
+#~ msgid "No user or server given"
+#~ msgstr "L'utilisateur ou le serveur n'ont pas été spécifié"
+
+#~ msgid "FIXME FIXME FIXME: Unmanaged action (%s) in submitForm"
+#~ msgstr ""
+#~ "CORRIGEZ-MOI CORRIGEZ-MOI CORRIGEZ-MOI: Action non gérée (%s) dans "
+#~ "\"submitForm\""
+
+#~ msgid "Your are now unregistred"
+#~ msgstr "Vous êtes maintenant désinscrit"
+
+#~ msgid "Unregistration failure: %s"
+#~ msgstr "Échec de la désinscription: %s"
+
+#~ msgid "Unregistration failed: %s"
+#~ msgstr "Échec de la désinscription: %s"
+
+#, fuzzy
+#~ msgid "Registration failed"
+#~ msgstr "Éched de l'insciption (%s)"
+
+#~ msgid "All items checked for id [%s]"
+#~ msgstr "Tous les points ont été vérifiés pour l'id [%s]"
+
+#, fuzzy
+#~ msgid "Error when discovering [%(jid)s]: %(error)s"
+#~ msgstr "Erreur en analysant [%(jid)s]: %(condition)s"
+
+#, fuzzy
+#~ msgid "Error when discovering [%(target)s]: %(condition)s"
+#~ msgstr "Erreur en analysant [%(jid)s]: %(condition)s"
+
+#~ msgid "Error while trying to discover %(target)s gateways: %(error_mess)s"
+#~ msgstr "Erreur en essayant d'analyser %(target)s portails: %(error_mess)s"
+
+#, fuzzy
+#~ msgid "Unknown layout type [%s]"
+#~ msgstr "Type d'action inconnu"
+
+#~ msgid "Trying to add a category without parent tabs layout"
+#~ msgstr ""
+#~ "Tentative d'ajout d'une catégorie sans disposition dans l'onglet parent"
+
+#~ msgid "parent layout of a category is not tabs"
+#~ msgstr "la disposition parente d'une catégorie n'est pas \"tabs\" (onglets)"
+
+#~ msgid "WARNING: unknown text type"
+#~ msgstr "ATTENTION: type de texte inconnu"
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#~ msgid "Yes"
+#~ msgstr "Oui"
+
+#~ msgid "No"
+#~ msgstr "Non"
+
+#, fuzzy
+#~ msgid "INTERNAL ERROR: Tab not found"
+#~ msgstr "ERREUR INTERNE: paramètres xml non valides"
+
+#~ msgid "Impossible to list directory"
+#~ msgstr "Impossible de lister les répertoires"
+
+#~ msgid "Path: "
+#~ msgstr "Chemin:"
+
+#~ msgid "Bookmarks"
+#~ msgstr "Favoris"
+
+#~ msgid "No GTK bookmarks file found"
+#~ msgstr "Aucun fichier favori pour GTK trouvé"
+
+#~ msgid "No KDE bookmarks file found"
+#~ msgstr "Aucun fichier favori pour KDE trouvé"
+
+#~ msgid "Contact List"
+#~ msgstr "Liste de contacts"
+
+#~ msgid "Incomplete data"
+#~ msgstr "Données incomplétes"
+
+#, fuzzy
+#~ msgid "Trying to call unknown function (%s)"
+#~ msgstr "Tentative d'appel d'une fonction inconnue"
+
+#, fuzzy
+#~ msgid "Trying to access an unknown menu (%(category)s/%(name)s/%(type)s)"
+#~ msgstr "Demande d'un paramètre inconnu: (%(category)s/%(name)s)"
+
+#~ msgid "general params data loaded"
+#~ msgstr "Paramètres généraux chargés"
+
+#~ msgid "individual params data loaded"
+#~ msgstr "Paramètres individuels chargés"
+
+#~ msgid "params template loaded"
+#~ msgstr "Modèle des paramètres chargé"
+
+#~ msgid "params loaded"
+#~ msgstr "paramètres chargés"
+
+#~ msgid "history loaded"
+#~ msgstr "Historique chargée"
+
+#~ msgid "private values loaded"
+#~ msgstr "Données privées chargées"
+
+#~ msgid "Can't load private values !"
+#~ msgstr "Impossible de charger les données privées !"
+
+#~ msgid "params saved"
+#~ msgstr "Paramètres sauvés"
+
+#~ msgid "history saved"
+#~ msgstr "Historique sauvée"
+
+#~ msgid "private values saved"
+#~ msgstr "Données privées sauvées"
+
+#~ msgid "source JID not found !"
+#~ msgstr "JID source introuvable !"
+
+#~ msgid "dest JID not found !"
+#~ msgstr "JID destination introuvable !"
+
+#~ msgid "Trying to add a contact to a non-existant profile"
+#~ msgstr "Tentative d'ajout d'un contact à un profile inexistant"
+
+#~ msgid "Adding connection: %(address)s, %(connection)s"
+#~ msgstr "Ajout d'une connexion: %(address)s, %(connection)s"
+
+#~ msgid "Saving file in %s."
+#~ msgstr "Sauvegarde du fichier dans %s."
+
+#~ msgid "Launching socks5 initiator"
+#~ msgstr "Lancement de socks5 en mode initiateur"
+
+#~ msgid "XEP-0096 management"
+#~ msgstr "Gestion de XEP-0096"
+
+#~ msgid "Transfer [%s] accepted"
+#~ msgstr "Transfert [%s] accepté"
+
+#~ msgid "Approved unknow id !"
+#~ msgstr "id inconnue approuvée !"
+
+#~ msgid "Feature negociation"
+#~ msgstr "Négociation de fonctionnalités"
+
+#~ msgid "presence update for [%s]"
+#~ msgstr "mise à jour de l'information de présence pour [%s]"
 
 #, fuzzy
 #~ msgid "hiding %s"
Binary file i18n/fr/LC_MESSAGES/sat.mo has changed
--- a/i18n/sat.po	Mon Feb 24 12:57:56 2014 +0100
+++ b/i18n/sat.po	Mon Feb 24 19:21:07 2014 +0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-12-29 16:04+0100\n"
+"POT-Creation-Date: 2014-02-24 19:12+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -47,181 +47,260 @@
 msgid "Away"
 msgstr ""
 
-#: frontends/src/jp/jp:63
+#: frontends/src/jp/base.py:46
 msgid ""
 "ProgressBar not available, please download it at http://pypi.python.org/pypi/"
 "progressbar"
 msgstr ""
 
-#: frontends/src/jp/jp:64
+#: frontends/src/jp/base.py:47
 msgid ""
 "Progress bar deactivated\n"
 "--\n"
 msgstr ""
 
-#: frontends/src/jp/jp:75 frontends/src/quick_frontend/quick_app.py:43
+#: frontends/src/jp/base.py:79 frontends/src/quick_frontend/quick_app.py:43
 msgid "Can't connect to SàT backend, are you sure it's launched ?"
 msgstr ""
 
-#: frontends/src/jp/jp:78 frontends/src/quick_frontend/quick_app.py:46
+#: frontends/src/jp/base.py:82 frontends/src/quick_frontend/quick_app.py:46
 msgid "Can't init bridge"
 msgstr ""
 
-#: frontends/src/jp/jp:84
-msgid ""
-"\n"
-"        %prog [options] [FILE1 FILE2 ...] JID\n"
-"        %prog -w [options] [JID1 JID2 ...]\n"
-"\n"
-"        %prog --help for options list\n"
-"        "
-msgstr ""
-
-#: frontends/src/jp/jp:94
+#: frontends/src/jp/base.py:90
+msgid "Available commands"
+msgstr ""
+
+#: frontends/src/jp/base.py:112
 #, python-format
-msgid "Use PROFILE profile key (default: %default)"
-msgstr ""
-
-#: frontends/src/jp/jp:96
-msgid "Make a bzip2 tarball"
-msgstr ""
-
-#: frontends/src/jp/jp:98
-msgid "Wait for a file to be sent by a contact"
-msgstr ""
-
-#: frontends/src/jp/jp:100
-msgid "Accept multiple files (you'll have to stop manually)"
-msgstr ""
-
-#: frontends/src/jp/jp:102
-msgid "Force overwritting of existing files"
-msgstr ""
-
-#: frontends/src/jp/jp:104
+msgid "Use PROFILE profile key (default: %(default)s)"
+msgstr ""
+
+#: frontends/src/jp/base.py:113
+msgid "Connect the profile before doing anything else"
+msgstr ""
+
+#: frontends/src/jp/base.py:117
 msgid "Show progress bar"
 msgstr ""
 
-#: frontends/src/jp/jp:106
-msgid ""
-"Separate xmpp messages: send one message per line instead of one message "
-"alone."
-msgstr ""
-
-#: frontends/src/jp/jp:108
-msgid "Add a new line at the beginning of the input (usefull for ascii art ;))"
-msgstr ""
-
-#: frontends/src/jp/jp:110
-msgid "List available profiles"
-msgstr ""
-
-#: frontends/src/jp/jp:112
-msgid "Create a profile (args: profile_name jid password)"
-msgstr ""
-
-#: frontends/src/jp/jp:114
-msgid "Get profile informations (arg: profile_name)"
-msgstr ""
-
-#: frontends/src/jp/jp:116
-msgid "Remove profile"
-msgstr ""
-
-#: frontends/src/jp/jp:118
-msgid "Connect the profile before doing anything else"
-msgstr ""
-
-#: frontends/src/jp/jp:120
-msgid "Wait for the reception of a pipe stream"
-msgstr ""
-
-#: frontends/src/jp/jp:122
-msgid "Pipe a stream out "
-msgstr ""
-
-#: frontends/src/jp/jp:137
-msgid "You must specify the destination JID (Jabber ID)"
-msgstr ""
-
-#: frontends/src/jp/jp:149
-msgid "Option progress is not available, deactivated."
-msgstr ""
-
-#: frontends/src/jp/jp:196
+#: frontends/src/jp/base.py:145
+#, python-format
+msgid "Invalid module %s"
+msgstr ""
+
+#: frontends/src/jp/base.py:161
+msgid "User interruption: good bye"
+msgstr ""
+
+#: frontends/src/jp/base.py:203
+#, python-format
+msgid "%s is not a valid JID !"
+msgstr ""
+
+#: frontends/src/jp/base.py:226
 msgid "Can't connect profile"
 msgstr ""
 
-#: frontends/src/jp/jp:202 frontends/src/quick_frontend/quick_app.py:128
-msgid "The profile asked doesn't exist"
-msgstr ""
-
-#: frontends/src/jp/jp:209
+#: frontends/src/jp/base.py:232
+#, python-format
+msgid "The profile [%s] doesn't exist"
+msgstr ""
+
+#: frontends/src/jp/base.py:241
 #, python-format
 msgid ""
 "Profile [%(profile)s] is not connected, please connect it before using jp, "
 "or use --connect option"
 msgstr ""
 
-#: frontends/src/jp/jp:237
+#: frontends/src/jp/base.py:269
+msgid "Progress: "
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:34
+msgid "Remote control a software"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:37
+msgid "Software name"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:38
+msgid "Jids allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:39
+msgid "Groups allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:40
+msgid "Groups that are *NOT* allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:41
+msgid "Jids that are *NOT* allowed to use the command"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:42
+msgid "Loop on the commands"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:56
 #, python-format
-msgid "%s is not a valid JID !"
-msgstr ""
-
-#: frontends/src/jp/jp:285
+msgid "Bus name found: [%s]"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:59
 #, python-format
-msgid "File [%s] doesn't exist !"
-msgstr ""
-
-#: frontends/src/jp/jp:288
+msgid "Command found: (path:%(path)s, iface: %(iface)s) [%(command)s]"
+msgstr ""
+
+#: frontends/src/jp/cmd_adhoc.py:68
+msgid "Ad-hoc commands"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:33
+msgid "Send a file to a contact"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:36
+msgid "A list of file"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:37 frontends/src/jp/cmd_message.py:36
+#: frontends/src/jp/cmd_pipe.py:37
+msgid "The destination jid"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:38
+msgid "Make a bzip2 tarball"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:50
+#, python-format
+msgid "file [%s] doesn't exist !"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:53
 #, python-format
 msgid "[%s] is a dir ! Please send files inside or use compression"
 msgstr ""
 
-#: frontends/src/jp/jp:295
+#: frontends/src/jp/cmd_file.py:61
 #, python-format
-msgid "tmp file (%s) already exists ! Please remove it"
-msgstr ""
-
-#: frontends/src/jp/jp:297
+msgid "tmp file_ (%s) already exists ! Please remove it"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:63
 msgid "bz2 is an experimental option at an early dev stage, use with caution"
 msgstr ""
 
-#: frontends/src/jp/jp:299
+#: frontends/src/jp/cmd_file.py:65
 msgid "Starting compression, please wait..."
 msgstr ""
 
-#: frontends/src/jp/jp:303
+#: frontends/src/jp/cmd_file.py:69
 #, python-format
 msgid "Adding %s"
 msgstr ""
 
-#: frontends/src/jp/jp:306
-msgid "OK !"
-msgstr ""
-
-#: frontends/src/jp/jp:342
+#: frontends/src/jp/cmd_file.py:72
+msgid "Done !"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:85
+msgid "Wait for a file to be sent by a contact"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:92 frontends/src/jp/cmd_pipe.py:68
+msgid "Jids accepted (none means \"accept everything\")"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:93
+msgid "Accept multiple files (you'll have to stop manually)"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:94
+msgid "Force overwritting of existing files"
+msgstr ""
+
+#: frontends/src/jp/cmd_file.py:103
 #, python-format
 msgid "Accepted file [%(filename)s] from %(sender)s"
 msgstr ""
 
-#: frontends/src/jp/jp:346
+#: frontends/src/jp/cmd_file.py:107
 #, python-format
 msgid ""
 "Refused file [%(filename)s] from %(sender)s: a file with the same name "
 "already exist"
 msgstr ""
 
-#: frontends/src/jp/jp:371
-msgid "FIXME: actionResult not implemented"
-msgstr ""
-
-#: frontends/src/jp/jp:391
-msgid "Progress: "
-msgstr ""
-
-#: frontends/src/jp/jp:418
-msgid "User interruption: good bye"
+#: frontends/src/jp/cmd_file.py:125
+msgid "File sending/receiving"
+msgstr ""
+
+#: frontends/src/jp/cmd_message.py:31
+msgid "Send a message to a contact"
+msgstr ""
+
+#: frontends/src/jp/cmd_message.py:34
+msgid ""
+"Separate xmpp messages: send one message per line instead of one message "
+"alone."
+msgstr ""
+
+#: frontends/src/jp/cmd_message.py:35
+msgid "Add a new line at the beginning of the input (usefull for ascii art ;))"
+msgstr ""
+
+#: frontends/src/jp/cmd_pipe.py:34
+msgid "Pipe a stream out"
+msgstr ""
+
+#: frontends/src/jp/cmd_pipe.py:61
+msgid "Wait for the reception of a pipe stream"
+msgstr ""
+
+#: frontends/src/jp/cmd_pipe.py:87
+msgid "Stream piping through XMPP"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:30
+msgid "The name of the profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:35
+msgid "Delete a profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:50
+msgid "Get informations about a profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:76
+msgid "List profiles"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:89
+msgid "Create a new profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:92
+msgid "the name of the profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:93
+msgid "the jid of the profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:94
+msgid "the password of the profile"
+msgstr ""
+
+#: frontends/src/jp/cmd_profile.py:115
+msgid "Profile commands"
 msgstr ""
 
 #: frontends/src/primitivus/card_game.py:266
@@ -254,281 +333,227 @@
 msgid "Do you put these cards in chien ?"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:133
+#: frontends/src/primitivus/chat.py:134
 msgid "Game"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:136
+#: frontends/src/primitivus/chat.py:135
+msgid "MUC"
+msgstr ""
+
+#: frontends/src/primitivus/chat.py:137
+msgid "Configure room"
+msgstr ""
+
+#: frontends/src/primitivus/chat.py:139
 msgid "Action"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:136
+#: frontends/src/primitivus/chat.py:139
 msgid "Send file"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:315
+#: frontends/src/primitivus/chat.py:318
 #, python-format
 msgid "Primitivus: %s is talking to you"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:317
+#: frontends/src/primitivus/chat.py:320
 #, python-format
-msgid "Primitivus: %s mentioned you in room '%s'"
-msgstr ""
-
-#: frontends/src/primitivus/chat.py:334 frontends/src/wix/chat.py:273
+msgid "Primitivus: %(user)s mentioned you in room '%(room)s'"
+msgstr ""
+
+#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273
 msgid "Can't start game"
 msgstr ""
 
-#: frontends/src/primitivus/chat.py:334 frontends/src/wix/chat.py:273
+#: frontends/src/primitivus/chat.py:337 frontends/src/wix/chat.py:273
 msgid "You need to be exactly 4 peoples in the room to start a Tarot game"
 msgstr ""
 
+#: frontends/src/primitivus/chat.py:345
+#: frontends/src/primitivus/primitivus:458
+#: frontends/src/primitivus/primitivus:460
+#: frontends/src/primitivus/primitivus:523
+#: frontends/src/primitivus/primitivus:549
+#: frontends/src/primitivus/primitivus:559
+#: frontends/src/primitivus/primitivus:578
+#: frontends/src/primitivus/primitivus:597 frontends/src/wix/card_game.py:134
+#: frontends/src/wix/main_window.py:248 frontends/src/wix/main_window.py:255
+#: frontends/src/wix/main_window.py:323 frontends/src/wix/main_window.py:410
+#: frontends/src/wix/main_window.py:458 frontends/src/wix/main_window.py:481
+msgid "Error"
+msgstr ""
+
 #: frontends/src/primitivus/contact_list.py:44
 msgid "Contacts"
 msgstr ""
 
-#: frontends/src/primitivus/gateways.py:29
-#: frontends/src/quick_frontend/quick_gateways.py:27
-#: frontends/src/wix/gateways.py:32
-msgid "Gateways manager"
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:39 frontends/src/wix/gateways.py:87
-msgid "Use external XMPP server: "
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:40 frontends/src/wix/gateways.py:90
-msgid "GO !"
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:51
-#: frontends/src/primitivus/primitivus:468
-#: frontends/src/primitivus/primitivus:470
-#: frontends/src/primitivus/primitivus:532
-#: frontends/src/primitivus/primitivus:558
-#: frontends/src/primitivus/primitivus:568
-#: frontends/src/primitivus/primitivus:586
-#: frontends/src/primitivus/primitivus:615
-#: frontends/src/primitivus/primitivus:630
-#: frontends/src/primitivus/primitivus:652 frontends/src/wix/card_game.py:134
-#: frontends/src/wix/main_window.py:124 frontends/src/wix/main_window.py:260
-#: frontends/src/wix/main_window.py:267 frontends/src/wix/main_window.py:335
-#: frontends/src/wix/main_window.py:462 frontends/src/wix/main_window.py:485
-msgid "Error"
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:51
-msgid "You must enter an external server JID"
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:69 frontends/src/wix/gateways.py:147
-msgid "Register"
-msgstr ""
-
-#: frontends/src/primitivus/gateways.py:72 frontends/src/wix/gateways.py:151
-msgid "Unregister"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:112
-msgid "Error while sending message"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:275
+#: frontends/src/primitivus/primitivus:108
+#, python-format
+msgid "Error while sending message (%s)"
+msgstr ""
+
+#: frontends/src/primitivus/primitivus:273
 msgid "Pleeeeasse, I can't even breathe !"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:290
-#: frontends/src/wix/main_window.py:123
-msgid "Error while calling menu"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:294 frontends/src/wix/profile.py:83
+#: frontends/src/primitivus/primitivus:285 frontends/src/wix/profile.py:83
 msgid "General"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:295
+#: frontends/src/primitivus/primitivus:286
 #: frontends/src/primitivus/profile_manager.py:49
 #: frontends/src/wix/profile_manager.py:69
 msgid "Connect"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:296 src/plugins/plugin_xep_0050.py:57
+#: frontends/src/primitivus/primitivus:287 src/plugins/plugin_xep_0050.py:57
 msgid "Disconnect"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:297
+#: frontends/src/primitivus/primitivus:288
 msgid "Parameters"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:298
-#: frontends/src/primitivus/primitivus:636
+#: frontends/src/primitivus/primitivus:289
+#: frontends/src/primitivus/primitivus:603
 msgid "About"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:299
+#: frontends/src/primitivus/primitivus:290
 msgid "Exit"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:300
+#: frontends/src/primitivus/primitivus:291
 msgid "Contact"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:301
+#: frontends/src/primitivus/primitivus:292
 msgid "Add contact"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:302
+#: frontends/src/primitivus/primitivus:293
 msgid "Remove contact"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:303
+#: frontends/src/primitivus/primitivus:294 src/plugins/plugin_xep_0055.py:56
 msgid "Communication"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:304
+#: frontends/src/primitivus/primitivus:295
 msgid "Join room"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:305
-msgid "Find Gateways"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:306
-#: frontends/src/primitivus/primitivus:620
-msgid "Search directory"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:318
+#: frontends/src/primitivus/primitivus:307
 msgid "Main menu"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:364
-#: frontends/src/primitivus/primitivus:392
+#: frontends/src/primitivus/primitivus:354
+#: frontends/src/primitivus/primitivus:382
 msgid "Chat menu"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:430
-#: frontends/src/wix/main_window.py:215
+#: frontends/src/primitivus/primitivus:420
+#: frontends/src/wix/main_window.py:203
 #, python-format
 msgid "unmanaged dialog type: %s"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:445
+#: frontends/src/primitivus/primitivus:435
 msgid "INTERNAL ERROR: Unexpected class for main widget's footer"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:468
-#: frontends/src/wix/main_window.py:259
+#: frontends/src/primitivus/primitivus:458
+#: frontends/src/wix/main_window.py:247
 msgid "Unmanaged action result"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:487
-#: frontends/src/wix/main_window.py:289
+#: frontends/src/primitivus/primitivus:477
+#: frontends/src/wix/main_window.py:277
 msgid "Where do you want to save the file ?"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:499
-#: frontends/src/wix/main_window.py:283
+#: frontends/src/primitivus/primitivus:489
+#: frontends/src/wix/main_window.py:271
 #, python-format
 msgid ""
 "The contact %(jid)s wants to send you the file %(filename)s\n"
 "Do you accept ?"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:511
-#: frontends/src/wix/main_window.py:320
+#: frontends/src/primitivus/primitivus:502
+#: frontends/src/wix/main_window.py:308
 msgid "unknown id, ignoring"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:517
-#: frontends/src/wix/main_window.py:256 frontends/src/wix/main_window.py:342
+#: frontends/src/primitivus/primitivus:508
+#: frontends/src/wix/main_window.py:244 frontends/src/wix/main_window.py:330
 msgid "XML user interface received"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:520
-#: frontends/src/wix/main_window.py:345
+#: frontends/src/primitivus/primitivus:511
+#: frontends/src/wix/main_window.py:333
 msgid "Form"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:522
-#: frontends/src/wix/main_window.py:347
+#: frontends/src/primitivus/primitivus:513
+#: frontends/src/wix/main_window.py:335
 msgid "Registration"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:546
-#: frontends/src/wix/main_window.py:364
+#: frontends/src/primitivus/primitivus:537
+#: frontends/src/wix/main_window.py:352
 #, python-format
 msgid "FIXME FIXME FIXME: type [%s] not implemented"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:556
-#: frontends/src/primitivus/primitivus:566
-#: frontends/src/wix/main_window.py:452 frontends/src/wix/main_window.py:512
+#: frontends/src/primitivus/primitivus:547
+#: frontends/src/primitivus/primitivus:557
+#: frontends/src/wix/main_window.py:448 frontends/src/wix/main_window.py:508
 #, python-format
 msgid "'%s' is an invalid JID !"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:572
-#: frontends/src/wix/main_window.py:475
+#: frontends/src/primitivus/primitivus:563
+#: frontends/src/wix/main_window.py:471
 #, python-format
 msgid "Unsubscribing %s presence"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:586 frontends/src/wix/param.py:60
+#: frontends/src/primitivus/primitivus:578
 msgid "Can't get parameters"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:596
-#: frontends/src/wix/main_window.py:506
+#: frontends/src/primitivus/primitivus:587
+#: frontends/src/wix/main_window.py:502
 msgid "Entering a MUC room"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:596
-#: frontends/src/wix/main_window.py:504
+#: frontends/src/primitivus/primitivus:587
+#: frontends/src/wix/main_window.py:500
 msgid "Please enter MUC's JID"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:600
-msgid "Find gateways request"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:606
-msgid "Search directory request"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:615
-#: frontends/src/primitivus/primitivus:652
-msgid "Can't get search UI"
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:620
-msgid "Please enter the search jid: "
-msgstr ""
-
-#: frontends/src/primitivus/primitivus:624
-#: frontends/src/wix/main_window.py:445
+#: frontends/src/primitivus/primitivus:591
+#: frontends/src/wix/main_window.py:441
 msgid "Adding a contact"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:624
-#: frontends/src/wix/main_window.py:444
+#: frontends/src/primitivus/primitivus:591
+#: frontends/src/wix/main_window.py:440
 msgid "Please enter new contact JID"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:630
+#: frontends/src/primitivus/primitivus:597
 msgid "You have not selected any contact to delete !"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:632
+#: frontends/src/primitivus/primitivus:599
 #, python-format
 msgid "Are you sure you want to delete the contact [%s] ?"
 msgstr ""
 
-#: frontends/src/primitivus/primitivus:649
-msgid "Search result"
-msgstr ""
-
 #: frontends/src/primitivus/profile_manager.py:35
 msgid "Login:"
 msgstr ""
@@ -630,46 +655,20 @@
 msgid "New status"
 msgstr ""
 
-#: frontends/src/primitivus/xmlui.py:81 frontends/src/wix/xmlui.py:64
-msgid "Unmanaged tag"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:94 frontends/src/wix/xmlui.py:78
-msgid "text node has no child !"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:124 frontends/src/wix/xmlui.py:112
-#, python-format
-msgid "FIXME FIXME FIXME: type [%s] is not implemented"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:160 frontends/src/wix/xmlui.py:143
-msgid "Unknown layout, using default one"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:173 frontends/src/wix/xmlui.py:162
-msgid "Unknown tag"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:203 frontends/src/wix/xmlui.py:186
+#: frontends/src/primitivus/xmlui.py:76
+msgid "Unknown div_char"
+msgstr ""
+
+#: frontends/src/primitivus/xmlui.py:225 frontends/src/wix/xmlui.py:255
 msgid "Submit"
 msgstr ""
 
-#: frontends/src/primitivus/xmlui.py:205 frontends/src/primitivus/xmlui.py:213
+#: frontends/src/primitivus/xmlui.py:227 frontends/src/primitivus/xmlui.py:235
 msgid "Cancel"
 msgstr ""
 
-#: frontends/src/primitivus/xmlui.py:212
-msgid "Save"
-msgstr ""
-
 #: frontends/src/primitivus/xmlui.py:234
-#, python-format
-msgid "INTERNAL ERROR: Unmanaged show_type (%s)"
-msgstr ""
-
-#: frontends/src/primitivus/xmlui.py:283 frontends/src/wix/xmlui.py:244
-msgid "The form data is not sent back, the type is not managed properly"
+msgid "Save"
 msgstr ""
 
 #: frontends/src/quick_frontend/quick_app.py:98
@@ -694,6 +693,10 @@
 msgid "There is already one profile plugged (we are in single profile mode) !"
 msgstr ""
 
+#: frontends/src/quick_frontend/quick_app.py:128
+msgid "The profile asked doesn't exist"
+msgstr ""
+
 #: frontends/src/quick_frontend/quick_app.py:131
 msgid "The profile is already plugged"
 msgstr ""
@@ -731,142 +734,146 @@
 msgid "FIXME: error_type %s not implemented"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:302
+#: frontends/src/quick_frontend/quick_app.py:290
+msgid "sendMessage Error"
+msgstr ""
+
+#: frontends/src/quick_frontend/quick_app.py:306
 #, python-format
 msgid ""
 "presence update for %(jid)s (show=%(show)s, priority=%(priority)s, statuses="
 "%(statuses)s) [profile:%(profile)s]"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:319
+#: frontends/src/quick_frontend/quick_app.py:323
 #, python-format
 msgid "Watched jid [%s] is connected !"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:332
+#: frontends/src/quick_frontend/quick_app.py:336
 #, python-format
 msgid "Room [%(room_jid)s] joined by %(profile)s, users presents:%(users)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:343
+#: frontends/src/quick_frontend/quick_app.py:347
 #, python-format
 msgid "Room [%(room_jid)s] left by %(profile)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:353
+#: frontends/src/quick_frontend/quick_app.py:357
 #, python-format
 msgid "user [%(user_nick)s] joined room [%(room_jid)s]"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:361
+#: frontends/src/quick_frontend/quick_app.py:365
 #, python-format
 msgid "user [%(user_nick)s] left room [%(room_jid)s]"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:369
+#: frontends/src/quick_frontend/quick_app.py:373
 #, python-format
 msgid ""
 "user [%(old_nick)s] is now known as [%(new_nick)s] in room [%(room_jid)s]"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:377
+#: frontends/src/quick_frontend/quick_app.py:381
 #, python-format
 msgid "new subject for room [%(room_jid)s]: %(subject)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:382
+#: frontends/src/quick_frontend/quick_app.py:386
 msgid "Tarot Game Started \\o/"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:385
+#: frontends/src/quick_frontend/quick_app.py:389
 #, python-format
 msgid ""
 "new Tarot game started by [%(referee)s] in room [%(room_jid)s] with "
 "%(players)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:390
+#: frontends/src/quick_frontend/quick_app.py:394
 msgid "New Tarot Game"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:398
+#: frontends/src/quick_frontend/quick_app.py:402
 msgid "Tarot: need to select a contrat"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:405
+#: frontends/src/quick_frontend/quick_app.py:409
 msgid "Show cards"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:412
+#: frontends/src/quick_frontend/quick_app.py:416
 msgid "My turn to play"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:420
+#: frontends/src/quick_frontend/quick_app.py:424
 msgid "Tarot: score received"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:427
+#: frontends/src/quick_frontend/quick_app.py:431
 #, python-format
 msgid "Card(s) played (%(player)s): %(cards)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:434
+#: frontends/src/quick_frontend/quick_app.py:438
 #, python-format
 msgid "Cards played are not valid: %s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:441
+#: frontends/src/quick_frontend/quick_app.py:445
 msgid "Quiz Game Started \\o/"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:444
+#: frontends/src/quick_frontend/quick_app.py:448
 #, python-format
 msgid ""
 "new Quiz game started by [%(referee)s] in room [%(room_jid)s] with "
 "%(players)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:449
+#: frontends/src/quick_frontend/quick_app.py:453
 msgid "New Quiz Game"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:457
+#: frontends/src/quick_frontend/quick_app.py:461
 #, python-format
 msgid "Quiz: new question: %s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:510
+#: frontends/src/quick_frontend/quick_app.py:514
 #, python-format
 msgid "The contact %s has accepted your subscription"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:510
-#: frontends/src/quick_frontend/quick_app.py:516
+#: frontends/src/quick_frontend/quick_app.py:514
+#: frontends/src/quick_frontend/quick_app.py:520
 msgid "Subscription confirmation"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:513
+#: frontends/src/quick_frontend/quick_app.py:517
 #, python-format
 msgid "The contact %s has refused your subscription"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:513
+#: frontends/src/quick_frontend/quick_app.py:517
 msgid "Subscription refusal"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:516
+#: frontends/src/quick_frontend/quick_app.py:520
 #, python-format
 msgid ""
 "The contact %s wants to subscribe to your presence.\n"
 "Do you accept ?"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:527
+#: frontends/src/quick_frontend/quick_app.py:531
 #, python-format
 msgid "param update: [%(namespace)s] %(name)s = %(value)s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_app.py:529
+#: frontends/src/quick_frontend/quick_app.py:533
 #, python-format
 msgid "Changing JID to %s"
 msgstr ""
@@ -949,18 +956,49 @@
 msgid "Trying to update an unknown contact: %s"
 msgstr ""
 
-#: frontends/src/quick_frontend/quick_gateways.py:28
-msgid ""
-"Be careful ! Gateways allow you to use an external IM (legacy IM), so you "
-"can see your contact as jabber contacts.\n"
-"But when you do this, all your messages go throught the external legacy IM "
-"server, it is a huge privacy issue (i.e.: all your messages throught the "
-"gateway can be monitored, recorded, analyzed by the external server, most of "
-"time a private company)."
-msgstr ""
-
-#: frontends/src/quick_frontend/quick_gateways.py:35
-msgid "Unknown IM"
+#: frontends/src/tools/xmlui.py:191
+msgid "XMLUI can have only one main container"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:240
+#, python-format
+msgid "Unknown container [%s], using default one"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:249
+msgid "Internal Error, container has not _xmluiAppend method"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:315
+#, python-format
+msgid "FIXME FIXME FIXME: widget type [%s] is not implemented"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:316
+#, python-format
+msgid "FIXME FIXME FIXME: type [%s] is not implemented"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:324
+#, python-format
+msgid "No change listener on [%s]"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:330
+#, python-format
+msgid "Unknown tag [%s]"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:395
+msgid "No callback_id found"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:436
+msgid "The form data is not sent back, the type is not managed properly"
+msgstr ""
+
+#: frontends/src/tools/xmlui.py:441
+msgid "Cancelling form"
 msgstr ""
 
 #: frontends/src/wix/card_game.py:95
@@ -1016,11 +1054,11 @@
 msgid "filename: %s"
 msgstr ""
 
-#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:293
+#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281
 msgid "File Transfer"
 msgstr ""
 
-#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:293
+#: frontends/src/wix/chat.py:267 frontends/src/wix/main_window.py:281
 #, python-format
 msgid "Copying %s"
 msgstr ""
@@ -1064,234 +1102,202 @@
 msgid "removing %s"
 msgstr ""
 
-#: frontends/src/wix/gateways.py:105
-#, python-format
-msgid "Opening gateways manager on [%s]"
-msgstr ""
-
-#: frontends/src/wix/gateways.py:165 frontends/src/wix/param.py:144
-#: frontends/src/wix/profile.py:88 frontends/src/wix/xmlui.py:256
-msgid "close"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:89
+#: frontends/src/wix/main_window.py:87
 msgid "Wix jabber client"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:111
+#: frontends/src/wix/main_window.py:109
 #, python-format
 msgid "plugin profile %s"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:131
+#: frontends/src/wix/main_window.py:118
 msgid "Creating menus"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:133
+#: frontends/src/wix/main_window.py:120
 msgid "&Connect\tCTRL-c"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:133
+#: frontends/src/wix/main_window.py:120
 msgid " Connect to the server"
 msgstr ""
 
+#: frontends/src/wix/main_window.py:121
+msgid "&Disconnect\tCTRL-d"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:121
+msgid " Disconnect from the server"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:122
+msgid "&Parameters"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:122
+msgid " Configure the program"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:124
+msgid "A&bout"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:124
+#, python-format
+msgid " About %s"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:125
+msgid "E&xit"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:125
+msgid " Terminate the program"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:127
+msgid "&Add contact"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:127
+msgid " Add a contact to your list"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:128
+msgid "&Remove contact"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:128
+msgid " Remove the selected contact from your list"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:130
+msgid "&Show profile"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:130
+msgid " Show contact's profile"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:132
+msgid "&Join Room"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:132
+msgid " Join a Multi-User Chat room"
+msgstr ""
+
 #: frontends/src/wix/main_window.py:134
-msgid "&Disconnect\tCTRL-d"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:134
-msgid " Disconnect from the server"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:135
-msgid "&Parameters"
+msgid "&General"
 msgstr ""
 
 #: frontends/src/wix/main_window.py:135
-msgid " Configure the program"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:137
-msgid "A&bout"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:137
-#, python-format
-msgid " About %s"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:138
-msgid "E&xit"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:138
-msgid " Terminate the program"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:140
-msgid "&Add contact"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:140
-msgid " Add a contact to your list"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:141
-msgid "&Remove contact"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:141
-msgid " Remove the selected contact from your list"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:143
-msgid "&Show profile"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:143
-msgid " Show contact's profile"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:145
-msgid "&Join Room"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:145
-msgid " Join a Multi-User Chat room"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:146
-msgid "&Find Gateways"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:146
-msgid " Find gateways to legacy IM"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:148
-msgid "&General"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:149
 msgid "&Contacts"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:150
+#: frontends/src/wix/main_window.py:136
 msgid "&Communication"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:279
+#: frontends/src/wix/main_window.py:267
 msgid "Confirmation asked"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:282
+#: frontends/src/wix/main_window.py:270
 msgid "File transfer confirmation asked"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:284
+#: frontends/src/wix/main_window.py:272
 msgid "File Request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:302
+#: frontends/src/wix/main_window.py:290
 msgid "Yes/No confirmation asked"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:304
+#: frontends/src/wix/main_window.py:292
 #: frontends/src/wix/profile_manager.py:111
 msgid "Confirmation"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:318
+#: frontends/src/wix/main_window.py:306
 #, python-format
 msgid "actionResult: type = [%(type)s] id = [%(id)s] data = [%(data)s]"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:327
+#: frontends/src/wix/main_window.py:315
 msgid "Success"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:346
+#: frontends/src/wix/main_window.py:334
 msgid "registration"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:394
+#: frontends/src/wix/main_window.py:382
 #, python-format
 msgid "onContactActivated: %s"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:412
+#: frontends/src/wix/main_window.py:400
 msgid "Status change request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:416
+#: frontends/src/wix/main_window.py:404
 msgid "Param request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:426
+#: frontends/src/wix/main_window.py:406
+msgid "Configuration"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:422
 #, python-format
-msgid ""
-"%(name)s is a SàT (Salut à Toi) frontend\n"
-"%(name)s is based on WxPython, and is the standard graphic interface of SàT"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:442
+msgid "%(name)s is a SàT (Salut à Toi) frontend\n"
+msgstr ""
+
+#: frontends/src/wix/main_window.py:438
 msgid "Add contact request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:445
+#: frontends/src/wix/main_window.py:441
 msgid "name@server.tld"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:458
+#: frontends/src/wix/main_window.py:454
 msgid "Remove contact request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:461 frontends/src/wix/main_window.py:484
+#: frontends/src/wix/main_window.py:457 frontends/src/wix/main_window.py:480
 msgid "You haven't selected any contact !"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:469
+#: frontends/src/wix/main_window.py:465
 #, python-format
 msgid "Are you sure you want to delete %s from your roster list ?"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:470
+#: frontends/src/wix/main_window.py:466
 msgid "Contact suppression"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:481
+#: frontends/src/wix/main_window.py:477
 msgid "Show contact's profile request"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:497
+#: frontends/src/wix/main_window.py:493
 #, python-format
 msgid "Profile received: [%s]"
 msgstr ""
 
-#: frontends/src/wix/main_window.py:515
-msgid "Find Gateways request"
-msgstr ""
-
-#: frontends/src/wix/main_window.py:528
+#: frontends/src/wix/main_window.py:512
 msgid "Exiting..."
 msgstr ""
 
-#: frontends/src/wix/main_window.py:535
+#: frontends/src/wix/main_window.py:519
 msgid "Tray Click"
 msgstr ""
 
-#: frontends/src/wix/param.py:31
-msgid "Configuration"
-msgstr ""
-
-#: frontends/src/wix/param.py:60
-msgid "Parameters error"
-msgstr ""
-
-#: frontends/src/wix/param.py:86
-msgid "FIXME FIXME FIXME"
-msgstr ""
-
 #: frontends/src/wix/profile_manager.py:46
 msgid "Profile:"
 msgstr ""
@@ -1353,6 +1359,10 @@
 msgid "Avatar"
 msgstr ""
 
+#: frontends/src/wix/profile.py:88 frontends/src/wix/xmlui.py:297
+msgid "close"
+msgstr ""
+
 #: frontends/src/wix/quiz_game.py:168
 msgid ""
 "Quel dommage, personne n'a trouvé la réponse\n"
@@ -1360,209 +1370,205 @@
 "Attention, la prochaine question arrive..."
 msgstr ""
 
-#: frontends/src/wix/xmlui.py:219
-msgid "Submitting form"
-msgstr ""
-
-#: frontends/src/wix/xmlui.py:250
-msgid "Cancelling form"
-msgstr ""
-
-#: src/core/sat_main.py:91
+#: frontends/src/wix/xmlui.py:137
+#, python-format
+msgid "Can't find value [%s] to select"
+msgstr ""
+
+#: frontends/src/wix/xmlui.py:175
+msgid "select"
+msgstr ""
+
+#: src/core/sat_main.py:97
 #, python-format
 msgid "Constant %(name)s overrided with [%(value)s]"
 msgstr ""
 
-#: src/core/sat_main.py:96
+#: src/core/sat_main.py:102
 msgid "Trying to access an undefined constant"
 msgstr ""
 
-#: src/core/sat_main.py:103
+#: src/core/sat_main.py:109
 msgid "Trying to redefine a constant"
 msgstr ""
 
-#: src/core/sat_main.py:171
+#: src/core/sat_main.py:177
 msgid "Memory initialised"
 msgstr ""
 
-#: src/core/sat_main.py:201
+#: src/core/sat_main.py:207
 #, python-format
 msgid "Dependency plugin not found: [%s]"
 msgstr ""
 
-#: src/core/sat_main.py:208
+#: src/core/sat_main.py:214
 #, python-format
 msgid "importing plugin: %s"
 msgstr ""
 
-#: src/core/sat_main.py:227
+#: src/core/sat_main.py:233
 msgid "Trying to connect a non-exsitant profile"
 msgstr ""
 
-#: src/core/sat_main.py:231
+#: src/core/sat_main.py:237
 msgid "already connected !"
 msgstr ""
 
-#: src/core/sat_main.py:239
+#: src/core/sat_main.py:255
 msgid "Can't parse port value, using default value"
 msgstr ""
 
-#: src/core/sat_main.py:267
+#: src/core/sat_main.py:283
 msgid "setting plugins parents"
 msgstr ""
 
-#: src/core/sat_main.py:288
+#: src/core/sat_main.py:304
 msgid "not connected !"
 msgstr ""
 
-#: src/core/sat_main.py:291
+#: src/core/sat_main.py:307
 msgid "Disconnecting..."
 msgstr ""
 
-#: src/core/sat_main.py:301 src/memory/memory.py:939
+#: src/core/sat_main.py:317 src/memory/memory.py:1027
 msgid "Asking contacts for a non-existant profile"
 msgstr ""
 
-#: src/core/sat_main.py:312
+#: src/core/sat_main.py:328
 msgid "Asking group's contacts for a non-existant profile"
 msgstr ""
 
-#: src/core/sat_main.py:321
-msgid "Trying to remove reference to a client not referenced"
-msgstr ""
-
-#: src/core/sat_main.py:333
-msgid "running app"
-msgstr ""
-
 #: src/core/sat_main.py:337
+msgid "Trying to remove reference to a client not referenced"
+msgstr ""
+
+#: src/core/sat_main.py:349
+msgid "running app"
+msgstr ""
+
+#: src/core/sat_main.py:353
 msgid "stopping app"
 msgstr ""
 
-#: src/core/sat_main.py:398
-msgid "No user or server given"
-msgstr ""
-
-#: src/core/sat_main.py:400
+#: src/core/sat_main.py:414
 msgid "No user, password or server given, can't register new account."
 msgstr ""
 
-#: src/core/sat_main.py:408
+#: src/core/sat_main.py:422
 #, python-format
 msgid "Are you sure to register new account [%(user)s] to server %(server)s ?"
 msgstr ""
 
-#: src/core/sat_main.py:413
+#: src/core/sat_main.py:427
 #, python-format
 msgid "register Confirmation CB ! (%s)"
 msgstr ""
 
-#: src/core/sat_main.py:446
-#, python-format
-msgid "FIXME FIXME FIXME: Unmanaged action (%s) in submitForm"
-msgstr ""
-
-#: src/core/sat_main.py:456
+#: src/core/sat_main.py:442
 #, python-format
 msgid "setting param: %(name)s=%(value)s in category %(category)s"
 msgstr ""
 
-#: src/core/sat_main.py:466
+#: src/core/sat_main.py:452
 msgid "asking connection status for a non-existant profile"
 msgstr ""
 
-#: src/core/sat_main.py:532
+#: src/core/sat_main.py:518
 #, python-format
 msgid "Sending jabber message of type [%(type)s] to %(to)s..."
 msgstr ""
 
-#: src/core/sat_main.py:570
+#: src/core/sat_main.py:556
 msgid "Trying to send a message with no profile"
 msgstr ""
 
-#: src/core/sat_main.py:615
+#: src/core/sat_main.py:603
 #, python-format
 msgid "subsciption request [%(subs_type)s] for %(jid)s"
 msgstr ""
 
-#: src/core/sat_main.py:722 src/core/sat_main.py:739
+#: src/core/sat_main.py:716 src/core/sat_main.py:733
 #, python-format
 msgid "Requested disco info on %s"
 msgstr ""
 
-#: src/core/sat_main.py:724
+#: src/core/sat_main.py:718
 #, python-format
 msgid "Feature found: %s"
 msgstr ""
 
-#: src/core/sat_main.py:727
+#: src/core/sat_main.py:721
 #, python-format
 msgid "Identity found: [%(category)s/%(type)s] %(identity)s"
 msgstr ""
 
-#: src/core/sat_main.py:741
+#: src/core/sat_main.py:735
 #, python-format
 msgid "Identity added: (%(category)s,%(type)s) ==> %(entity)s [%(profile)s]"
 msgstr ""
 
-#: src/core/sat_main.py:748
+#: src/core/sat_main.py:742
 #, python-format
 msgid ""
 "Can't get information on identity [%(entity)s] for profile [%(profile)s]"
 msgstr ""
 
-#: src/core/sat_main.py:753
+#: src/core/sat_main.py:747
 msgid ""
 "Using jabberfr workaround, be sure your domain has at least two levels (e.g. "
 "\"example.tld\", not \"example\" alone)"
 msgstr ""
 
-#: src/core/sat_main.py:777
+#: src/core/sat_main.py:771
 msgid "action_type for actionResultExt must be DICT_DICT, fixing it"
 msgstr ""
 
-#: src/core/sat_main.py:791
+#: src/core/sat_main.py:785
 msgid "Asking confirmation a non-existant profile"
 msgstr ""
 
-#: src/core/sat_main.py:793
+#: src/core/sat_main.py:787
 msgid "Attempt to register two callbacks for the same confirmation"
 msgstr ""
 
-#: src/core/sat_main.py:802
+#: src/core/sat_main.py:796
 msgid "Confirmation answer from a non-existant profile"
 msgstr ""
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 #, python-format
 msgid "Received confirmation answer for conf_id [%(conf_id)s]: %(success)s"
 msgstr ""
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 msgid "accepted"
 msgstr ""
 
-#: src/core/sat_main.py:803
+#: src/core/sat_main.py:797
 msgid "refused"
 msgstr ""
 
-#: src/core/sat_main.py:805
+#: src/core/sat_main.py:799
 #, python-format
 msgid "Received an unknown confirmation (%(id)s for %(profile)s)"
 msgstr ""
 
-#: src/core/sat_main.py:824
+#: src/core/sat_main.py:818
 msgid "Trying to remove an unknow progress callback"
 msgstr ""
 
-#: src/core/sat_main.py:856
+#: src/core/sat_main.py:851
 msgid "id already registered"
 msgstr ""
 
-#: src/core/sat_main.py:875
+#: src/core/sat_main.py:880
 msgid "trying to launch action with a non-existant profile"
 msgstr ""
 
+#: src/core/sat_main.py:935
+msgid "A menu with the same path and type already exists"
+msgstr ""
+
 #: src/core/xmpp.py:57
 #, python-format
 msgid "********** [%s] CONNECTED **********"
@@ -1644,23 +1650,22 @@
 msgid "Registration asked for"
 msgstr ""
 
-#: src/core/xmpp.py:438 src/plugins/plugin_xep_0077.py:80
-#: src/plugins/plugin_xep_0077.py:94
+#: src/core/xmpp.py:438 src/plugins/plugin_xep_0077.py:90
 #, python-format
 msgid "registration answer: %s"
 msgstr ""
 
-#: src/core/xmpp.py:440 src/plugins/plugin_xep_0077.py:96
+#: src/core/xmpp.py:440
 msgid "Registration successfull"
 msgstr ""
 
-#: src/core/xmpp.py:445 src/plugins/plugin_xep_0077.py:72
-#: src/plugins/plugin_xep_0077.py:104
+#: src/core/xmpp.py:445 src/plugins/plugin_xep_0077.py:86
+#: src/plugins/plugin_xep_0077.py:96
 #, python-format
 msgid "Registration failure: %s"
 msgstr ""
 
-#: src/core/xmpp.py:450 src/plugins/plugin_xep_0077.py:110
+#: src/core/xmpp.py:450 src/plugins/plugin_xep_0077.py:98
 msgid "Username already exists, please choose an other one"
 msgstr ""
 
@@ -1723,131 +1728,144 @@
 msgid "Trying to access an unknown profile"
 msgstr ""
 
-#: src/memory/memory.py:325
+#: src/memory/memory.py:361
+msgid "Trying to register frontends parameters with no specified app: aborted"
+msgstr ""
+
+#: src/memory/memory.py:366
+#, python-format
+msgid "Trying to register twice frontends parameters for %(app)s: aborted"
+msgstr ""
+
+#: src/memory/memory.py:377
 #, python-format
 msgid "Can't determine default value for [%(category)s/%(name)s]: %(reason)s"
 msgstr ""
 
-#: src/memory/memory.py:340 src/memory/memory.py:385 src/memory/memory.py:420
+#: src/memory/memory.py:392 src/memory/memory.py:437 src/memory/memory.py:472
 #, python-format
 msgid "Requested param [%(name)s] in category [%(category)s] doesn't exist !"
 msgstr ""
 
-#: src/memory/memory.py:396
+#: src/memory/memory.py:448
 msgid "Requesting a param for an non-existant profile"
 msgstr ""
 
-#: src/memory/memory.py:400
+#: src/memory/memory.py:452
 msgid "Requesting synchronous param for not connected profile"
 msgstr ""
 
-#: src/memory/memory.py:424
+#: src/memory/memory.py:476
 #, python-format
-msgid "Trying to get parameter '%s' in category '%s' without authorization!!!"
-msgstr ""
-
-#: src/memory/memory.py:436
+msgid ""
+"Trying to get parameter '%(param)s' in category '%(cat)s' without "
+"authorization!!!"
+msgstr ""
+
+#: src/memory/memory.py:488
 msgid "Requesting a param for a non-existant profile"
 msgstr ""
 
-#: src/memory/memory.py:558 src/memory/memory.py:568 src/memory/memory.py:583
+#: src/memory/memory.py:622 src/memory/memory.py:638 src/memory/memory.py:661
 msgid "Asking params for inexistant profile"
 msgstr ""
 
-#: src/memory/memory.py:635
+#: src/memory/memory.py:713
 msgid "Trying to set parameter for an unknown profile"
 msgstr ""
 
-#: src/memory/memory.py:640
+#: src/memory/memory.py:718
 #, python-format
 msgid "Requesting an unknown parameter (%(category)s/%(name)s)"
 msgstr ""
 
-#: src/memory/memory.py:645
+#: src/memory/memory.py:723
 #, python-format
-msgid "Trying to set parameter '%s' in category '%s' without authorization!!!"
-msgstr ""
-
-#: src/memory/memory.py:688
+msgid ""
+"Trying to set parameter '%(param)s' in category '%(cat)s' without "
+"authorization!!!"
+msgstr ""
+
+#: src/memory/memory.py:776
 msgid "Memory manager init"
 msgstr ""
 
-#: src/memory/memory.py:703
+#: src/memory/memory.py:791
 msgid "Loading default params template"
 msgstr ""
 
-#: src/memory/memory.py:716
+#: src/memory/memory.py:804
 msgid "Can't read main config !"
 msgstr ""
 
-#: src/memory/memory.py:750
+#: src/memory/memory.py:838
 #, python-format
 msgid "Parameters loaded from file: %s"
 msgstr ""
 
-#: src/memory/memory.py:753
+#: src/memory/memory.py:841
 #, python-format
 msgid "Can't load parameters from file: %s"
 msgstr ""
 
-#: src/memory/memory.py:769
+#: src/memory/memory.py:857
 #, python-format
 msgid "[%s] Profile session started"
 msgstr ""
 
-#: src/memory/memory.py:775
+#: src/memory/memory.py:863
 #, python-format
 msgid "[%s] Profile session purge"
 msgstr ""
 
-#: src/memory/memory.py:780
+#: src/memory/memory.py:868
 #, python-format
 msgid "Trying to purge roster status cache for a profile not in memory: [%s]"
 msgstr ""
 
-#: src/memory/memory.py:790
+#: src/memory/memory.py:878
 #, python-format
 msgid "Parameters saved to file: %s"
 msgstr ""
 
-#: src/memory/memory.py:793
+#: src/memory/memory.py:881
 #, python-format
 msgid "Can't save parameters to file: %s"
 msgstr ""
 
-#: src/memory/memory.py:879
+#: src/memory/memory.py:967
 #, python-format
 msgid ""
 "Entities (%(category)s/%(type)s) of %(server)s not available, maybe they "
 "haven't been asked yet?"
 msgstr ""
 
-#: src/memory/memory.py:908
+#: src/memory/memory.py:996
 msgid "Trying find server feature for a non-existant profile"
 msgstr ""
 
-#: src/memory/memory.py:916
+#: src/memory/memory.py:1004
 #, python-format
 msgid "Features of %s not available, maybe they haven't been asked yet?"
 msgstr ""
 
-#: src/memory/memory.py:925
+#: src/memory/memory.py:1013
 msgid "Asking contacts for a non-existant or not connected profile"
 msgstr ""
 
-#: src/memory/memory.py:929
+#: src/memory/memory.py:1017
 msgid "Entity not in cache"
 msgstr ""
 
-#: src/memory/memory.py:953
+#: src/memory/memory.py:1041
 msgid "Trying to add presence status to a non-existant profile"
 msgstr ""
 
-#: src/memory/memory.py:973 src/memory/memory.py:1004
+#: src/memory/memory.py:1061 src/memory/memory.py:1092
 msgid "Trying to get entity data for a non-existant profile"
 msgstr ""
 
-#: src/memory/memory.py:1047
+#: src/memory/memory.py:1135
 msgid "Asking waiting subscriptions for a non-existant profile"
 msgstr ""
 
@@ -1855,146 +1873,173 @@
 msgid "PersistentDict can't be used before memory initialisation"
 msgstr ""
 
-#: src/memory/sqlite.py:38
+#: src/memory/sqlite.py:83
 msgid "Connecting database"
 msgstr ""
 
-#: src/memory/sqlite.py:43
+#: src/memory/sqlite.py:88
 msgid "Can't activate foreign keys"
 msgstr ""
 
-#: src/memory/sqlite.py:46
+#: src/memory/sqlite.py:91
 msgid "The database is new, creating the tables"
 msgstr ""
 
-#: src/memory/sqlite.py:65
-#, python-format
-msgid "Error while creating tables in database [QUERY: %s]"
-msgstr ""
-
-#: src/memory/sqlite.py:112
+#: src/memory/sqlite.py:162
 #, python-format
 msgid "Can't delete profile [%s]"
 msgstr ""
 
-#: src/memory/sqlite.py:117
+#: src/memory/sqlite.py:167
 #, python-format
 msgid "Profile [%s] deleted"
 msgstr ""
 
-#: src/memory/sqlite.py:131
+#: src/memory/sqlite.py:181
 msgid "loading general parameters from database"
 msgstr ""
 
-#: src/memory/sqlite.py:144
+#: src/memory/sqlite.py:194
 msgid "loading individual parameters from database"
 msgstr ""
 
-#: src/memory/sqlite.py:166
+#: src/memory/sqlite.py:216
 #, python-format
 msgid "Can't set general parameter (%(category)s/%(name)s) in database"
 msgstr ""
 
-#: src/memory/sqlite.py:177
+#: src/memory/sqlite.py:227
 #, python-format
 msgid ""
 "Can't set individual parameter (%(category)s/%(name)s) for [%(profile)s] in "
 "database"
 msgstr ""
 
-#: src/memory/sqlite.py:196
+#: src/memory/sqlite.py:247
 #, python-format
 msgid ""
 "Can't save following message in history: from [%(from_jid)s] to [%(to_jid)s] "
 "==> [%(message)s]"
 msgstr ""
 
-#: src/memory/sqlite.py:261
+#: src/memory/sqlite.py:312
 #, python-format
 msgid "loading general private values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:263 src/memory/sqlite.py:279
+#: src/memory/sqlite.py:314 src/memory/sqlite.py:330
 #, python-format
 msgid "No data present in database for namespace %s"
 msgstr ""
 
-#: src/memory/sqlite.py:276
+#: src/memory/sqlite.py:327
 #, python-format
 msgid "loading individual private values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:288
+#: src/memory/sqlite.py:339
 #, python-format
 msgid ""
 "Can't set general private value (%(key)s) [namespace:%(namespace)s] in "
 "database"
 msgstr ""
 
-#: src/memory/sqlite.py:300
+#: src/memory/sqlite.py:351
 #, python-format
 msgid ""
 "Can't set individual private value (%(key)s) [namespace: %(namespace)s] for "
 "[%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:310
+#: src/memory/sqlite.py:361
 #, python-format
 msgid ""
 "Can't delete general private value (%(key)s) [namespace:%(namespace)s] in "
 "database"
 msgstr ""
 
-#: src/memory/sqlite.py:321
+#: src/memory/sqlite.py:372
 #, python-format
 msgid ""
 "Can't delete individual private value (%(key)s) [namespace: %(namespace)s] "
 "for [%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:335
+#: src/memory/sqlite.py:386
 #, python-format
 msgid "loading general private binary values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:337 src/memory/sqlite.py:353
+#: src/memory/sqlite.py:388 src/memory/sqlite.py:404
 #, python-format
 msgid "No binary data present in database for namespace %s"
 msgstr ""
 
-#: src/memory/sqlite.py:350
+#: src/memory/sqlite.py:401
 #, python-format
 msgid "loading individual private binary values [namespace: %s] from database"
 msgstr ""
 
-#: src/memory/sqlite.py:362
+#: src/memory/sqlite.py:413
 #, python-format
 msgid ""
 "Can't set general private binary value (%(key)s) [namespace:%(namespace)s] "
 "in database"
 msgstr ""
 
-#: src/memory/sqlite.py:374
+#: src/memory/sqlite.py:425
 #, python-format
 msgid ""
 "Can't set individual binary private value (%(key)s) [namespace: "
 "%(namespace)s] for [%(profile)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:384
+#: src/memory/sqlite.py:435
 #, python-format
 msgid ""
 "Can't delete general private binary value (%(key)s) [namespace:"
 "%(namespace)s] in database"
 msgstr ""
 
-#: src/memory/sqlite.py:395
+#: src/memory/sqlite.py:446
 #, python-format
 msgid ""
 "Can't delete individual private binary value (%(key)s) [namespace: "
 "%(namespace)s] for [%(profile)s] in database"
 msgstr ""
 
+#: src/memory/sqlite.py:512
+msgid ""
+"Your local schema is up-to-date, but database versions mismatch, fixing it..."
+msgstr ""
+
+#: src/memory/sqlite.py:522
+msgid ""
+"There is a schema mismatch, but as we are on a dev version, database will be "
+"updated"
+msgstr ""
+
+#: src/memory/sqlite.py:526
+msgid ""
+"schema version is up-to-date, but local schema differ from expected current "
+"schema"
+msgstr ""
+
+#: src/memory/sqlite.py:528
+#, python-format
+msgid ""
+"Here are the commands that should fix the situation, use at your own risk "
+"(do a backup before modifying database), you can go to SàT's MUC room at "
+"sat@chat.jabberfr.org for help\n"
+"### SQL###\n"
+"%s\n"
+"### END SQL ###\n"
+msgstr ""
+
+#: src/memory/sqlite.py:532
+msgid "Database schema has changed, local database will be updated"
+msgstr ""
+
 #: src/plugins/deprecated_misc_cs.py:50
 msgid ""
 "This plugin allow to manage your CouchSurfing account throught your SàT "
@@ -2100,6 +2145,26 @@
 msgid "sending message to %(friends)s with subject [%(subject)s]"
 msgstr ""
 
+#: src/plugins/plugin_adhoc_dbus.py:48
+msgid "Add D-Bus management to Ad-Hoc commands"
+msgstr ""
+
+#: src/plugins/plugin_adhoc_dbus.py:55
+msgid "plugin Ad-Hoc D-Bus initialization"
+msgstr ""
+
+#: src/plugins/plugin_adhoc_dbus.py:164
+msgid "Command selection"
+msgstr ""
+
+#: src/plugins/plugin_adhoc_dbus.py:201 src/plugins/plugin_xep_0050.py:372
+msgid "Updated"
+msgstr ""
+
+#: src/plugins/plugin_adhoc_dbus.py:205
+msgid "Command sent"
+msgstr ""
+
 #: src/plugins/plugin_exp_command_export.py:36
 msgid "Implementation of command export"
 msgstr ""
@@ -2264,38 +2329,38 @@
 msgid "Prosody path found: %s"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:60
+#: src/plugins/plugin_misc_groupblog.py:61
 msgid "Implementation of microblogging with roster access"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:84
+#: src/plugins/plugin_misc_groupblog.py:85
 msgid "Group blog plugin initialization"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:142
-#: src/plugins/plugin_misc_room_game.py:309
+#: src/plugins/plugin_misc_groupblog.py:147
+#: src/plugins/plugin_misc_room_game.py:422
 #, python-format
 msgid "No client for this profile key: %s"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:148
+#: src/plugins/plugin_misc_groupblog.py:153
 msgid "Looking for item-access power pubsub server"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:156
+#: src/plugins/plugin_misc_groupblog.py:161
 #, python-format
 msgid "item-access powered pubsub service found: [%s]"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:166
+#: src/plugins/plugin_misc_groupblog.py:171
 msgid "No item-access powered pubsub server found, can't use group blog"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:315
+#: src/plugins/plugin_misc_groupblog.py:320
 msgid "Unknown access_type"
 msgstr ""
 
-#: src/plugins/plugin_misc_groupblog.py:356
+#: src/plugins/plugin_misc_groupblog.py:376
 msgid "Unknown access type"
 msgstr ""
 
@@ -2367,8 +2432,8 @@
 msgstr ""
 
 #: src/plugins/plugin_misc_quiz.py:182
-#: src/plugins/plugin_misc_room_game.py:404
-#: src/plugins/plugin_misc_room_game.py:431
+#: src/plugins/plugin_misc_room_game.py:522
+#: src/plugins/plugin_misc_room_game.py:545
 #: src/plugins/plugin_misc_tarot.py:392 src/plugins/plugin_misc_tarot.py:406
 #, python-format
 msgid "profile %s is unknown"
@@ -2382,12 +2447,12 @@
 "Attention, tu es prêt ?"
 msgstr ""
 
-#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:469
+#: src/plugins/plugin_misc_quiz.py:282 src/plugins/plugin_misc_tarot.py:474
 #, python-format
 msgid "Player %(player)s is ready to start [status: %(status)s]"
 msgstr ""
 
-#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:225
+#: src/plugins/plugin_misc_quiz.py:330 src/plugins/plugin_misc_radiocol.py:231
 #, python-format
 msgid "Unmanaged game element: %s"
 msgstr ""
@@ -2400,77 +2465,73 @@
 msgid "Radio collective initialization"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:99
+#: src/plugins/plugin_misc_radiocol.py:101
 msgid "Can't access profile's data"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:123
+#: src/plugins/plugin_misc_radiocol.py:125
 msgid "No more participants in the radiocol: cleaning data"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:158
+#: src/plugins/plugin_misc_radiocol.py:161
 msgid "INTERNAL ERROR: can't find full path of the song to delete"
 msgstr ""
 
-#: src/plugins/plugin_misc_radiocol.py:165
+#: src/plugins/plugin_misc_radiocol.py:168
 #, python-format
 msgid "INTERNAL ERROR: can't find %s on the file system"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:44
+#: src/plugins/plugin_misc_room_game.py:45
 msgid "Base class for MUC games"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:166
+#: src/plugins/plugin_misc_room_game.py:197
+#, python-format
+msgid "%(user)s not allowed to join the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:331
 #, python-format
-msgid "%s not allowed to join the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:235
+msgid "%(user)s not allowed to invite for the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:376
 #, python-format
-msgid "%s not allowed to invite for the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:269
-#, python-format
-msgid "Still waiting for %s before starting the game %s in %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:281
+msgid ""
+"Still waiting for %(users)s before starting the game %(game)s in %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:394
 #, python-format
 msgid "Preparing room for %s game"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:284 src/plugins/plugin_xep_0045.py:209
+#: src/plugins/plugin_misc_room_game.py:397 src/plugins/plugin_xep_0045.py:259
 msgid "Unknown profile"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:385
-#, python-format
-msgid "%s game already created in room %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:388
+#: src/plugins/plugin_misc_room_game.py:503
 #, python-format
-msgid "%s game in room %s can only be created by %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:401
+msgid "%(game)s game already created in room %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:506
 #, python-format
-msgid "Creating %s game in room %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:409
+msgid "%(game)s game in room %(room)s can only be created by %(user)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:519
 #, python-format
-msgid "Synchronize game %s in %s for %s"
-msgstr ""
-
-#: src/plugins/plugin_misc_room_game.py:438
+msgid "Creating %(game)s game in room %(room)s"
+msgstr ""
+
+#: src/plugins/plugin_misc_room_game.py:559
 #, python-format
 msgid "new round for %s game"
 msgstr ""
 
-#: src/plugins/plugin_misc_room_game.py:495
+#: src/plugins/plugin_misc_room_game.py:624
 msgid "Message can not be sent without a sender profile"
 msgstr ""
 
@@ -2588,30 +2649,30 @@
 msgid "Cards played by %(profile)s: [%(cards)s]"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:502
+#: src/plugins/plugin_misc_tarot.py:507
 msgid "Everybody is passing, round ended"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:509
+#: src/plugins/plugin_misc_tarot.py:514
 #, python-format
 msgid "%(player)s win the bid with %(contrat)s"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:530
+#: src/plugins/plugin_misc_tarot.py:535
 msgid "tarot: chien received"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:581
+#: src/plugins/plugin_misc_tarot.py:586
 #, python-format
 msgid "The winner of this trick is %s"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:625
+#: src/plugins/plugin_misc_tarot.py:630
 #, python-format
 msgid "Unmanaged error type: %s"
 msgstr ""
 
-#: src/plugins/plugin_misc_tarot.py:627
+#: src/plugins/plugin_misc_tarot.py:632
 #, python-format
 msgid "Unmanaged card game element: %s"
 msgstr ""
@@ -2640,15 +2701,15 @@
 "%s"
 msgstr ""
 
-#: src/plugins/plugin_misc_text_syntaxes.py:32
+#: src/plugins/plugin_misc_text_syntaxes.py:33 src/test/constants.py:42
 msgid "Composition"
 msgstr ""
 
-#: src/plugins/plugin_misc_text_syntaxes.py:57
+#: src/plugins/plugin_misc_text_syntaxes.py:58
 msgid "Management of various text syntaxes (XHTML-IM, Markdown, etc)"
 msgstr ""
 
-#: src/plugins/plugin_misc_text_syntaxes.py:97
+#: src/plugins/plugin_misc_text_syntaxes.py:99
 msgid "Text syntaxes plugin initialization"
 msgstr ""
 
@@ -2697,76 +2758,77 @@
 msgid "XEP-0033 is being used but the server doesn't support it!"
 msgstr ""
 
-#: src/plugins/plugin_xep_0033.py:91
+#: src/plugins/plugin_xep_0033.py:90
 #, python-format
-msgid "Stanzas using XEP-0033 should be addressed to %s, not %s!"
-msgstr ""
-
-#: src/plugins/plugin_xep_0033.py:92
+msgid ""
+"Stanzas using XEP-0033 should be addressed to %(expected)s, not %(current)s!"
+msgstr ""
+
+#: src/plugins/plugin_xep_0033.py:91
 msgid "TODO: addressing has be fixed by the backend... fix it in the frontend!"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:45
+#: src/plugins/plugin_xep_0045.py:47
 msgid "Implementation of Multi-User Chat"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:56
+#: src/plugins/plugin_xep_0045.py:58
 msgid "Plugin XEP_0045 initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:78
+#: src/plugins/plugin_xep_0045.py:83
 #, python-format
 msgid "Unknown or disconnected profile (%s)"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:98
+#: src/plugins/plugin_xep_0045.py:103
 msgid "Error while configuring the room"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:109
+#: src/plugins/plugin_xep_0045.py:114
 #, python-format
 msgid "Error while joining the room %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:111 src/plugins/plugin_xep_0045.py:258
+#: src/plugins/plugin_xep_0045.py:116 src/plugins/plugin_xep_0045.py:308
 msgid "Group chat error"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:216
+#: src/plugins/plugin_xep_0045.py:266
 msgid "Can't find a MUC service"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:231
+#: src/plugins/plugin_xep_0045.py:281
 #, python-format
 msgid "%(profile)s is already in room %(room_jid)s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:233
+#: src/plugins/plugin_xep_0045.py:283
 #, python-format
 msgid "[%(profile)s] is joining room %(room)s with nick %(nick)s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:256
+#: src/plugins/plugin_xep_0045.py:306
 #, python-format
 msgid "Invalid room jid: %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:347
+#: src/plugins/plugin_xep_0045.py:397
 #, python-format
 msgid "user %(nick)s has joined room (%(room_id)s)"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:359
+#: src/plugins/plugin_xep_0045.py:409
 #, python-format
 msgid "Room [%(room)s] left (%(profile)s))"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:365
+#: src/plugins/plugin_xep_0045.py:415
 #, python-format
 msgid "user %(nick)s left room (%(room_id)s)"
 msgstr ""
 
-#: src/plugins/plugin_xep_0045.py:377
+#: src/plugins/plugin_xep_0045.py:427
 #, python-format
 msgid "New subject for room (%(room_id)s): %(subject)s"
 msgstr ""
@@ -2842,132 +2904,152 @@
 msgid "Implementation of Ad-Hoc Commands"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:207
+#: src/plugins/plugin_xep_0050.py:108
+#, python-format
+msgid "The groups [%(group)s] is unknown for profile [%(profile)s])"
+msgstr ""
+
+#: src/plugins/plugin_xep_0050.py:210
 msgid "plugin XEP-0050 initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:215
+#: src/plugins/plugin_xep_0050.py:218 src/plugins/plugin_xep_0100.py:65
+msgid "Service"
+msgstr ""
+
+#: src/plugins/plugin_xep_0050.py:218
+msgid "commands"
+msgstr ""
+
+#: src/plugins/plugin_xep_0050.py:218
 msgid "Execute ad-hoc commands"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:221
+#: src/plugins/plugin_xep_0050.py:224
 msgid "Status"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:234
+#: src/plugins/plugin_xep_0050.py:237
 msgid "Please select a command"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:331
+#: src/plugins/plugin_xep_0050.py:334
 msgid "Please enter target jid"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:345
+#: src/plugins/plugin_xep_0050.py:348
 msgid "status selection"
 msgstr ""
 
-#: src/plugins/plugin_xep_0050.py:369
-msgid "Updated"
-msgstr ""
-
-#: src/plugins/plugin_xep_0050.py:373
+#: src/plugins/plugin_xep_0050.py:376
 msgid "Status updated"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:64
+#: src/plugins/plugin_xep_0054.py:65
 msgid "Implementation of vcard-temp"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:74
+#: src/plugins/plugin_xep_0054.py:75
 msgid "Plugin XEP_0054 initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:143
+#: src/plugins/plugin_xep_0054.py:144
 #, python-format
 msgid "Photo of type [%s] found"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:145
+#: src/plugins/plugin_xep_0054.py:146
 msgid "Decoding binary"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:152
+#: src/plugins/plugin_xep_0054.py:153
 #, python-format
 msgid "file saved to %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:154
+#: src/plugins/plugin_xep_0054.py:155
 #, python-format
 msgid "file [%s] already in cache"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:160
+#: src/plugins/plugin_xep_0054.py:161
 msgid "parsing vcard"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:182
+#: src/plugins/plugin_xep_0054.py:183
 #, python-format
 msgid "FIXME: [%s] VCard tag is not managed yet"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:188
+#: src/plugins/plugin_xep_0054.py:189
 msgid "VCard found"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:199
+#: src/plugins/plugin_xep_0054.py:200
 msgid "FIXME: vCard not found as first child element"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:205
+#: src/plugins/plugin_xep_0054.py:206
 #, python-format
 msgid "Can't find VCard of %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:214
+#: src/plugins/plugin_xep_0054.py:215
 msgid "Asking vcard for a non-existant or not connected profile"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:218
+#: src/plugins/plugin_xep_0054.py:219
 #, python-format
 msgid "Asking for %s's VCard"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:233
+#: src/plugins/plugin_xep_0054.py:234
 #, python-format
 msgid "Asking for an uncached avatar [%s]"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:262
+#: src/plugins/plugin_xep_0054.py:263
 msgid "Trying to set avatar for a non-existant or not connected profile"
 msgstr ""
 
-#: src/plugins/plugin_xep_0054.py:307
+#: src/plugins/plugin_xep_0054.py:308
 msgid "New avatar found, requesting vcard"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:37
+#: src/plugins/plugin_xep_0055.py:38
 msgid "Implementation of Jabber Search"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:44
+#: src/plugins/plugin_xep_0055.py:45
 msgid "Jabber search plugin initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:75 src/plugins/plugin_xep_0055.py:116
+#: src/plugins/plugin_xep_0055.py:56 src/plugins/plugin_xep_0055.py:76
+msgid "Search directory"
+msgstr ""
+
+#: src/plugins/plugin_xep_0055.py:56
+msgid "Search use directory"
+msgstr ""
+
+#: src/plugins/plugin_xep_0055.py:77
+msgid "Please enter the search jid"
+msgstr ""
+
+#: src/plugins/plugin_xep_0055.py:107 src/plugins/plugin_xep_0055.py:165
 msgid "No query element found"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:80 src/plugins/plugin_xep_0055.py:121
-#: src/plugins/plugin_xep_0077.py:59
+#: src/plugins/plugin_xep_0055.py:112 src/plugins/plugin_xep_0055.py:170
 msgid "No data form found"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:87
+#: src/plugins/plugin_xep_0055.py:119
 #, python-format
 msgid "Fields request failure: %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0055.py:130
+#: src/plugins/plugin_xep_0055.py:176
 #, python-format
 msgid "Search request failure: %s"
 msgstr ""
@@ -3109,49 +3191,35 @@
 msgid "No proxy found on this server"
 msgstr ""
 
-#: src/plugins/plugin_xep_0071.py:43
+#: src/plugins/plugin_xep_0071.py:44
 msgid "Implementation of XHTML-IM"
 msgstr ""
 
-#: src/plugins/plugin_xep_0071.py:71
+#: src/plugins/plugin_xep_0071.py:72
 msgid "XHTML-IM plugin initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0077.py:37
+#: src/plugins/plugin_xep_0071.py:114 src/plugins/plugin_xep_0277.py:259
+msgid "Can't have xhtml and rich content at the same time"
+msgstr ""
+
+#: src/plugins/plugin_xep_0077.py:39
 msgid "Implementation of in-band registration"
 msgstr ""
 
-#: src/plugins/plugin_xep_0077.py:44
+#: src/plugins/plugin_xep_0077.py:46
 msgid "Plugin XEP_0077 initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0077.py:61
+#: src/plugins/plugin_xep_0077.py:64
+msgid "Can't find data form"
+msgstr ""
+
+#: src/plugins/plugin_xep_0077.py:65
 msgid "This gateway can't be managed by SàT, sorry :("
 msgstr ""
 
-#: src/plugins/plugin_xep_0077.py:82
-msgid "Your are now unregistred"
-msgstr ""
-
-#: src/plugins/plugin_xep_0077.py:86
-#, python-format
-msgid "Unregistration failure: %s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0077.py:90
-#, python-format
-msgid "Unregistration failed: %s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0077.py:113
-msgid "Registration failed"
-msgstr ""
-
-#: src/plugins/plugin_xep_0077.py:131 src/plugins/plugin_xep_0095.py:183
-msgid "Asking for an non-existant or not connected profile"
-msgstr ""
-
-#: src/plugins/plugin_xep_0077.py:134
+#: src/plugins/plugin_xep_0077.py:109
 #, python-format
 msgid "Asking registration for [%s]"
 msgstr ""
@@ -3184,6 +3252,10 @@
 msgid "sending stream initiation accept answer"
 msgstr ""
 
+#: src/plugins/plugin_xep_0095.py:183
+msgid "Asking for an non-existant or not connected profile"
+msgstr ""
+
 #: src/plugins/plugin_xep_0095.py:188
 #, python-format
 msgid "Stream Session ID: %s"
@@ -3261,53 +3333,133 @@
 "[%(profile)s]"
 msgstr ""
 
-#: src/plugins/plugin_xep_0100.py:33
+#: src/plugins/plugin_xep_0100.py:35
 msgid "Implementation of Gateways protocol"
 msgstr ""
 
-#: src/plugins/plugin_xep_0100.py:40
-msgid "Gateways plugin initialization"
+#: src/plugins/plugin_xep_0100.py:38
+msgid ""
+"Be careful ! Gateways allow you to use an external IM (legacy IM), so you "
+"can see your contact as XMPP contacts.\n"
+"But when you do this, all your messages go throught the external legacy IM "
+"server, it is a huge privacy issue (i.e.: all your messages throught the "
+"gateway can be monitored, recorded, analysed by the external server, most of "
+"time a private company)."
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:43
+msgid "Internet Relay Chat"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:44
+msgid "XMPP"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:45
+msgid "Tencent QQ"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:46
+msgid "SIP/SIMPLE"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:47
+msgid "ICQ"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:48
+msgid "Yahoo! Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:49
+msgid "Gadu-Gadu"
 msgstr ""
 
 #: src/plugins/plugin_xep_0100.py:50
-#, python-format
-msgid "All items checked for id [%s]"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:61
-#, python-format
-msgid "Found gateway (%(jid)s): %(identity)s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:72
+msgid "AOL Instant Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:51
+msgid "Windows Live Messenger"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:58
+msgid "Gateways plugin initialization"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:65
+msgid "gateways"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:65
+msgid "Find gateways"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:77
+msgid "Invalid JID"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:84
 #, python-format
-msgid "Error when discovering [%(jid)s]: %(error)s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:80
-msgid "No gateway found"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:87
-#, python-format
-msgid "item found: %s"
+msgid "Gateways manager (%s)"
 msgstr ""
 
 #: src/plugins/plugin_xep_0100.py:92
 #, python-format
-msgid "Error when discovering [%(target)s]: %(condition)s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:93
+msgid "Failed (%s)"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:105
+msgid "Use external XMPP server"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:107
+msgid "Go !"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:114
+msgid "No gateway index selected"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:128
 #, python-format
-msgid "Error while trying to discover %(target)s gateways: %(error_mess)s"
-msgstr ""
-
-#: src/plugins/plugin_xep_0100.py:98
+msgid ""
+"INTERNAL ERROR: identity category should always be \"gateway\" in "
+"_getTypeString, got \"%s\""
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:132
+msgid "Unknown IM"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:136
 msgid "Registration successful, doing the rest"
 msgstr ""
 
-#: src/plugins/plugin_xep_0100.py:118
+#: src/plugins/plugin_xep_0100.py:159
+msgid "Timeout"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:170
+#, python-format
+msgid "Found gateway [%(jid)s]: %(identity_name)s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:173
+#, python-format
+msgid "Skipping [%(jid)s] which is not a gateway"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:180
+msgid "No gateway found"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:185
+#, python-format
+msgid "item found: %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0100.py:209
 #, python-format
 msgid "find gateways (target = %(target)s, profile = %(profile)s)"
 msgstr ""
@@ -3390,7 +3542,8 @@
 
 #: src/plugins/plugin_xep_0249.py:154
 #, python-format
-msgid "You have been invited by %s to join the room %s. Do you accept?"
+msgid ""
+"You have been invited by %(user)s to join the room %(room)s. Do you accept?"
 msgstr ""
 
 #: src/plugins/plugin_xep_0249.py:154 src/plugins/plugin_xep_0249.py:157
@@ -3400,51 +3553,75 @@
 #: src/plugins/plugin_xep_0249.py:157
 #, python-format
 msgid ""
-"An invitation from %s to join the room %s has been declined according to "
-"your personal settings."
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:45
+"An invitation from %(user)s to join the room %(room)s has been declined "
+"according to your personal settings."
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:47
 msgid "Implementation of microblogging Protocol"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:56
+#: src/plugins/plugin_xep_0277.py:58
 msgid "Microblogging plugin initialization"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:95
-msgid "No entry element in microblog item"
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:131
-msgid "Error while parsing atom entry for microblogging event"
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:142
-msgid "Cannot find author"
-msgstr ""
-
-#: src/plugins/plugin_xep_0277.py:200
+#: src/plugins/plugin_xep_0277.py:132
+#, python-format
+msgid "No entry found in the pubsub item %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:155
+#, python-format
+msgid "Atom entry %s misses a required element"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:181
+#, python-format
+msgid "Can't parse the link element of pubsub entry %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:190
+#, python-format
+msgid "Can't find author element in pubsub entry %s"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:218
+msgid "Content of type XHTML must declare its namespace!"
+msgstr ""
+
+#: src/plugins/plugin_xep_0277.py:302
 msgid "Microblog data must contain at least 'content' key"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:204
+#: src/plugins/plugin_xep_0277.py:306
 msgid "Microblog data's content value must not be empty"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:238
+#: src/plugins/plugin_xep_0277.py:340
 msgid "Can't find profile's jid"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:245
+#: src/plugins/plugin_xep_0277.py:347
 #, python-format
 msgid "Microblog node has now access %s"
 msgstr ""
 
-#: src/plugins/plugin_xep_0277.py:249
+#: src/plugins/plugin_xep_0277.py:351
 msgid "Can't set microblog access"
 msgstr ""
 
+#: src/test/constants.py:43
+msgid "Enable unibox"
+msgstr ""
+
+#: src/test/constants.py:44
+msgid "'Wysiwyg' edition"
+msgstr ""
+
+#: src/test/test_plugin_misc_room_game.py:43
+msgid "Dummy plugin to test room game"
+msgstr ""
+
 #: src/tools/misc.py:58
 #, python-format
 msgid "There is already a bound priority [%s]"
@@ -3455,36 +3632,69 @@
 msgid "There is already a trigger with the same priority [%s]"
 msgstr ""
 
-#: src/tools/xml_tools.py:151
+#: src/tools/xml_tools.py:177
 msgid "INTERNAL ERROR: parameters xml not valid"
 msgstr ""
 
-#: src/tools/xml_tools.py:158
+#: src/tools/xml_tools.py:186
 msgid "INTERNAL ERROR: params categories must have a name"
 msgstr ""
 
-#: src/tools/xml_tools.py:165
+#: src/tools/xml_tools.py:194
 msgid "INTERNAL ERROR: params must have a name"
 msgstr ""
 
-#: src/tools/xml_tools.py:256
+#: src/tools/xml_tools.py:276
+msgid "TabElement must be a child of TabsContainer"
+msgstr ""
+
+#: src/tools/xml_tools.py:316
+msgid "Can't set row index if auto_index is True"
+msgstr ""
+
+#: src/tools/xml_tools.py:416
+msgid "either items or columns need do be filled"
+msgstr ""
+
+#: src/tools/xml_tools.py:429
+msgid "Headers lenght doesn't correspond to columns"
+msgstr ""
+
+#: src/tools/xml_tools.py:475
+msgid "Incorrect number of items in list"
+msgstr ""
+
+#: src/tools/xml_tools.py:578
+msgid "Value must be 0, 1, false or true"
+msgstr ""
+
+#: src/tools/xml_tools.py:612
+msgid "empty \"options\" list"
+msgstr ""
+
+#: src/tools/xml_tools.py:614
+msgid "invalid styles"
+msgstr ""
+
+#: src/tools/xml_tools.py:652
 #, python-format
 msgid "Unknown panel type [%s]"
 msgstr ""
 
-#: src/tools/xml_tools.py:258
+#: src/tools/xml_tools.py:654
 msgid "form XMLUI need a submit_id"
 msgstr ""
 
-#: src/tools/xml_tools.py:291
+#: src/tools/xml_tools.py:656
+msgid "container argument must be a string"
+msgstr ""
+
+#: src/tools/xml_tools.py:748
 #, python-format
-msgid "Unknown layout type [%s]"
-msgstr ""
-
-#: src/tools/xml_tools.py:498
-msgid "Trying to add a category without parent tabs layout"
-msgstr ""
-
-#: src/tools/xml_tools.py:501
-msgid "parent layout of a category is not tabs"
-msgstr ""
+msgid "Unknown container type [%s]"
+msgstr ""
+
+#: src/tools/xml_tools.py:767
+#, python-format
+msgid "Invalid type [%s]"
+msgstr ""