diff locale/fr.po @ 8328:3bf6ad421347 2.5.0b1

chore: update files for release 2.5.0b1.
author John Rouillard <rouilj@ieee.org>
date Wed, 11 Jun 2025 17:04:51 -0400
parents 8d3085b4d047
children 127625327b9f
line wrap: on
line diff
--- a/locale/fr.po	Wed Jun 11 16:19:00 2025 -0400
+++ b/locale/fr.po	Wed Jun 11 17:04:51 2025 -0400
@@ -8,9 +8,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: Roundup 2.5.0\n"
+"Project-Id-Version: Roundup 2.5.0b1\n"
 "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2025-01-12 20:17-0500\n"
+"POT-Creation-Date: 2025-06-11 16:02-0400\n"
 "PO-Revision-Date: 2013-10-31 12:19+0100\n"
 "Last-Translator: Stephane Raimbault <stephane.raimbault@gmail.com>\n"
 "Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
@@ -31,19 +31,19 @@
 msgid "You may not retire the admin or anonymous user"
 msgstr "Vous ne pouvez pas abandonner les utilisateurs admin ou anonyme"
 
-#: ../roundup/admin.py:131
+#: ../roundup/admin.py:132
 msgid ""
 "Have 'display designator[,designator*]' show header inside\n"
 "      []'s before items. Includes retired/active status.\n"
 msgstr ""
 
-#: ../roundup/admin.py:135
+#: ../roundup/admin.py:136
 msgid ""
 "Have 'display designator' and 'specification class' show\n"
 "      protected fields: creator, id etc.\n"
 msgstr ""
 
-#: ../roundup/admin.py:139
+#: ../roundup/admin.py:140
 msgid ""
 "Controls history options. It is a bitstring where setting\n"
 "      the bit disables the feature. A value of 0 (default)\n"
@@ -54,54 +54,54 @@
 "      history.\n"
 msgstr ""
 
-#: ../roundup/admin.py:148
+#: ../roundup/admin.py:149
 msgid ""
 "Set the number of lines of history to keep for this session.\n"
 "      -1 is infinite.\n"
 msgstr ""
 
-#: ../roundup/admin.py:152
+#: ../roundup/admin.py:153
 msgid "Set indexer to use when running 'reindex' NYI\n"
 msgstr ""
 
-#: ../roundup/admin.py:155
+#: ../roundup/admin.py:156
 msgid "Force reopening of tracker when running each command.\n"
 msgstr ""
 
-#: ../roundup/admin.py:158
+#: ../roundup/admin.py:159
 msgid ""
 "set the number of rows imported before a database commit is\n"
 "      done. Used only for imports on PostgreSQL.\n"
 msgstr ""
 
-#: ../roundup/admin.py:160
+#: ../roundup/admin.py:161
 msgid "Show retired items in table, list etc. One of 'no', 'only', 'both'\n"
 msgstr ""
 
-#: ../roundup/admin.py:162
-msgid "internal mapping for show_retired.\n"
-msgstr ""
-
 #: ../roundup/admin.py:163
+msgid "internal mapping for show_retired.\n"
+msgstr ""
+
+#: ../roundup/admin.py:164
 msgid "Enable verbose output: tracing, descriptions...\n"
 msgstr ""
 
 # ../roundup/admin.py:85 :979 :1028 :1050
 # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052
-#: ../roundup/admin.py:175 ../roundup/admin.py:1188 ../roundup/admin.py:1858
-#: ../roundup/admin.py:1890 ../roundup/admin.py:175:1188 :1858:1890
+#: ../roundup/admin.py:176 ../roundup/admin.py:1199 ../roundup/admin.py:1869
+#: ../roundup/admin.py:1901 ../roundup/admin.py:176:1199 :1869:1901
 #, python-format
 msgid "no such class \"%(classname)s\""
 msgstr "aucune classe nommée « %(classname)s »"
 
 # ../roundup/admin.py:95 :99
 # ../roundup/admin.py:95 ../roundup/admin.py:99 ../roundup/admin.py:95:99
-#: ../roundup/admin.py:188
+#: ../roundup/admin.py:189
 #, python-format
 msgid "argument \"%(arg)s\" not propname=value"
 msgstr "l'argument « %(arg)s » n'est pas au format nom-de-propriété=valeur"
 
-#: ../roundup/admin.py:201
+#: ../roundup/admin.py:202
 #, python-format
 msgid ""
 "Problem: %(message)s\n"
@@ -110,7 +110,7 @@
 "Problème : %(message)s\n"
 "\n"
 
-#: ../roundup/admin.py:202
+#: ../roundup/admin.py:203
 #, fuzzy, python-format
 msgid ""
 "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n"
@@ -169,12 +169,12 @@
 " roundup-admin help <commande>            -- l'aide sur une commande\n"
 " roundup-admin help all                   -- toute l'aide disponible\n"
 
-#: ../roundup/admin.py:231
+#: ../roundup/admin.py:232
 #, fuzzy
 msgid "Commands: "
 msgstr "Commandes :"
 
-#: ../roundup/admin.py:238
+#: ../roundup/admin.py:249
 msgid ""
 "Commands may be abbreviated as long as the abbreviation\n"
 "matches only one command, e.g. l == li == lis == list."
@@ -183,7 +183,7 @@
 "où l'abréviation ne correspond qu'à une seule commande,\n"
 "par ex. : l == li == lis == list."
 
-#: ../roundup/admin.py:270
+#: ../roundup/admin.py:281
 #, fuzzy
 msgid ""
 "\n"
@@ -323,27 +323,27 @@
 "\n"
 "Aide sur les commandes :\n"
 
-#: ../roundup/admin.py:334
+#: ../roundup/admin.py:345
 #, python-format
 msgid "%s:"
 msgstr "%s :"
 
 # ../roundup/admin.py:338 :394
 # ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396
-#: ../roundup/admin.py:439 ../roundup/admin.py:1415
-#: ../roundup/admin.py:439:1415
+#: ../roundup/admin.py:450 ../roundup/admin.py:1426
+#: ../roundup/admin.py:450:1426
 msgid "Templates:"
 msgstr "Modèles :"
 
 # ../roundup/admin.py:341 :405
 # ../roundup/admin.py:343 ../roundup/admin.py:407 ../roundup/admin.py:343:407
-#: ../roundup/admin.py:442 ../roundup/admin.py:1425
-#: ../roundup/admin.py:442:1425
+#: ../roundup/admin.py:453 ../roundup/admin.py:1436
+#: ../roundup/admin.py:453:1436
 msgid "Back ends:"
 msgstr "Moteurs de stockage :"
 
 #. noqa: ARG002
-#: ../roundup/admin.py:459
+#: ../roundup/admin.py:470
 msgid ""
 "Usage: commit\n"
 "        Commit changes made to the database during an interactive session.\n"
@@ -368,7 +368,7 @@
 "        automatiquement validées si elles réussissent.\n"
 "        "
 
-#: ../roundup/admin.py:474
+#: ../roundup/admin.py:485
 msgid ""
 "Usage: create classname property=value ...\n"
 "        Create a new entry of a given class.\n"
@@ -392,42 +392,42 @@
 # :1018 :1040 :1067 :1134 :1204
 # ../roundup/admin.py:1207 ../roundup/admin.py:369:466 :1020:1042 :1069:1136
 # :1207 :527:606 :656:714 :735:763 :834:901:972
-#: ../roundup/admin.py:482 ../roundup/admin.py:555 ../roundup/admin.py:606
-#: ../roundup/admin.py:733 ../roundup/admin.py:806 ../roundup/admin.py:851
-#: ../roundup/admin.py:902 ../roundup/admin.py:999 ../roundup/admin.py:1216
-#: ../roundup/admin.py:1388 ../roundup/admin.py:1516 ../roundup/admin.py:1599
-#: ../roundup/admin.py:1725 ../roundup/admin.py:1848 ../roundup/admin.py:1880
-#: ../roundup/admin.py:1996 ../roundup/admin.py:2050 ../roundup/admin.py:2098
-#: ../roundup/admin.py:482:555 :1216:1388:1516 :1599:1725 :1848:1880 :1996:2050
-#: :2098 :606:733 :806:851 :902:999
+#: ../roundup/admin.py:493 ../roundup/admin.py:566 ../roundup/admin.py:617
+#: ../roundup/admin.py:744 ../roundup/admin.py:817 ../roundup/admin.py:862
+#: ../roundup/admin.py:913 ../roundup/admin.py:1010 ../roundup/admin.py:1227
+#: ../roundup/admin.py:1399 ../roundup/admin.py:1527 ../roundup/admin.py:1610
+#: ../roundup/admin.py:1736 ../roundup/admin.py:1859 ../roundup/admin.py:1891
+#: ../roundup/admin.py:2007 ../roundup/admin.py:2061 ../roundup/admin.py:2109
+#: ../roundup/admin.py:493:566 :1227:1399 :1527:1610 :1736:1859 :1891:2007
+#: :2061:2109 :617:744 :817:862 :913:1010
 msgid "Not enough arguments supplied"
 msgstr "Pas suffisamment d'arguments fournis"
 
-#: ../roundup/admin.py:502
+#: ../roundup/admin.py:513
 #, python-format
 msgid "%(propname)s (Password): "
 msgstr "%(propname)s (mot de passe) : "
 
-#: ../roundup/admin.py:505
+#: ../roundup/admin.py:516
 #, python-format
 msgid "   %(propname)s (Again): "
 msgstr "   %(propname)s (à nouveau) : "
 
-#: ../roundup/admin.py:509
+#: ../roundup/admin.py:520
 msgid "Sorry, try again..."
 msgstr "Désolé, essayez à nouveau..."
 
-#: ../roundup/admin.py:514
+#: ../roundup/admin.py:525
 #, python-format
 msgid "%(propname)s (%(proptype)s): "
 msgstr "%(propname)s (%(proptype)s) : "
 
