Mercurial > p > roundup > code
diff locale/fr.po @ 5839:cab6338d7868 maint-1.6
updating .po files from latest roundup.pot
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 10 Jul 2019 07:55:51 -0400 |
| parents | 55d1a73d6118 |
| children |
line wrap: on
line diff
--- a/locale/fr.po Tue Jun 18 20:30:26 2019 -0400 +++ b/locale/fr.po Wed Jul 10 07:55:51 2019 -0400 @@ -3,45 +3,58 @@ # Patrick Decat <pdecat@gmail.com>, 2008. # Stéphane Raimbault <stephane.raimbault@gmail.com>, 2008. # This file is distributed under the same license as the Roundup package. -# +# # roundup.pot revision 1.18 -# +# msgid "" msgstr "" "Project-Id-Version: Roundup 1.4.6\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2006-04-27 09:02+0300\n" +"POT-Creation-Date: 2019-06-18 20:29-0400\n" "PO-Revision-Date: 2013-10-31 12:19+0100\n" "Last-Translator: Stéphane Raimbault <stephane.raimbault@gmail.com>\n" "Language-Team: GNOME French Team <gnomefr@traduc.org>\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" +#: ../roundup/actions.py:53 ../roundup/cgi/actions.py:219 +msgid "You may not retire the admin or anonymous user" +msgstr "Vous ne pouvez pas abandonner les utilisateurs admin ou anonyme" + +#: ../roundup/actions.py:66 +#, fuzzy, python-format +msgid "You do not have permission to retire the %(classname)s class." +msgstr "" +"Vous n'avez pas les permissions pour %(action)s la classe %(classname)s." + # ../roundup/admin.py:85 :979 :1028 :1050 # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:85 ../roundup/admin.py:981 ../roundup/admin.py:1030 -#: ../roundup/admin.py:1052 +#: ../roundup/admin.py:91 ../roundup/admin.py:1074 ../roundup/admin.py:1129 +#: ../roundup/admin.py:1156 ../roundup/admin.py:91:1074 :1129:1156 #, 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:95 ../roundup/admin.py:99 +#: ../roundup/admin.py:101 ../roundup/admin.py:105 ../roundup/admin.py:101:105 #, 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:112 +#: ../roundup/admin.py:118 #, python-format msgid "" "Problem: %(message)s\n" "\n" -msgstr "Problème : %(message)s\n\n" - -#: ../roundup/admin.py:113 +msgstr "" +"Problème : %(message)s\n" +"\n" + +#: ../roundup/admin.py:119 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -85,7 +98,8 @@ " des espaces.\n" " Identique à « -S \" \" ».\n" " -V -- est verbeux à l'importation\n" -" -v -- affiche les versions de Roundup et Python (et quitte).\n" +" -v -- affiche les versions de Roundup et Python (et " +"quitte).\n" "\n" " Seulement une des options parmi -s, -c ou -S peut être utilisée à la fois.\n" "\n" @@ -95,11 +109,12 @@ " roundup-admin help <commande> -- l'aide sur une commande\n" " roundup-admin help all -- toute l'aide disponible\n" -#: ../roundup/admin.py:140 -msgid "Commands:" +#: ../roundup/admin.py:146 +#, fuzzy +msgid "Commands: " msgstr "Commandes :" -#: ../roundup/admin.py:147 +#: ../roundup/admin.py:153 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -108,7 +123,7 @@ "où l'abréviation ne correspond qu'à une seule commande,\n" "par ex. : l == li == lis == list." -#: ../roundup/admin.py:177 +#: ../roundup/admin.py:180 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -246,12 +261,12 @@ "\n" "Aide sur les commandes :\n" -#: ../roundup/admin.py:240 +#: ../roundup/admin.py:243 #, python-format msgid "%s:" msgstr "%s :" -#: ../roundup/admin.py:245 +#: ../roundup/admin.py:248 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -271,35 +286,36 @@ " all -- toute l'aide disponible\n" " " -#: ../roundup/admin.py:268 +#: ../roundup/admin.py:271 #, 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:338 :394 # ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396 -#: ../roundup/admin.py:340 ../roundup/admin.py:396 +#: ../roundup/admin.py:348 ../roundup/admin.py:404 ../roundup/admin.py:348:404 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:343 ../roundup/admin.py:407 +#: ../roundup/admin.py:351 ../roundup/admin.py:414 ../roundup/admin.py:351:414 msgid "Back ends:" msgstr "Moteurs de stockage :" -#: ../roundup/admin.py:346 +#: ../roundup/admin.py:354 +#, fuzzy msgid "" -"Usage: install [template [backend [admin password [key=val[,key=val]]]]]\n" +"Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" "\n" " The command will prompt for the tracker home directory\n" " (if not supplied through TRACKER_HOME or the -i option).\n" -" The template, backend and admin password may be specified\n" -" on the command-line as arguments, in that order.\n" +" The template and backend may be specified on the command-line\n" +" as arguments, in that order.\n" "\n" -" The last command line argument allows to pass initial values\n" -" for config options. For example, passing\n" +" Command line arguments following the backend allows you to\n" +" pass initial values for config options. For example, passing\n" " \"web_http_auth=no,rdbms_user=dinsdale\" will override defaults\n" " for options http_auth in section [web] and user in section [rdbms].\n" " Please be careful to not use spaces in this argument! (Enclose\n" @@ -313,7 +329,8 @@ " See also initopts help.\n" " " msgstr "" -"Utilisation : install [template [backend [admin password [key=val[,key=val]]]]]\n" +"Utilisation : install [template [backend [admin password [key=val[," +"key=val]]]]]\n" " Installe un nouveau pisteur Roundup.\n" "\n" " Cette commande demandera le répertoire de base du pisteur\n" @@ -345,45 +362,49 @@ # :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:369 ../roundup/admin.py:466 ../roundup/admin.py:527 -#: ../roundup/admin.py:606 ../roundup/admin.py:656 ../roundup/admin.py:714 -#: ../roundup/admin.py:735 ../roundup/admin.py:763 ../roundup/admin.py:834 -#: ../roundup/admin.py:901 ../roundup/admin.py:972 ../roundup/admin.py:1020 -#: ../roundup/admin.py:1042 ../roundup/admin.py:1069 ../roundup/admin.py:1136 -#: ../roundup/admin.py:1207 +#: ../roundup/admin.py:377 ../roundup/admin.py:509 ../roundup/admin.py:583 +#: ../roundup/admin.py:672 ../roundup/admin.py:729 ../roundup/admin.py:787 +#: ../roundup/admin.py:812 ../roundup/admin.py:839 ../roundup/admin.py:912 +#: ../roundup/admin.py:979 ../roundup/admin.py:1058 ../roundup/admin.py:1119 +#: ../roundup/admin.py:1146 ../roundup/admin.py:1178 ../roundup/admin.py:1291 +#: ../roundup/admin.py:1372 ../roundup/admin.py:377:509:1058 :1119:1146 +#: :1178:1291:1372 :583:672 :729:787 :812:839 :912:979 msgid "Not enough arguments supplied" msgstr "Pas suffisamment d'arguments fournis" -#: ../roundup/admin.py:375 +#: ../roundup/admin.py:383 #, 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:383 +#: ../roundup/admin.py:392 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" "If you re-install it, you will lose all the data!\n" "Erase it? Y/N: " msgstr "" -"ATTENTION : il semble qu'il y ait déjà un pisteur dans « %(tracker_home)s » !\n" +"ATTENTION : il semble qu'il y ait déjà un pisteur dans " +"« %(tracker_home)s » !\n" "Si vous le réinstallez, vous perdrez toutes les données !\n" "Supprimer le pisteur (Y/N) ? " -#: ../roundup/admin.py:398 -msgid "Select template [classic]: " +#: ../roundup/admin.py:405 +#, fuzzy +msgid "Select template" msgstr "Sélection du modèle [classic] : " -#: ../roundup/admin.py:409 -msgid "Select backend [anydbm]: " +#: ../roundup/admin.py:415 +#, fuzzy +msgid "Select backend" msgstr "Sélection du moteur de stockage [anydbm]: " -#: ../roundup/admin.py:419 +#: ../roundup/admin.py:426 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Erreur dans les paramètres de la configuration : « %s »" -#: ../roundup/admin.py:428 +#: ../roundup/admin.py:457 #, python-format msgid "" "\n" @@ -396,11 +417,11 @@ " Vous devez maintenant modifier le fichier de configuration du pisteur :\n" " %(config_file)s" -#: ../roundup/admin.py:438 +#: ../roundup/admin.py:467 msgid " ... at a minimum, you must set following options:" msgstr " ou au minimum, vous devez définir les options suivantes :" -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:472 #, python-format msgid "" "\n" @@ -432,7 +453,7 @@ " que vous avez réalisé les étapes précédentes.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:461 +#: ../roundup/admin.py:504 msgid "" "Usage: genconfig <filename>\n" " Generate a new tracker config file (ini style) with default values\n" @@ -444,8 +465,22 @@ " (au format ini) avec des valeurs par défaut dans\n" " <nomfichier>" +#: ../roundup/admin.py:519 +#, fuzzy +msgid "" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" +" " +msgstr "" +"Utilisation : genconfig <nomfichier>\n" +" Génère un nouveau fichier de configuration du pisteur\n" +" (au format ini) avec des valeurs par défaut dans\n" +" <nomfichier>" + #. password -#: ../roundup/admin.py:471 +#: ../roundup/admin.py:527 msgid "" "Usage: initialise [adminpw]\n" " Initialise a new Roundup tracker.\n" @@ -464,23 +499,23 @@ " Exécute la fonction d'initialisation dbinit.init() du pisteur.\n" " " -#: ../roundup/admin.py:485 +#: ../roundup/admin.py:541 msgid "Admin Password: " msgstr "Mot de passe administrateur : " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:542 msgid " Confirm: " msgstr " Confirmez : " -#: ../roundup/admin.py:490 +#: ../roundup/admin.py:546 msgid "Instance home does not exist" msgstr "Le répertoire racine de l'instance n'existe pas" -#: ../roundup/admin.py:494 +#: ../roundup/admin.py:550 msgid "Instance has not been installed" msgstr "L'instance n'a pas été installée" -#: ../roundup/admin.py:499 +#: ../roundup/admin.py:556 msgid "" "WARNING: The database is already initialised!\n" "If you re-initialise it, you will lose all the data!\n" @@ -490,11 +525,15 @@ "Si vous la réinitialisez, vous perdrez toutes les données !\n" "Supprimez la base de données (Y/N) ? " -#: ../roundup/admin.py:520 +#: ../roundup/admin.py:573 +#, fuzzy msgid "" "Usage: get property designator[,designator]*\n" " Get the given property of one or more designator(s).\n" "\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" " Retrieves the property value of the nodes specified\n" " by the designators.\n" " " @@ -508,25 +547,29 @@ # ../roundup/admin.py:558 :573 # ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 -#: ../roundup/admin.py:560 ../roundup/admin.py:575 +#: ../roundup/admin.py:616 ../roundup/admin.py:633 ../roundup/admin.py:616:633 #, python-format msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "la propriété %s n'est pas de type Multilien ou Lien et donc l'option -d ne s'applique pas." +msgstr "" +"la propriété %s n'est pas de type Multilien ou Lien et donc l'option -d ne " +"s'applique pas." # ../roundup/admin.py:581 :981 :1030 :1052 # ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:583 ../roundup/admin.py:983 ../roundup/admin.py:1032 -#: ../roundup/admin.py:1054 +#: ../roundup/admin.py:643 ../roundup/admin.py:1076 ../roundup/admin.py:1131 +#: ../roundup/admin.py:1158 ../roundup/admin.py:643:1076 :1131:1158 #, 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:585 +#: ../roundup/admin.py:646 #, 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:594 +msgstr "" +"la propriété « %(propname)s » n'existe pas pour la classe « %(classname)s »" + +#: ../roundup/admin.py:655 +#, fuzzy msgid "" "Usage: set items property=value property=value ...\n" " Set the given properties of one or more items(s).\n" @@ -534,6 +577,9 @@ " The items are specified as a class or as a comma-separated\n" " list of item designators (ie \"designator[,designator,...]\").\n" "\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" " This command sets the properties to the values for all designators\n" " given. If the value is missing (ie. \"property=\") then the " "property\n" @@ -555,7 +601,7 @@ " ce lien sont indiqués comme des nombres séparés par des\n" " virgules (par ex. « 1,2,3 »)." -#: ../roundup/admin.py:648 +#: ../roundup/admin.py:721 msgid "" "Usage: find classname propname=value ...\n" " Find the nodes of the given class with a given link property value.\n" @@ -576,13 +622,13 @@ # ../roundup/admin.py:699 :852 :864 :918 # ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:701 ../roundup/admin.py:854 ../roundup/admin.py:866 -#: ../roundup/admin.py:920 +#: ../roundup/admin.py:774 ../roundup/admin.py:932 ../roundup/admin.py:944 +#: ../roundup/admin.py:999 ../roundup/admin.py:774:932 :944:999 #, python-format msgid "%(classname)s has no property \"%(propname)s\"" msgstr "%(classname)s n'a pas de propriété « %(propname)s »" -#: ../roundup/admin.py:708 +#: ../roundup/admin.py:781 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -596,21 +642,25 @@ " Cette commande énumère les propriétés de la classe nommée.\n" " " -#: ../roundup/admin.py:723 -#, python-format -msgid "%(key)s: %(value)s (key property)" +#: ../roundup/admin.py:797 +#, fuzzy, python-format +msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s : %(value)s (propriété clé)" -#: ../roundup/admin.py:725 -#, python-format -msgid "%(key)s: %(value)s" +#: ../roundup/admin.py:799 +#, fuzzy, python-format +msgid "%(key)s: %(value)s\n" msgstr "%(key)s : %(value)s" -#: ../roundup/admin.py:728 +#: ../roundup/admin.py:802 +#, fuzzy msgid "" "Usage: display designator[,designator]*\n" " Show the property values for the given node(s).\n" "\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" " This lists the properties and their associated values for the given\n" " node.\n" " " @@ -622,12 +672,12 @@ " des noeuds indiqués.\n" " " -#: ../roundup/admin.py:752 +#: ../roundup/admin.py:828 #, python-format -msgid "%(key)s: %(value)r" -msgstr "%(key)s: %(value)r" - -#: ../roundup/admin.py:755 +msgid "%(key)s: %(value)s" +msgstr "%(key)s : %(value)s" + +#: ../roundup/admin.py:831 msgid "" "Usage: create classname property=value ...\n" " Create a new entry of a given class.\n" @@ -647,31 +697,31 @@ " « create ».\n" " " -#: ../roundup/admin.py:782 +#: ../roundup/admin.py:859 #, python-format msgid "%(propname)s (Password): " msgstr "%(propname)s (mot de passe) : " -#: ../roundup/admin.py:784 +#: ../roundup/admin.py:861 #, python-format msgid " %(propname)s (Again): " msgstr " %(propname)s (à nouveau) : " -#: ../roundup/admin.py:786 +#: ../roundup/admin.py:863 msgid "Sorry, try again..." msgstr "Désolé, essayez à nouveau..." -#: ../roundup/admin.py:790 +#: ../roundup/admin.py:867 #, python-format msgid "%(propname)s (%(proptype)s): " msgstr "%(propname)s (%(proptype)s) : " -#: ../roundup/admin.py:808 +#: ../roundup/admin.py:885 #, python-format msgid "you must provide the \"%(propname)s\" property." msgstr "vous devez renseigner la propriété « %(propname)s »." -#: ../roundup/admin.py:819 +#: ../roundup/admin.py:897 msgid "" "Usage: list classname [property]\n" " List the instances of a class.\n" @@ -701,16 +751,16 @@ " propriété pour chaque instance de cette classe.\n" " " -#: ../roundup/admin.py:832 +#: ../roundup/admin.py:910 msgid "Too many arguments supplied" msgstr "Trop d'arguments fournis" -#: ../roundup/admin.py:868 +#: ../roundup/admin.py:946 #, python-format msgid "%(nodeid)4s: %(value)s" msgstr "%(nodeid)4s : %(value)s" -#: ../roundup/admin.py:872 +#: ../roundup/admin.py:950 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -772,28 +822,27 @@ " donnera une colonne « Name » large de 4 caractères.\n" " " -#: ../roundup/admin.py:916 +#: ../roundup/admin.py:994 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "« %(spec)s » ne correspond pas au format « nom:largeur »" -#: ../roundup/admin.py:966 +#: ../roundup/admin.py:1045 msgid "" -"Usage: history designator\n" +"Usage: history designator [skipquiet]\n" " Show the history entries of a designator.\n" "\n" -" Lists the journal entries for the node identified by the " -"designator.\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" " " msgstr "" -"Utilisation : history indicateur\n" -" Affiche le journal des entrées d'un indicateur.\n" -"\n" -" Liste les entrées de journal pour le noeud identifié par\n" -" l'indicateur.\n" -" " - -#: ../roundup/admin.py:987 + +#: ../roundup/admin.py:1081 msgid "" "Usage: commit\n" " Commit changes made to the database during an interactive session.\n" @@ -818,7 +867,7 @@ " automatiquement validées si elles réussissent.\n" " " -#: ../roundup/admin.py:1001 +#: ../roundup/admin.py:1096 msgid "" "Usage: rollback\n" " Undo all changes that are pending commit to the database.\n" @@ -841,11 +890,15 @@ " base de données.\n" " " -#: ../roundup/admin.py:1013 +#: ../roundup/admin.py:1109 +#, fuzzy msgid "" "Usage: retire designator[,designator]*\n" " Retire the node specified by designator.\n" "\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" " This action indicates that a particular node is not to be retrieved\n" " by the list or find commands, and its key value may be re-used.\n" " " @@ -858,11 +911,15 @@ " valeur de clé peut être ré-utilisée.\n" " " -#: ../roundup/admin.py:1036 +#: ../roundup/admin.py:1137 +#, fuzzy msgid "" "Usage: restore designator[,designator]*\n" " Restore the retired node specified by designator.\n" "\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" " The given nodes will become available for users again.\n" " " msgstr "" @@ -875,12 +932,16 @@ " " #. grab the directory to export to -#: ../roundup/admin.py:1058 +#: ../roundup/admin.py:1164 +#, fuzzy msgid "" -"Usage: export [class[,class]] export_dir\n" +"Usage: export [[-]class[,class]] export_dir\n" " Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" "\n" -" Optionally limit the export to just the names classes.\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" "\n" " This action exports the current data from the database into\n" " colon-separated-value files that are placed in the nominated\n" @@ -898,7 +959,35 @@ " format aux valeurs séparées par des doubles-points.\n" " " -#: ../roundup/admin.py:1116 +#: ../roundup/admin.py:1256 +#, fuzzy +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Utilisation : export [classe[,classe]] répertoire-d'exportation\n" +" Exporte la base de données vers des fichiers dans un format\n" +" aux valeurs séparées par des double-points.\n" +"\n" +" Limite éventuellement l'exportation aux classes indiquées.\n" +"\n" +" Cette action exporte les données actuelles de la base de données,\n" +" vers des fichiers placés dans le répertoire désigné, et dans un \n" +" format aux valeurs séparées par des doubles-points.\n" +" " + +#: ../roundup/admin.py:1271 msgid "" "Usage: import import_dir\n" " Import a database from the directory containing CSV files,\n" @@ -943,7 +1032,7 @@ " plus péniblement, « abandonnez » toutes les anciennes données).\n" " " -#: ../roundup/admin.py:1189 +#: ../roundup/admin.py:1354 msgid "" "Usage: pack period | date\n" "\n" @@ -985,11 +1074,11 @@ "\n" " " -#: ../roundup/admin.py:1217 +#: ../roundup/admin.py:1382 msgid "Invalid format" msgstr "Format non valide" -#: ../roundup/admin.py:1227 +#: ../roundup/admin.py:1393 msgid "" "Usage: reindex [classname|designator]*\n" " Re-generate a tracker's search indexes.\n" @@ -1005,12 +1094,12 @@ " Cette opération est normalement effectuer automatiquement.\n" " " -#: ../roundup/admin.py:1241 +#: ../roundup/admin.py:1407 #, python-format msgid "no such item \"%(designator)s\"" msgstr "pas d'élément « %(designator)s »" -#: ../roundup/admin.py:1251 +#: ../roundup/admin.py:1417 msgid "" "Usage: security [Role name]\n" " Display the Permissions available to one or all Roles.\n" @@ -1020,78 +1109,124 @@ " Affiche les permissions disponible pour un ou plusieurs rôles.\n" " " -#: ../roundup/admin.py:1259 -#, python-format -msgid "No such Role \"%(role)s\"" +#: ../roundup/admin.py:1425 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" msgstr "Ce rôle « %(role)s » n'existe pas" -#: ../roundup/admin.py:1265 -#, python-format -msgid "New Web users get the Roles \"%(role)s\"" +#: ../roundup/admin.py:1431 +#, 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:1267 -#, python-format -msgid "New Web users get the Role \"%(role)s\"" +#: ../roundup/admin.py:1433 +#, 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:1270 -#, python-format -msgid "New Email users get the Roles \"%(role)s\"" +#: ../roundup/admin.py:1436 +#, 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:1272 -#, python-format -msgid "New Email users get the Role \"%(role)s\"" +#: ../roundup/admin.py:1438 +#, 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:1275 -#, python-format -msgid "Role \"%(name)s\":" +#: ../roundup/admin.py:1441 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" msgstr "Rôle « %(name)s » :" -#: ../roundup/admin.py:1280 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)" -msgstr " %(description)s (%(name)s pour « %(klass)s » : %(properties)s uniquement)" - -#: ../roundup/admin.py:1283 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)" +#: ../roundup/admin.py:1446 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s pour « %(klass)s » uniquement)" + +#: ../roundup/admin.py:1446 +#, 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:1449 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\" " +msgstr " %(description)s (%(name)s pour « %(klass)s » uniquement)" + +#: ../roundup/admin.py:1449 +#, 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:1286 -#, python-format -msgid " %(description)s (%(name)s)" +#: ../roundup/admin.py:1452 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" msgstr " %(description)s (%(name)s)" -#: ../roundup/admin.py:1315 +#: ../roundup/admin.py:1457 +msgid "" +"Usage: migrate\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once you've\n" +" installed the latest codebase. \n" +"\n" +" Do this before you use the web, command-line or mail interface and\n" +" before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if " +"you've\n" +" not previously run it on an RDBMS backend) or \"No migration action\n" +" required\" (if you have run it, or have used another interface to " +"the\n" +" tracker, or possibly because you are using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get into\n" +" the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1476 +#, fuzzy +msgid "Tracker updated" +msgstr "Accueil de Tracker" + +#: ../roundup/admin.py:1479 +msgid "No migration action required" +msgstr "" + +#: ../roundup/admin.py:1505 #, 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:1321 +#: ../roundup/admin.py:1511 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Plusieurs commandes correspondent à « %(command)s » : %(list)s" -#: ../roundup/admin.py:1328 +#: ../roundup/admin.py:1519 msgid "Enter tracker home: " msgstr "Saisissez le répertoire racine du pisteur : " # ../roundup/admin.py:1332 :1338 :1358 # ../roundup/admin.py:1335:1341:1361 -#: ../roundup/admin.py:1335 ../roundup/admin.py:1341 ../roundup/admin.py:1361 +#: ../roundup/admin.py:1528 ../roundup/admin.py:1534 ../roundup/admin.py:1560 +#: ../roundup/admin.py:1528:1534:1560 #, python-format msgid "Error: %(message)s" msgstr "Erreur : %(message)s" -#: ../roundup/admin.py:1349 +#: ../roundup/admin.py:1542 ../roundup/admin.py:1546 +#: ../roundup/admin.py:1542:1546 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Erreur : impossible d'ouvrir le pisteur, %(message)s" -#: ../roundup/admin.py:1374 +#: ../roundup/admin.py:1573 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1100,206 +1235,335 @@ "Roundup %s est prêt pour la saisie.\n" "Saisissez « help » pour l'aide." -#: ../roundup/admin.py:1379 +#: ../roundup/admin.py:1578 msgid "Note: command history and editing not available" msgstr "Note : l'historique et l'édition des commandes n'est pas disponible" -#: ../roundup/admin.py:1383 +#: ../roundup/admin.py:1582 msgid "roundup> " msgstr "roundup> " -#: ../roundup/admin.py:1385 +#: ../roundup/admin.py:1584 msgid "exit..." msgstr "sortie..." -#: ../roundup/admin.py:1395 +#: ../roundup/admin.py:1597 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:2001 +#: ../roundup/backends/back_anydbm.py:312 +#: ../roundup/backends/sessions_dbm.py:54 +msgid "Couldn't identify database type" +msgstr "" + +#: ../roundup/backends/back_anydbm.py:341 #, python-format -msgid "WARNING: invalid date tuple %r" -msgstr "ATTENTION : tuple de date non valide %r" - -#: ../roundup/backends/rdbms_common.py:1434 +msgid "Couldn't open database - the required module '%s' is not available" +msgstr "" + +#: ../roundup/backends/back_anydbm.py:897 +#: ../roundup/backends/back_anydbm.py:910 +#: ../roundup/backends/back_anydbm.py:1167 +#: ../roundup/backends/back_anydbm.py:1195 +#: ../roundup/backends/back_anydbm.py:1421 +#: ../roundup/backends/back_anydbm.py:1439 +#: ../roundup/backends/back_anydbm.py:1485 +#: ../roundup/backends/back_anydbm.py:2051 +#: ../roundup/backends/back_anydbm.py:897:910 +#: ../roundup/backends/rdbms_common.py:1562 +#: ../roundup/backends/rdbms_common.py:1796 +#: ../roundup/backends/rdbms_common.py:2031 +#: ../roundup/backends/rdbms_common.py:2051 +#: ../roundup/backends/rdbms_common.py:2104 +#: ../roundup/backends/rdbms_common.py:2907 +#: ../roundup/backends/rdbms_common.py:1562:1796 :1167:1195 :1421:1439:1485 +#: :2031:2051:2051 :2104:2907 +msgid "Database open read-only" +msgstr "" + +#: ../roundup/backends/rdbms_common.py:542 +#, python-format +msgid "ALTER operation disallowed: %r -> %r." +msgstr "" + +#: ../roundup/backends/rdbms_common.py:775 +#, python-format +msgid "CREATE operation disallowed: \"%s\"." +msgstr "" + +#: ../roundup/backends/rdbms_common.py:791 +#, python-format +msgid "DROP operation disallowed: \"%s\"." +msgstr "" + +#: ../roundup/backends/rdbms_common.py:1697 msgid "create" msgstr "créer" -#: ../roundup/backends/rdbms_common.py:1600 +#: ../roundup/backends/rdbms_common.py:1866 msgid "unlink" msgstr "détacher" -#: ../roundup/backends/rdbms_common.py:1604 +#: ../roundup/backends/rdbms_common.py:1870 msgid "link" msgstr "attacher" -#: ../roundup/backends/rdbms_common.py:1724 +#: ../roundup/backends/rdbms_common.py:2012 msgid "set" msgstr "assigner" -#: ../roundup/backends/rdbms_common.py:1748 +#: ../roundup/backends/rdbms_common.py:2041 msgid "retired" msgstr "retiré" -#: ../roundup/backends/rdbms_common.py:1778 +#: ../roundup/backends/rdbms_common.py:2071 msgid "restored" msgstr "restauré" -#: ../roundup/cgi/actions.py:58 +#: ../roundup/cgi/actions.py:88 +msgid "Base url not set. Check configuration." +msgstr "" + +#: ../roundup/cgi/actions.py:104 +#, python-format +msgid "Base url %(base_url)s requires https. Redirect url %(url)s uses http." +msgstr "" + +#: ../roundup/cgi/actions.py:107 +#, fuzzy, python-format +msgid "Unrecognized scheme in %(url)s" +msgstr "Jeu de caractères non reconnu : %r" + +#: ../roundup/cgi/actions.py:110 +#, python-format +msgid "Net location in %(url)s does not match base: %(base_netloc)s" +msgstr "" + +#: ../roundup/cgi/actions.py:113 +#, python-format +msgid "Base path %(base_path)s is not a prefix for url %(url)s" +msgstr "" + +#: ../roundup/cgi/actions.py:126 +#, python-format +msgid "Path component (%(url_path)s) in %(url)s is not properly escaped" +msgstr "" + +#: ../roundup/cgi/actions.py:129 +#, python-format +msgid "Params component (%(url_params)s) in %(url)s is not properly escaped" +msgstr "" + +#: ../roundup/cgi/actions.py:132 +#, python-format +msgid "Query component (%(url_query)s) in %(url)s is not properly escaped" +msgstr "" + +#: ../roundup/cgi/actions.py:135 +#, python-format +msgid "" +"Fragment component (%(url_fragment)s) in %(url)s is not properly escaped" +msgstr "" + +#: ../roundup/cgi/actions.py:156 #, python-format msgid "You do not have permission to %(action)s the %(classname)s class." msgstr "" "Vous n'avez pas les permissions pour %(action)s la classe %(classname)s." -#: ../roundup/cgi/actions.py:89 +#: ../roundup/cgi/actions.py:187 msgid "No type specified" msgstr "Aucun type spécifié" -#: ../roundup/cgi/actions.py:91 +#: ../roundup/cgi/actions.py:189 msgid "No ID entered" msgstr "Aucun identifiant saisi" -#: ../roundup/cgi/actions.py:97 +#: ../roundup/cgi/actions.py:195 #, python-format msgid "\"%(input)s\" is not an ID (%(classname)s ID required)" -msgstr "« %(input)s » n'est pas un identifiant (l'identifiant de %(classname)s est requis)" - -#: ../roundup/cgi/actions.py:117 -msgid "You may not retire the admin or anonymous user" -msgstr "Vous ne pouvez pas abandonner les utilisateurs admin ou anonyme" - -#: ../roundup/cgi/actions.py:124 +msgstr "" +"« %(input)s » n'est pas un identifiant (l'identifiant de %(classname)s est " +"requis)" + +#: ../roundup/cgi/actions.py:207 ../roundup/cgi/actions.py:245 +#: ../roundup/cgi/actions.py:466 ../roundup/cgi/actions.py:794 +#: ../roundup/cgi/actions.py:840 ../roundup/cgi/actions.py:1040 +#: ../roundup/cgi/actions.py:1173 ../roundup/cgi/actions.py:207:245:1173 +#: :466:794 :840:1040 +#, fuzzy +msgid "Invalid request" +msgstr "Format non valide" + +#: ../roundup/cgi/actions.py:225 ../roundup/cgi/actions.py:568 +#: ../roundup/cgi/actions.py:225:568 +#, fuzzy, python-format +msgid "You do not have permission to retire %(class)s" +msgstr "Vous n'avez pas la permission de créer de %(class)s" + +#: ../roundup/cgi/actions.py:233 #, python-format msgid "%(classname)s %(itemid)s has been retired" msgstr "%(classname)s %(itemid)s a été retiré" +#: ../roundup/cgi/actions.py:257 +#, fuzzy, python-format +msgid "You do not have permission to restore %(class)s" +msgstr "Vous n'avez pas la permission de créer de %(class)s" + +#: ../roundup/cgi/actions.py:265 +#, fuzzy, python-format +msgid "%(classname)s %(itemid)s has been restored" +msgstr "%(classname)s %(itemid)s a été retiré" + # ../roundup/cgi/actions.py:174 :202 # ../roundup/cgi/actions.py:174:202 -#: ../roundup/cgi/actions.py:174 ../roundup/cgi/actions.py:202 +#: ../roundup/cgi/actions.py:308 ../roundup/cgi/actions.py:356 +#: ../roundup/cgi/actions.py:308:356 msgid "You do not have permission to edit queries" msgstr "Vous n'avez pas la permission de modifier des requêtes" # ../roundup/cgi/actions.py:180 :209 # ../roundup/cgi/actions.py:180:209 -#: ../roundup/cgi/actions.py:180 ../roundup/cgi/actions.py:209 +#: ../roundup/cgi/actions.py:314 ../roundup/cgi/actions.py:363 +#: ../roundup/cgi/actions.py:314:363 msgid "You do not have permission to store queries" msgstr "Vous n'avez pas la permission d'enregistrer des requêtes" -#: ../roundup/cgi/actions.py:297 +#: ../roundup/cgi/actions.py:335 +#, python-format +msgid "You already own a query named '%s'. Please choose another name." +msgstr "" + +#: ../roundup/cgi/actions.py:500 ../roundup/cgi/actions.py:700 +#: ../roundup/cgi/actions.py:500:700 +#, 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" + +#: ../roundup/cgi/actions.py:513 #, python-format msgid "Not enough values on line %(line)s" msgstr "Pas suffisament de valeurs sur la ligne %(line)s" -#: ../roundup/cgi/actions.py:344 +#: ../roundup/cgi/actions.py:523 ../roundup/cgi/actions.py:688 +#: ../roundup/cgi/actions.py:523:688 +#, python-format +msgid "You do not have permission to edit %(class)s" +msgstr "Vous n'avez pas la permission de modifier %(class)s" + +#: ../roundup/cgi/actions.py:575 msgid "Items edited OK" msgstr "Les éléments ont été modifiés avec succès" -#: ../roundup/cgi/actions.py:404 +#: ../roundup/cgi/actions.py:634 #, 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:407 -#, python-format -msgid "%(class)s %(id)s - nothing changed" -msgstr "%(class)s %(id)s - aucun changement" - -#: ../roundup/cgi/actions.py:419 +#: ../roundup/cgi/actions.py:654 #, python-format msgid "%(class)s %(id)s created" msgstr "%(class)s %(id)s créé" -#: ../roundup/cgi/actions.py:451 -#, python-format -msgid "You do not have permission to edit %(class)s" -msgstr "Vous n'avez pas la permission de modifier %(class)s" - -#: ../roundup/cgi/actions.py:463 -#, 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" - -#: ../roundup/cgi/actions.py:487 -msgid "You do not have permission to edit user roles" -msgstr "Vous n'avez pas la permission de modifier les rôles d'un utilisateur" - -#: ../roundup/cgi/actions.py:537 -#, python-format +#: ../roundup/cgi/actions.py:779 +#, fuzzy, python-format msgid "" -"Edit Error: someone else has edited this %s (%s). View <a target=\"new\" " +"Edit Error: someone else has edited this %s (%s). View <a target=\"_blank\" " "href=\"%s%s\">their changes</a> in a new window." -msgstr "Erreur de modification : quelqu'un d'autre a modifié ce %s (%s). Consultez <a target=\"new\" href=\"%s%s\">ses modifications</a> dans une nouvelle fenêtre." - -#: ../roundup/cgi/actions.py:565 +msgstr "" +"Erreur de modification : quelqu'un d'autre a modifié ce %s (%s). Consultez " +"<a target=\"new\" href=\"%s%s\">ses modifications</a> dans une nouvelle " +"fenêtre." + +#: ../roundup/cgi/actions.py:811 #, python-format msgid "Edit Error: %s" msgstr "Erreur de modification : %s" # ../roundup/cgi/actions.py:596 :607 :778 :797 # ../roundup/cgi/actions.py:596:607 :778:797 -#: ../roundup/cgi/actions.py:596 ../roundup/cgi/actions.py:607 -#: ../roundup/cgi/actions.py:778 ../roundup/cgi/actions.py:797 +#: ../roundup/cgi/actions.py:846 ../roundup/cgi/actions.py:857 +#: ../roundup/cgi/actions.py:1046 ../roundup/cgi/actions.py:1059 +#: ../roundup/cgi/actions.py:846:857 :1046:1059 #, python-format msgid "Error: %s" msgstr "Erreur : %s" -#: ../roundup/cgi/actions.py:633 +#: ../roundup/cgi/actions.py:890 msgid "" "Invalid One Time Key!\n" "(a Mozilla bug may cause this message to show up erroneously, please check " "your email)" msgstr "" "La clé à usage unique n'est pas valide.\n" -"Un bug dans Mozilla peut provoquer une apparition erronée de ce message, vérifiez votre courriel." - -#: ../roundup/cgi/actions.py:675 +"Un bug dans Mozilla peut provoquer une apparition erronée de ce message, " +"vérifiez votre courriel." + +#: ../roundup/cgi/actions.py:940 #, python-format msgid "Password reset and email sent to %s" msgstr "Mot de passe réinitialisé et courriel envoyé à %s" -#: ../roundup/cgi/actions.py:684 +#: ../roundup/cgi/actions.py:949 msgid "Unknown username" msgstr "Nom d'utilisateur inconnu" -#: ../roundup/cgi/actions.py:692 +#: ../roundup/cgi/actions.py:957 msgid "Unknown email address" msgstr "Adresse électronique inconnue" -#: ../roundup/cgi/actions.py:697 +#: ../roundup/cgi/actions.py:962 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:722 +#: ../roundup/cgi/actions.py:988 #, python-format -msgid "Email sent to %s" +msgid "Email sent to primary notification address for %s." +msgstr "" + +#: ../roundup/cgi/actions.py:990 +#, fuzzy, python-format +msgid "Email sent to %s." msgstr "Courriel envoyé à %s" -#: ../roundup/cgi/actions.py:741 +#: ../roundup/cgi/actions.py:1004 msgid "You are now registered, welcome!" msgstr "Vous êtes désormais inscrit, bienvenue !" -#: ../roundup/cgi/actions.py:786 +#: ../roundup/cgi/actions.py:1135 msgid "It is not permitted to supply roles at registration." msgstr "Impossible de renseigner les rôles à l'inscription." -#: ../roundup/cgi/actions.py:878 +#: ../roundup/cgi/actions.py:1148 msgid "You are logged out" msgstr "Vous êtes déconnecté" -#: ../roundup/cgi/actions.py:895 +#: ../roundup/cgi/actions.py:1177 msgid "Username required" msgstr "Nom d'utilisateur requis" # ../roundup/cgi/actions.py:930 :934 # ../roundup/cgi/actions.py:930:934 -#: ../roundup/cgi/actions.py:930 ../roundup/cgi/actions.py:934 +#: ../roundup/cgi/actions.py:1265 ../roundup/cgi/actions.py:1269 +#: ../roundup/cgi/actions.py:1265:1269 msgid "Invalid login" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/actions.py:940 +#: ../roundup/cgi/actions.py:1275 msgid "You do not have permission to login" msgstr "Vous n'avez la permission de vous connecter" +#: ../roundup/cgi/actions.py:1316 +#, python-format +msgid "Column \"%(column)s\" not found in %(class)s" +msgstr "" + +#: ../roundup/cgi/actions.py:1353 +#, fuzzy, python-format +msgid "You do not have permission to view %(class)s" +msgstr "Vous n'avez pas la permission de modifier %(class)s" + #: ../roundup/cgi/cgitb.py:49 #, python-format msgid "" @@ -1364,11 +1628,16 @@ "<p>A problem occurred while running a Python script. Here is the sequence of " "function calls leading up to the error, with the most recent (innermost) " "call first. The exception attributes are:" -msgstr "<p>Un problème est apparu lors de l'exécution d'un script Python. Voici la suite d'appels de fonction menant à l'erreur, avec l'appel le plus récent (le plus imbriqué) d'abord. Les attributs de l'exception sont :" +msgstr "" +"<p>Un problème est apparu lors de l'exécution d'un script Python. Voici la " +"suite d'appels de fonction menant à l'erreur, avec l'appel le plus récent " +"(le plus imbriqué) d'abord. Les attributs de l'exception sont :" #: ../roundup/cgi/cgitb.py:129 msgid "<file is None - probably inside <tt>eval</tt> or <tt>exec</tt>>" -msgstr "<« file » est à « None » - probablement dans un <tt>eval</tt> ou un <tt>exec</tt>>" +msgstr "" +"<« file » est à « None » - probablement dans un <tt>eval</tt> ou un " +"<tt>exec</tt>>" #: ../roundup/cgi/cgitb.py:138 #, python-format @@ -1378,10 +1647,11 @@ # ../roundup/cgi/cgitb.py:172 :178 # ../roundup/cgi/cgitb.py:172:178 #: ../roundup/cgi/cgitb.py:172 ../roundup/cgi/cgitb.py:178 +#: ../roundup/cgi/cgitb.py:172:178 msgid "<em>undefined</em>" msgstr "<em>indéfini</em>" -#: ../roundup/cgi/client.py:49 +#: ../roundup/cgi/client.py:76 msgid "" "<html><head><title>An error has occurred</title></head>\n" "<body><h1>An error has occurred</h1>\n" @@ -1395,72 +1665,228 @@ "Les administrateurs du pisteur ont été notifiés du problème.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:308 +#: ../roundup/cgi/client.py:665 msgid "Form Error: " msgstr "Erreur de formulaire : " -#: ../roundup/cgi/client.py:363 +#: ../roundup/cgi/client.py:755 #, python-format msgid "Unrecognized charset: %r" msgstr "Jeu de caractères non reconnu : %r" -#: ../roundup/cgi/client.py:491 +#: ../roundup/cgi/client.py:925 msgid "Anonymous users are not allowed to use the web interface" msgstr "" "Les utilisateurs anonymes ne sont pas autorisés à utiliser l'interface Web" -#: ../roundup/cgi/client.py:646 +#: ../roundup/cgi/client.py:998 +msgid "Referer header not available." +msgstr "" + +#: ../roundup/cgi/client.py:1002 +#, python-format +msgid "csrf key used with wrong method from: %s" +msgstr "" + +#: ../roundup/cgi/client.py:1030 +#, python-format +msgid "csrf header %s required but missing for user%s." +msgstr "" + +#: ../roundup/cgi/client.py:1031 +#, python-format +msgid "Missing header: %s" +msgstr "" + +#: ../roundup/cgi/client.py:1041 ../roundup/cgi/client.py:1044 +#: ../roundup/cgi/client.py:1041:1044 +#, python-format +msgid "csrf Referer header check failed for user%s. Value=%s" +msgstr "" + +#: ../roundup/cgi/client.py:1042 +#, python-format +msgid "Invalid Referer %s, %s" +msgstr "" + +#: ../roundup/cgi/client.py:1057 ../roundup/cgi/client.py:1060 +#: ../roundup/cgi/client.py:1057:1060 +#, python-format +msgid "csrf Origin header check failed for user%s. Value=%s" +msgstr "" + +# ../roundup/cgi/actions.py:930 :934 +# ../roundup/cgi/actions.py:930:934 +#: ../roundup/cgi/client.py:1058 +#, fuzzy, python-format +msgid "Invalid Origin %s" +msgstr "Tentative de connexion non valide" + +#: ../roundup/cgi/client.py:1072 ../roundup/cgi/client.py:1075 +#: ../roundup/cgi/client.py:1072:1075 +#, python-format +msgid "csrf X-FORWARDED-HOST header check failed for user%s. Value=%s" +msgstr "" + +#: ../roundup/cgi/client.py:1073 +#, python-format +msgid "Invalid X-FORWARDED-HOST %s" +msgstr "" + +#: ../roundup/cgi/client.py:1092 ../roundup/cgi/client.py:1095 +#: ../roundup/cgi/client.py:1092:1095 +#, python-format +msgid "csrf HOST header check failed for user%s. Value=%s" +msgstr "" + +#: ../roundup/cgi/client.py:1093 +#, python-format +msgid "Invalid HOST %s" +msgstr "" + +#: ../roundup/cgi/client.py:1101 +msgid "Csrf: unable to verify sufficient headers" +msgstr "" + +#: ../roundup/cgi/client.py:1102 +msgid "Unable to verify sufficient headers" +msgstr "" + +#: ../roundup/cgi/client.py:1115 +#, python-format +msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." +msgstr "" + +#: ../roundup/cgi/client.py:1116 +msgid "Required Header Missing" +msgstr "" + +#: ../roundup/cgi/client.py:1153 +#, python-format +msgid "Required csrf field missing for user%s" +msgstr "" + +#: ../roundup/cgi/client.py:1154 +msgid "Csrf token is missing." +msgstr "" + +#: ../roundup/cgi/client.py:1157 +#, python-format +msgid "csrf field not supplied by user%s" +msgstr "" + +#: ../roundup/cgi/client.py:1204 +#, python-format +msgid "" +"Csrf mismatch user: current user %s != stored user %s, current session, " +"stored session: %s,%s for key %s." +msgstr "" + +#: ../roundup/cgi/client.py:1206 +#, python-format +msgid "Invalid csrf token found: %s" +msgstr "" + +#: ../roundup/cgi/client.py:1209 +#, python-format +msgid "" +"logged only: Csrf mismatch user: current user %s != stored user %s, current " +"session, stored session: %s,%s for key %s." +msgstr "" + +#: ../roundup/cgi/client.py:1214 +#, python-format +msgid "" +"Csrf mismatch user: current session %s != stored session %s, current user/" +"stored user is: %s for key %s." +msgstr "" + +#: ../roundup/cgi/client.py:1216 +#, python-format +msgid "Invalid csrf session found: %s" +msgstr "" + +#: ../roundup/cgi/client.py:1219 +#, python-format +msgid "" +"logged only: Csrf mismatch user: current session %s != stored session %s, " +"current user/stored user is: %s for key %s." +msgstr "" + +#: ../roundup/cgi/client.py:1387 msgid "You are not allowed to view this file." msgstr "Vous n'êtes pas autorisé à voir ce fichier" -#: ../roundup/cgi/client.py:738 +#: ../roundup/cgi/client.py:1655 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTemps écoulé: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:742 +#: ../roundup/cgi/client.py:1659 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" -msgstr "%(starttag)sAccès au cache : %(cache_hits)d, manqués %(cache_misses)d. Chargement d'éléments : %(get_items)f secondes. Filtrage : %(filtering)f secondes.%(endtag)s\n" - -#: ../roundup/cgi/form_parser.py:283 -#, python-format -msgid "link \"%(key)s\" value \"%(value)s\" not a designator" +msgstr "" +"%(starttag)sAccès au cache : %(cache_hits)d, manqués %(cache_misses)d. " +"Chargement d'éléments : %(get_items)f secondes. Filtrage : %(filtering)f " +"secondes.%(endtag)s\n" + +#: ../roundup/cgi/form_parser.py:289 +#, fuzzy, python-format +msgid "link \"%(key)s\" value \"%(entry)s\" not a designator" msgstr "la valeur « %(value)s » du lien « %(key)s » n'est pas un indicateur" -#: ../roundup/cgi/form_parser.py:290 +#: ../roundup/cgi/form_parser.py:307 #, python-format msgid "%(class)s %(property)s is not a link or multilink property" msgstr "%(class)s %(property)s n'est pas une propriété lien ou lien multiple" -#: ../roundup/cgi/form_parser.py:312 +#: ../roundup/cgi/form_parser.py:319 +#, fuzzy, python-format +msgid "" +"The form action claims to require property \"%(property)s\" which doesn't " +"exist" +msgstr "" +"Vous avez demandé une action « %(action)s » sur une propriété " +"« %(property)s » qui n'existe pas" + +#: ../roundup/cgi/form_parser.py:341 #, python-format msgid "" "You have submitted a %(action)s action for the property \"%(property)s\" " "which doesn't exist" -msgstr "Vous avez demandé une action « %(action)s » sur une propriété « %(property)s » qui n'existe pas" +msgstr "" +"Vous avez demandé une action « %(action)s » sur une propriété " +"« %(property)s » qui n'existe pas" # ../roundup/cgi/form_parser.py:331 :357 # ../roundup/cgi/form_parser.py:331:357 -#: ../roundup/cgi/form_parser.py:331 ../roundup/cgi/form_parser.py:357 +#: ../roundup/cgi/form_parser.py:366 ../roundup/cgi/form_parser.py:394 +#: ../roundup/cgi/form_parser.py:366:394 #, python-format msgid "You have submitted more than one value for the %s property" msgstr "Vous avez fourni plus d'une valeur pour la propriété %s" # ../roundup/cgi/form_parser.py:354 :360 # ../roundup/cgi/form_parser.py:354:360 -#: ../roundup/cgi/form_parser.py:354 ../roundup/cgi/form_parser.py:360 +#: ../roundup/cgi/form_parser.py:391 ../roundup/cgi/form_parser.py:397 +#: ../roundup/cgi/form_parser.py:391:397 msgid "Password and confirmation text do not match" msgstr "Le mot de passe et le texte de confirmation ne correspondent pas" -#: ../roundup/cgi/form_parser.py:395 +#: ../roundup/cgi/form_parser.py:415 +msgid "Not a file attachment" +msgstr "" + +#: ../roundup/cgi/form_parser.py:458 #, python-format msgid "property \"%(propname)s\": \"%(value)s\" not currently in list" -msgstr "propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la liste" - -#: ../roundup/cgi/form_parser.py:512 +msgstr "" +"propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la " +"liste" + +#: ../roundup/cgi/form_parser.py:578 #, python-format msgid "Required %(class)s property %(property)s not supplied" msgid_plural "Required %(class)s properties %(property)s not supplied" @@ -1468,20 +1894,16 @@ msgstr[1] "" "Les propriétés requises %(property)s de %(class)s n'ont pas été fournies" -#: ../roundup/cgi/form_parser.py:535 -msgid "File is empty" -msgstr "Le fichier est vide" - -#: ../roundup/cgi/templating.py:72 +#: ../roundup/cgi/templating.py:124 #, python-format 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:627 +#: ../roundup/cgi/templating.py:706 msgid "(list)" msgstr "(liste)" -#: ../roundup/cgi/templating.py:696 +#: ../roundup/cgi/templating.py:779 msgid "Submit New Entry" msgstr "Soumettre un nouvelle entrée" @@ -1490,106 +1912,109 @@ # ../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:710 ../roundup/cgi/templating.py:829 -#: ../roundup/cgi/templating.py:1236 ../roundup/cgi/templating.py:1257 -#: ../roundup/cgi/templating.py:1304 ../roundup/cgi/templating.py:1327 -#: ../roundup/cgi/templating.py:1361 ../roundup/cgi/templating.py:1400 -#: ../roundup/cgi/templating.py:1453 ../roundup/cgi/templating.py:1470 -#: ../roundup/cgi/templating.py:1549 ../roundup/cgi/templating.py:1569 -#: ../roundup/cgi/templating.py:1587 ../roundup/cgi/templating.py:1619 -#: ../roundup/cgi/templating.py:1629 ../roundup/cgi/templating.py:1683 -#: ../roundup/cgi/templating.py:1875 +#: ../roundup/cgi/templating.py:796 ../roundup/cgi/templating.py:953 +#: ../roundup/cgi/templating.py:1479 ../roundup/cgi/templating.py:1508 +#: ../roundup/cgi/templating.py:1528 ../roundup/cgi/templating.py:1541 +#: ../roundup/cgi/templating.py:1591 ../roundup/cgi/templating.py:1614 +#: ../roundup/cgi/templating.py:1621 ../roundup/cgi/templating.py:1657 +#: ../roundup/cgi/templating.py:1694 ../roundup/cgi/templating.py:1727 +#: ../roundup/cgi/templating.py:1817 ../roundup/cgi/templating.py:1838 +#: ../roundup/cgi/templating.py:1928 ../roundup/cgi/templating.py:1948 +#: ../roundup/cgi/templating.py:1966 ../roundup/cgi/templating.py:1998 +#: ../roundup/cgi/templating.py:2008 ../roundup/cgi/templating.py:2072 +#: ../roundup/cgi/templating.py:2319 ../roundup/cgi/templating.py:796:953 +#: :1479:1508 :1528:1541 :1591:1614 :1621:1657 :1694:1727 :1817:1838 +#: :1928:1948 :1966:1998 :2008:2072:2319 msgid "[hidden]" msgstr "[masqué]" -#: ../roundup/cgi/templating.py:711 +#: ../roundup/cgi/templating.py:797 msgid "New node - no history" msgstr "Nouveau n~ud - pas d'historique" -#: ../roundup/cgi/templating.py:811 +#: ../roundup/cgi/templating.py:922 msgid "Submit Changes" msgstr "Soumettre les changements" -#: ../roundup/cgi/templating.py:893 +#: ../roundup/cgi/templating.py:1011 msgid "<em>The indicated property no longer exists</em>" msgstr "<em>La propriété indiquée n'existe plus</em>" -#: ../roundup/cgi/templating.py:894 +#: ../roundup/cgi/templating.py:1012 #, python-format msgid "<em>%s: %s</em>\n" msgstr "<em>%s : %s</em>\n" -#: ../roundup/cgi/templating.py:907 +#: ../roundup/cgi/templating.py:1025 #, 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:940 :964 # ../roundup/cgi/templating.py:940:964 -#: ../roundup/cgi/templating.py:940 ../roundup/cgi/templating.py:964 +#: ../roundup/cgi/templating.py:1063 ../roundup/cgi/templating.py:1089 +#: ../roundup/cgi/templating.py:1063:1089 msgid "<strike>The linked node no longer exists</strike>" msgstr "<strike>Le noeud lié n'existe plus</strike>" +#: ../roundup/cgi/templating.py:1150 +#, python-format +msgid "%s: (no value)" +msgstr "%s : (pas de valeur)" + +#: ../roundup/cgi/templating.py:1162 +msgid "" +"<strong><em>This event is not handled by the history display!</em></strong>" +msgstr "" +"<strong><em>Cet évènement n'est pas géré par l'affichage de l'historique.</" +"em></strong>" + +#: ../roundup/cgi/templating.py:1174 +msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>" +msgstr "<tr><td colspan=4><strong>Note :</strong></td></tr>" + +#: ../roundup/cgi/templating.py:1183 +msgid "History" +msgstr "Historique" + +#: ../roundup/cgi/templating.py:1185 +msgid "<th>Date</th>" +msgstr "<th>Date</th>" + +#: ../roundup/cgi/templating.py:1186 +msgid "<th>User</th>" +msgstr "<th>Utilisateur</th>" + +#: ../roundup/cgi/templating.py:1187 +msgid "<th>Action</th>" +msgstr "<th>Action</th>" + +#: ../roundup/cgi/templating.py:1188 +msgid "<th>Args</th>" +msgstr "<th>Arguments</th>" + +#: ../roundup/cgi/templating.py:1236 +#, python-format +msgid "Copy of %(class)s %(id)s" +msgstr "Copie de %(class)s %(id)s" + # ../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:1006 ../roundup/cgi/templating.py:1404 -#: ../roundup/cgi/templating.py:1425 ../roundup/cgi/templating.py:1431 +#: ../roundup/cgi/templating.py:1731 ../roundup/cgi/templating.py:1764 +#: ../roundup/cgi/templating.py:1132:1731:1764 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:1006 ../roundup/cgi/templating.py:1404 -#: ../roundup/cgi/templating.py:1423 ../roundup/cgi/templating.py:1428 +#: ../roundup/cgi/templating.py:1731 ../roundup/cgi/templating.py:1759 +#: ../roundup/cgi/templating.py:1132:1731:1759 msgid "Yes" msgstr "Oui" -#: ../roundup/cgi/templating.py:1017 -#, python-format -msgid "%s: (no value)" -msgstr "%s : (pas de valeur)" - -#: ../roundup/cgi/templating.py:1029 -msgid "" -"<strong><em>This event is not handled by the history display!</em></strong>" -msgstr "<strong><em>Cet évènement n'est pas géré par l'affichage de l'historique.</em></strong>" - -#: ../roundup/cgi/templating.py:1041 -msgid "<tr><td colspan=4><strong>Note:</strong></td></tr>" -msgstr "<tr><td colspan=4><strong>Note :</strong></td></tr>" - -#: ../roundup/cgi/templating.py:1050 -msgid "History" -msgstr "Historique" - -#: ../roundup/cgi/templating.py:1052 -msgid "<th>Date</th>" -msgstr "<th>Date</th>" - -#: ../roundup/cgi/templating.py:1053 -msgid "<th>User</th>" -msgstr "<th>Utilisateur</th>" - -#: ../roundup/cgi/templating.py:1054 -msgid "<th>Action</th>" -msgstr "<th>Action</th>" - -#: ../roundup/cgi/templating.py:1055 -msgid "<th>Args</th>" -msgstr "<th>Arguments</th>" - -#: ../roundup/cgi/templating.py:1097 -#, python-format -msgid "Copy of %(class)s %(id)s" -msgstr "Copie de %(class)s %(id)s" - -#: ../roundup/cgi/templating.py:1331 -msgid "*encrypted*" -msgstr "*crypté*" - -#: ../roundup/cgi/templating.py:1514 +#: ../roundup/cgi/templating.py:1886 msgid "" "default value for DateHTMLProperty must be either DateHTMLProperty or string " "date representation." @@ -1597,137 +2022,216 @@ "la valeur par défaut pour DateHTMLProperty doit être soit DateHTMLProperty " "soit une représentation textuelle de la date." -#: ../roundup/cgi/templating.py:1674 +#: ../roundup/cgi/templating.py:2052 #, 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:1750 +#: ../roundup/cgi/templating.py:2063 +#, 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:2166 #, python-format msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- pas de sélection -</option>" -#: ../roundup/date.py:186 +#: ../roundup/date.py:375 +#, fuzzy, python-format msgid "" -"Not a date spec: \"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" or " -"\"yyyy-mm-dd.HH:MM:SS.SSS\"" -msgstr "Ceci n'est pas une représentation de date : « aaaa-mm-jj », « mm-jj », « HH:MM », « HH:MM:SS » or « aaaa-mm-jj.HH:MM:SS.SSS »" - -#: ../roundup/date.py:240 +"Not a date spec: %r (\"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" or " +"\"yyyy-mm-dd.HH:MM:SS.SSS\")" +msgstr "" +"Ceci n'est pas une représentation de date : « aaaa-mm-jj », « mm-jj », « HH:" +"MM », « HH:MM:SS » or « aaaa-mm-jj.HH:MM:SS.SSS »" + +#: ../roundup/date.py:398 +msgid "Could not determine granularity" +msgstr "" + +#: ../roundup/date.py:450 #, python-format msgid "" "%r not a date / time spec \"yyyy-mm-dd\", \"mm-dd\", \"HH:MM\", \"HH:MM:SS\" " "or \"yyyy-mm-dd.HH:MM:SS.SSS\"" -msgstr "%r n'est pas une représentation de date ou d'heure « aaaa-mm-jj », « mm-jj », « HH:MM », « HH:MM:SS » or « aaaa-mm-jj.HH:MM:SS.SSS »" - -#: ../roundup/date.py:538 +msgstr "" +"%r n'est pas une représentation de date ou d'heure « aaaa-mm-jj », « mm-" +"jj », « HH:MM », « HH:MM:SS » or « aaaa-mm-jj.HH:MM:SS.SSS »" + +#: ../roundup/date.py:786 +#, fuzzy, python-format msgid "" -"Not an interval spec: [+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS] [date spec]" -msgstr "Ceci n'est pas une représentation d'intervalle : [+-] [#a] [#m] [#s] [#j] [[[H]H:MM]:SS] [représentation de date]" - -#: ../roundup/date.py:557 -msgid "Not an interval spec: [+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS]" -msgstr "Ceci n'est pas une représentation d'intervalle : [+-] [#a] [#m] [#s] [#j] [[[H]H:MM]:SS]" - -#: ../roundup/date.py:694 +"Not an interval spec: \"%s\" ([+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS] [date " +"spec])" +msgstr "" +"Ceci n'est pas une représentation d'intervalle : [+-] [#a] [#m] [#s] [#j] " +"[[[H]H:MM]:SS] [représentation de date]" + +#: ../roundup/date.py:809 +#, fuzzy, python-format +msgid "Not an interval spec: \"%s\" ([+-] [#y] [#m] [#w] [#d] [[[H]H:MM]:SS])" +msgstr "" +"Ceci n'est pas une représentation d'intervalle : [+-] [#a] [#m] [#s] [#j] " +"[[[H]H:MM]:SS]" + +#: ../roundup/date.py:944 #, python-format msgid "%(number)s year" msgid_plural "%(number)s years" msgstr[0] "%(number)s année" msgstr[1] "%(number)s années" -#: ../roundup/date.py:698 +#: ../roundup/date.py:948 #, python-format msgid "%(number)s month" msgid_plural "%(number)s months" msgstr[0] "%(number)s mois" msgstr[1] "%(number)s mois" -#: ../roundup/date.py:702 +#: ../roundup/date.py:952 #, python-format msgid "%(number)s week" msgid_plural "%(number)s weeks" msgstr[0] "%(number)s semaine" msgstr[1] "%(number)s semaines" -#: ../roundup/date.py:706 +#: ../roundup/date.py:956 #, python-format msgid "%(number)s day" msgid_plural "%(number)s days" msgstr[0] "%(number)s jour" msgstr[1] "%(number)s jours" -#: ../roundup/date.py:710 +#: ../roundup/date.py:960 msgid "tomorrow" msgstr "demain" -#: ../roundup/date.py:712 +#: ../roundup/date.py:962 msgid "yesterday" msgstr "hier" -#: ../roundup/date.py:715 +#: ../roundup/date.py:965 #, python-format msgid "%(number)s hour" msgid_plural "%(number)s hours" msgstr[0] "%(number)s heure" msgstr[1] "%(number)s heures" -#: ../roundup/date.py:719 +#: ../roundup/date.py:969 msgid "an hour" msgstr "une heure" -#: ../roundup/date.py:721 +#: ../roundup/date.py:971 msgid "1 1/2 hours" msgstr "1 heure et demie" -#: ../roundup/date.py:723 +#: ../roundup/date.py:973 #, python-format msgid "1 %(number)s/4 hours" msgid_plural "1 %(number)s/4 hours" msgstr[0] "1 heure et quart" msgstr[1] "1 heure %(number)s/4" -#: ../roundup/date.py:727 +#: ../roundup/date.py:977 msgid "in a moment" msgstr "dans un instant" -#: ../roundup/date.py:729 +#: ../roundup/date.py:979 msgid "just now" msgstr "à l'instant" -#: ../roundup/date.py:732 +#: ../roundup/date.py:982 msgid "1 minute" msgstr "une minute" -#: ../roundup/date.py:735 +#: ../roundup/date.py:985 #, python-format msgid "%(number)s minute" msgid_plural "%(number)s minutes" msgstr[0] "%(number)s minute" msgstr[1] "%(number)s minutes" -#: ../roundup/date.py:738 +#: ../roundup/date.py:988 msgid "1/2 an hour" msgstr "une demi-heure" -#: ../roundup/date.py:740 +#: ../roundup/date.py:990 #, python-format msgid "%(number)s/4 hour" msgid_plural "%(number)s/4 hours" msgstr[0] "un quart d'heure" msgstr[1] "%(number)s/4 d'heures" -#: ../roundup/date.py:744 +#: ../roundup/date.py:994 #, python-format msgid "%s ago" msgstr "Il y a %s" -#: ../roundup/date.py:746 +#: ../roundup/date.py:996 #, python-format msgid "in %s" msgstr "dans %s" -#: ../roundup/init.py:134 +#: ../roundup/hyperdb.py:91 +#, fuzzy, python-format +msgid "property %s: %s" +msgstr "Erreur : %s: %s" + +#: ../roundup/hyperdb.py:113 +#, python-format +msgid "property %s: %r is an invalid date (%s)" +msgstr "" + +#: ../roundup/hyperdb.py:130 +#, python-format +msgid "property %s: %r is an invalid date interval (%s)" +msgstr "" + +#: ../roundup/hyperdb.py:260 +#, fuzzy, python-format +msgid "property %s: %r is not currently an element" +msgstr "" +"propriété « %(propname)s » : « %(value)s » n'est pas actuellement dans la " +"liste" + +#: ../roundup/hyperdb.py:314 +#, python-format +msgid "property %s: %r is not a number" +msgstr "" + +#: ../roundup/hyperdb.py:325 +#, python-format +msgid "property %s: %r is not an integer" +msgstr "" + +#: ../roundup/hyperdb.py:338 +#, python-format +msgid "\"%s\" not a node designator" +msgstr "" + +#: ../roundup/hyperdb.py:1163 ../roundup/hyperdb.py:1171 +#: ../roundup/hyperdb.py:1163:1171 +#, python-format +msgid "Not a property name: %s" +msgstr "" + +#: ../roundup/hyperdb.py:1570 +#, python-format +msgid "property %s: %r is not a %s." +msgstr "" + +#: ../roundup/hyperdb.py:1573 +#, python-format +msgid "you may only enter ID values for property %s" +msgstr "" + +#: ../roundup/hyperdb.py:1605 +#, python-format +msgid "%r is not a property of %s" +msgstr "" + +#: ../roundup/init.py:135 #, python-format msgid "" "WARNING: directory '%s'\n" @@ -1736,13 +2240,53 @@ "ATTENTION : le répertoire '%s'\n" "\tcontient des modèles obsolètes - ignoré" -#: ../roundup/mailgw.py:586 +#: ../roundup/mailgw.py:196 ../roundup/mailgw.py:209 +#: ../roundup/mailgw.py:196:209 +#, python-format +msgid "Message signed with unknown key: %s" +msgstr "" + +#: ../roundup/mailgw.py:199 +#, python-format +msgid "Message signed with an expired key: %s" +msgstr "" + +#: ../roundup/mailgw.py:202 +#, python-format +msgid "Message signed with a revoked key: %s" +msgstr "" + +#: ../roundup/mailgw.py:205 +msgid "Invalid PGP signature detected." +msgstr "" + +#: ../roundup/mailgw.py:211 +#, fuzzy +msgid "Unsigned Message" +msgstr "Nouveau message" + +#: ../roundup/mailgw.py:506 +msgid "Unknown multipart/encrypted version." +msgstr "" + +#: ../roundup/mailgw.py:515 +msgid "Unable to decrypt your message." +msgstr "" + +#: ../roundup/mailgw.py:545 +msgid "No PGP signature found in message." +msgstr "" + +#: ../roundup/mailgw.py:621 msgid "" "\n" "Emails to Roundup trackers must include a Subject: line!\n" -msgstr "\nLes courriels envoyés au gestionnaire de ticket doivent comporter un sujet !\n" - -#: ../roundup/mailgw.py:674 +msgstr "" +"\n" +"Les courriels envoyés au gestionnaire de ticket doivent comporter un " +"sujet !\n" + +#: ../roundup/mailgw.py:730 #, python-format msgid "" "\n" @@ -1772,13 +2316,12 @@ "\n" "Sujet original : '%(subject)s'\n" -#: ../roundup/mailgw.py:705 -#, python-format +#: ../roundup/mailgw.py:768 +#, fuzzy, python-format msgid "" "\n" -"The class name you identified in the subject line (\"%(classname)s\") does " -"not exist in the\n" -"database.\n" +"The class name you identified in the subject line (\"%(classname)s\") does\n" +"not exist in the database.\n" "\n" "Valid class names are: %(validname)s\n" "Subject was: \"%(subject)s\"\n" @@ -1790,12 +2333,42 @@ "Les noms de classes valides sont : %(validname)s\n" "Sujet original : « %(subject)s »\n" -#: ../roundup/mailgw.py:733 -#, python-format +#: ../roundup/mailgw.py:776 +#, fuzzy, python-format +msgid "" +"\n" +"You did not identify a class name in the subject line and there is no\n" +"default set for this tracker. The subject must contain a class name or\n" +"designator to indicate the 'topic' of the message. For example:\n" +" Subject: [issue] This is a new issue\n" +" - this will create a new issue in the tracker with the title 'This is\n" +" a new issue'.\n" +" Subject: [issue1234] This is a followup to issue 1234\n" +" - this will append the message's contents to the existing issue 1234\n" +" in the tracker.\n" +"\n" +"Subject was: '%(subject)s'\n" +msgstr "" +"\n" +"Le sujet du message que vous avez envoyé au gestionnaire de ticket n'était\n" +"pas correct. Le sujet doit contenir le nom d'une classe ou d'un objet. Par\n" +"exemple : \n" +" Sujet: [issue] Un nouveau ticket\n" +" - créera dans le gestionnaire un nouveau ticket dont le titre\n" +" sera « Un nouveau ticket ».\n" +"\n" +" Sujet: [issue1234] Réponse au ticket 1234\n" +" - ajoutera le corps du message au ticket 1234 déjà présent dans \n" +" le gestionnaire.\n" +"\n" +"Sujet original : '%(subject)s'\n" + +#: ../roundup/mailgw.py:814 +#, fuzzy, python-format msgid "" "\n" "I cannot match your message to a node in the database - you need to either\n" -"supply a full designator (with number, eg \"[issue123]\" or keep the\n" +"supply a full designator (with number, eg \"[issue123]\") or keep the\n" "previous subject title intact so I can match that.\n" "\n" "Subject was: \"%(subject)s\"\n" @@ -1808,7 +2381,7 @@ "\n" "Sujet original : « %(subject)s »\n" -#: ../roundup/mailgw.py:766 +#: ../roundup/mailgw.py:847 #, python-format msgid "" "\n" @@ -1823,39 +2396,11 @@ "\n" "Sujet original : « %(subject)s »\n" -#: ../roundup/mailgw.py:794 -#, python-format +#: ../roundup/mailgw.py:892 +#, fuzzy, python-format msgid "" "\n" -"The mail gateway is not properly set up. Please contact\n" -"%(mailadmin)s and have them fix the incorrect class specified as:\n" -" %(current_class)s\n" -msgstr "" -"\n" -"La passerelle courriel ne fonctionne pas correctement. Contactez\n" -"%(mailadmin)s afin qu'il corrige la classe incorrecte qui a été\n" -"indiquée comme : \n" -" %(current_class)s\n" - -#: ../roundup/mailgw.py:817 -#, python-format -msgid "" -"\n" -"The mail gateway is not properly set up. Please contact\n" -"%(mailadmin)s and have them fix the incorrect properties:\n" -" %(errors)s\n" -msgstr "" -"\n" -"La passerelle courriel ne fonctionne pas correctement. Contactez\n" -"%(mailadmin)s afin que les propriétés incorrectes suivantes soient\n" -"corrigés :\n" -" %(errors)s\n" - -#: ../roundup/mailgw.py:847 -#, python-format -msgid "" -"\n" -"You are not a registered user.\n" +"You are not a registered user.%(registration_info)s\n" "\n" "Unknown address: %(from_address)s\n" msgstr "" @@ -1864,21 +2409,21 @@ "\n" "Addresse inconnue : %(from_address)s\n" -#: ../roundup/mailgw.py:855 +#: ../roundup/mailgw.py:900 msgid "You are not permitted to access this tracker." msgstr "Vous n'êtes pas autorisé à accéder à ce pisteur." -#: ../roundup/mailgw.py:862 +#: ../roundup/mailgw.py:911 #, python-format msgid "You are not permitted to edit %(classname)s." msgstr "Vous n'avez pas la permission de modifier %(classname)s" -#: ../roundup/mailgw.py:866 +#: ../roundup/mailgw.py:917 #, python-format msgid "You are not permitted to create %(classname)s." msgstr "Vous n'avez pas la permission de créer %(classname)s" -#: ../roundup/mailgw.py:913 +#: ../roundup/mailgw.py:998 #, python-format msgid "" "\n" @@ -1893,32 +2438,44 @@ "\n" "Le sujet était « %(subject)s »\n" -#: ../roundup/mailgw.py:942 +#: ../roundup/mailgw.py:1051 +msgid "This tracker has been configured to require all email be PGP encrypted." +msgstr "" + +#: ../roundup/mailgw.py:1088 +msgid "" +"\n" +"This tracker has been configured to require all email be PGP signed or\n" +"encrypted." +msgstr "" + +#: ../roundup/mailgw.py:1119 +msgid "You are not permitted to create files." +msgstr "Vous n'êtes pas autorisé à créer des fichiers." + +#: ../roundup/mailgw.py:1133 +#, python-format +msgid "You are not permitted to add files to %(classname)s." +msgstr "" +"Vous n'avez pas la permission d'ajouter des fichiers à la classe " +"%(classname)s." + +#: ../roundup/mailgw.py:1162 msgid "" "\n" "Roundup requires the submission to be plain text. The message parser could\n" "not find a text/plain part to use.\n" msgstr "" "\n" -"Le message soumis doit être en texte brut. L'analyse du message n'a pas trouvé\n" +"Le message soumis doit être en texte brut. L'analyse du message n'a pas " +"trouvé\n" "de partie text/plain à utiliser.\n" -#: ../roundup/mailgw.py:964 -msgid "You are not permitted to create files." -msgstr "Vous n'êtes pas autorisé à créer des fichiers." - -#: ../roundup/mailgw.py:978 -#, python-format -msgid "You are not permitted to add files to %(classname)s." -msgstr "" -"Vous n'avez pas la permission d'ajouter des fichiers à la classe %(classname)" -"s." - -#: ../roundup/mailgw.py:996 +#: ../roundup/mailgw.py:1173 msgid "You are not permitted to create messages." msgstr "Vous n'avez pas la permission de créer des messages." -#: ../roundup/mailgw.py:1004 +#: ../roundup/mailgw.py:1181 #, python-format msgid "" "\n" @@ -1929,19 +2486,26 @@ "Le message a été rejeté par un détecteur.\n" "%(error)s\n" -#: ../roundup/mailgw.py:1012 +#: ../roundup/mailgw.py:1189 #, python-format msgid "You are not permitted to add messages to %(classname)s." msgstr "Vous n'avez pas la permission d'ajouter des messages à %(classname)s." -#: ../roundup/mailgw.py:1039 +#: ../roundup/mailgw.py:1211 #, python-format msgid "You are not permitted to edit property %(prop)s of class %(classname)s." msgstr "" "Vous n'avez pas la permission de modifier la propriété %(prop)s de la classe " "%(classname)s." -#: ../roundup/mailgw.py:1047 +#: ../roundup/mailgw.py:1220 +#, fuzzy, python-format +msgid "You are not permitted to set property %(prop)s of class %(classname)s." +msgstr "" +"Vous n'avez pas la permission de modifier la propriété %(prop)s de la classe " +"%(classname)s." + +#: ../roundup/mailgw.py:1226 #, python-format msgid "" "\n" @@ -1952,98 +2516,155 @@ "Un problème a eu lieu à l'envoi de votre message :\n" " %(message)s\n" -#: ../roundup/mailgw.py:1069 +#: ../roundup/mailgw.py:1674 +#, fuzzy, python-format +msgid "" +"\n" +"The mail gateway is not properly set up. Please contact\n" +"%(mailadmin)s and have them fix the incorrect class specified as:\n" +" %(clsname)s\n" +msgstr "" +"\n" +"La passerelle courriel ne fonctionne pas correctement. Contactez\n" +"%(mailadmin)s afin qu'il corrige la classe incorrecte qui a été\n" +"indiquée comme : \n" +" %(current_class)s\n" + +#: ../roundup/mailgw.py:1705 +#, python-format +msgid "" +"\n" +"The mail gateway is not properly set up. Please contact\n" +"%(mailadmin)s and have them fix the incorrect properties:\n" +" %(errors)s\n" +msgstr "" +"\n" +"La passerelle courriel ne fonctionne pas correctement. Contactez\n" +"%(mailadmin)s afin que les propriétés incorrectes suivantes soient\n" +"corrigés :\n" +" %(errors)s\n" + +#: ../roundup/mailgw.py:1726 msgid "not of form [arg=value,value,...;arg=value,value,...]" msgstr "pas de la forme [arg=value,value,...;arg=value,value,...]" -#: ../roundup/roundupdb.py:142 +#: ../roundup/roundupdb.py:209 msgid "files" msgstr "fichiers" -#: ../roundup/roundupdb.py:142 +#: ../roundup/roundupdb.py:209 msgid "messages" msgstr "messages" -#: ../roundup/roundupdb.py:142 +#: ../roundup/roundupdb.py:209 msgid "nosy" msgstr "curieux" -#: ../roundup/roundupdb.py:142 +#: ../roundup/roundupdb.py:209 msgid "superseder" msgstr "remplaçant" -#: ../roundup/roundupdb.py:142 +#: ../roundup/roundupdb.py:209 msgid "title" msgstr "titre" -#: ../roundup/roundupdb.py:143 +#: ../roundup/roundupdb.py:210 msgid "assignedto" msgstr "affecté_à" -#: ../roundup/roundupdb.py:143 +#: ../roundup/roundupdb.py:210 +#, fuzzy +msgid "keyword" +msgstr "Mot-clé" + +#: ../roundup/roundupdb.py:210 msgid "priority" msgstr "priorité" -#: ../roundup/roundupdb.py:143 +#: ../roundup/roundupdb.py:210 msgid "status" msgstr "état" -#: ../roundup/roundupdb.py:143 -msgid "topic" -msgstr "sujet" - -#: ../roundup/roundupdb.py:146 +#: ../roundup/roundupdb.py:213 msgid "activity" msgstr "activité" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:146 +#: ../roundup/roundupdb.py:213 msgid "actor" msgstr "acteur" -#: ../roundup/roundupdb.py:146 +#: ../roundup/roundupdb.py:213 msgid "creation" msgstr "création" -#: ../roundup/roundupdb.py:146 +#: ../roundup/roundupdb.py:213 msgid "creator" msgstr "créateur" -#: ../roundup/roundupdb.py:304 +#: ../roundup/roundupdb.py:387 +#, python-format +msgid "No key for \"%(adr)s\" in keyring" +msgstr "" + +#: ../roundup/roundupdb.py:457 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Nouvel envoi de %(authname)s%(authaddr)s :" -#: ../roundup/roundupdb.py:307 +#: ../roundup/roundupdb.py:460 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s a ajouté le commentaire :" -#: ../roundup/roundupdb.py:310 -msgid "System message:" -msgstr "Message système :" - -#: ../roundup/scripts/roundup_demo.py:32 +#: ../roundup/roundupdb.py:463 +#, fuzzy, python-format +msgid "Change by %(authname)s%(authaddr)s:" +msgstr "Nouvel envoi de %(authname)s%(authaddr)s :" + +#: ../roundup/roundupdb.py:482 +#, python-format +msgid "File '%(filename)s' not attached - you can download it from %(link)s." +msgstr "" + +#: ../roundup/roundupdb.py:841 +#, python-format +msgid "" +"\n" +"Now:\n" +"%(new)s\n" +"Was:\n" +"%(old)s" +msgstr "" + +#: ../roundup/scripts/roundup_demo.py:47 #, python-format msgid "Enter directory path to create demo tracker [%s]: " -msgstr "Saisissez le chemin du répertoire où créer le pisteur de démonstration [%s] : " - -#: ../roundup/scripts/roundup_gettext.py:22 +msgstr "" +"Saisissez le chemin du répertoire où créer le pisteur de démonstration " +"[%s] : " + +#: ../roundup/scripts/roundup_demo.py:52 +#, python-format +msgid "Enter tracker template to use (one of (%s)) [%s]: " +msgstr "" + +#: ../roundup/scripts/roundup_gettext.py:33 #, python-format msgid "Usage: %(program)s <tracker home>" msgstr "Utilisation : %(program)s <répertoire du pisteur>" -#: ../roundup/scripts/roundup_gettext.py:37 +#: ../roundup/scripts/roundup_gettext.py:48 #, python-format msgid "No tracker templates found in directory %s" msgstr "Aucun modèle de pisteur dans le répertoire %s" -#: ../roundup/scripts/roundup_mailgw.py:36 -#, python-format +#: ../roundup/scripts/roundup_mailgw.py:48 +#, fuzzy, python-format msgid "" -"Usage: %(program)s [-v] [-c] [[-C class] -S field=value]* <instance home> " -"[method]\n" +"Usage: %(program)s [-v] [-c class] [[-C class] -S field=value]* [instance " +"home] [mail source [specification]]\n" "\n" "Options:\n" " -v: print version and exit\n" @@ -2051,11 +2672,11 @@ "MAIL_DEFAULT_CLASS)\n" " -C / -S: see below\n" "\n" -"The roundup mail gateway may be called in one of four ways:\n" +"The roundup mail gateway may be called in one of the following ways:\n" +" . without arguments. Then the env var ROUNDUP_INSTANCE will be tried.\n" " . with an instance home as the only argument,\n" " . with both an instance home and a mail spool file,\n" -" . with both an instance home and a POP/APOP server account, or\n" -" . with both an instance home and a IMAP/IMAPS server account.\n" +" . with an instance home, a mail source type and its specification.\n" "\n" "It also supports optional -C and -S arguments that allows you to set a\n" "fields for a class created by the roundup-mailgw. The default class if\n" @@ -2068,26 +2689,38 @@ "It can let you set the type of the message on a per email address basis.\n" "\n" "PIPE:\n" -" In the first case, the mail gateway reads a single message from the\n" -" standard input and submits the message to the roundup.mailgw module.\n" +" If there is no mail source specified,\n" +" the mail gateway reads a single message from the standard input\n" +" and submits the message to the roundup.mailgw module.\n" "\n" -"UNIX mailbox:\n" -" In the second case, the gateway reads all messages from the mail spool\n" +"Mail source \"mailbox\":\n" +" In this case, the gateway reads all messages from the UNIX mail spool\n" " file and submits each in turn to the roundup.mailgw module. The file is\n" " emptied once all messages have been successfully handled. The file is\n" " specified as:\n" " mailbox /path/to/mailbox\n" "\n" +"In all of the following mail source type the username and password\n" +"can be stored in a ~/.netrc file. If done so case only the server name\n" +"need to be specified on the command-line.\n" +"\n" +"The username and/or password will be prompted for if not supplied on\n" +"the command-line or in ~/.netrc.\n" +"\n" "POP:\n" -" In the third case, the gateway reads all messages from the POP server\n" +" For the mail source \"pop\", the gateway reads all messages from the POP " +"server\n" " specified and submits each in turn to the roundup.mailgw module. The\n" " server is specified as:\n" " pop username:password@server\n" -" The username and password may be omitted:\n" +" Alternatively, one can omit one or both of username and password:\n" " pop username@server\n" " pop server\n" -" are both valid. The username and/or password will be prompted for if\n" -" not supplied on the command-line.\n" +" are both valid.\n" +"\n" +"POPS:\n" +" Connect to a POP server over ssl. This requires python 2.4 or later.\n" +" This supports the same notation as POP.\n" "\n" "APOP:\n" " Same as POP, but using Authenticated POP:\n" @@ -2106,18 +2739,27 @@ " This supports the same notation as IMAP.\n" " imaps username:password@server [mailbox]\n" "\n" +"IMAPS_CRAM:\n" +" Connect to an IMAP server over ssl using CRAM-MD5 authentication.\n" +" This supports the same notation as IMAP.\n" +" imaps_cram username:password@server [mailbox]\n" +"\n" msgstr "" -"Utilisation : %(program)s [-v] [[-C classe] -S champ=valeur]* <base de l'instance> [méthode]\n" +"Utilisation : %(program)s [-v] [[-C classe] -S champ=valeur]* <base de " +"l'instance> [méthode]\n" "\n" "Options :\n" " -v : imprime la version et quitte.\n" -" -c : classe de l'élement à créer (par défaut, la classe MAIL_DEFAULT_CLASS).\n" +" -c : classe de l'élement à créer (par défaut, la classe " +"MAIL_DEFAULT_CLASS).\n" " -C / -S : voir ci-dessous.\n" "\n" "La passerelle de messagerie de Roundup peut être appelée de quatre façons :\n" " . avec le répertoire de base d'une instance comme seul argument,\n" -" . avec à la fois un répertoire de base et un fichier d'attente de messagerie,\n" -" . avec à la fois un répertoire de base et un compte de serveur POP/APOP, ou\n" +" . avec à la fois un répertoire de base et un fichier d'attente de " +"messagerie,\n" +" . avec à la fois un répertoire de base et un compte de serveur POP/APOP, " +"ou\n" " . avec à la fois un répertoire de base et un compte de serveur IMAP/IMAPS.\n" "\n" "Elle accepte également les options -C et -S qui vous permettent\n" @@ -2133,7 +2775,8 @@ "adresse de messagerie.\n" "\n" "PIPE :\n" -" Dans le premier cas, la passerelle de messagerie lit un seul message venant\n" +" Dans le premier cas, la passerelle de messagerie lit un seul message " +"venant\n" " de l'entrée standard et le soumet au module roundup.mailgw.\n" "\n" "UNIX mailbox :\n" @@ -2173,25 +2816,34 @@ " imaps nom-d'utilisateur:mot-de-passe@serveur [boîte-aux-lettres]\n" "\n" -#: ../roundup/scripts/roundup_mailgw.py:147 +#: ../roundup/scripts/roundup_mailgw.py:170 msgid "Error: not enough source specification information" -msgstr "Erreur : pas suffisament d'informations dans la spécification de la source" - -#: ../roundup/scripts/roundup_mailgw.py:163 -msgid "Error: pop specification not valid" +msgstr "" +"Erreur : pas suffisament d'informations dans la spécification de la source" + +#: ../roundup/scripts/roundup_mailgw.py:199 +#, fuzzy, python-format +msgid "Error: %s specification not valid" msgstr "Erreur : la spécification pop n'est pas valide" -#: ../roundup/scripts/roundup_mailgw.py:170 -msgid "Error: apop specification not valid" -msgstr "Erreur : la spécification apop n'est pas valide" - -#: ../roundup/scripts/roundup_mailgw.py:184 +#: ../roundup/scripts/roundup_mailgw.py:205 +msgid "Error: a later version of python is required" +msgstr "" + +#: ../roundup/scripts/roundup_mailgw.py:221 +#, fuzzy msgid "" -"Error: The source must be either \"mailbox\", \"pop\", \"apop\", \"imap\" or " -"\"imaps\"" -msgstr "Erreur : la source doit être « mailbox », « pop », « apop », « imap » ou « imaps »" - -#: ../roundup/scripts/roundup_server.py:157 +"Error: The source must be either \"mailbox\", \"pop\", \"pops\", \"apop\", " +"\"imap\", \"imaps\" or \"imaps_cram" +msgstr "" +"Erreur : la source doit être « mailbox », « pop », « apop », « imap » ou " +"« imaps »" + +#: ../roundup/scripts/roundup_server.py:90 +msgid "WARNING: generating temporary SSL certificate" +msgstr "" + +#: ../roundup/scripts/roundup_server.py:270 msgid "" "<html><head><title>Roundup trackers index</title></head>\n" "<body><h1>Roundup trackers index</h1><ol>\n" @@ -2199,56 +2851,58 @@ "<html><head><title>Index des pisteurs Roundup</title></head>\n" "<body><h1>Index des pisteurs Roundup</h1><ol>\n" -#: ../roundup/scripts/roundup_server.py:287 +#: ../roundup/scripts/roundup_server.py:465 #, python-format msgid "Error: %s: %s" msgstr "Erreur : %s: %s" -#: ../roundup/scripts/roundup_server.py:297 +#: ../roundup/scripts/roundup_server.py:475 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:303 +msgstr "" +"ATTENTION : le paramètre « -g » est ignoré, vous n'êtes pas superutilisateur " +"(« root »)" + +#: ../roundup/scripts/roundup_server.py:481 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:312 +#: ../roundup/scripts/roundup_server.py:490 #, python-format msgid "Group %(group)s doesn't exist" msgstr "Le groupe %(group)s n'existe pas" -#: ../roundup/scripts/roundup_server.py:323 +#: ../roundup/scripts/roundup_server.py:501 msgid "Can't run as root!" msgstr "Impossible d'exécuter en tant que superutilisateur (\"root\")" -#: ../roundup/scripts/roundup_server.py:326 +#: ../roundup/scripts/roundup_server.py:504 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:331 +#: ../roundup/scripts/roundup_server.py:510 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:340 +#: ../roundup/scripts/roundup_server.py:519 #, python-format msgid "User %(user)s doesn't exist" msgstr "L'utilisateur %(user)s n'existe pas" -#: ../roundup/scripts/roundup_server.py:471 +#: ../roundup/scripts/roundup_server.py:700 #, 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:494 +#: ../roundup/scripts/roundup_server.py:728 #, 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:562 +#: ../roundup/scripts/roundup_server.py:796 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2267,7 +2921,7 @@ " La commande « roundup-server -c help » donne les\n" " spécificités du service Windows." -#: ../roundup/scripts/roundup_server.py:569 +#: ../roundup/scripts/roundup_server.py:803 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2286,8 +2940,8 @@ "PID\n" " L'option -l option *doit* être spécifiée si -d est utilisé." -#: ../roundup/scripts/roundup_server.py:576 -#, python-format +#: ../roundup/scripts/roundup_server.py:810 +#, fuzzy, python-format msgid "" "%(message)sUsage: roundup-server [options] [name=tracker home]*\n" "\n" @@ -2296,11 +2950,18 @@ " -h print this text and exit\n" " -S create or update configuration file and exit\n" " -C <fname> use configuration file <fname>\n" -" -n <name> set the host name of the Roundup web server instance\n" +" -n <name> set the host name of the Roundup web server instance,\n" +" specifies on which network interfaces to listen for\n" +" connections, defaults to localhost, use 0.0.0.0 to bind\n" +" to all network interfaces\n" " -p <port> set the port to listen on (default: %(port)s)\n" " -l <fname> log to the file indicated by fname instead of stderr/stdout\n" " -N log client machine names instead of IP addresses (much " "slower)\n" +" -i <fname> set tracker index template\n" +" -s enable SSL\n" +" -L http request logging uses python logging (roundup.http)\n" +" -e <fname> PEM file containing SSL key and certificate\n" " -t <mode> multiprocess mode (default: %(mp_def)s).\n" " Allowed values: %(mp_types)s.\n" "%(os_part)s\n" @@ -2361,7 +3022,8 @@ "Options longues :\n" " --version affiche le numéro de version Roundup et quitte\n" " --help affiche ce texte et quitte\n" -" --save-config crée ou met à jour le fichier de configuration et quitte\n" +" --save-config crée ou met à jour le fichier de configuration et " +"quitte\n" " --config <fichier> utilise le fichier de configuration <fichier>\n" "\n" "Exemples :\n" @@ -2394,38 +3056,38 @@ " 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:723 +#: ../roundup/scripts/roundup_server.py:968 msgid "Instances must be name=home" msgstr "Les instances doivent être nom=base-du-pisteur" -#: ../roundup/scripts/roundup_server.py:737 +#: ../roundup/scripts/roundup_server.py:982 #, python-format msgid "Configuration saved to %s" msgstr "Configuration sauvegardée dans %s" -#: ../roundup/scripts/roundup_server.py:755 +#: ../roundup/scripts/roundup_server.py:1000 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:767 +#: ../roundup/scripts/roundup_server.py:1015 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Le serveur Roundup est démarré sur %(HOST)s:%(PORT)s" -#: ../templates/classic/html/_generic.collision.html:4 -#: ../templates/minimal/html/_generic.collision.html:4 +#: ../share/roundup/templates/classic/html/_generic.collision.html:4 +#: ../share/roundup/templates/minimal/html/_generic.collision.html:4 msgid "${class} Edit Collision - ${tracker}" msgstr "Modification des collisions pour ${class} - ${tracker}" -#: ../templates/classic/html/_generic.collision.html:7 -#: ../templates/minimal/html/_generic.collision.html:7 +#: ../share/roundup/templates/classic/html/_generic.collision.html:7 +#: ../share/roundup/templates/minimal/html/_generic.collision.html:7 msgid "${class} Edit Collision" msgstr "Modification des collisions pour ${class}" -#: ../templates/classic/html/_generic.collision.html:14 -#: ../templates/minimal/html/_generic.collision.html:14 +#: ../share/roundup/templates/classic/html/_generic.collision.html:14 +#: ../share/roundup/templates/minimal/html/_generic.collision.html:14 msgid "" "\n" " There has been a collision. Another user updated this node\n" @@ -2438,71 +3100,109 @@ " modifier. Veuillez <a href='${context}'>actualiser</a> ce noeud et\n" " vérifier vos modifications.\n" -#: ../templates/classic/html/_generic.help.html:9 -#: ../templates/minimal/html/_generic.help.html:9 -msgid "${property} help - ${tracker}" -msgstr "Aide à propos de « ${property} » - ${tracker}" - -#: ../templates/classic/html/_generic.help.html:31 -#: ../templates/minimal/html/_generic.help.html:31 +#: ../share/roundup/templates/classic/html/_generic.help-empty.html:6 +msgid "Please specify your search parameters!" +msgstr "" + +#: ../share/roundup/templates/classic/html/_generic.help-list.html:20 +#: ../share/roundup/templates/classic/html/_generic.index.html:14 +#: ../share/roundup/templates/classic/html/_generic.item.html:12 +#: ../share/roundup/templates/classic/html/file.item.html:9 +#: ../share/roundup/templates/classic/html/issue.index.html:15 +#: ../share/roundup/templates/classic/html/issue.item.html:28 +#: ../share/roundup/templates/classic/html/msg.item.html:26 +#: ../share/roundup/templates/classic/html/user.index.html:9 +#: ../share/roundup/templates/classic/html/user.item.html:35 +#: ../share/roundup/templates/minimal/html/_generic.index.html:14 +#: ../share/roundup/templates/minimal/html/_generic.item.html:12 +#: ../share/roundup/templates/minimal/html/user.index.html:9 +#: ../share/roundup/templates/minimal/html/user.item.html:34 +#: ../share/roundup/templates/minimal/html/user.register.html:14 +msgid "You are not allowed to view this page." +msgstr "Vous n'êtes pas autorisé à voir cette page." + +#: ../share/roundup/templates/classic/html/_generic.help-list.html:34 +msgid "1..25 out of 50" +msgstr "" + +#: ../share/roundup/templates/classic/html/_generic.help-search.html:9 +msgid "" +"Generic template ${template} or version for class ${classname} is not yet " +"implemented" +msgstr "" + +#: ../share/roundup/templates/classic/html/_generic.help-submit.html:57 +#: ../share/roundup/templates/classic/html/_generic.help.html:31 +#: ../share/roundup/templates/minimal/html/_generic.help.html:31 msgid " Cancel " msgstr " Annuler " -#: ../templates/classic/html/_generic.help.html:34 -#: ../templates/minimal/html/_generic.help.html:34 +#: ../share/roundup/templates/classic/html/_generic.help-submit.html:63 +#: ../share/roundup/templates/classic/html/_generic.help.html:34 +#: ../share/roundup/templates/minimal/html/_generic.help.html:34 msgid " Apply " msgstr " Appliquer " -#: ../templates/classic/html/_generic.help.html:41 -#: ../templates/classic/html/issue.index.html:73 -#: ../templates/minimal/html/_generic.help.html:41 +#: ../share/roundup/templates/classic/html/_generic.help.html:9 +#: ../share/roundup/templates/classic/html/user.help.html:13 +#: ../share/roundup/templates/minimal/html/_generic.help.html:9 +msgid "${property} help - ${tracker}" +msgstr "Aide à propos de « ${property} » - ${tracker}" + +#: ../share/roundup/templates/classic/html/_generic.help.html:41 +#: ../share/roundup/templates/classic/html/help.html:21 +#: ../share/roundup/templates/classic/html/issue.index.html:80 +#: ../share/roundup/templates/minimal/html/_generic.help.html:41 msgid "<< previous" msgstr "<< précédents" -#: ../templates/classic/html/_generic.help.html:53 -#: ../templates/classic/html/issue.index.html:81 -#: ../templates/minimal/html/_generic.help.html:53 +#: ../share/roundup/templates/classic/html/_generic.help.html:53 +#: ../share/roundup/templates/classic/html/help.html:28 +#: ../share/roundup/templates/classic/html/issue.index.html:88 +#: ../share/roundup/templates/minimal/html/_generic.help.html:53 msgid "${start}..${end} out of ${total}" msgstr "${start}..${end} sur ${total}" -#: ../templates/classic/html/_generic.help.html:57 -#: ../templates/classic/html/issue.index.html:84 -#: ../templates/minimal/html/_generic.help.html:57 +#: ../share/roundup/templates/classic/html/_generic.help.html:57 +#: ../share/roundup/templates/classic/html/help.html:32 +#: ../share/roundup/templates/classic/html/issue.index.html:91 +#: ../share/roundup/templates/minimal/html/_generic.help.html:57 msgid "next >>" msgstr "suivants >>" -#: ../templates/classic/html/_generic.index.html:6 -#: ../templates/classic/html/_generic.item.html:4 -#: ../templates/minimal/html/_generic.index.html:6 -#: ../templates/minimal/html/_generic.item.html:4 +#: ../share/roundup/templates/classic/html/_generic.index.html:6 +#: ../share/roundup/templates/classic/html/_generic.item.html:4 +#: ../share/roundup/templates/minimal/html/_generic.index.html:6 +#: ../share/roundup/templates/minimal/html/_generic.item.html:4 msgid "${class} editing - ${tracker}" msgstr "Modification de ${class} - ${tracker}" -#: ../templates/classic/html/_generic.index.html:9 -#: ../templates/classic/html/_generic.item.html:7 -#: ../templates/minimal/html/_generic.index.html:9 -#: ../templates/minimal/html/_generic.item.html:7 +#: ../share/roundup/templates/classic/html/_generic.index.html:9 +#: ../share/roundup/templates/classic/html/_generic.item.html:7 +#: ../share/roundup/templates/minimal/html/_generic.index.html:9 +#: ../share/roundup/templates/minimal/html/_generic.item.html:7 msgid "${class} editing" msgstr "Modification de ${class}" -#: ../templates/classic/html/_generic.index.html:14 -#: ../templates/classic/html/_generic.item.html:12 -#: ../templates/classic/html/file.item.html:9 -#: ../templates/classic/html/issue.index.html:16 -#: ../templates/classic/html/issue.item.html:28 -#: ../templates/classic/html/msg.item.html:26 -#: ../templates/classic/html/user.index.html:9 -#: ../templates/classic/html/user.item.html:28 -#: ../templates/minimal/html/_generic.index.html:14 -#: ../templates/minimal/html/_generic.item.html:12 -#: ../templates/minimal/html/user.index.html:9 -#: ../templates/minimal/html/user.item.html:28 -#: ../templates/minimal/html/user.register.html:14 -msgid "You are not allowed to view this page." -msgstr "Vous n'êtes pas autorisé à voir cette page." - -#: ../templates/classic/html/_generic.index.html:22 -#: ../templates/minimal/html/_generic.index.html:22 +#: ../share/roundup/templates/classic/html/_generic.index.html:19 +#: ../share/roundup/templates/classic/html/_generic.item.html:16 +#: ../share/roundup/templates/classic/html/file.item.html:13 +#: ../share/roundup/templates/classic/html/issue.index.html:19 +#: ../share/roundup/templates/classic/html/issue.item.html:32 +#: ../share/roundup/templates/classic/html/msg.item.html:30 +#: ../share/roundup/templates/classic/html/user.index.html:13 +#: ../share/roundup/templates/classic/html/user.item.html:39 +#: ../share/roundup/templates/minimal/html/_generic.index.html:19 +#: ../share/roundup/templates/minimal/html/_generic.item.html:16 +#: ../share/roundup/templates/minimal/html/user.index.html:13 +#: ../share/roundup/templates/minimal/html/user.item.html:38 +#: ../share/roundup/templates/minimal/html/user.register.html:17 +msgid "Please login with your username and password." +msgstr "" + +#: ../share/roundup/templates/classic/html/_generic.index.html:28 +#: ../share/roundup/templates/minimal/html/_generic.index.html:28 +#, fuzzy msgid "" "<p class=\"form-help\"> You may edit the contents of the ${classname} class " "using this form. Commas, newlines and double quotes (\") must be handled " @@ -2511,206 +3211,225 @@ "(\"\"). </p> <p class=\"form-help\"> Multilink properties have their " "multiple values colon (\":\") separated (... ,\"one:two:three\", ...) </p> " "<p class=\"form-help\"> Remove entries by deleting their line. Add new " -"entries by appending them to the table - put an X in the id column. </p>" -msgstr "<p class=\"form-help\"> Vous pouvez modifier le contenu de la classe ${classname} en utilisant ce formulaire. Les virgules, passages à la ligne guillemets doubles (\") doivent être gérés soigneusement. Vous pouvez insérer des virgules et des passage à la ligne en insérant les valeurs dans des guillemets doubles (\"). Les guillemets doubles eux-mêmes doivent être insérés en les doublant (\"\").</p><p class=\"form-help\">Les propriétés des liens multiples doivent séparer leurs valeurs multiples par des double-points « : » (... , \"un:deux:trois\", ...) </p><p class=\"form-help\"> Enlevez des entrées en effaçant leur ligne. Ajoutez de nouvelles entrées en les ajoutant à la fin de la table - mettez un « X » dans la colonne « id ».</p>" - -#: ../templates/classic/html/_generic.index.html:44 -#: ../templates/minimal/html/_generic.index.html:44 +"entries by appending them to the table - put an X in the id column. If you " +"wish to restore a removed item and you know its id then just put that id in " +"the id column. </p>" +msgstr "" +"<p class=\"form-help\"> Vous pouvez modifier le contenu de la classe " +"${classname} en utilisant ce formulaire. Les virgules, passages à la " +"ligne guillemets doubles (\") doivent être gérés " +"soigneusement. Vous pouvez insérer des virgules et des passage " +"à la ligne en insérant les valeurs dans des guillemets doubles " +"(\"). Les guillemets doubles eux-mêmes doivent être insé" +"rés en les doublant (\"\").</p><p class=\"form-help\">Les " +"propriétés des liens multiples doivent séparer leurs " +"valeurs multiples par des double-points « : » (... , \"un:deux:trois\", ...) " +"</p><p class=\"form-help\"> Enlevez des entrées en effaçant " +"leur ligne. Ajoutez de nouvelles entrées en les ajoutant à la " +"fin de la table - mettez un « X » dans la colonne « id ».</p>" + +#: ../share/roundup/templates/classic/html/_generic.index.html:53 +#: ../share/roundup/templates/minimal/html/_generic.index.html:53 msgid "Edit Items" msgstr "Modifier des éléments" -#: ../templates/classic/html/file.index.html:4 +#: ../share/roundup/templates/classic/html/_generic.item.html:51 +#: ../share/roundup/templates/minimal/html/_generic.item.html:51 +msgid "" +"Showing 10 items. <a href=\"\">Show all history</a> (warning: this could be " +"VERY long)" +msgstr "" + +#: ../share/roundup/templates/classic/html/file.index.html:4 msgid "List of files - ${tracker}" msgstr "Liste des fichiers - ${tracker}s" -#: ../templates/classic/html/file.index.html:5 +#: ../share/roundup/templates/classic/html/file.index.html:5 msgid "List of files" msgstr "Liste des fichiers" -#: ../templates/classic/html/file.index.html:10 +#: ../share/roundup/templates/classic/html/file.index.html:10 msgid "Download" msgstr "Télécharger" -#: ../templates/classic/html/file.index.html:11 -#: ../templates/classic/html/file.item.html:22 +#: ../share/roundup/templates/classic/html/file.index.html:11 +#: ../share/roundup/templates/classic/html/file.item.html:27 msgid "Content Type" msgstr "Type de contenu" -#: ../templates/classic/html/file.index.html:12 +#: ../share/roundup/templates/classic/html/file.index.html:12 msgid "Uploaded By" msgstr "Téléchargé par" -#: ../templates/classic/html/file.index.html:13 -#: ../templates/classic/html/msg.item.html:43 +#: ../share/roundup/templates/classic/html/file.index.html:13 +#: ../share/roundup/templates/classic/html/msg.item.html:48 msgid "Date" msgstr "Date" -#: ../templates/classic/html/file.item.html:2 +#: ../share/roundup/templates/classic/html/file.item.html:2 msgid "File display - ${tracker}" msgstr "Affichage de fichier - ${tracker}" -#: ../templates/classic/html/file.item.html:4 +#: ../share/roundup/templates/classic/html/file.item.html:4 msgid "File display" msgstr "Affichage de fichier" -#: ../templates/classic/html/file.item.html:18 -#: ../templates/classic/html/user.item.html:39 -#: ../templates/classic/html/user.register.html:17 +#: ../share/roundup/templates/classic/html/file.item.html:23 +#: ../share/roundup/templates/classic/html/user.register.html:17 msgid "Name" msgstr "Nom" -#: ../templates/classic/html/file.item.html:40 +#: ../share/roundup/templates/classic/html/file.item.html:45 msgid "download" msgstr "téléchargement" -#: ../templates/classic/html/home.classlist.html:2 -#: ../templates/minimal/html/home.classlist.html:2 +#: ../share/roundup/templates/classic/html/home.classlist.html:2 +#: ../share/roundup/templates/minimal/html/home.classlist.html:2 msgid "List of classes - ${tracker}" msgstr "Liste des classes - ${tracker}" -#: ../templates/classic/html/home.classlist.html:4 -#: ../templates/minimal/html/home.classlist.html:4 +#: ../share/roundup/templates/classic/html/home.classlist.html:4 +#: ../share/roundup/templates/minimal/html/home.classlist.html:4 msgid "List of classes" msgstr "Liste des classes" -#: ../templates/classic/html/issue.index.html:7 -msgid "List of issues - ${tracker}" -msgstr "Liste des anomalies - ${tracker}" - -#: ../templates/classic/html/issue.index.html:11 +#: ../share/roundup/templates/classic/html/issue.index.html:3 +#: ../share/roundup/templates/classic/html/issue.index.html:9 msgid "List of issues" msgstr "Liste des anomalies" -#: ../templates/classic/html/issue.index.html:22 -#: ../templates/classic/html/issue.item.html:44 +#: ../share/roundup/templates/classic/html/issue.index.html:26 +#: ../share/roundup/templates/classic/html/issue.item.html:49 msgid "Priority" msgstr "Priorité" -#: ../templates/classic/html/issue.index.html:23 +#: ../share/roundup/templates/classic/html/issue.index.html:27 msgid "ID" msgstr "ID" -#: ../templates/classic/html/issue.index.html:24 +#: ../share/roundup/templates/classic/html/issue.index.html:28 msgid "Creation" msgstr "Création" -#: ../templates/classic/html/issue.index.html:25 +#: ../share/roundup/templates/classic/html/issue.index.html:29 msgid "Activity" msgstr "Activité" -#: ../templates/classic/html/issue.index.html:26 +#: ../share/roundup/templates/classic/html/issue.index.html:30 msgid "Actor" msgstr "Acteur" -#: ../templates/classic/html/issue.index.html:27 -msgid "Topic" -msgstr "Sujet" - -#: ../templates/classic/html/issue.index.html:28 -#: ../templates/classic/html/issue.item.html:39 +#: ../share/roundup/templates/classic/html/issue.index.html:31 +#: ../share/roundup/templates/classic/html/keyword.item.html:37 +msgid "Keyword" +msgstr "Mot-clé" + +#: ../share/roundup/templates/classic/html/issue.index.html:32 +#: ../share/roundup/templates/classic/html/issue.item.html:44 msgid "Title" msgstr "Titre" -#: ../templates/classic/html/issue.index.html:29 -#: ../templates/classic/html/issue.item.html:46 +#: ../share/roundup/templates/classic/html/issue.index.html:33 +#: ../share/roundup/templates/classic/html/issue.item.html:51 msgid "Status" msgstr "État" -#: ../templates/classic/html/issue.index.html:30 +#: ../share/roundup/templates/classic/html/issue.index.html:34 msgid "Creator" msgstr "Créateur" -#: ../templates/classic/html/issue.index.html:31 +#: ../share/roundup/templates/classic/html/issue.index.html:35 msgid "Assigned To" msgstr "Affecté à" -#: ../templates/classic/html/issue.index.html:97 +#: ../share/roundup/templates/classic/html/issue.index.html:104 msgid "Download as CSV" msgstr "Télécharger comme CSV" -#: ../templates/classic/html/issue.index.html:105 +#: ../share/roundup/templates/classic/html/issue.index.html:114 msgid "Sort on:" msgstr "Trier par :" - -#: ../templates/classic/html/issue.index.html:108 -#: ../templates/classic/html/issue.index.html:125 +#: ../share/roundup/templates/classic/html/issue.index.html:118 +#: ../share/roundup/templates/classic/html/issue.index.html:139 msgid "- nothing -" msgstr "- rien -" -#: ../templates/classic/html/issue.index.html:116 -#: ../templates/classic/html/issue.index.html:133 +#: ../share/roundup/templates/classic/html/issue.index.html:126 +#: ../share/roundup/templates/classic/html/issue.index.html:147 msgid "Descending:" msgstr "Descendant:" -#: ../templates/classic/html/issue.index.html:122 +#: ../share/roundup/templates/classic/html/issue.index.html:135 msgid "Group on:" msgstr "Regrouper par :" -#: ../templates/classic/html/issue.index.html:139 +#: ../share/roundup/templates/classic/html/issue.index.html:154 msgid "Redisplay" msgstr "Actualiser" -#: ../templates/classic/html/issue.item.html:7 +#: ../share/roundup/templates/classic/html/issue.item.html:7 msgid "Issue ${id}: ${title} - ${tracker}" msgstr "Anomalie ${id} : ${title} - ${tracker}" -#: ../templates/classic/html/issue.item.html:10 +#: ../share/roundup/templates/classic/html/issue.item.html:10 msgid "New Issue - ${tracker}" msgstr "Nouvelle anomalie - ${tracker}" -#: ../templates/classic/html/issue.item.html:14 +#: ../share/roundup/templates/classic/html/issue.item.html:14 msgid "New Issue" msgstr "Nouvelle anomalie" -#: ../templates/classic/html/issue.item.html:16 +#: ../share/roundup/templates/classic/html/issue.item.html:16 msgid "New Issue Editing" msgstr "Création d'une nouvelle anomalie" -#: ../templates/classic/html/issue.item.html:19 +#: ../share/roundup/templates/classic/html/issue.item.html:19 msgid "Issue${id}" msgstr "Anomalie ${id}" -#: ../templates/classic/html/issue.item.html:22 +#: ../share/roundup/templates/classic/html/issue.item.html:22 msgid "Issue${id} Editing" msgstr "Modification de l'anomalie ${id}" -#: ../templates/classic/html/issue.item.html:51 +#: ../share/roundup/templates/classic/html/issue.item.html:56 msgid "Superseder" msgstr "Supplanté par" -#: ../templates/classic/html/issue.item.html:56 -msgid "View: ${link}" -msgstr "Voir : ${link}" - -#: ../templates/classic/html/issue.item.html:60 +#: ../share/roundup/templates/classic/html/issue.item.html:61 +msgid "View:" +msgstr "" + +#: ../share/roundup/templates/classic/html/issue.item.html:67 msgid "Nosy List" msgstr "Liste des curieux" -#: ../templates/classic/html/issue.item.html:69 +#: ../share/roundup/templates/classic/html/issue.item.html:76 msgid "Assigned To" msgstr "Affecté à" -#: ../templates/classic/html/issue.item.html:71 -msgid "Topics" -msgstr "Sujets" - -#: ../templates/classic/html/issue.item.html:79 +#: ../share/roundup/templates/classic/html/issue.item.html:78 +#: ../share/roundup/templates/classic/html/page.html:105 +#: ../share/roundup/templates/minimal/html/page.html:105 +msgid "Keywords" +msgstr "Mots-clé" + +#: ../share/roundup/templates/classic/html/issue.item.html:86 msgid "Change Note" msgstr "Note de modification" -#: ../templates/classic/html/issue.item.html:87 +#: ../share/roundup/templates/classic/html/issue.item.html:94 msgid "File" msgstr "Fichier" -#: ../templates/classic/html/issue.item.html:99 +#: ../share/roundup/templates/classic/html/issue.item.html:106 msgid "Make a copy" msgstr "Réaliser une copie" -#: ../templates/classic/html/issue.item.html:107 -#: ../templates/classic/html/user.item.html:106 -#: ../templates/classic/html/user.register.html:69 -#: ../templates/minimal/html/user.item.html:86 +#: ../share/roundup/templates/classic/html/issue.item.html:114 +#: ../share/roundup/templates/classic/html/user.item.html:153 +#: ../share/roundup/templates/classic/html/user.register.html:72 +#: ../share/roundup/templates/minimal/html/user.item.html:103 msgid "" "<table class=\"form\"> <tr> <td>Note: </td> <th class=\"required" "\">highlighted</th> <td> fields are required.</td> </tr> </table>" @@ -2719,212 +3438,220 @@ "\"required\">mis en évidence</th> <td> sont requis.</td> </tr> </" "table>" -#: ../templates/classic/html/issue.item.html:121 +#: ../share/roundup/templates/classic/html/issue.item.html:128 +#, fuzzy msgid "" -"Created on <b>${creation}</b> by <b>${creator}</b>, last changed <b>" -"${activity}</b> by <b>${actor}</b>." +"Created on ${creation} by ${creator}, last changed ${activity} by ${actor}." msgstr "" "Créé le <b>${creation}</b> par <b>${creator}</b>, " "modifié le <b>${activity}</b> par <b>${actor}</b>." -#: ../templates/classic/html/issue.item.html:125 -#: ../templates/classic/html/msg.item.html:56 +#: ../share/roundup/templates/classic/html/issue.item.html:132 +#: ../share/roundup/templates/classic/html/msg.item.html:61 msgid "Files" msgstr "Fichiers" -#: ../templates/classic/html/issue.item.html:127 -#: ../templates/classic/html/msg.item.html:58 +#: ../share/roundup/templates/classic/html/issue.item.html:134 +#: ../share/roundup/templates/classic/html/msg.item.html:63 msgid "File name" msgstr "Nom de fichier" -#: ../templates/classic/html/issue.item.html:128 -#: ../templates/classic/html/msg.item.html:59 +#: ../share/roundup/templates/classic/html/issue.item.html:135 +#: ../share/roundup/templates/classic/html/msg.item.html:64 msgid "Uploaded" msgstr "Téléchargé" -#: ../templates/classic/html/issue.item.html:129 +#: ../share/roundup/templates/classic/html/issue.item.html:136 msgid "Type" msgstr "Type" -#: ../templates/classic/html/issue.item.html:130 -#: ../templates/classic/html/query.edit.html:30 +#: ../share/roundup/templates/classic/html/issue.item.html:137 +#: ../share/roundup/templates/classic/html/query.edit.html:60 msgid "Edit" msgstr "Modifier" -#: ../templates/classic/html/issue.item.html:131 +#: ../share/roundup/templates/classic/html/issue.item.html:138 msgid "Remove" msgstr "Supprimer" -#: ../templates/classic/html/issue.item.html:151 -#: ../templates/classic/html/issue.item.html:172 -#: ../templates/classic/html/query.edit.html:50 +#: ../share/roundup/templates/classic/html/issue.item.html:160 +#: ../share/roundup/templates/classic/html/issue.item.html:183 +#: ../share/roundup/templates/classic/html/query.edit.html:83 msgid "remove" msgstr "supprimer" -#: ../templates/classic/html/issue.item.html:158 -#: ../templates/classic/html/msg.index.html:9 +#: ../share/roundup/templates/classic/html/issue.item.html:167 +#: ../share/roundup/templates/classic/html/msg.index.html:9 msgid "Messages" msgstr "Messages" -#: ../templates/classic/html/issue.item.html:162 +#: ../share/roundup/templates/classic/html/issue.item.html:171 msgid "msg${id} (view)" msgstr "msg${id} (voir)" -#: ../templates/classic/html/issue.item.html:163 +#: ../share/roundup/templates/classic/html/issue.item.html:172 msgid "Author: ${author}" msgstr "Auteur : ${author}" -#: ../templates/classic/html/issue.item.html:165 +#: ../share/roundup/templates/classic/html/issue.item.html:174 msgid "Date: ${date}" msgstr "Date : ${date}" -#: ../templates/classic/html/issue.search.html:2 +#: ../share/roundup/templates/classic/html/issue.search.html:2 msgid "Issue searching - ${tracker}" msgstr "Recherche de l'anomalie - ${tracker}" -#: ../templates/classic/html/issue.search.html:4 +#: ../share/roundup/templates/classic/html/issue.search.html:4 msgid "Issue searching" msgstr "Recherche de l'anomalie" -#: ../templates/classic/html/issue.search.html:25 +#: ../share/roundup/templates/classic/html/issue.search.html:32 msgid "Filter on" msgstr "Filter sur" -#: ../templates/classic/html/issue.search.html:26 +#: ../share/roundup/templates/classic/html/issue.search.html:33 msgid "Display" msgstr "Afficher" -#: ../templates/classic/html/issue.search.html:27 +#: ../share/roundup/templates/classic/html/issue.search.html:34 msgid "Sort on" msgstr "Trier par" -#: ../templates/classic/html/issue.search.html:28 +#: ../share/roundup/templates/classic/html/issue.search.html:35 msgid "Group on" msgstr "Grouper par" -#: ../templates/classic/html/issue.search.html:32 +#: ../share/roundup/templates/classic/html/issue.search.html:39 msgid "All text*:" msgstr "Tout le texte* :" -#: ../templates/classic/html/issue.search.html:40 +#: ../share/roundup/templates/classic/html/issue.search.html:47 msgid "Title:" msgstr "Titre:" -#: ../templates/classic/html/issue.search.html:50 -msgid "Topic:" -msgstr "Sujet:" - -#: ../templates/classic/html/issue.search.html:58 +#: ../share/roundup/templates/classic/html/issue.search.html:57 +#, fuzzy +msgid "Keyword:" +msgstr "Mot-clé" + +#: ../share/roundup/templates/classic/html/issue.search.html:59 +#: ../share/roundup/templates/classic/html/issue.search.html:124 +#: ../share/roundup/templates/classic/html/issue.search.html:140 +msgid "not selected" +msgstr "non sélectionné" + +#: ../share/roundup/templates/classic/html/issue.search.html:68 msgid "ID:" msgstr "ID:" -#: ../templates/classic/html/issue.search.html:66 +#: ../share/roundup/templates/classic/html/issue.search.html:76 msgid "Creation Date:" msgstr "Date de création :" -#: ../templates/classic/html/issue.search.html:77 +#: ../share/roundup/templates/classic/html/issue.search.html:87 msgid "Creator:" msgstr "Créateur:" -#: ../templates/classic/html/issue.search.html:79 +#: ../share/roundup/templates/classic/html/issue.search.html:89 msgid "created by me" msgstr "créé par moi" -#: ../templates/classic/html/issue.search.html:88 +#: ../share/roundup/templates/classic/html/issue.search.html:98 msgid "Activity:" msgstr "Activité :" -#: ../templates/classic/html/issue.search.html:99 +#: ../share/roundup/templates/classic/html/issue.search.html:109 msgid "Actor:" msgstr "Acteur:" -#: ../templates/classic/html/issue.search.html:101 +#: ../share/roundup/templates/classic/html/issue.search.html:111 msgid "done by me" msgstr "fait par moi" -#: ../templates/classic/html/issue.search.html:112 +#: ../share/roundup/templates/classic/html/issue.search.html:122 msgid "Priority:" msgstr "Priorité :" -#: ../templates/classic/html/issue.search.html:114 -#: ../templates/classic/html/issue.search.html:130 -msgid "not selected" -msgstr "non sélectionné" - -#: ../templates/classic/html/issue.search.html:125 +#: ../share/roundup/templates/classic/html/issue.search.html:135 msgid "Status:" msgstr "État :" -#: ../templates/classic/html/issue.search.html:128 +#: ../share/roundup/templates/classic/html/issue.search.html:138 msgid "not resolved" msgstr "non résolu" -#: ../templates/classic/html/issue.search.html:143 +#: ../share/roundup/templates/classic/html/issue.search.html:153 msgid "Assigned to:" msgstr "Affecté à :" -#: ../templates/classic/html/issue.search.html:146 +#: ../share/roundup/templates/classic/html/issue.search.html:156 msgid "assigned to me" msgstr "affecté à moi" -#: ../templates/classic/html/issue.search.html:148 +#: ../share/roundup/templates/classic/html/issue.search.html:158 msgid "unassigned" msgstr "non affecté" -#: ../templates/classic/html/issue.search.html:158 +#: ../share/roundup/templates/classic/html/issue.search.html:168 msgid "No Sort or group:" msgstr "Aucun tri ou groupe :" -#: ../templates/classic/html/issue.search.html:166 +#: ../share/roundup/templates/classic/html/issue.search.html:176 msgid "Pagesize:" msgstr "Taille de la page :" -#: ../templates/classic/html/issue.search.html:172 +#: ../share/roundup/templates/classic/html/issue.search.html:182 msgid "Start With:" msgstr "Commence par :" -#: ../templates/classic/html/issue.search.html:178 +#: ../share/roundup/templates/classic/html/issue.search.html:188 msgid "Sort Descending:" msgstr "Tri descendant :" -#: ../templates/classic/html/issue.search.html:185 +#: ../share/roundup/templates/classic/html/issue.search.html:195 msgid "Group Descending:" msgstr "Groupe descendant :" -#: ../templates/classic/html/issue.search.html:192 +#: ../share/roundup/templates/classic/html/issue.search.html:202 msgid "Query name**:" msgstr "Nom de requête** :" -#: ../templates/classic/html/issue.search.html:204 -#: ../templates/classic/html/page.html:31 -#: ../templates/classic/html/page.html:60 -#: ../templates/minimal/html/page.html:31 +#: ../share/roundup/templates/classic/html/issue.search.html:215 +#: ../share/roundup/templates/classic/html/page.html:40 +#: ../share/roundup/templates/classic/html/page.html:92 +#: ../share/roundup/templates/classic/html/user.help-search.html:69 +#: ../share/roundup/templates/minimal/html/page.html:40 +#: ../share/roundup/templates/minimal/html/page.html:92 msgid "Search" msgstr "Rechercher" -#: ../templates/classic/html/issue.search.html:209 +#: ../share/roundup/templates/classic/html/issue.search.html:220 msgid "*: The \"all text\" field will look in message bodies and issue titles" -msgstr "* : le champ « tout le texte » recherchera dans tous les corps de message et les titres de l'anomalie" - -#: ../templates/classic/html/issue.search.html:212 +msgstr "" +"* : le champ « tout le texte » recherchera dans tous les corps de message et " +"les titres de l'anomalie" + +#: ../share/roundup/templates/classic/html/issue.search.html:223 msgid "" "**: If you supply a name, the query will be saved off and available as a " "link in the sidebar" -msgstr "** : si vous attribuez un nom, la requête sera enregistrée et disponible comme lien dans la barre latérale" - -#: ../templates/classic/html/keyword.item.html:3 +msgstr "" +"** : si vous attribuez un nom, la requête sera enregistrée et " +"disponible comme lien dans la barre latérale" + +#: ../share/roundup/templates/classic/html/keyword.item.html:3 msgid "Keyword editing - ${tracker}" msgstr "Modification de mots clé - ${tracker}" -#: ../templates/classic/html/keyword.item.html:5 +#: ../share/roundup/templates/classic/html/keyword.item.html:5 msgid "Keyword editing" msgstr "Modification de mot-clés" -#: ../templates/classic/html/keyword.item.html:11 +#: ../share/roundup/templates/classic/html/keyword.item.html:11 msgid "Existing Keywords" msgstr "Mot-clés existants" -#: ../templates/classic/html/keyword.item.html:20 +#: ../share/roundup/templates/classic/html/keyword.item.html:20 msgid "" "To edit an existing keyword (for spelling or typing errors), click on its " "entry above." @@ -2932,273 +3659,338 @@ "Pour modifier un mot-clé existant (pour les erreurs d'orthographe et " "de frappe), cliquez sur son entrée ci-dessus." -#: ../templates/classic/html/keyword.item.html:27 +#: ../share/roundup/templates/classic/html/keyword.item.html:27 msgid "To create a new keyword, enter it below and click \"Submit New Entry\"." -msgstr "Pour créer un nouveau mot-clé, saisissez-le ci-dessous et cliquer sur « Soumettre une nouvelle entrée »." - -#: ../templates/classic/html/keyword.item.html:37 -msgid "Keyword" -msgstr "Mot-clé" - -#: ../templates/classic/html/msg.index.html:3 +msgstr "" +"Pour créer un nouveau mot-clé, saisissez-le ci-dessous et " +"cliquer sur « Soumettre une nouvelle entrée »." + +#: ../share/roundup/templates/classic/html/keyword.item.html:51 +msgid "Continue adding keywords." +msgstr "" + +#: ../share/roundup/templates/classic/html/msg.index.html:3 msgid "List of messages - ${tracker}" msgstr "Liste de messages - ${tracker}" -#: ../templates/classic/html/msg.index.html:5 +#: ../share/roundup/templates/classic/html/msg.index.html:5 msgid "Message listing" msgstr "Liste de messages" -#: ../templates/classic/html/msg.item.html:6 +#: ../share/roundup/templates/classic/html/msg.item.html:6 msgid "Message ${id} - ${tracker}" msgstr "Message ${id} - ${tracker}" -#: ../templates/classic/html/msg.item.html:9 +#: ../share/roundup/templates/classic/html/msg.item.html:9 msgid "New Message - ${tracker}" msgstr "Nouveau message - ${tracker}" -#: ../templates/classic/html/msg.item.html:13 +#: ../share/roundup/templates/classic/html/msg.item.html:13 msgid "New Message" msgstr "Nouveau message" -#: ../templates/classic/html/msg.item.html:15 +#: ../share/roundup/templates/classic/html/msg.item.html:15 msgid "New Message Editing" msgstr "Modification d'un nouveau message" -#: ../templates/classic/html/msg.item.html:18 +#: ../share/roundup/templates/classic/html/msg.item.html:18 msgid "Message${id}" msgstr "Message${id}" -#: ../templates/classic/html/msg.item.html:21 +#: ../share/roundup/templates/classic/html/msg.item.html:21 msgid "Message${id} Editing" msgstr "Modification du message ${id}" -#: ../templates/classic/html/msg.item.html:33 +#: ../share/roundup/templates/classic/html/msg.item.html:38 msgid "Author" msgstr "Auteur" -#: ../templates/classic/html/msg.item.html:38 +#: ../share/roundup/templates/classic/html/msg.item.html:43 msgid "Recipients" msgstr "Destinataires" -#: ../templates/classic/html/msg.item.html:49 +#: ../share/roundup/templates/classic/html/msg.item.html:54 msgid "Content" msgstr "Contenu" -#: ../templates/classic/html/page.html:41 +#: ../share/roundup/templates/classic/html/page.html:54 +#: ../share/roundup/templates/minimal/html/page.html:54 msgid "<b>Your Queries</b> (<a href=\"query?@template=edit\">edit</a>)" -msgstr "<b>Vos requêtes</b> (<a href=\"query?@template=edit\">modifier</a>)" - -#: ../templates/classic/html/page.html:52 +msgstr "" +"<b>Vos requêtes</b> (<a href=\"query?@template=edit\">modifier</a>)" + +#: ../share/roundup/templates/classic/html/page.html:65 +#: ../share/roundup/templates/minimal/html/page.html:65 msgid "Issues" msgstr "Anomalies" -#: ../templates/classic/html/page.html:54 -#: ../templates/classic/html/page.html:74 +#: ../share/roundup/templates/classic/html/page.html:67 +#: ../share/roundup/templates/classic/html/page.html:107 +#: ../share/roundup/templates/minimal/html/page.html:67 +#: ../share/roundup/templates/minimal/html/page.html:107 msgid "Create New" msgstr "Créer" -#: ../templates/classic/html/page.html:56 +#: ../share/roundup/templates/classic/html/page.html:69 +#: ../share/roundup/templates/minimal/html/page.html:69 msgid "Show Unassigned" msgstr "Afficher les non-affectées" -#: ../templates/classic/html/page.html:58 +#: ../share/roundup/templates/classic/html/page.html:81 +#: ../share/roundup/templates/minimal/html/page.html:81 msgid "Show All" msgstr "Tout afficher" -#: ../templates/classic/html/page.html:61 +#: ../share/roundup/templates/classic/html/page.html:93 +#: ../share/roundup/templates/minimal/html/page.html:93 msgid "Show issue:" msgstr "Voir l'anomalie :" -#: ../templates/classic/html/page.html:72 -msgid "Keywords" -msgstr "Mots-clé" - -#: ../templates/classic/html/page.html:78 +#: ../share/roundup/templates/classic/html/page.html:110 +#: ../share/roundup/templates/minimal/html/page.html:110 msgid "Edit Existing" msgstr "Modifier" -#: ../templates/classic/html/page.html:84 -#: ../templates/minimal/html/page.html:65 +#: ../share/roundup/templates/classic/html/page.html:116 +#: ../share/roundup/templates/minimal/html/page.html:116 msgid "Administration" msgstr "Administration" -#: ../templates/classic/html/page.html:86 -#: ../templates/minimal/html/page.html:66 +#: ../share/roundup/templates/classic/html/page.html:118 +#: ../share/roundup/templates/minimal/html/page.html:118 msgid "Class List" msgstr "Liste des classes" -#: ../templates/classic/html/page.html:90 -#: ../templates/minimal/html/page.html:68 +#: ../share/roundup/templates/classic/html/page.html:122 +#: ../share/roundup/templates/minimal/html/page.html:122 msgid "User List" msgstr "Liste des utilisateurs" -#: ../templates/classic/html/page.html:92 -#: ../templates/minimal/html/page.html:71 +#: ../share/roundup/templates/classic/html/page.html:124 +#: ../share/roundup/templates/minimal/html/page.html:124 msgid "Add User" msgstr "Ajouter un utilisateur" -#: ../templates/classic/html/page.html:99 -#: ../templates/classic/html/page.html:105 -#: ../templates/minimal/html/page.html:46 +#: ../share/roundup/templates/classic/html/page.html:131 +#: ../share/roundup/templates/classic/html/page.html:139 +#: ../share/roundup/templates/minimal/html/page.html:131 +#: ../share/roundup/templates/minimal/html/page.html:139 msgid "Login" msgstr "Se connecter" -#: ../templates/classic/html/page.html:104 -#: ../templates/minimal/html/page.html:45 +#: ../share/roundup/templates/classic/html/page.html:136 +#: ../share/roundup/templates/minimal/html/page.html:138 msgid "Remember me?" msgstr "Se souvenir" -#: ../templates/classic/html/page.html:108 -#: ../templates/classic/html/user.register.html:63 -#: ../templates/minimal/html/page.html:50 -#: ../templates/minimal/html/user.register.html:58 +#: ../share/roundup/templates/classic/html/page.html:147 +#: ../share/roundup/templates/classic/html/user.register.html:66 +#: ../share/roundup/templates/minimal/html/page.html:147 +#: ../share/roundup/templates/minimal/html/user.register.html:63 msgid "Register" msgstr "S'inscrire" -#: ../templates/classic/html/page.html:111 +#: ../share/roundup/templates/classic/html/page.html:150 +#: ../share/roundup/templates/minimal/html/page.html:150 msgid "Lost your login?" msgstr "Retrouver votre identifiant" -#: ../templates/classic/html/page.html:116 +#: ../share/roundup/templates/classic/html/page.html:155 +#: ../share/roundup/templates/minimal/html/page.html:155 msgid "Hello, ${user}" msgstr "Bienvenue, ${user}" -#: ../templates/classic/html/page.html:118 +#: ../share/roundup/templates/classic/html/page.html:157 msgid "Your Issues" msgstr "Vos anomalies" -#: ../templates/classic/html/page.html:119 -#: ../templates/minimal/html/page.html:57 +#: ../share/roundup/templates/classic/html/page.html:169 +#: ../share/roundup/templates/minimal/html/page.html:157 msgid "Your Details" msgstr "Vos détails" -#: ../templates/classic/html/page.html:121 -#: ../templates/minimal/html/page.html:59 +#: ../share/roundup/templates/classic/html/page.html:171 +#: ../share/roundup/templates/minimal/html/page.html:159 msgid "Logout" msgstr "Se déconnecter" -#: ../templates/classic/html/page.html:125 +#: ../share/roundup/templates/classic/html/page.html:175 +#: ../share/roundup/templates/minimal/html/page.html:163 msgid "Help" msgstr "Aide" -#: ../templates/classic/html/page.html:126 +#: ../share/roundup/templates/classic/html/page.html:176 +#: ../share/roundup/templates/minimal/html/page.html:164 msgid "Roundup docs" msgstr "Documentation de Roundup" -#: ../templates/classic/html/page.html:136 -#: ../templates/minimal/html/page.html:81 +#: ../share/roundup/templates/classic/html/page.html:187 +#: ../share/roundup/templates/minimal/html/page.html:175 msgid "clear this message" msgstr "Supprimer ce message" -#: ../templates/classic/html/page.html:181 +#: ../share/roundup/templates/classic/html/page.html:251 +#: ../share/roundup/templates/classic/html/page.html:264 +#: ../share/roundup/templates/classic/html/page.html:282 +#: ../share/roundup/templates/classic/html/page.html:296 +#: ../share/roundup/templates/minimal/html/page.html:239 +#: ../share/roundup/templates/minimal/html/page.html:254 +#: ../share/roundup/templates/minimal/html/page.html:268 msgid "don't care" msgstr "aucune importance" -#: ../templates/classic/html/page.html:183 +#: ../share/roundup/templates/classic/html/page.html:253 +#: ../share/roundup/templates/classic/html/page.html:266 +#: ../share/roundup/templates/classic/html/page.html:284 +#: ../share/roundup/templates/classic/html/page.html:297 +#: ../share/roundup/templates/minimal/html/page.html:241 +#: ../share/roundup/templates/minimal/html/page.html:256 +#: ../share/roundup/templates/minimal/html/page.html:269 msgid "------------" msgstr "------------" -#: ../templates/classic/html/page.html:210 +#: ../share/roundup/templates/classic/html/page.html:325 +#: ../share/roundup/templates/minimal/html/page.html:297 msgid "no value" msgstr "pas de valeur" -#: ../templates/classic/html/query.edit.html:4 +#: ../share/roundup/templates/classic/html/query.edit.html:4 msgid "\"Your Queries\" Editing - ${tracker}" msgstr "Modification de « Vos requêtes » - ${tracker}" -#: ../templates/classic/html/query.edit.html:6 +#: ../share/roundup/templates/classic/html/query.edit.html:6 msgid "\"Your Queries\" Editing" msgstr "Modification de « Vos requêtes »" -#: ../templates/classic/html/query.edit.html:11 +#: ../share/roundup/templates/classic/html/query.edit.html:12 msgid "You are not allowed to edit queries." msgstr "Vous n'avez pas l'autorisation de modifier des requêtes." -#: ../templates/classic/html/query.edit.html:28 +#: ../share/roundup/templates/classic/html/query.edit.html:58 msgid "Query" msgstr "Requête" -#: ../templates/classic/html/query.edit.html:29 +#: ../share/roundup/templates/classic/html/query.edit.html:59 msgid "Include in \"Your Queries\"" msgstr "Inclus dans « Vos requêtes »" -#: ../templates/classic/html/query.edit.html:31 +#: ../share/roundup/templates/classic/html/query.edit.html:61 msgid "Private to you?" msgstr "Privé ?" -#: ../templates/classic/html/query.edit.html:44 +#: ../share/roundup/templates/classic/html/query.edit.html:62 +msgid "delete/restore<br> (javascript<br>required)" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:65 +msgid "Queries I created" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:77 msgid "leave out" msgstr "sortir" -#: ../templates/classic/html/query.edit.html:45 +#: ../share/roundup/templates/classic/html/query.edit.html:78 msgid "include" msgstr "inclure" -#: ../templates/classic/html/query.edit.html:49 +#: ../share/roundup/templates/classic/html/query.edit.html:82 msgid "leave in" msgstr "entrer" -#: ../templates/classic/html/query.edit.html:54 +#: ../share/roundup/templates/classic/html/query.edit.html:87 +#: ../share/roundup/templates/classic/html/query.edit.html:121 +msgid "edit" +msgstr "modifier" + +#: ../share/roundup/templates/classic/html/query.edit.html:91 +msgid "yes" +msgstr "oui" + +#: ../share/roundup/templates/classic/html/query.edit.html:93 +msgid "no" +msgstr "non" + +#: ../share/roundup/templates/classic/html/query.edit.html:99 +msgid "Delete" +msgstr "Supprimer" + +#: ../share/roundup/templates/classic/html/query.edit.html:105 +msgid "Queries others created" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:106 +msgid "Owner" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:118 +msgid "[not yours to edit]" +msgstr "[ne vous appartient pas]" + +#: ../share/roundup/templates/classic/html/query.edit.html:121 +msgid "<a href=\"\">x</a>" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:128 +msgid "Active retired/private queries" +msgstr "" + +#: ../share/roundup/templates/classic/html/query.edit.html:138 +#: ../share/roundup/templates/classic/html/query.edit.html:139 msgid "[query is retired]" msgstr "[requête retirée]" -#: ../templates/classic/html/query.edit.html:67 -#: ../templates/classic/html/query.edit.html:92 -msgid "edit" -msgstr "modifier" - -#: ../templates/classic/html/query.edit.html:71 -msgid "yes" -msgstr "oui" - -#: ../templates/classic/html/query.edit.html:73 -msgid "no" -msgstr "non" - -#: ../templates/classic/html/query.edit.html:79 -msgid "Delete" -msgstr "Supprimer" - -#: ../templates/classic/html/query.edit.html:94 -msgid "[not yours to edit]" -msgstr "[ne vous appartient pas]" - -#: ../templates/classic/html/query.edit.html:102 +#: ../share/roundup/templates/classic/html/query.edit.html:141 +#: ../share/roundup/templates/classic/html/query.edit.html:156 +#, fuzzy +msgid "Restore" +msgstr "restauré" + +#: ../share/roundup/templates/classic/html/query.edit.html:154 +#, fuzzy +msgid "[query is private]" +msgstr "[requête retirée]" + +#: ../share/roundup/templates/classic/html/query.edit.html:168 msgid "Save Selection" msgstr "Enregistrer la sélection" -#: ../templates/classic/html/user.forgotten.html:3 +#: ../share/roundup/templates/classic/html/user.forgotten.html:3 msgid "Password reset request - ${tracker}" msgstr "Demande de réinitialisation de mot de passe - ${tracker}" -#: ../templates/classic/html/user.forgotten.html:5 +#: ../share/roundup/templates/classic/html/user.forgotten.html:5 msgid "Password reset request" msgstr "Demande de réinitialisation de mot de passe" -#: ../templates/classic/html/user.forgotten.html:9 +#: ../share/roundup/templates/classic/html/user.forgotten.html:9 msgid "" "You have two options if you have forgotten your password. If you know the " "email address you registered with, enter it below." -msgstr "Vous avez deux solutions si vous avez oublié votre mot de passe. Si vous connaissez l'adresse électronique avec laquelle vous vous êtes enregistré, saisissez là ci-dessous." - -#: ../templates/classic/html/user.forgotten.html:16 +msgstr "" +"Vous avez deux solutions si vous avez oublié votre mot de passe. Si " +"vous connaissez l'adresse électronique avec laquelle vous vous êtes " +"enregistré, saisissez là ci-dessous." + +#: ../share/roundup/templates/classic/html/user.forgotten.html:16 msgid "Email Address:" msgstr "Adresse électronique :" -#: ../templates/classic/html/user.forgotten.html:24 -#: ../templates/classic/html/user.forgotten.html:34 +#: ../share/roundup/templates/classic/html/user.forgotten.html:26 +#: ../share/roundup/templates/classic/html/user.forgotten.html:36 msgid "Request password reset" msgstr "Demander une réinitialisation du mot de passe" -#: ../templates/classic/html/user.forgotten.html:30 +#: ../share/roundup/templates/classic/html/user.forgotten.html:32 msgid "Or, if you know your username, then enter it below." -msgstr "ou, si vous connaissez votre nom d'utilisateur, saisissez-le ci-dessous." - -#: ../templates/classic/html/user.forgotten.html:33 +msgstr "" +"ou, si vous connaissez votre nom d'utilisateur, saisissez-le ci-dessous." + +#: ../share/roundup/templates/classic/html/user.forgotten.html:35 msgid "Username:" msgstr "Nom d'utilisateur :" -#: ../templates/classic/html/user.forgotten.html:39 +#: ../share/roundup/templates/classic/html/user.forgotten.html:41 msgid "" "A confirmation email will be sent to you - please follow the instructions " "within it to complete the reset process." @@ -3207,181 +3999,317 @@ "les instructions qu'il contient pour terminer le processus de\n" "réinitialisation de votre mot de passe." -#: ../templates/classic/html/user.index.html:3 -#: ../templates/minimal/html/user.index.html:3 +#: ../share/roundup/templates/classic/html/user.help-search.html:73 +#, fuzzy +msgid "Pagesize" +msgstr "Taille de la page :" + +#: ../share/roundup/templates/classic/html/user.help.html:43 +msgid "" +"Your browser is not capable of using frames; you should be redirected " +"immediately, or visit ${link}." +msgstr "" + +#: ../share/roundup/templates/classic/html/user.index.html:3 +#: ../share/roundup/templates/minimal/html/user.index.html:3 msgid "User listing - ${tracker}" msgstr "Liste des utilisateurs - ${tracker}" -#: ../templates/classic/html/user.index.html:5 -#: ../templates/minimal/html/user.index.html:5 +#: ../share/roundup/templates/classic/html/user.index.html:5 +#: ../share/roundup/templates/minimal/html/user.index.html:5 msgid "User listing" msgstr "Liste des utilisateurs" -#: ../templates/classic/html/user.index.html:14 -#: ../templates/minimal/html/user.index.html:14 +#: ../share/roundup/templates/classic/html/user.index.html:19 +#: ../share/roundup/templates/minimal/html/user.index.html:19 msgid "Username" msgstr "Nom d'utilisateur" -#: ../templates/classic/html/user.index.html:15 +#: ../share/roundup/templates/classic/html/user.index.html:20 msgid "Real name" msgstr "Nom réel" -#: ../templates/classic/html/user.index.html:16 -#: ../templates/classic/html/user.item.html:70 -#: ../templates/classic/html/user.register.html:45 +#: ../share/roundup/templates/classic/html/user.index.html:21 +#: ../share/roundup/templates/classic/html/user.register.html:45 msgid "Organisation" msgstr "Organisation" -#: ../templates/classic/html/user.index.html:17 -#: ../templates/minimal/html/user.index.html:15 +#: ../share/roundup/templates/classic/html/user.index.html:22 +#: ../share/roundup/templates/minimal/html/user.index.html:20 msgid "Email address" msgstr "Adresse électronique" -#: ../templates/classic/html/user.index.html:18 +#: ../share/roundup/templates/classic/html/user.index.html:23 msgid "Phone number" msgstr "Numéro de téléphone" -#: ../templates/classic/html/user.index.html:19 +#: ../share/roundup/templates/classic/html/user.index.html:24 msgid "Retire" msgstr "Retirer" -#: ../templates/classic/html/user.index.html:32 +#: ../share/roundup/templates/classic/html/user.index.html:43 msgid "retire" msgstr "retirer" -#: ../templates/classic/html/user.item.html:7 -#: ../templates/minimal/html/user.item.html:7 +#: ../share/roundup/templates/classic/html/user.item.html:9 +#: ../share/roundup/templates/minimal/html/user.item.html:8 msgid "User ${id}: ${title} - ${tracker}" msgstr "Utilisateur ${id} : ${title} - ${tracker}" -#: ../templates/classic/html/user.item.html:10 -#: ../templates/minimal/html/user.item.html:10 +#: ../share/roundup/templates/classic/html/user.item.html:12 +#: ../share/roundup/templates/minimal/html/user.item.html:11 msgid "New User - ${tracker}" msgstr "Nouvel utilisateur - ${tracker}" -#: ../templates/classic/html/user.item.html:14 -#: ../templates/minimal/html/user.item.html:14 +#: ../share/roundup/templates/classic/html/user.item.html:21 +#: ../share/roundup/templates/minimal/html/user.item.html:20 msgid "New User" msgstr "Nouvel utilisateur" -#: ../templates/classic/html/user.item.html:16 -#: ../templates/minimal/html/user.item.html:16 +#: ../share/roundup/templates/classic/html/user.item.html:23 +#: ../share/roundup/templates/minimal/html/user.item.html:22 msgid "New User Editing" msgstr "Création d'un nouvel utilisateur" -#: ../templates/classic/html/user.item.html:19 -#: ../templates/minimal/html/user.item.html:19 +#: ../share/roundup/templates/classic/html/user.item.html:26 +#: ../share/roundup/templates/minimal/html/user.item.html:25 msgid "User${id}" msgstr "Utilisateur ${id}" -#: ../templates/classic/html/user.item.html:22 -#: ../templates/minimal/html/user.item.html:22 +#: ../share/roundup/templates/classic/html/user.item.html:29 +#: ../share/roundup/templates/minimal/html/user.item.html:28 msgid "User${id} Editing" msgstr "Modification de l'utilisateur ${id}" -#: ../templates/classic/html/user.item.html:43 -#: ../templates/classic/html/user.register.html:21 -#: ../templates/minimal/html/user.item.html:40 -#: ../templates/minimal/html/user.register.html:26 +#: ../share/roundup/templates/classic/html/user.item.html:80 +#: ../share/roundup/templates/classic/html/user.register.html:33 +#: ../share/roundup/templates/minimal/html/user.item.html:75 +#: ../share/roundup/templates/minimal/html/user.register.html:41 +msgid "Roles" +msgstr "Rôles" + +#: ../share/roundup/templates/classic/html/user.item.html:88 +#: ../share/roundup/templates/minimal/html/user.item.html:83 +msgid "(to give the user more than one role, enter a comma,separated,list)" +msgstr "" +"(pour donner à l'utilisateur plus d'un rôle, saisissez une liste," +"séparée,par,des,virgules)" + +#: ../share/roundup/templates/classic/html/user.item.html:109 +msgid "(the default is ${zone})" +msgstr "(par défaut: ${zone})" + +#: ../share/roundup/templates/classic/html/user.item.html:130 +#: ../share/roundup/templates/classic/html/user.register.html:53 +#: ../share/roundup/templates/minimal/html/user.register.html:53 +msgid "Alternate E-mail addresses<br>One address per line" +msgstr "Adresses électronique alternatives<br>Une adresse par ligne" + +#: ../share/roundup/templates/classic/html/user.register.html:4 +#: ../share/roundup/templates/classic/html/user.register.html:7 +#: ../share/roundup/templates/minimal/html/user.register.html:4 +#: ../share/roundup/templates/minimal/html/user.register.html:7 +msgid "Registering with ${tracker}" +msgstr "Inscription à ${tracker}" + +#: ../share/roundup/templates/classic/html/user.register.html:21 +#: ../share/roundup/templates/minimal/html/user.register.html:29 msgid "Login Name" msgstr "Nom d'utilisateur" -#: ../templates/classic/html/user.item.html:47 -#: ../templates/classic/html/user.register.html:25 -#: ../templates/minimal/html/user.item.html:44 -#: ../templates/minimal/html/user.register.html:30 +#: ../share/roundup/templates/classic/html/user.register.html:25 +#: ../share/roundup/templates/minimal/html/user.register.html:33 msgid "Login Password" msgstr "Mot de passe" -#: ../templates/classic/html/user.item.html:51 -#: ../templates/classic/html/user.register.html:29 -#: ../templates/minimal/html/user.item.html:48 -#: ../templates/minimal/html/user.register.html:34 +#: ../share/roundup/templates/classic/html/user.register.html:29 +#: ../share/roundup/templates/minimal/html/user.register.html:37 msgid "Confirm Password" msgstr "Confirmation du mot de passe" -#: ../templates/classic/html/user.item.html:55 -#: ../templates/classic/html/user.register.html:33 -#: ../templates/minimal/html/user.item.html:52 -#: ../templates/minimal/html/user.register.html:38 -msgid "Roles" -msgstr "Rôles" - -#: ../templates/classic/html/user.item.html:61 -#: ../templates/minimal/html/user.item.html:58 -msgid "(to give the user more than one role, enter a comma,separated,list)" -msgstr "(pour donner à l'utilisateur plus d'un rôle, saisissez une liste,séparée,par,des,virgules)" - -#: ../templates/classic/html/user.item.html:66 -#: ../templates/classic/html/user.register.html:41 +#: ../share/roundup/templates/classic/html/user.register.html:41 msgid "Phone" msgstr "Téléphone" -#: ../templates/classic/html/user.item.html:74 -msgid "Timezone" -msgstr "Fuseau horaire" - -#: ../templates/classic/html/user.item.html:78 -msgid "(the default is ${zone})" -msgstr "" -"(par défaut: ${zone})" - -#: ../templates/classic/html/user.item.html:83 -#: ../templates/classic/html/user.register.html:49 -#: ../templates/minimal/html/user.item.html:63 -#: ../templates/minimal/html/user.register.html:46 +#: ../share/roundup/templates/classic/html/user.register.html:49 +#: ../share/roundup/templates/minimal/html/user.register.html:49 msgid "E-mail address" msgstr "Adresse électronique" -#: ../templates/classic/html/user.item.html:91 -#: ../templates/classic/html/user.register.html:53 -#: ../templates/minimal/html/user.item.html:71 -#: ../templates/minimal/html/user.register.html:50 -msgid "Alternate E-mail addresses<br>One address per line" -msgstr "Adresses électronique alternatives<br>Une adresse par ligne" - -#: ../templates/classic/html/user.register.html:4 -#: ../templates/classic/html/user.register.html:7 -#: ../templates/minimal/html/user.register.html:4 -#: ../templates/minimal/html/user.register.html:7 -msgid "Registering with ${tracker}" -msgstr "Inscription à ${tracker}" - -#: ../templates/classic/html/user.rego_progress.html:4 -#: ../templates/minimal/html/user.rego_progress.html:4 +#: ../share/roundup/templates/classic/html/user.rego_progress.html:4 +#: ../share/roundup/templates/minimal/html/user.rego_progress.html:4 msgid "Registration in progress - ${tracker}" msgstr "Inscription en cours - ${tracker}" -#: ../templates/classic/html/user.rego_progress.html:6 -#: ../templates/minimal/html/user.rego_progress.html:6 +#: ../share/roundup/templates/classic/html/user.rego_progress.html:6 +#: ../share/roundup/templates/minimal/html/user.rego_progress.html:6 msgid "Registration in progress..." msgstr "Inscription en cours..." -#: ../templates/classic/html/user.rego_progress.html:10 -#: ../templates/minimal/html/user.rego_progress.html:10 +#: ../share/roundup/templates/classic/html/user.rego_progress.html:10 +#: ../share/roundup/templates/minimal/html/user.rego_progress.html:10 msgid "" "You will shortly receive an email to confirm your registration. To complete " "the registration process, visit the link indicated in the email." -msgstr "Vous recevrez sous peu un courriel confirmant votre inscription. Pour clôturer le processus d'inscription, suivez le lien indiqué dans le courriel." - -#: ../templates/minimal/html/home.html:2 +msgstr "" +"Vous recevrez sous peu un courriel confirmant votre inscription. Pour " +"clôturer le processus d'inscription, suivez le lien indiqué " +"dans le courriel." + +#: ../share/roundup/templates/classic/initial_data.py:5 +#: ../share/roundup/templates/jinja2/initial_data.py:6 +msgid "critical" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:6 +#: ../share/roundup/templates/jinja2/initial_data.py:7 +msgid "urgent" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:7 +#: ../share/roundup/templates/jinja2/initial_data.py:8 +msgid "bug" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:8 +#: ../share/roundup/templates/jinja2/initial_data.py:9 +msgid "feature" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:9 +#: ../share/roundup/templates/jinja2/initial_data.py:10 +msgid "wish" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:12 +#: ../share/roundup/templates/jinja2/initial_data.py:13 +msgid "unread" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:13 +#: ../share/roundup/templates/jinja2/initial_data.py:14 +msgid "deferred" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:14 +#: ../share/roundup/templates/jinja2/initial_data.py:15 +msgid "chatting" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:15 +#: ../share/roundup/templates/jinja2/initial_data.py:16 +msgid "need-eg" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:16 +#: ../share/roundup/templates/jinja2/initial_data.py:17 +msgid "in-progress" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:17 +#: ../share/roundup/templates/jinja2/initial_data.py:18 +#, fuzzy +msgid "testing" +msgstr "Liste des utilisateurs" + +#: ../share/roundup/templates/classic/initial_data.py:18 +#: ../share/roundup/templates/jinja2/initial_data.py:19 +msgid "done-cbb" +msgstr "" + +#: ../share/roundup/templates/classic/initial_data.py:19 +#: ../share/roundup/templates/jinja2/initial_data.py:20 +#, fuzzy +msgid "resolved" +msgstr "non résolu" + +#: ../share/roundup/templates/devel/extensions/spambayes.py:65 +#: ../share/roundup/templates/responsive/extensions/spambayes.py:65 +#, fuzzy +msgid "Message classified as" +msgstr "Liste de messages" + +#: ../share/roundup/templates/devel/extensions/spambayes.py:67 +#: ../share/roundup/templates/responsive/extensions/spambayes.py:67 +msgid "Unable to classify message, got error:" +msgstr "" + +#: ../share/roundup/templates/minimal/html/home.html:2 msgid "Tracker home - ${tracker}" msgstr "Accueil de Tracker - ${tracker}" -#: ../templates/minimal/html/home.html:4 +#: ../share/roundup/templates/minimal/html/home.html:4 msgid "Tracker home" msgstr "Accueil de Tracker" -#: ../templates/minimal/html/home.html:16 +#: ../share/roundup/templates/minimal/html/home.html:16 msgid "Please select from one of the menu options on the left." msgstr "Sélectionnez l'une des options du menu de gauche." -#: ../templates/minimal/html/home.html:19 +#: ../share/roundup/templates/minimal/html/home.html:19 msgid "Please log in or register." msgstr "Veuillez vous connecter ou vous inscrire." -#: ../templates/minimal/html/page.html:55 -msgid "Hello,<br>${user}" -msgstr "Bienvenue, <br/>${user}" - - +#~ msgid "%(key)s: %(value)r" +#~ msgstr "%(key)s: %(value)r" + +#~ msgid "" +#~ "Usage: history designator\n" +#~ " Show the history entries of a designator.\n" +#~ "\n" +#~ " Lists the journal entries for the node identified by the " +#~ "designator.\n" +#~ " " +#~ msgstr "" +#~ "Utilisation : history indicateur\n" +#~ " Affiche le journal des entrées d'un indicateur.\n" +#~ "\n" +#~ " Liste les entrées de journal pour le noeud identifié par\n" +#~ " l'indicateur.\n" +#~ " " + +#~ msgid "WARNING: invalid date tuple %r" +#~ msgstr "ATTENTION : tuple de date non valide %r" + +#~ msgid "%(class)s %(id)s - nothing changed" +#~ msgstr "%(class)s %(id)s - aucun changement" + +#~ msgid "You do not have permission to edit user roles" +#~ msgstr "" +#~ "Vous n'avez pas la permission de modifier les rôles d'un utilisateur" + +#~ msgid "File is empty" +#~ msgstr "Le fichier est vide" + +#~ msgid "*encrypted*" +#~ msgstr "*crypté*" + +#~ msgid "topic" +#~ msgstr "sujet" + +#~ msgid "System message:" +#~ msgstr "Message système :" + +#~ msgid "Error: apop specification not valid" +#~ msgstr "Erreur : la spécification apop n'est pas valide" + +#~ msgid "List of issues - ${tracker}" +#~ msgstr "Liste des anomalies - ${tracker}" + +#~ msgid "Topic" +#~ msgstr "Sujet" + +#~ msgid "View: ${link}" +#~ msgstr "Voir : ${link}" + +#~ msgid "Topics" +#~ msgstr "Sujets" + +#~ msgid "Topic:" +#~ msgstr "Sujet:" + +#~ msgid "Timezone" +#~ msgstr "Fuseau horaire" + +#~ msgid "Hello,<br>${user}" +#~ msgstr "Bienvenue, <br/>${user}"