-#: ../roundup/admin.py:533
+#: ../roundup/admin.py:544
 #, python-format
 msgid "you must provide the \"%(propname)s\" property."
 msgstr "vous devez renseigner la propriété « %(propname)s »."
 
-#: ../roundup/admin.py:545
+#: ../roundup/admin.py:556
 #, fuzzy
 msgid ""
 "Usage: display designator[,designator]*\n"
@@ -447,13 +447,13 @@
 "        des noeuds indiqués.\n"
 "        "
 
-#: ../roundup/admin.py:586
+#: ../roundup/admin.py:597
 #, fuzzy, python-format
 msgid "%(protected)s%(key)s: %(value)s"
 msgstr "%(key)s : %(value)s"
 
 #. grab the directory to export to
-#: ../roundup/admin.py:589
+#: ../roundup/admin.py:600
 #, fuzzy
 msgid ""
 "Usage: export [[-]class[,class]] export_dir\n"
@@ -483,7 +483,7 @@
 "        format aux valeurs séparées par des doubles-points.\n"
 "        "
 
-#: ../roundup/admin.py:704
+#: ../roundup/admin.py:715
 #, fuzzy
 msgid ""
 "Usage: exporttables [[-]class[,class]] export_dir\n"
@@ -514,7 +514,7 @@
 "        format aux valeurs séparées par des doubles-points.\n"
 "        "
 
-#: ../roundup/admin.py:723
+#: ../roundup/admin.py:734
 #, fuzzy
 msgid ""
 "Usage: filter classname propname=value ...\n"
@@ -538,21 +538,21 @@
 
 # ../roundup/admin.py:699 :852 :864 :918
 # ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920
-#: ../roundup/admin.py:764
+#: ../roundup/admin.py:775
 #, fuzzy, python-format
 msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s."
 msgstr "%(classname)s n'a pas de propriété « %(propname)s »"
 
 # ../roundup/admin.py:699 :852 :864 :918
 # ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920
-#: ../roundup/admin.py:791 ../roundup/admin.py:840 ../roundup/admin.py:1536
-#: ../roundup/admin.py:1549 ../roundup/admin.py:2120
-#: ../roundup/admin.py:791:840 :1536:1549:2120
+#: ../roundup/admin.py:802 ../roundup/admin.py:851 ../roundup/admin.py:1547
+#: ../roundup/admin.py:1560 ../roundup/admin.py:2131
+#: ../roundup/admin.py:802:851 :1547:1560:2131
 #, python-format
 msgid "%(classname)s has no property \"%(propname)s\""
 msgstr "%(classname)s n'a pas de propriété « %(propname)s »"
 
-#: ../roundup/admin.py:798
+#: ../roundup/admin.py:809
 msgid ""
 "Usage: find classname propname=value ...\n"
 "        Find the nodes of the given class with a given link property value.\n"
@@ -571,7 +571,7 @@
 "        noeud lié, ou sa valeur de clé.\n"
 "        "
 
-#: ../roundup/admin.py:847
+#: ../roundup/admin.py:858
 #, fuzzy
 msgid ""
 "Usage: genconfig filename\n"
@@ -583,7 +583,7 @@
 "              (au format ini) avec des valeurs par défaut dans\n"
 "              <nomfichier>"
 
-#: ../roundup/admin.py:864
+#: ../roundup/admin.py:875
 #, python-format
 msgid ""
 "Changing option\n"
@@ -591,20 +591,20 @@
 "from old default of %(old_number)s to new default of %(new_number)s."
 msgstr ""
 
-#: ../roundup/admin.py:875
+#: ../roundup/admin.py:886
 #, python-format
 msgid ""
 "Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n"
 "  than %s.\n"
 msgstr ""
 
-#: ../roundup/admin.py:882
+#: ../roundup/admin.py:893
 msgid ""
 "Check the rdbms mysql_* settings. Your charset and collations may need\n"
 "  to be changed. See upgrading instructions.\n"
 msgstr ""
 
-#: ../roundup/admin.py:892
+#: ../roundup/admin.py:903
 #, fuzzy
 msgid ""
 "Usage: get property designator[,designator]*\n"
@@ -626,7 +626,7 @@
 
 # ../roundup/admin.py:558 :573
 # ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575
-#: ../roundup/admin.py:925
+#: ../roundup/admin.py:936
 #, python-format
 msgid "property %s is not of type Multilink or Link so -d flag does not apply."
 msgstr ""
@@ -635,19 +635,19 @@
 
 # ../roundup/admin.py:581 :981 :1030 :1052
 # ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054
-#: ../roundup/admin.py:942 ../roundup/admin.py:1190 ../roundup/admin.py:1864
-#: ../roundup/admin.py:1892 ../roundup/admin.py:942:1190 :1864:1892
+#: ../roundup/admin.py:953 ../roundup/admin.py:1201 ../roundup/admin.py:1875
+#: ../roundup/admin.py:1903 ../roundup/admin.py:953:1201 :1875:1903
 #, python-format
 msgid "no such %(classname)s node \"%(nodeid)s\""
 msgstr "le noeud « %(nodeid)s » de classe « %(classname)s » n'existe pas"
 
-#: ../roundup/admin.py:945
+#: ../roundup/admin.py:956
 #, python-format
 msgid "no such %(classname)s property \"%(propname)s\""
 msgstr ""
 "la propriété « %(propname)s » n'existe pas pour la classe « %(classname)s »"
 
-#: ../roundup/admin.py:950
+#: ../roundup/admin.py:961
 msgid ""
 "Usage: help topic\n"
 "        Give help about topic.\n"
@@ -667,12 +667,12 @@
 "        all        -- toute l'aide disponible\n"
 "        "
 
-#: ../roundup/admin.py:969
+#: ../roundup/admin.py:980
 #, python-format
 msgid "Sorry, no help for \"%(topic)s\""
 msgstr "Désolé, aucune aide n'est disponible au sujet de « %(topic)s »"
 
-#: ../roundup/admin.py:986
+#: ../roundup/admin.py:997
 #, fuzzy
 msgid ""
 "Usage: history designator [skipquiet] [raw]\n"
@@ -695,27 +695,27 @@
 "        valeur de clé peut être ré-utilisée.\n"
 "        "
 
-#: ../roundup/admin.py:1011
+#: ../roundup/admin.py:1022
 #, python-format
 msgid "Unexpected argument(s): %s. Expected 'skipquiet' or 'raw'."
 msgstr ""
 
-#: ../roundup/admin.py:1062
+#: ../roundup/admin.py:1073
 #, fuzzy
 msgid "removed"
 msgstr "supprimer"
 
-#: ../roundup/admin.py:1064
+#: ../roundup/admin.py:1075
 msgid "added"
 msgstr ""
 
-#: ../roundup/admin.py:1066
+#: ../roundup/admin.py:1077
 #, python-format
 msgid "Unknown history set operation '%s'. Expected +/-."
 msgstr ""
 
 #. .Hint added issue23 to superseder
-#: ../roundup/admin.py:1091
+#: ../roundup/admin.py:1102
 #, fuzzy, python-format
 msgid "added %(class)s%(item_id)s to %(propname)s"
 msgstr "%(class)s %(id)s %(properties)s modifié(s) avec succès"
@@ -723,29 +723,29 @@
 #. .Hint read as: assignedto was admin(1)
 #. where assignedto is the property
 #. admin is the key name for value 1
-#: ../roundup/admin.py:1112
+#: ../roundup/admin.py:1123
 #, fuzzy, python-format
 msgid "%(prop)s was %(name)s(%(value)s)"
 msgstr "%(propname)s (%(proptype)s) : "
 
-#: ../roundup/admin.py:1118 ../roundup/admin.py:1147
-#: ../roundup/admin.py:1118:1147
+#: ../roundup/admin.py:1129 ../roundup/admin.py:1158
+#: ../roundup/admin.py:1129:1158
 #, fuzzy, python-format
 msgid "%(prop)s was %(value)s"
 msgstr "%(key)s : %(value)s"
 
-#: ../roundup/admin.py:1137
+#: ../roundup/admin.py:1148
 #, python-format
 msgid "%(prop)s was [%(value_list)s]"
 msgstr ""
 
 #. .Hint modified nosy: added demo(3)
-#: ../roundup/admin.py:1144
+#: ../roundup/admin.py:1155
 #, python-format
 msgid "modified %(prop)s: %(how)s"
 msgstr ""
 
-#: ../roundup/admin.py:1195
+#: ../roundup/admin.py:1206
 #, fuzzy
 msgid ""
 "Usage: import import_dir\n"
@@ -792,7 +792,7 @@
 "        plus péniblement, « abandonnez » toutes les anciennes données).\n"
 "        "
 
-#: ../roundup/admin.py:1306
+#: ../roundup/admin.py:1317
 msgid ""
 "Usage: importtables export_dir\n"
 "        This imports the database tables exported using exporttables.\n"
@@ -802,7 +802,7 @@
 msgstr ""
 
 #. password
-#: ../roundup/admin.py:1314
+#: ../roundup/admin.py:1325
 msgid ""
 "Usage: initialise [adminpw]\n"
 "        Initialise a new Roundup tracker.\n"
@@ -821,23 +821,23 @@
 "        Exécute la fonction d'initialisation dbinit.init() du pisteur.\n"
 "        "
 
-#: ../roundup/admin.py:1328
+#: ../roundup/admin.py:1339
 msgid "Admin Password: "
 msgstr "Mot de passe administrateur : "
 
-#: ../roundup/admin.py:1329
+#: ../roundup/admin.py:1340
 msgid "       Confirm: "
 msgstr "       Confirmez : "
 
-#: ../roundup/admin.py:1333
+#: ../roundup/admin.py:1344
 msgid "Instance home does not exist"
 msgstr "Le répertoire racine de l'instance n'existe pas"
 
-#: ../roundup/admin.py:1337
+#: ../roundup/admin.py:1348
 msgid "Instance has not been installed"
 msgstr "L'instance n'a pas été installée"
 
-#: ../roundup/admin.py:1345
+#: ../roundup/admin.py:1356
 msgid ""
 "WARNING: The database is already initialised!\n"
 "If you re-initialise it, you will lose all the data!\n"
@@ -847,7 +847,7 @@
 "Si vous la réinitialisez, vous perdrez toutes les données !\n"
 "Supprimez la base de données (Y/N) ? "
 
-#: ../roundup/admin.py:1365
+#: ../roundup/admin.py:1376
 #, fuzzy
 msgid ""
 "Usage: install [template [backend [key=val[,key=val]]]]\n"
@@ -902,12 +902,12 @@
 "        Consultez également l'aide sur « initopts ».\n"
 "        "
 
-#: ../roundup/admin.py:1394
+#: ../roundup/admin.py:1405
 #, python-format
 msgid "Instance home parent directory \"%(parent)s\" does not exist"
 msgstr "Le répertoire parent « %(parent)s » de l'instance de base n'existe pas"
 
-#: ../roundup/admin.py:1403
+#: ../roundup/admin.py:1414
 #, python-format
 msgid ""
 "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n"
@@ -919,22 +919,22 @@
 "Si vous le réinstallez, vous perdrez toutes les données !\n"
 "Supprimer le pisteur (Y/N) ? "
 
-#: ../roundup/admin.py:1416
+#: ../roundup/admin.py:1427
 #, fuzzy
 msgid "Select template"
 msgstr "Sélection du modèle [classic] : "
 
-#: ../roundup/admin.py:1426
+#: ../roundup/admin.py:1437
 #, fuzzy
 msgid "Select backend"
 msgstr "Sélection du moteur de stockage [anydbm]: "
 
-#: ../roundup/admin.py:1437
+#: ../roundup/admin.py:1448
 #, python-format
 msgid "Error in configuration settings: \"%s\""
 msgstr "Erreur dans les paramètres de la configuration : « %s »"
 
-#: ../roundup/admin.py:1470
+#: ../roundup/admin.py:1481
 #, python-format
 msgid ""
 "\n"
@@ -947,11 +947,11 @@
 " Vous devez maintenant modifier le fichier de configuration du pisteur :\n"
 "    %(config_file)s"
 
-#: ../roundup/admin.py:1480
+#: ../roundup/admin.py:1491
 msgid " ... at a minimum, you must set following options:"
 msgstr " ou au minimum, vous devez définir les options suivantes :"
 
-#: ../roundup/admin.py:1485
+#: ../roundup/admin.py:1496
 #, python-format
 msgid ""
 "\n"
@@ -983,7 +983,7 @@
 " que vous avez réalisé les étapes précédentes.\n"
 "---------------------------------------------------------------------------\n"
 
-#: ../roundup/admin.py:1501
+#: ../roundup/admin.py:1512
 msgid ""
 "Usage: list classname [property]\n"
 "        List the instances of a class.\n"
@@ -1013,17 +1013,17 @@
 "        propriété pour chaque instance de cette classe.\n"
 "        "
 
-#: ../roundup/admin.py:1514
+#: ../roundup/admin.py:1525
 msgid "Too many arguments supplied"
 msgstr "Trop d'arguments fournis"
 
-#: ../roundup/admin.py:1547
+#: ../roundup/admin.py:1558
 #, python-format
 msgid "%(nodeid)4s: %(value)s"
 msgstr "%(nodeid)4s : %(value)s"
 
 #. noqa: ARG002  - args unused
-#: ../roundup/admin.py:1554
+#: ../roundup/admin.py:1565
 msgid ""
 "Usage: migrate\n"
 "        Update a tracker's database to be compatible with the Roundup\n"
@@ -1046,17 +1046,17 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1574
+#: ../roundup/admin.py:1585
 #, python-format
 msgid "Tracker updated to schema version %s."
 msgstr ""
 
-#: ../roundup/admin.py:1578
+#: ../roundup/admin.py:1589
 #, python-format
 msgid "No migration action required. At schema version %s."
 msgstr ""
 
-#: ../roundup/admin.py:1583
+#: ../roundup/admin.py:1594
 #, fuzzy
 msgid ""
 "Usage: pack period | date\n"
@@ -1097,11 +1097,11 @@
 "\n"
 "        "
 
-#: ../roundup/admin.py:1609
+#: ../roundup/admin.py:1620
 msgid "Invalid format"
 msgstr "Format non valide"
 
-#: ../roundup/admin.py:1620
+#: ../roundup/admin.py:1631
 msgid ""
 "Usage: perftest [mode] [arguments]*\n"
 "        Time operations in Roundup.\n"
@@ -1119,25 +1119,25 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1657
+#: ../roundup/admin.py:1668
 msgid "Invalid 'rounds'. Must be larger than 999."
 msgstr ""
 
-#: ../roundup/admin.py:1661
+#: ../roundup/admin.py:1672
 #, python-format
 msgid "Invalid 'rounds'. It must be an integer not: %s"
 msgstr ""
 
-#: ../roundup/admin.py:1688
+#: ../roundup/admin.py:1699
 msgid "scheme does not support rounds."
 msgstr ""
 
-#: ../roundup/admin.py:1691
+#: ../roundup/admin.py:1702
 #, python-format
 msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s"
 msgstr ""
 
-#: ../roundup/admin.py:1697
+#: ../roundup/admin.py:1708
 msgid ""
 "Usage: pragma setting=value | 'list'\n"
 "        Set internal admin settings to a value.\n"
@@ -1166,49 +1166,49 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1732
+#: ../roundup/admin.py:1743
 #, python-format
 msgid "Argument must be setting=value, was given: %s."
 msgstr ""
 
-#: ../roundup/admin.py:1735
-msgid "Current settings and values (NYI - not yet implemented):"
-msgstr ""
-
 #: ../roundup/admin.py:1746
+msgid "Current settings and values (NYI - not yet implemented):"
+msgstr ""
+
+#: ../roundup/admin.py:1757
 msgid ""
 "      Help for this pragma is missing. Please report it to the Roundup "
 "project.\n"
 msgstr ""
 
-#: ../roundup/admin.py:1752
+#: ../roundup/admin.py:1763
 #, fuzzy, python-format
 msgid "Unknown setting %s. Try \"pragma list\"."
 msgstr "Nom d'utilisateur inconnu"
 
-#: ../roundup/admin.py:1762
+#: ../roundup/admin.py:1773
 #, python-format
 msgid "Incorrect value for boolean setting %(setting)s: %(value)s."
 msgstr ""
 
-#: ../roundup/admin.py:1769
+#: ../roundup/admin.py:1780
 #, python-format
 msgid "Incorrect value for integer setting %(setting)s: %(value)s."
 msgstr ""
 
-#: ../roundup/admin.py:1776
+#: ../roundup/admin.py:1787
 #, python-format
 msgid ""
 "Incorrect value for setting %(setting)s: %(value)s. Should be no, both, or "
 "only."
 msgstr ""
 
-#: ../roundup/admin.py:1786
+#: ../roundup/admin.py:1797
 #, python-format
 msgid "Internal error: pragma can not handle values of type: %s"
 msgstr ""
 
-#: ../roundup/admin.py:1795
+#: ../roundup/admin.py:1806
 #, fuzzy
 msgid ""
 "Usage: reindex [classname|classname:#-#|designator]*\n"
@@ -1232,17 +1232,17 @@
 "        Cette opération est normalement effectuer automatiquement.\n"
 "        "
 
-#: ../roundup/admin.py:1817
+#: ../roundup/admin.py:1828
 #, python-format
 msgid "no such item \"%(designator)s\""
 msgstr "pas d'élément « %(designator)s »"
 
-#: ../roundup/admin.py:1827
+#: ../roundup/admin.py:1838
 #, fuzzy, python-format
 msgid "no such item \"%(class)s%(id)s\""
 msgstr "pas d'élément « %(designator)s »"
 
-#: ../roundup/admin.py:1839
+#: ../roundup/admin.py:1850
 #, fuzzy
 msgid ""
 "Usage: restore designator[,designator]*\n"
@@ -1262,7 +1262,7 @@
 "        utilisateurs.\n"
 "        "
 
-#: ../roundup/admin.py:1870
+#: ../roundup/admin.py:1881
 #, fuzzy
 msgid ""
 "Usage: retire designator[,designator]*\n"
@@ -1284,7 +1284,7 @@
 "        "
 
 #. noqa: ARG002 - args unused
-#: ../roundup/admin.py:1898
+#: ../roundup/admin.py:1909
 msgid ""
 "Usage: rollback\n"
 "        Undo all changes that are pending commit to the database.\n"
@@ -1307,7 +1307,7 @@
 "        base de données.\n"
 "        "
 
-#: ../roundup/admin.py:1911
+#: ../roundup/admin.py:1922
 msgid ""
 "Usage: security [Role name]\n"
 "        Display the Permissions available to one or all Roles.\n"
@@ -1320,48 +1320,48 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:1926
+#: ../roundup/admin.py:1937
 #, fuzzy, python-format
 msgid "No such Role \"%(role)s\"\n"
 msgstr "Ce rôle « %(role)s » n'existe pas"
 
-#: ../roundup/admin.py:1932
+#: ../roundup/admin.py:1943
 #, fuzzy, python-format
 msgid "New Web users get the Roles \"%(role)s\"\n"
 msgstr "Les nouveaux utilisateurs Web ont les rôles « %(role)s »"
 
-#: ../roundup/admin.py:1935
+#: ../roundup/admin.py:1946
 #, fuzzy, python-format
 msgid "New Web users get the Role \"%(role)s\"\n"
 msgstr "Les nouveaux utilisateurs Web ont le rôle « %(role)s »"
 
-#: ../roundup/admin.py:1939
+#: ../roundup/admin.py:1950
 #, fuzzy, python-format
 msgid "New Email users get the Roles \"%(role)s\"\n"
 msgstr "Les nouveaux utilisateurs Courriel ont les rôles « %(role)s »"
 
-#: ../roundup/admin.py:1941
+#: ../roundup/admin.py:1952
 #, fuzzy, python-format
 msgid "New Email users get the Role \"%(role)s\"\n"
 msgstr "Les nouveaux utilisateurs Courriel ont le rôle « %(role)s »"
 
-#: ../roundup/admin.py:1944
+#: ../roundup/admin.py:1955
 #, fuzzy, python-format
 msgid "Role \"%(name)s\":\n"
 msgstr "Rôle « %(name)s » :"
 
-#: ../roundup/admin.py:1950
+#: ../roundup/admin.py:1961
 #, fuzzy
 msgid " %(description)s (%(name)s for \"%(klass)s\""
 msgstr " %(description)s (%(name)s pour « %(klass)s » uniquement)"
 
-#: ../roundup/admin.py:1950
+#: ../roundup/admin.py:1961
 #, fuzzy, python-format
 msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n"
 msgstr ""
 " %(description)s (%(name)s pour « %(klass)s » : %(properties)s uniquement)"
 
-#: ../roundup/admin.py:1963
+#: ../roundup/admin.py:1974
 #, python-format
 msgid ""
 "\n"
@@ -1369,17 +1369,17 @@
 "\n"
 msgstr ""
 
-#: ../roundup/admin.py:1969
+#: ../roundup/admin.py:1980
 #, fuzzy, python-format
 msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n"
 msgstr " %(description)s (%(name)s pour « %(klass)s » uniquement)"
 
-#: ../roundup/admin.py:1972
+#: ../roundup/admin.py:1983
 #, fuzzy, python-format
 msgid " %(description)s (%(name)s)\n"
 msgstr " %(description)s (%(name)s)"
 
-#: ../roundup/admin.py:1976
+#: ../roundup/admin.py:1987
 #, fuzzy
 msgid ""
 "Usage: set items property=value [property=value ...]\n"
@@ -1414,7 +1414,7 @@
 "        ce lien sont indiqués comme des nombres séparés par des\n"
 "        virgules (par ex. « 1,2,3 »)."
 
-#: ../roundup/admin.py:2044
+#: ../roundup/admin.py:2055
 msgid ""
 "Usage: specification classname\n"
 "        Show the properties for a classname.\n"
@@ -1428,17 +1428,17 @@
 "        Cette commande énumère les propriétés de la classe nommée.\n"
 "        "
 
-#: ../roundup/admin.py:2063
+#: ../roundup/admin.py:2074
 #, fuzzy, python-format
 msgid "%(key)s: %(value)s (key property)\n"
 msgstr "%(key)s : %(value)s (propriété clé)"
 
-#: ../roundup/admin.py:2066
+#: ../roundup/admin.py:2077
 #, fuzzy, python-format
 msgid "%(key)s: %(value)s\n"
 msgstr "%(key)s : %(value)s"
 
-#: ../roundup/admin.py:2069
+#: ../roundup/admin.py:2080
 msgid ""
 "Usage: table classname [property[,property]*]\n"
 "        List the instances of a class in tabular form.\n"
@@ -1500,17 +1500,17 @@
 "        donnera une colonne « Name » large de 4 caractères.\n"
 "        "
 
-#: ../roundup/admin.py:2115
+#: ../roundup/admin.py:2126
 #, python-format
 msgid "\"%(spec)s\" not name:width"
 msgstr "« %(spec)s » ne correspond pas au format « nom:largeur »"
 
-#: ../roundup/admin.py:2137
+#: ../roundup/admin.py:2148
 #, python-format
 msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\""
 msgstr ""
 
-#: ../roundup/admin.py:2173
+#: ../roundup/admin.py:2184
 msgid ""
 "Usage: templates [trace_search]\n"
 "        List templates and their installed directories.\n"
@@ -1520,7 +1520,7 @@
 "        "
 msgstr ""
 
-#: ../roundup/admin.py:2201
+#: ../roundup/admin.py:2212
 #, fuzzy
 msgid ""
 "Usage: updateconfig <filename>\n"
@@ -1537,34 +1537,34 @@
 
 # ../roundup/cgi/actions.py:596 :607 :778 :797
 # ../roundup/cgi/actions.py:596:607 :778:797
-#: ../roundup/admin.py:2210 ../roundup/cgi/actions.py:886
-#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099
-#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113
+#: ../roundup/admin.py:2221 ../roundup/cgi/actions.py:891
+#: ../roundup/cgi/actions.py:902 ../roundup/cgi/actions.py:1104
+#: ../roundup/cgi/actions.py:1118 ../roundup/cgi/actions.py:891:902 :1104:1118
 #, python-format
 msgid "Error: %s"
 msgstr "Erreur : %s"
 
-#: ../roundup/admin.py:2242
+#: ../roundup/admin.py:2253
 #, python-format
 msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)"
 msgstr "Commande inconnue « %(command)s » (« help commands » pour la liste)"
 
-#: ../roundup/admin.py:2248
+#: ../roundup/admin.py:2259
 #, python-format
 msgid "Multiple commands match \"%(command)s\": %(list)s"
 msgstr "Plusieurs commandes correspondent à « %(command)s » : %(list)s"
 
-#: ../roundup/admin.py:2263
+#: ../roundup/admin.py:2274
 msgid "Enter tracker home: "
 msgstr "Saisissez le répertoire racine du pisteur : "
 
-#: ../roundup/admin.py:2292 ../roundup/admin.py:2296
-#: ../roundup/admin.py:2292:2296
+#: ../roundup/admin.py:2303 ../roundup/admin.py:2307
+#: ../roundup/admin.py:2303:2307
 #, python-format
 msgid "Error: Couldn't open tracker: %(message)s"
 msgstr "Erreur : impossible d'ouvrir le pisteur, %(message)s"
 
-#: ../roundup/admin.py:2344
+#: ../roundup/admin.py:2355
 #, python-format
 msgid ""
 "Roundup %s ready for input.\n"
@@ -1573,58 +1573,58 @@
 "Roundup %s est prêt pour la saisie.\n"
 "Saisissez « help » pour l'aide."
 
-#: ../roundup/admin.py:2377
+#: ../roundup/admin.py:2388
 msgid "Note: command history and editing not available"
 msgstr "Note : l'historique et l'édition des commandes n'est pas disponible"
 
-#: ../roundup/admin.py:2383
+#: ../roundup/admin.py:2394
 msgid "exit..."
 msgstr "sortie..."
 
-#: ../roundup/admin.py:2396
+#: ../roundup/admin.py:2407
 msgid "There are unsaved changes. Commit them (y/N)? "
 msgstr "Des changements n'ont pas été enregistrés, les valider (y/N) ?"
 
-#: ../roundup/backends/back_anydbm.py:215
-#: ../roundup/backends/rdbms_common.py:928
+#: ../roundup/backends/back_anydbm.py:213
+#: ../roundup/backends/rdbms_common.py:926
 #, python-format
 msgid "Class \"%s\" already defined."
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:280
+#: ../roundup/backends/back_anydbm.py:278
 #: ../roundup/backends/sessions_dbm.py:61
 msgid "Couldn't identify database type"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:314
+#: ../roundup/backends/back_anydbm.py:312
 #, python-format
 msgid ""
 "Couldn't open database - the required module '%s' (as dbm.gnu) is not "
 "available"
 msgstr ""
 
-#: ../roundup/backends/back_anydbm.py:318
+#: ../roundup/backends/back_anydbm.py:316
 #, python-format
 msgid "Couldn't open database - the required module '%s' is not available"
 msgstr ""
 
 #: ../roundup/backends/back_anydbm.py:873
 #: ../roundup/backends/back_anydbm.py:886
-#: ../roundup/backends/back_anydbm.py:1160
-#: ../roundup/backends/back_anydbm.py:1195
-#: ../roundup/backends/back_anydbm.py:1424
-#: ../roundup/backends/back_anydbm.py:1442
-#: ../roundup/backends/back_anydbm.py:1489
-#: ../roundup/backends/back_anydbm.py:2135
+#: ../roundup/backends/back_anydbm.py:1162
+#: ../roundup/backends/back_anydbm.py:1197
+#: ../roundup/backends/back_anydbm.py:1426
+#: ../roundup/backends/back_anydbm.py:1444
+#: ../roundup/backends/back_anydbm.py:1492
+#: ../roundup/backends/back_anydbm.py:2138
 #: ../roundup/backends/back_anydbm.py:873:886
-#: ../roundup/backends/rdbms_common.py:1720
-#: ../roundup/backends/rdbms_common.py:1967
-#: ../roundup/backends/rdbms_common.py:2206
-#: ../roundup/backends/rdbms_common.py:2226
-#: ../roundup/backends/rdbms_common.py:2279
-#: ../roundup/backends/rdbms_common.py:3254
-#: ../roundup/backends/rdbms_common.py:1720:1967 :1160:1195 :1424:1442:1489
-#: :2135 :2206:2226 :2279:3254
+#: ../roundup/backends/rdbms_common.py:1721
+#: ../roundup/backends/rdbms_common.py:1972
+#: ../roundup/backends/rdbms_common.py:2211
+#: ../roundup/backends/rdbms_common.py:2231
+#: ../roundup/backends/rdbms_common.py:2293
+#: ../roundup/backends/rdbms_common.py:3268
+#: ../roundup/backends/rdbms_common.py:1721:1972 :1162:1197 :1426:1444:1492
+#: :2138 :2211:2231 :2293:3268
 msgid "Database open read-only"
 msgstr ""
 
@@ -1650,45 +1650,52 @@
 msgid "Unable to get lock after 10 retries on %s."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:632
+#: ../roundup/backends/rdbms_common.py:630
 #, python-format
 msgid "ALTER operation disallowed: %(old)r -> %(new)r."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:867
+#: ../roundup/backends/rdbms_common.py:865
 #, python-format
 msgid "CREATE operation disallowed: \"%s\"."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:884
+#: ../roundup/backends/rdbms_common.py:882
 #, python-format
 msgid "DROP operation disallowed: \"%s\"."
 msgstr ""
 
-#: ../roundup/backends/rdbms_common.py:1863
+#: ../roundup/backends/rdbms_common.py:1864
 msgid "create"
 msgstr "créer"
 
-#: ../roundup/backends/rdbms_common.py:2038
+#: ../roundup/backends/rdbms_common.py:2043
 msgid "unlink"
 msgstr "détacher"
 
-#: ../roundup/backends/rdbms_common.py:2042
+#: ../roundup/backends/rdbms_common.py:2047
 msgid "link"
 msgstr "attacher"
 
-#: ../roundup/backends/rdbms_common.py:2187
+#: ../roundup/backends/rdbms_common.py:2192
 msgid "set"
 msgstr "assigner"
 
-#: ../roundup/backends/rdbms_common.py:2216
+#: ../roundup/backends/rdbms_common.py:2221
 msgid "retired"
 msgstr "retiré"
 
-#: ../roundup/backends/rdbms_common.py:2246
+#: ../roundup/backends/rdbms_common.py:2251
 msgid "restored"
 msgstr "restauré"
 
+#: ../roundup/backends/rdbms_common.py:2265
+#, fuzzy, python-format
+msgid "class %(cls)s: %(value)r is not an id"
+msgstr ""
+"propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la "
+"liste"
+
 #: ../roundup/backends/sessions_redis.py:78
 #: ../roundup/backends/sessions_redis.py:97
 #: ../roundup/backends/sessions_redis.py:78:97
@@ -1774,10 +1781,10 @@
 "requis)"
 
 #: ../roundup/cgi/actions.py:228 ../roundup/cgi/actions.py:266
-#: ../roundup/cgi/actions.py:493 ../roundup/cgi/actions.py:833
-#: ../roundup/cgi/actions.py:880 ../roundup/cgi/actions.py:1084
-#: ../roundup/cgi/actions.py:1246 ../roundup/cgi/actions.py:228:266:1246
-#: :493:833 :880:1084
+#: ../roundup/cgi/actions.py:493 ../roundup/cgi/actions.py:838
+#: ../roundup/cgi/actions.py:885 ../roundup/cgi/actions.py:1089
+#: ../roundup/cgi/actions.py:1251 ../roundup/cgi/actions.py:228:266:1251
+#: :493:838 :885:1089
 #, fuzzy
 msgid "Invalid request"
 msgstr "Format non valide"
@@ -1834,8 +1841,8 @@
 msgid "Invalid integer: "
 msgstr "Tentative de connexion non valide"
 
-#: ../roundup/cgi/actions.py:531 ../roundup/cgi/actions.py:735
-#: ../roundup/cgi/actions.py:531:735
+#: ../roundup/cgi/actions.py:531 ../roundup/cgi/actions.py:740
+#: ../roundup/cgi/actions.py:531:740
 #, python-format
 msgid "You do not have permission to create %(class)s"
 msgstr "Vous n'avez pas la permission de créer de %(class)s"
@@ -1845,8 +1852,8 @@
 msgid "Not enough values on line %(line)s"
 msgstr "Pas suffisament de valeurs sur la ligne %(line)s"
 
-#: ../roundup/cgi/actions.py:556 ../roundup/cgi/actions.py:723
-#: ../roundup/cgi/actions.py:556:723
+#: ../roundup/cgi/actions.py:556 ../roundup/cgi/actions.py:728
+#: ../roundup/cgi/actions.py:556:728
 #, python-format
 msgid "You do not have permission to edit %(class)s"
 msgstr "Vous n'avez pas la permission de modifier %(class)s"
@@ -1855,17 +1862,17 @@
 msgid "Items edited OK"
 msgstr "Les éléments ont été modifiés avec succès"
 
-#: ../roundup/cgi/actions.py:671
+#: ../roundup/cgi/actions.py:676
 #, python-format
 msgid "%(class)s %(id)s %(properties)s edited ok"
 msgstr "%(class)s %(id)s %(properties)s modifié(s) avec succès"
 
-#: ../roundup/cgi/actions.py:689
+#: ../roundup/cgi/actions.py:694
 #, python-format
 msgid "%(class)s %(id)s created"
 msgstr "%(class)s %(id)s créé"
 
-#: ../roundup/cgi/actions.py:817
+#: ../roundup/cgi/actions.py:822
 #, fuzzy, python-format
 msgid ""
 "Edit Error: someone else has edited this %(klass)s (%(props)s). View <a "
@@ -1875,12 +1882,12 @@
 "(%(props)s). Consultez <a target=\"new\" href=\"%(klass)s%(id)s\">ses "
 "modifications</a> dans une nouvelle fenêtre."
 
-#: ../roundup/cgi/actions.py:850
+#: ../roundup/cgi/actions.py:855
 #, python-format
 msgid "Edit Error: %s"
 msgstr "Erreur de modification : %s"
 
-#: ../roundup/cgi/actions.py:931
+#: ../roundup/cgi/actions.py:936
 msgid ""
 "Invalid One Time Key!\n"
 "(a Mozilla bug may cause this message to show up erroneously, please check "
@@ -1890,12 +1897,12 @@
 "Un bug dans Mozilla peut provoquer une apparition erronée de ce message, "
 "vérifiez votre courriel."
 
-#: ../roundup/cgi/actions.py:972
+#: ../roundup/cgi/actions.py:977
 #, fuzzy, python-format
 msgid "Password reset for %s"
 msgstr "Demande de r&eacute;initialisation de mot de passe"
 
-#: ../roundup/cgi/actions.py:973
+#: ../roundup/cgi/actions.py:978
 #, python-format
 msgid ""
 "\n"
@@ -1904,29 +1911,29 @@
 "Your password is now: %(password)s\n"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:982
+#: ../roundup/cgi/actions.py:987
 #, python-format
 msgid "Password reset and email sent to %s"
 msgstr "Mot de passe réinitialisé et courriel envoyé à %s"
 
-#: ../roundup/cgi/actions.py:991
+#: ../roundup/cgi/actions.py:996
 msgid "Unknown username"
 msgstr "Nom d'utilisateur inconnu"
 
-#: ../roundup/cgi/actions.py:999
+#: ../roundup/cgi/actions.py:1004
 msgid "Unknown email address"
 msgstr "Adresse électronique inconnue"
 
-#: ../roundup/cgi/actions.py:1004
+#: ../roundup/cgi/actions.py:1009
 msgid "You need to specify a username or address"
 msgstr "Vous devez indiquer un nom d'utilisateur ou une adresse électronique"
 
-#: ../roundup/cgi/actions.py:1015
+#: ../roundup/cgi/actions.py:1020
 #, fuzzy, python-format
 msgid "Confirm reset of password for %s"
 msgstr "Confirmation du mot de passe"
 
-#: ../roundup/cgi/actions.py:1016
+#: ../roundup/cgi/actions.py:1021
 #, python-format
 msgid ""
 "\n"
@@ -1940,31 +1947,31 @@
 "You should then receive another email with the new password.\n"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1029
+#: ../roundup/cgi/actions.py:1034
 #, python-format
 msgid "Email sent to primary notification address for %s."
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1031
+#: ../roundup/cgi/actions.py:1036
 #, fuzzy, python-format
 msgid "Email sent to %s."
 msgstr "Courriel envoyé à %s"
 
-#: ../roundup/cgi/actions.py:1046
+#: ../roundup/cgi/actions.py:1051
 msgid "You are now registered, welcome!"
 msgstr "Vous êtes désormais inscrit, bienvenue !"
 
-#: ../roundup/cgi/actions.py:1139
+#: ../roundup/cgi/actions.py:1144
 #, python-format
 msgid "Username '%s' is already used."
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1163
+#: ../roundup/cgi/actions.py:1168
 #, python-format
 msgid "Complete your registration to %(tracker_name)s -- key %(key)s"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1167
+#: ../roundup/cgi/actions.py:1172
 #, python-format
 msgid ""
 "To complete your registration of the user \"%(name)s\" with\n"
@@ -1980,12 +1987,12 @@
 "\n"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1181
+#: ../roundup/cgi/actions.py:1186
 #, python-format
 msgid "Complete your registration to %s"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1182
+#: ../roundup/cgi/actions.py:1187
 #, python-format
 msgid ""
 "To complete your registration of the user \"%(name)s\" with\n"
@@ -1995,46 +2002,46 @@
 "\n"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1206
+#: ../roundup/cgi/actions.py:1211
 msgid "It is not permitted to supply roles at registration."
 msgstr "Impossible de renseigner les rôles à l'inscription."
 
-#: ../roundup/cgi/actions.py:1220
+#: ../roundup/cgi/actions.py:1225
 msgid "You are logged out"
 msgstr "Vous êtes déconnecté"
 
-#: ../roundup/cgi/actions.py:1250
+#: ../roundup/cgi/actions.py:1255
 msgid "Username required"
 msgstr "Nom d'utilisateur requis"
 
-#: ../roundup/cgi/actions.py:1354
+#: ../roundup/cgi/actions.py:1359
 #, python-format
 msgid "Welcome %(username)s!"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1477
+#: ../roundup/cgi/actions.py:1482
 #, python-format
 msgid "Logins occurring too fast. Please wait: %s seconds."
 msgstr ""
 
 # ../roundup/cgi/actions.py:930 :934
 # ../roundup/cgi/actions.py:930:934
-#: ../roundup/cgi/actions.py:1515 ../roundup/cgi/actions.py:1526
-#: ../roundup/cgi/actions.py:1515:1526
+#: ../roundup/cgi/actions.py:1520 ../roundup/cgi/actions.py:1531
+#: ../roundup/cgi/actions.py:1520:1531
 msgid "Invalid login"
 msgstr "Tentative de connexion non valide"
 
-#: ../roundup/cgi/actions.py:1532
+#: ../roundup/cgi/actions.py:1537
 msgid "You do not have permission to login"
 msgstr "Vous n'avez la permission de vous connecter"
 
-#: ../roundup/cgi/actions.py:1577 ../roundup/cgi/actions.py:1757
-#: ../roundup/cgi/actions.py:1577:1757
+#: ../roundup/cgi/actions.py:1582 ../roundup/cgi/actions.py:1762
+#: ../roundup/cgi/actions.py:1582:1762
 #, python-format
 msgid "Column \"%(column)s\" not found in %(class)s"
 msgstr ""
 
-#: ../roundup/cgi/actions.py:1822
+#: ../roundup/cgi/actions.py:1827
 #, fuzzy, python-format
 msgid "You do not have permission to view %(class)s"
 msgstr "Vous n'avez pas la permission de modifier %(class)s"
@@ -2168,8 +2175,8 @@
 msgid "Unrecognized charset: %r"
 msgstr "Jeu de caractères non reconnu : %r"
 
-#: ../roundup/cgi/client.py:1381 ../roundup/cgi/client.py:2394
-#: ../roundup/cgi/client.py:1381:2394
+#: ../roundup/cgi/client.py:1381 ../roundup/cgi/client.py:2396
+#: ../roundup/cgi/client.py:1381:2396
 msgid "broken form: multiple @action values submitted"
 msgstr ""
 
@@ -2252,50 +2259,51 @@
 
 #: ../roundup/cgi/client.py:1679
 #, python-format
-msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s."
+msgid ""
+"csrf X-REQUESTED-WITH xmlrpc required header check failed for user%(userid)s."
 msgstr ""
 
 #: ../roundup/cgi/client.py:1720
 #, python-format
-msgid "Required csrf field missing for user%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1722 ../roundup/cgi/client.py:1749
-#: ../roundup/cgi/client.py:1766 ../roundup/cgi/client.py:1722:1749:1766
+msgid "Required csrf field missing for user%(userid)s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1723 ../roundup/cgi/client.py:1751
+#: ../roundup/cgi/client.py:1768 ../roundup/cgi/client.py:1723:1751:1768
 msgid ""
 "We can't validate your session (csrf failure). Re-enter any unsaved data and "
 "try again."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1726
-#, python-format
-msgid "csrf field not supplied by user%s"
-msgstr ""
-
-#: ../roundup/cgi/client.py:1738
+#: ../roundup/cgi/client.py:1728
+#, python-format
+msgid "csrf field not supplied by user%(userid)s"
+msgstr ""
+
+#: ../roundup/cgi/client.py:1740
 #, python-format
 msgid ""
 "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current "
 "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1756
+#: ../roundup/cgi/client.py:1758
 #, python-format
 msgid ""
 "Csrf mismatch user: current session %(curr_sess)s != stored session "
 "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s."
 msgstr ""
 
-#: ../roundup/cgi/client.py:1948
+#: ../roundup/cgi/client.py:1950
 msgid "You are not allowed to view this file."
 msgstr "Vous n'êtes pas autorisé à voir ce fichier"
 
-#: ../roundup/cgi/client.py:2272
+#: ../roundup/cgi/client.py:2274
 #, python-format
 msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n"
 msgstr "%(starttag)sTemps écoulé: %(seconds)fs%(endtag)s\n"
 
-#: ../roundup/cgi/client.py:2276
+#: ../roundup/cgi/client.py:2278
 #, python-format
 msgid ""
 "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading "
@@ -2305,7 +2313,7 @@
 "Chargement d'éléments : %(get_items)f secondes. Filtrage : %(filtering)f "
 "secondes.%(endtag)s\n"
 
-#: ../roundup/cgi/client.py:2815
+#: ../roundup/cgi/client.py:2817
 #, python-format
 msgid ""
 "Cache failure: compressed file %(compressed)s is older than its source file "
@@ -2379,11 +2387,11 @@
 msgid "You are not allowed to %(action)s items of class %(class)s"
 msgstr "Vous ne pouvez pas %(action)s des éléments de classe %(class)s"
 
-#: ../roundup/cgi/templating.py:916
+#: ../roundup/cgi/templating.py:892
 msgid "(list)"
 msgstr "(liste)"
 
-#: ../roundup/cgi/templating.py:991
+#: ../roundup/cgi/templating.py:975
 msgid "Submit New Entry"
 msgstr "Soumettre un nouvelle entrée"
 
@@ -2392,58 +2400,58 @@
 # ../roundup/cgi/templating.py:1875 ../roundup/cgi/templating.py:710:829
 # :1236:1257 :1304:1327 :1361:1400 :1453:1470 :1549:1569 :1587:1619
 # :1629:1683 :1875
-#: ../roundup/cgi/templating.py:1013 ../roundup/cgi/templating.py:1189
-#: ../roundup/cgi/templating.py:1824 ../roundup/cgi/templating.py:1855
-#: ../roundup/cgi/templating.py:1876 ../roundup/cgi/templating.py:1914
-#: ../roundup/cgi/templating.py:1967 ../roundup/cgi/templating.py:1991
-#: ../roundup/cgi/templating.py:1998 ../roundup/cgi/templating.py:2035
-#: ../roundup/cgi/templating.py:2088 ../roundup/cgi/templating.py:2121
-#: ../roundup/cgi/templating.py:2216 ../roundup/cgi/templating.py:2237
-#: ../roundup/cgi/templating.py:2328 ../roundup/cgi/templating.py:2348
-#: ../roundup/cgi/templating.py:2370 ../roundup/cgi/templating.py:2413
-#: ../roundup/cgi/templating.py:2423 ../roundup/cgi/templating.py:2488
-#: ../roundup/cgi/templating.py:2791 ../roundup/cgi/templating.py:1013:1189
-#: :1824:1855 :1876:1914 :1967:1991 :1998:2035 :2088:2121 :2216:2237 :2328:2348
-#: :2370:2413 :2423:2488:2791
+#: ../roundup/cgi/templating.py:997 ../roundup/cgi/templating.py:1174
+#: ../roundup/cgi/templating.py:1809 ../roundup/cgi/templating.py:1840
+#: ../roundup/cgi/templating.py:1861 ../roundup/cgi/templating.py:1899
+#: ../roundup/cgi/templating.py:1952 ../roundup/cgi/templating.py:1976
+#: ../roundup/cgi/templating.py:1983 ../roundup/cgi/templating.py:2020
+#: ../roundup/cgi/templating.py:2077 ../roundup/cgi/templating.py:2115
+#: ../roundup/cgi/templating.py:2215 ../roundup/cgi/templating.py:2236
+#: ../roundup/cgi/templating.py:2357 ../roundup/cgi/templating.py:2377
+#: ../roundup/cgi/templating.py:2399 ../roundup/cgi/templating.py:2442
+#: ../roundup/cgi/templating.py:2452 ../roundup/cgi/templating.py:2517
+#: ../roundup/cgi/templating.py:2820 ../roundup/cgi/templating.py:997:1174
+#: :1809:1840 :1861:1899 :1952:1976 :1983:2020 :2077:2115 :2215:2236 :2357:2377
+#: :2399:2442 :2452:2517:2820
 msgid "[hidden]"
 msgstr "[masqué]"
 
-#: ../roundup/cgi/templating.py:1014
+#: ../roundup/cgi/templating.py:998
 msgid "New node - no history"
 msgstr "Nouveau n~ud - pas d'historique"
 
-#: ../roundup/cgi/templating.py:1154
+#: ../roundup/cgi/templating.py:1139
 msgid "Submit Changes"
 msgstr "Soumettre les changements"
 
-#: ../roundup/cgi/templating.py:1232
+#: ../roundup/cgi/templating.py:1217
 msgid "<em>The indicated property no longer exists</em>"
 msgstr "<em>La propriété indiquée n'existe plus</em>"
 
-#: ../roundup/cgi/templating.py:1268
+#: ../roundup/cgi/templating.py:1253
 #, python-format
 msgid "The linked class %(classname)s no longer exists"
 msgstr "La classe liée %(classname)s n'existe plus"
 
-#: ../roundup/cgi/templating.py:1305 ../roundup/cgi/templating.py:1335
-#: ../roundup/cgi/templating.py:2497 ../roundup/cgi/templating.py:2800
-#: ../roundup/cgi/templating.py:1305:1335 :2497:2800
+#: ../roundup/cgi/templating.py:1290 ../roundup/cgi/templating.py:1320
+#: ../roundup/cgi/templating.py:2526 ../roundup/cgi/templating.py:2829
+#: ../roundup/cgi/templating.py:1290:1320 :2526:2829
 msgid "[label is missing]"
 msgstr ""
 
 # ../roundup/cgi/templating.py:940 :964
 # ../roundup/cgi/templating.py:940:964
-#: ../roundup/cgi/templating.py:1309 ../roundup/cgi/templating.py:1338
-#: ../roundup/cgi/templating.py:1309:1338
+#: ../roundup/cgi/templating.py:1294 ../roundup/cgi/templating.py:1323
+#: ../roundup/cgi/templating.py:1294:1323
 msgid "<strike>The linked node no longer exists</strike>"
 msgstr "<strike>Le noeud lié n'existe plus</strike>"
 
-#: ../roundup/cgi/templating.py:1400
+#: ../roundup/cgi/templating.py:1385
 #, python-format
 msgid "%s: (no value)"
 msgstr "%s : (pas de valeur)"
 
-#: ../roundup/cgi/templating.py:1416
+#: ../roundup/cgi/templating.py:1401
 #, fuzzy, python-format
 msgid ""
 "<strong><em>This event %s is not handled by the history display!</em></"
@@ -2452,31 +2460,31 @@
 "<strong><em>Cet évènement n'est pas géré par l'affichage de l'historique.</"
 "em></strong>"
 
-#: ../roundup/cgi/templating.py:1429
+#: ../roundup/cgi/templating.py:1414
 msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>"
 msgstr "<tr><td colspan=4><strong>Note :</strong></td></tr>"
 
-#: ../roundup/cgi/templating.py:1438
+#: ../roundup/cgi/templating.py:1423
 msgid "History"
 msgstr "Historique"
 
-#: ../roundup/cgi/templating.py:1440
+#: ../roundup/cgi/templating.py:1425
 msgid "<th>Date</th>"
 msgstr "<th>Date</th>"
 
-#: ../roundup/cgi/templating.py:1441
+#: ../roundup/cgi/templating.py:1426
 msgid "<th>User</th>"
 msgstr "<th>Utilisateur</th>"
 
-#: ../roundup/cgi/templating.py:1442
+#: ../roundup/cgi/templating.py:1427
 msgid "<th>Action</th>"
 msgstr "<th>Action</th>"
 
-#: ../roundup/cgi/templating.py:1443
+#: ../roundup/cgi/templating.py:1428
 msgid "<th>Args</th>"
 msgstr "<th>Arguments</th>"
 
-#: ../roundup/cgi/templating.py:1494
+#: ../roundup/cgi/templating.py:1479
 #, python-format
 msgid "Copy of %(class)s %(id)s"
 msgstr "Copie de %(class)s %(id)s"
@@ -2484,20 +2492,20 @@
 # ../roundup/cgi/templating.py:1006 :1404 :1425 :1431
 # ../roundup/cgi/templating.py:1431 ../roundup/cgi/templating.py:1006:1404
 # :1425:1431
-#: ../roundup/cgi/templating.py:2125 ../roundup/cgi/templating.py:2160
-#: ../roundup/cgi/templating.py:1382:2125:2160
+#: ../roundup/cgi/templating.py:2119 ../roundup/cgi/templating.py:2154
+#: ../roundup/cgi/templating.py:1367:2119:2154
 msgid "No"
 msgstr "Non"
 
 # ../roundup/cgi/templating.py:1006 :1404 :1423 :1428
 # ../roundup/cgi/templating.py:1428 ../roundup/cgi/templating.py:1006:1404
 # :1423:1428
-#: ../roundup/cgi/templating.py:2125 ../roundup/cgi/templating.py:2154
-#: ../roundup/cgi/templating.py:1382:2125:2154
+#: ../roundup/cgi/templating.py:2119 ../roundup/cgi/templating.py:2148
+#: ../roundup/cgi/templating.py:1367:2119:2148
 msgid "Yes"
 msgstr "Oui"
 
-#: ../roundup/cgi/templating.py:2286
+#: ../roundup/cgi/templating.py:2315
 msgid ""
 "default value for DateHTMLProperty must be either DateHTMLProperty or string "
 "date representation."
@@ -2505,27 +2513,27 @@
 "la valeur par défaut pour DateHTMLProperty doit être soit DateHTMLProperty "
 "soit une représentation textuelle de la date."
 
-#: ../roundup/cgi/templating.py:2468
+#: ../roundup/cgi/templating.py:2497
 #, python-format
 msgid "Attempt to look up %(attr)s on a missing value"
 msgstr "Tentative de recherche de %(attr)s sur une valeur manquante"
 
-#: ../roundup/cgi/templating.py:2479
+#: ../roundup/cgi/templating.py:2508
 #, fuzzy, python-format
 msgid "Attempt to look up %(item)s on a missing value"
 msgstr "Tentative de recherche de %(attr)s sur une valeur manquante"
 
-#: ../roundup/cgi/templating.py:2584
+#: ../roundup/cgi/templating.py:2613
 #, python-format
 msgid "<option %svalue=\"-1\">- no selection -</option>"
 msgstr "<option %svalue=\"-1\">- pas de sélection -</option>"
 
-#: ../roundup/cgi/templating.py:3745
+#: ../roundup/cgi/templating.py:3777
 #, python-format
 msgid "Unable to read or expand file '%(name)s' in template '%(template)s'."
 msgstr ""
 
-#: ../roundup/cgi/templating.py:3795
+#: ../roundup/cgi/templating.py:3827
 #, python-format
 msgid ""
 "Found an incorrect token when expandfile applied string subsitution on "
@@ -2699,60 +2707,60 @@
 msgid "in %s"
 msgstr "dans %s"
 
-#: ../roundup/hyperdb.py:120
+#: ../roundup/hyperdb.py:126
 #, fuzzy, python-format
 msgid "property %(property)s: %(errormsg)s"
 msgstr "Erreur : %s: %s"
 
-#: ../roundup/hyperdb.py:149
+#: ../roundup/hyperdb.py:161
 #, python-format
 msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)"
 msgstr ""
 
-#: ../roundup/hyperdb.py:172
+#: ../roundup/hyperdb.py:184
 #, python-format
 msgid ""
 "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)"
 msgstr ""
 
-#: ../roundup/hyperdb.py:434
+#: ../roundup/hyperdb.py:446
 #, fuzzy, python-format
 msgid "property %(property)s: %(value)r is not a number"
 msgstr ""
 "propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la "
 "liste"
 
-#: ../roundup/hyperdb.py:448
+#: ../roundup/hyperdb.py:460
 #, fuzzy, python-format
 msgid "property %(property)s: %(value)r is not an integer"
 msgstr ""
 "propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la "
 "liste"
 
-#: ../roundup/hyperdb.py:470
+#: ../roundup/hyperdb.py:482
 #, python-format
 msgid "\"%s\" not a node designator"
 msgstr ""
 
-#: ../roundup/hyperdb.py:1499 ../roundup/hyperdb.py:1507
-#: ../roundup/hyperdb.py:1499:1507
+#: ../roundup/hyperdb.py:1515 ../roundup/hyperdb.py:1523
+#: ../roundup/hyperdb.py:1515:1523
 #, python-format
 msgid "Not a property name: %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:2038
+#: ../roundup/hyperdb.py:2054
 #, fuzzy, python-format
 msgid "property %(property)s: %(value)r is not a %(classname)s."
 msgstr ""
 "propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la "
 "liste"
 
-#: ../roundup/hyperdb.py:2044
+#: ../roundup/hyperdb.py:2060
 #, python-format
 msgid "you may only enter ID values for property %s"
 msgstr ""
 
-#: ../roundup/hyperdb.py:2079
+#: ../roundup/hyperdb.py:2095
 #, python-format
 msgid "%(property)r is not a property of %(classname)s"
 msgstr ""
@@ -3091,62 +3099,62 @@
 "are: %(stack)s"
 msgstr ""
 
-#: ../roundup/pygettext.py:401
+#: ../roundup/pygettext.py:400
 #, python-format
 msgid "*** %(file)s:%(lineno)s: Seen unexpected token \"%(token)s\""
 msgstr ""
 
-#: ../roundup/pygettext.py:457
+#: ../roundup/pygettext.py:456
 #, python-format
 msgid "# File: %(filename)s, line: %(lineno)d"
 msgstr ""
 
-#: ../roundup/pygettext.py:464
+#: ../roundup/pygettext.py:463
 #, python-format
 msgid " %(filename)s:%(lineno)d"
 msgstr ""
 
 # ../roundup/cgi/actions.py:930 :934
 # ../roundup/cgi/actions.py:930:934
-#: ../roundup/pygettext.py:540
+#: ../roundup/pygettext.py:539
 #, fuzzy, python-format
 msgid "Invalid value for --style: %s"
 msgstr "Tentative de connexion non valide"
 
-#: ../roundup/pygettext.py:548
+#: ../roundup/pygettext.py:547
 #, python-format
 msgid "pygettext.py (xgettext for Python) %s"
 msgstr ""
 
-#: ../roundup/pygettext.py:554
+#: ../roundup/pygettext.py:553
 #, python-format
 msgid "--width argument must be an integer: %s"
 msgstr ""
 
-#: ../roundup/pygettext.py:582
+#: ../roundup/pygettext.py:581
 #, python-format
 msgid "Can't read --exclude-file: %s"
 msgstr ""
 
-#: ../roundup/pygettext.py:601
+#: ../roundup/pygettext.py:600
 msgid "Reading standard input"
 msgstr ""
 
-#: ../roundup/pygettext.py:606
+#: ../roundup/pygettext.py:605
 #, python-format
 msgid "Working on %s"
 msgstr ""
 
-#: ../roundup/pygettext.py:640
+#: ../roundup/pygettext.py:639
 msgid "a unicode string"
 msgstr ""
 
+#: ../roundup/pygettext.py:641
+#, python-format
+msgid "*** Seen unexpected token \"%(token)s\""
+msgstr ""
+
 #: ../roundup/pygettext.py:642
-#, python-format
-msgid "*** Seen unexpected token \"%(token)s\""
-msgstr ""
-
-#: ../roundup/pygettext.py:643
 msgid "morethanonestring"
 msgstr ""
 
@@ -3269,32 +3277,32 @@
 msgid "creator"
 msgstr "créateur"
 
-#: ../roundup/roundupdb.py:426
+#: ../roundup/roundupdb.py:447
 #, python-format
 msgid "No key for \"%(adr)s\" in keyring"
 msgstr ""
 
-#: ../roundup/roundupdb.py:504
+#: ../roundup/roundupdb.py:525
 #, python-format
 msgid "New submission from %(authname)s%(authaddr)s:"
 msgstr "Nouvel envoi de %(authname)s%(authaddr)s :"
 
-#: ../roundup/roundupdb.py:507
+#: ../roundup/roundupdb.py:528
 #, python-format
 msgid "%(authname)s%(authaddr)s added the comment:"
 msgstr "%(authname)s%(authaddr)s a ajouté le commentaire :"
 
-#: ../roundup/roundupdb.py:510
+#: ../roundup/roundupdb.py:531
 #, fuzzy, python-format
 msgid "Change by %(authname)s%(authaddr)s:"
 msgstr "Nouvel envoi de %(authname)s%(authaddr)s :"
 
-#: ../roundup/roundupdb.py:529
+#: ../roundup/roundupdb.py:550
 #, python-format
 msgid "File '%(filename)s' not attached - you can download it from %(link)s."
 msgstr ""
 
-#: ../roundup/roundupdb.py:904
+#: ../roundup/roundupdb.py:925
 #, python-format
 msgid ""
 "\n"
@@ -3402,64 +3410,64 @@
 "<html><head><title>Index des pisteurs Roundup</title></head>\n"
 "<body><h1>Index des pisteurs Roundup</h1><ol>\n"
 
-#: ../roundup/scripts/roundup_server.py:598
+#: ../roundup/scripts/roundup_server.py:602
 #, fuzzy, python-format
 msgid "Error: %(type)s: %(value)s"
 msgstr "%(key)s : %(value)s"
 
-#: ../roundup/scripts/roundup_server.py:610
+#: ../roundup/scripts/roundup_server.py:614
 msgid "WARNING: ignoring \"-g\" argument, not root"
 msgstr ""
 "ATTENTION : le paramètre « -g » est ignoré, vous n'êtes pas superutilisateur "
 "(« root »)"
 
-#: ../roundup/scripts/roundup_server.py:616
+#: ../roundup/scripts/roundup_server.py:620
 msgid "Can't change groups - no grp module"
 msgstr "Impossible de changer les groupes - le module grp n'est pas présent"
 
-#: ../roundup/scripts/roundup_server.py:625
+#: ../roundup/scripts/roundup_server.py:629
 #, python-format
 msgid "Group %(group)s doesn't exist"
 msgstr "Le groupe %(group)s n'existe pas"
 
-#: ../roundup/scripts/roundup_server.py:637
+#: ../roundup/scripts/roundup_server.py:641
 msgid "Can't run as root!"
 msgstr "Impossible d'exécuter en tant que superutilisateur (\"root\")"
 
-#: ../roundup/scripts/roundup_server.py:640
+#: ../roundup/scripts/roundup_server.py:644
 msgid "WARNING: ignoring \"-u\" argument, not root"
 msgstr ""
 "ATTENTION: le paramètre \"-u\" est ignoré, vous n'êtes pas superutilisateur "
 "(\"root\")"
 
-#: ../roundup/scripts/roundup_server.py:646
+#: ../roundup/scripts/roundup_server.py:650
 msgid "Can't change users - no pwd module"
 msgstr ""
 "Impossible de changer les utilisateurs - le module pwd n'est pas présent"
 
-#: ../roundup/scripts/roundup_server.py:655
+#: ../roundup/scripts/roundup_server.py:659
 #, python-format
 msgid "User %(user)s doesn't exist"
 msgstr "L'utilisateur %(user)s n'existe pas"
 
-#: ../roundup/scripts/roundup_server.py:867
+#: ../roundup/scripts/roundup_server.py:871
 #, python-format
 msgid "Multiprocess mode \"%s\" is not available, switching to single-process"
 msgstr ""
 "Le mode multiprocessus \"%s\" n'existe pas, passage en mode processus unique"
 
-#: ../roundup/scripts/roundup_server.py:895
+#: ../roundup/scripts/roundup_server.py:899
 #, python-format
 msgid "Unable to bind to port %s, port already in use."
 msgstr "Impossible de s'attacher au port %s, le port est déjà utilisé"
 
-#: ../roundup/scripts/roundup_server.py:899
+#: ../roundup/scripts/roundup_server.py:903
 #, fuzzy, python-format
 msgid ""
 "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s"
 msgstr "Impossible de s'attacher au port %s, le port est déjà utilisé"
 
-#: ../roundup/scripts/roundup_server.py:978
+#: ../roundup/scripts/roundup_server.py:982
 msgid ""
 " -c <Command>  Windows Service options.\n"
 "               If you want to run the server as a Windows Service, you\n"
@@ -3478,7 +3486,7 @@
 "               La commande « roundup-server -c help » donne les\n"
 "               spécificités du service Windows."
 
-#: ../roundup/scripts/roundup_server.py:985
+#: ../roundup/scripts/roundup_server.py:989
 #, fuzzy
 msgid ""
 " -u <UID>      runs the Roundup web server as this UID\n"
@@ -3499,7 +3507,7 @@
 "PID\n"
 "               L'option -l option *doit* être spécifiée si -d est utilisé."
 
-#: ../roundup/scripts/roundup_server.py:993
+#: ../roundup/scripts/roundup_server.py:997
 #, fuzzy, python-format
 msgid ""
 "\n"
@@ -3626,22 +3634,26 @@
 "    souhaité. Assurez-vous que « name » ne contienne pas de caractères\n"
 "    inappropriés pour une URL, comme les espaces qui perturbe IE.\n"
 
-#: ../roundup/scripts/roundup_server.py:1173
+#: ../roundup/scripts/roundup_server.py:1177
 msgid "Instances must be name=home"
 msgstr "Les instances doivent être nom=base-du-pisteur"
 
-#: ../roundup/scripts/roundup_server.py:1187
+#: ../roundup/scripts/roundup_server.py:1191
 #, python-format
 msgid "Configuration saved to %s"
 msgstr "Configuration sauvegardée dans %s"
 
-#: ../roundup/scripts/roundup_server.py:1205
+#: ../roundup/scripts/roundup_server.py:1206
+msgid "If you specify a PID file you must use -l or -L."
+msgstr ""
+
+#: ../roundup/scripts/roundup_server.py:1212
 msgid "Sorry, you can't run the server as a daemon on this Operating System"
 msgstr ""
 "Désolé, vous ne pouvez pas démarrer le serveur en tâche de fond avec ce "
 "système d'exploitation"
 
-#: ../roundup/scripts/roundup_server.py:1225
+#: ../roundup/scripts/roundup_server.py:1232
 #, python-format
 msgid "Roundup server started on %(HOST)s:%(PORT)s"
 msgstr "Le serveur Roundup est démarré sur %(HOST)s:%(PORT)s"
@@ -4929,46 +4941,46 @@
 msgid "clear this message"
 msgstr "Supprimer ce message"
 
-#: ../share/roundup/templates/classic/html/page.html:257
-#: ../share/roundup/templates/classic/html/page.html:270
-#: ../share/roundup/templates/classic/html/page.html:288
-#: ../share/roundup/templates/classic/html/page.html:302
-#: ../share/roundup/templates/devel/html/page.html:316
-#: ../share/roundup/templates/devel/html/page.html:329
-#: ../share/roundup/templates/devel/html/page.html:347
-#: ../share/roundup/templates/devel/html/page.html:361
-#: ../share/roundup/templates/minimal/html/page.html:239
-#: ../share/roundup/templates/minimal/html/page.html:254
-#: ../share/roundup/templates/minimal/html/page.html:268
-#: ../share/roundup/templates/responsive/html/page.html:331
-#: ../share/roundup/templates/responsive/html/page.html:344
-#: ../share/roundup/templates/responsive/html/page.html:362
-#: ../share/roundup/templates/responsive/html/page.html:376
+#: ../share/roundup/templates/classic/html/page.html:258
+#: ../share/roundup/templates/classic/html/page.html:271
+#: ../share/roundup/templates/classic/html/page.html:289
+#: ../share/roundup/templates/classic/html/page.html:303
+#: ../share/roundup/templates/devel/html/page.html:317
+#: ../share/roundup/templates/devel/html/page.html:330
+#: ../share/roundup/templates/devel/html/page.html:348
+#: ../share/roundup/templates/devel/html/page.html:362
+#: ../share/roundup/templates/minimal/html/page.html:240
+#: ../share/roundup/templates/minimal/html/page.html:255
+#: ../share/roundup/templates/minimal/html/page.html:269
+#: ../share/roundup/templates/responsive/html/page.html:332
+#: ../share/roundup/templates/responsive/html/page.html:345
+#: ../share/roundup/templates/responsive/html/page.html:363
+#: ../share/roundup/templates/responsive/html/page.html:377
 msgid "don't care"
 msgstr "aucune importance"
 
-#: ../share/roundup/templates/classic/html/page.html:259
-#: ../share/roundup/templates/classic/html/page.html:272
-#: ../share/roundup/templates/classic/html/page.html:290
-#: ../share/roundup/templates/classic/html/page.html:303
-#: ../share/roundup/templates/devel/html/page.html:318
-#: ../share/roundup/templates/devel/html/page.html:331
-#: ../share/roundup/templates/devel/html/page.html:349
-#: ../share/roundup/templates/devel/html/page.html:362
-#: ../share/roundup/templates/minimal/html/page.html:241
-#: ../share/roundup/templates/minimal/html/page.html:256
-#: ../share/roundup/templates/minimal/html/page.html:269
-#: ../share/roundup/templates/responsive/html/page.html:333
-#: ../share/roundup/templates/responsive/html/page.html:346
-#: ../share/roundup/templates/responsive/html/page.html:364
-#: ../share/roundup/templates/responsive/html/page.html:377
+#: ../share/roundup/templates/classic/html/page.html:260
+#: ../share/roundup/templates/classic/html/page.html:273
+#: ../share/roundup/templates/classic/html/page.html:291
+#: ../share/roundup/templates/classic/html/page.html:304
+#: ../share/roundup/templates/devel/html/page.html:319
+#: ../share/roundup/templates/devel/html/page.html:332
+#: ../share/roundup/templates/devel/html/page.html:350
+#: ../share/roundup/templates/devel/html/page.html:363
+#: ../share/roundup/templates/minimal/html/page.html:242
+#: ../share/roundup/templates/minimal/html/page.html:257
+#: ../share/roundup/templates/minimal/html/page.html:270
+#: ../share/roundup/templates/responsive/html/page.html:334
+#: ../share/roundup/templates/responsive/html/page.html:347
+#: ../share/roundup/templates/responsive/html/page.html:365
+#: ../share/roundup/templates/responsive/html/page.html:378
 msgid "------------"
 msgstr "------------"
 
-#: ../share/roundup/templates/classic/html/page.html:335
-#: ../share/roundup/templates/devel/html/page.html:390
-#: ../share/roundup/templates/minimal/html/page.html:297
-#: ../share/roundup/templates/responsive/html/page.html:405
+#: ../share/roundup/templates/classic/html/page.html:336
+#: ../share/roundup/templates/devel/html/page.html:391
+#: ../share/roundup/templates/minimal/html/page.html:298
+#: ../share/roundup/templates/responsive/html/page.html:406
 msgid "no value"
 msgstr "pas de valeur"
 

Roundup Issue Tracker: http://roundup-tracker.org/