Index: pykota/trunk/po/fr/pykota.po
===================================================================
--- pykota/trunk/po/fr/pykota.po (revision 2627)
+++ pykota/trunk/po/fr/pykota.po (revision 2808)
@@ -3,5 +3,5 @@
 # PyKota : Print Quotas for CUPS and LPRng
 #
-# (c) 2003, 2004, 2005 Jerome Alet <alet@librelogiciel.com>
+# (c) 2003, 2004, 2005, 2006 Jerome Alet <alet@librelogiciel.com>
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,13 +21,11 @@
 #
 # PyKota french translation file.
-# Copyright (c) 2003, 2004, 2005 Conseil Internet & Logiciels Libres
-# Jerome Alet <alet@librelogiciel.com>, 2003, 2004, 2005.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PyKota v1.23\n"
+"Project-Id-Version: PyKota v1.24\n"
 "Report-Msgid-Bugs-To: alet@librelogiciel.com\n"
-"POT-Creation-Date: 2004-11-25 10:16+0100\n"
-"PO-Revision-Date: 2005-09-24 14:40:00+0100\n"
+"POT-Creation-Date: 2006-03-26 11:13+0200\n"
+"PO-Revision-Date: 2006-03-26 11:23:00+0100\n"
 "Last-Translator: Jerome Alet <alet@librelogiciel.com>\n"
 "Language-Team: French <alet@librelogiciel.com>\n"
@@ -86,4 +84,923 @@
 
 #, python-format
+msgid ""
+"edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"A Print Quota editor for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  edpykota [options] user1 user2 ... userN\n"
+"  \n"
+"  edpykota [options] group1 group2 ... groupN\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints edpykota's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -a | --add           Adds users or groups print quota entries if\n"
+"                       they don't exist in database.\n"
+"                       \n"
+"  -d | --delete        Deletes users or groups print quota entries.\n"
+"                       Users or groups are never deleted, you have\n"
+"                       to use the pkusers command to delete them.\n"
+"                       The history will be purge from all matching\n"
+"                       jobs, unless -g | --groups is used.\n"
+"  \n"
+"  -P | --printer p     Edit quotas on printer p only. Actually p can\n"
+"                       use wildcards characters to select only\n"
+"                       some printers. The default value is *, meaning\n"
+"                       all printers. \n"
+"                       You can specify several names or wildcards, \n"
+"                       by separating them with commas.\n"
+"  \n"
+"  -g | --groups        Edit groups print quota entries instead of \n"
+"                       users print quota entries.\n"
+"                          \n"
+"  -L | --list          Lists users or groups print quota entries.\n"
+"  \n"
+"  -n | --noquota       Sets both soft and hard limits to None for users\n"
+"                       or groups print quota entries.\n"
+"  \n"
+"  -r | --reset         Resets the actual page counter for the user\n"
+"                       or group to zero on the specified printers. \n"
+"                       The life time page counter is kept unchanged.\n"
+"                       \n"
+"  -R | --hardreset     Resets the actual and life time page counters\n"
+"                       for the user or group to zero on the specified \n"
+"                       printers. This is a shortcut for '--used 0'.\n"
+"                       \n"
+"  -s | --skipexisting  In combination with the --add option above, tells\n"
+"                       edpykota to not modify existing print quota entries.\n"
+"                       \n"
+"  -S | --softlimit sl  Sets the quota soft limit to sl "
+"pages.                       \n"
+"  \n"
+"  -H | --hardlimit hl  Sets the quota hard limit to hl pages.\n"
+"  \n"
+"  -I | --increase v    Increase existing Soft and Hard limits by the value\n"
+"                       of v. You can prefix v with + or -, if no sign is\n"
+"                       used, + is assumed.\n"
+"\n"
+"  -U | --used u        Sets the page counters for the user u pages on\n"
+"                       the selected printers. Doesn't work for groups, "
+"since\n"
+"                       their page counters are the sum of all their "
+"members'\n"
+"                       page counters.\n"
+"                       Useful for migrating users from a different system\n"
+"                       where they have already used some pages. Actual\n"
+"                       and Life Time page counters may be increased or "
+"decreased\n"
+"                       if u is prefixed with + or -.\n"
+"                       WARNING : BOTH page counters are modified in all "
+"cases,\n"
+"                       so be careful.\n"
+"                       NB : if u equals '0', then the action taken is\n"
+"                       the same as if --hardreset was used.\n"
+"\n"
+"  user1 through userN and group1 through groupN can use wildcards\n"
+"  if the --add option is not set.\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ edpykota --add john paul george ringo\n"
+"  \n"
+"  This will create print quota entries for users john, paul, george\n"
+"  and ringo on all printers. These print quota entries will have no\n"
+"  limit set.\n"
+"  \n"
+"  $ edpykota --printer lp -S 50 -H 60 jerome\n"
+"  \n"
+"  This will set jerome's print quota on the lp printer to a soft limit\n"
+"  of 50 pages, and a hard limit of 60 pages. Both user jerome and\n"
+"  printer lp have been previously created with the pkusers and pkprinters\n"
+"  commands, respectively.\n"
+"\n"
+"  $ edpykota -g -S 500 -H 550 financial support            \n"
+"  \n"
+"  This will set print quota soft limit to 500 pages and hard limit\n"
+"  to 550 pages for groups financial and support on all printers.\n"
+"  \n"
+"  $ edpykota --reset jerome \"jo*\"\n"
+"  \n"
+"  This will reset jerome's page counter to zero on all printers, as\n"
+"  well as every user whose name begins with 'jo'.\n"
+"  Their life time page counter on each printer will be kept unchanged.\n"
+"  You can also reset the life time page counters by using the\n"
+"  --hardreset | -R command line option.\n"
+"  \n"
+"  $ edpykota --printer hpcolor --noquota jerome\n"
+"  \n"
+"  This will tell PyKota to not limit jerome when printing on the \n"
+"  hpcolor printer. All his jobs will be allowed on this printer, but \n"
+"  accounting of the pages he prints will still be kept.\n"
+"  Print Quotas for jerome on other printers are unchanged.\n"
+"  \n"
+"  $ edpykota --delete --printer \"HP*,XER*\" jerome rachel\n"
+"  \n"
+"  This will delete users jerome and rachel's print quota\n"
+"  entries on all printers which name begin with 'HP' or\n"
+"  'XER'. The jobs printed by these users on these printers\n"
+"  will be deleted from the history.\n"
+msgstr ""
+
+#, python-format
+msgid "You can't set negative limits for %s"
+msgstr "Vous ne pouvez pas indiquer de limites n�tives pour %s"
+
+msgid "Extracting datas"
+msgstr "Extraction des donn�"
+
+#, python-format
+msgid "Page counter : %s"
+msgstr "Compteur de pages : %s"
+
+#, python-format
+msgid "Lifetime page counter : %s"
+msgstr "Compteur de page �rnel : %s"
+
+#, python-format
+msgid "Soft limit : %s"
+msgstr "Limite souple : %s"
+
+#, python-format
+msgid "Hard limit : %s"
+msgstr "Limite dure : %s"
+
+#, python-format
+msgid "Date limit : %s"
+msgstr "Date limite : %s"
+
+#, python-format
+msgid "Maximum job size : %s"
+msgstr "Taille maximale : %s"
+
+#, python-format
+msgid "%s pages"
+msgstr "%s pages"
+
+msgid "Unlimited"
+msgstr "Illimit�
+
+#, python-format
+msgid "Warning banners printed : %s"
+msgstr "Banni�s d'avertissement imprim� : %s"
+
+msgid "Deletion"
+msgstr "Suppression"
+
+#, python-format
+msgid "Invalid used value %s."
+msgstr "Valeur %s invalide pour le nombre de pages utilis�."
+
+#, python-format
+msgid "Invalid increase value %s."
+msgstr "Valeur d'incr�nt %s invalide."
+
+#, python-format
+msgid "Invalid softlimit value %s."
+msgstr "Valeur %s invalide pour la limite souple."
+
+#, python-format
+msgid "Invalid hardlimit value %s."
+msgstr "Valeur %s invalide pour la limite dure."
+
+#, python-format
+msgid "Hard limit %i is less than soft limit %i, values will be exchanged."
+msgstr ""
+"Limite dure %i est inf�eure �a limite souple %i, les valeurs seront "
+"�ang�. "
+
+#, python-format
+msgid "Undefined hard limit set to soft limit (%s)."
+msgstr ""
+"Valeur de limite dure non d�nie, positionn� �a limite souple (%s)."
+
+#, python-format
+msgid "Undefined soft limit set to hard limit (%s)."
+msgstr ""
+"Valeur de limite souple non d�nie, positionn� �a limite dure (%s)."
+
+msgid "Creation"
+msgstr "Cr�ion"
+
+#, python-format
+msgid ""
+"Impossible to create print quota entries if the user or group object '%s' "
+"doesn't already exist. Please use pkusers to create it first."
+msgstr ""
+"Impossible de cr� des entr� de quota d'impression si l'utilisateur ou le "
+"groupe '%s' n'existe pas d�. Veuillez utiliser pkusers pour le cr� au "
+"pr�able."
+
+msgid "Modification"
+msgstr "Modification"
+
+msgid "incompatible options, see help."
+msgstr "options incompatibles, voir l'aide."
+
+msgid "You have to pass user or group names on the command line"
+msgstr ""
+"Vous devez passer des noms d'utilisateurs ou de groupes sur la ligne de "
+"commande"
+
+#, python-format
+msgid ""
+"pkbanner v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Generates banners.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkbanner  [options]  [more info]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pkbanner's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -l | --logo img      Use the image as the banner's logo. The logo will\n"
+"                       be drawn at the center top of the page. The default\n"
+"                       logo is /usr/share/pykota/logos/pykota.jpeg\n"
+"                       \n"
+"  -p | --pagesize sz   Sets sz as the page size. Most well known\n"
+"                       page sizes are recognized, like 'A4' or 'Letter'\n"
+"                       to name a few. The default size is A4.\n"
+"  \n"
+"  -s | --savetoner s   Sets the text luminosity factor to s%%. This can be \n"
+"                       used to save toner. The default value is 0, which\n"
+"                       means that no toner saving will be done.\n"
+"  \n"
+"  -u | --url u         Uses u as an url to be written at the bottom of \n"
+"                       the banner page. The default url is :\n"
+"                       http://www.librelogiciel.com/software/\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  Using pkbanner directly from the command line is not recommended,\n"
+"  excepted for testing purposes. You should use pkbanner in the\n"
+"  'startingbanner' or 'endingbanner' directives in pykota.conf\n"
+"  \n"
+"    startingbanner: /usr/bin/pkbanner --logo=\"\" --savetoner=75\n"
+"  \n"
+"      With such a setting in pykota.conf, all print jobs will be \n"
+"      prefixed with an A4 banner with no logo, and text luminosity will\n"
+"      be increased by 75%%. The PostScript output will be directly sent\n"
+"      to your printer.\n"
+"      \n"
+"  You'll find more examples in the sample configuration file included    \n"
+"  in PyKota.\n"
+msgstr ""
+"pkbanner v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"G�re des banni�s.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pkbanner  [options]  [plus d'info]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche le num� de version de pkbanner et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -l | --logo img      Utilise l'image img comme logo pour la banni�.\n"
+"                       Le logo sera dessin�n haut et au centre de la "
+"page.\n"
+"                       Le logo par d�ut est\n"
+"                               /usr/share/pykota/logos/pykota.jpeg\n"
+"                       \n"
+"  -p | --pagesize sz   Positionne la taille de la page �z. La plupart des\n"
+"                       tailles sont reconnues, comme 'A4' ou 'Letter' par\n"
+"                       exemple. La taille par d�ut est A4.\n"
+"  \n"
+"  -s | --savetoner s   Positionne le facteur de luminosit�u texte �%%.\n"
+"                       Cela peut �e utilis�our �nomiser du toner. La\n"
+"                       valeur par d�ut est 0, qui signifie qu'aucune\n"
+"                       �nomie de toner ne sera r�is�\n"
+"  \n"
+"  -u | --url u         Utilise u comme une url qui sera imprim�en base de\n"
+"                       la page banni�. L'url par d�ut est :\n"
+"                               http://www.librelogiciel.com/software/\n"
+"  \n"
+"exemples :\n"
+"\n"
+"  L'utilisation directe de pkbanner depuis la ligne de commande n'est pas\n"
+"  conseill� sauf pour effectuer des tests. Vous devriez plut�tiliser\n"
+"  pkbanner depuis les directives 'startingbanner' ou 'endingbanner' du\n"
+"  fichier pykota.conf\n"
+"  \n"
+"    startingbanner: /usr/bin/pkbanner --logo=\"\" --savetoner=75\n"
+"  \n"
+"      Avec une telle configuration dans pykota.conf, tous les travaux\n"
+"      d'impression seront pr�d�d'une banni� au format A4 sans logo,\n"
+"      et la luminosit�u texte sera accrue de 75%%. La sortie PostScript\n"
+"      de cette commande sera directement envoy��otre imprimante.\n"
+"      \n"
+"  Vous trouverez plus d'exemples dans le fichier de configuration exemple\n"
+"  qui est inclus dans PyKota.\n"
+
+msgid "Unknown"
+msgstr "Inconnu"
+
+msgid "Username"
+msgstr "Utilisateur"
+
+msgid "More Info"
+msgstr "Plus d'info"
+
+msgid "Job"
+msgstr "Travail"
+
+msgid "Date"
+msgstr "Date"
+
+msgid "Allowed"
+msgstr "Autoris�
+msgid "Denied"
+msgstr "Rejet�
+msgid "Allowed with Warning"
+msgstr "Autoris�vec Avertissement"
+
+msgid "Problem"
+msgstr "Probl�"
+
+msgid "Cancelled"
+msgstr "Annul�
+msgid "Result"
+msgstr "R�ltat"
+
+msgid "Title"
+msgstr "Titre"
+
+msgid "Filename"
+msgstr "Fichier"
+
+#, python-format
+msgid "Pages printed so far on %s"
+msgstr "Pages d� imprim� sur %s"
+
+msgid "Account balance"
+msgstr "Solde"
+
+msgid "Soft Limit"
+msgstr "Limite Souple"
+
+msgid "Hard Limit"
+msgstr "Limite Dure"
+
+msgid "Date Limit"
+msgstr "Date Limite"
+
+msgid "No Limit"
+msgstr "Aucune Limite"
+
+msgid "No Accounting"
+msgstr "Aucun D�mpte"
+
+msgid "Forbidden"
+msgstr "Interdit"
+
+msgid "Printing Mode"
+msgstr "Mode d'Impression"
+
+msgid "Allowed range is (0..99)"
+msgstr "L'intervalle permis est (0..99)"
+
+#, python-format
+msgid "Invalid 'savetoner' option %s : %s"
+msgstr "Valeur %s invalide pour l'option 'savetoner' : %s"
+
+#, python-format
+msgid "Invalid 'pagesize' option %s, defaulting to A4."
+msgstr "Valeur %s invalide pour l'option 'pagesize', utilisation de A4."
+
+#, python-format
+msgid ""
+"pkmail v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Email gateway for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkmail  [options]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pkmail's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"    \n"
+"  This command is meant to be used from your mail server's aliases file,\n"
+"  as a pipe. It will then accept commands send to it in email messages,\n"
+"  and will send the answer to the command's originator.\n"
+"  \n"
+"  To use this command, create an email alias in /etc/aliases with\n"
+"  the following format :\n"
+"  \n"
+"    pykotacmd: \"|/usr/bin/pkmail\"\n"
+"    \n"
+"  Then run the 'newaliases' command to regenerate the aliases database.\n"
+"  \n"
+"  You can now send commands by email to 'pykotacmd@yourdomain.com', with\n"
+"  the command in the subject.\n"
+"  \n"
+"  List of supported commands :\n"
+"  \n"
+"        report [username]\n"
+"  \n"
+"  NB : For pkmail to work correctly, you may have to put the 'mail'\n"
+"  system user in the 'pykota' system group to ensure this user can\n"
+"  read the /etc/pykota/pykotadmin.conf file, and restart your\n"
+"  mail server (e.g. /etc/init.d/exim restart). It is strongly advised\n"
+"  that you think at least twice before doing this though.\n"
+"  \n"
+"  Use at your own risk !\n"
+msgstr ""
+"pkmail v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Passerelle courrier �ctronique pour PyKota.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pkmail  [options]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche la version de pkmail et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"    \n"
+"  Cette commande est faite pour �e utilis�depuis la base de donn�\n"
+"  d'alias de votre serveur de courrier �ctronique, en tant que pipe.\n"
+"  Elle va accepter les commandes qui lui sont envoy� dans des messages\n"
+"  et renverra sa r�nse �'exp�teur de la demande.\n"
+"  \n"
+"  Pour utiliser cette commande, cr� un alias email dans /etc/aliases\n"
+"  avec le format suivant :\n"
+"  \n"
+"    pykotacmd: \"|/usr/bin/pkmail\"\n"
+"    \n"
+"  Puis lancez la commande 'newaliases' pour r�n�r la base de donn�\n"
+"  d'alias.\n"
+"  \n"
+"  Vous pouvez maintenant envoyer vos demandes par email �'adresse\n"
+"  'pykotacmd@yourdomain.com', avec la commande dans le champ sujet.\n"
+"  \n"
+"  Liste des commandes support� :\n"
+"  \n"
+"        report [utilisateur]\n"
+"  \n"
+"  NB : Pour que pkmail fonctionne correctement, il se peut que vous ayez �"
+"  mettre l'utilisateur 'mail' dans le groupe syst� 'pykota' afin "
+"d'assurer\n"
+"  que cet utilisateur puisse lire le fichier /etc/pykota/pykotadmin.conf,\n"
+"  et de relancer votre serveur de courrier �ctronique (par exemple\n"
+"  /etc/init.d/exim restart). Cependant, il est fortement conseill�ue vous\n"
+"  r��issiez plut�eux fois qu'une avant de faire ceci.\n"
+"  \n"
+"  Utilisez �os risques et p�ls !\n"
+
+#, python-format
+msgid ""
+"pkturnkey v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"A turn key tool for PyKota. When launched, this command will initialize\n"
+"PyKota's database with all existing print queues and some or all users.\n"
+"For now, no prices or limits are set, so printing is fully accounted\n"
+"for, but not limited. That's why you'll probably want to also use\n"
+"edpykota once the database has been initialized.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkturnkey [options] [printqueues names]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pkturnkey version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -c | --doconf        Give hints about what to put into pykota.conf\n"
+"  \n"
+"  -d | --dousers       Manages users accounts as well.\n"
+"  \n"
+"  -D | --dogroups      Manages users groups as well.\n"
+"                       Implies -d | --dousers.\n"
+"  \n"
+"  -e | --emptygroups   Includes empty groups.\n"
+"  \n"
+"  -f | --force         Modifies the database instead of printing what\n"
+"                       it would do.\n"
+"                       \n"
+"  -u | --uidmin uid    Only adds users whose uid is greater than or equal "
+"to\n"
+"                       uid. You can pass an username there as well, and its\n"
+"                       uid will be used automatically.\n"
+"                       If not set, 0 will be used automatically.\n"
+"                       Implies -d | --dousers.\n"
+"                       \n"
+"  -U | --uidmax uid    Only adds users whose uid is lesser than or equal to\n"
+"                       uid. You can pass an username there as well, and its\n"
+"                       uid will be used automatically.\n"
+"                       If not set, a large value will be used "
+"automatically.\n"
+"                       Implies -d | --dousers.\n"
+"\n"
+"  -g | --gidmin gid    Only adds groups whose gid is greater than or equal "
+"to\n"
+"                       gid. You can pass a groupname there as well, and its\n"
+"                       gid will be used automatically.\n"
+"                       If not set, 0 will be used automatically.\n"
+"                       Implies -D | --dogroups.\n"
+"                       \n"
+"  -G | --gidmax gid    Only adds groups whose gid is lesser than or equal "
+"to\n"
+"                       gid. You can pass a groupname there as well, and its\n"
+"                       gid will be used automatically.\n"
+"                       If not set, a large value will be used "
+"automatically.\n"
+"                       Implies -D | --dogroups.\n"
+"\n"
+"examples :                              \n"
+"\n"
+"  $ pkturnkey --dousers --uidmin jerome\n"
+"\n"
+"  Will simulate the initialization of PyKota's database will all existing\n"
+"  printers and print accounts for all users whose uid is greater than\n"
+"  or equal to jerome's one. Won't manage any users group.\n"
+"  \n"
+"  To REALLY initialize the database instead of simulating it, please\n"
+"  use the -f | --force command line switch.\n"
+"  \n"
+"  You can limit the initialization to only a subset of the existing\n"
+"  printers, by passing their names at the end of the command line.\n"
+msgstr ""
+"pkturnkey v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Un outil pour transformer PyKota en une solution clefs en main.\n"
+"Lorsqu'elle est lanc� cette commande va initialiser la base de donn�\n"
+"de PyKota avec toutes les files d'impressions et plusieurs ou tous les\n"
+"utilisateurs. Pour l'instant aucun quota n'est d�ni, aussi les "
+"impressions\n"
+"sont bien d�mpt�, mais non limit�. C'est pourquoi vous voudrez sans\n"
+"doute aussi utiliser edpykota une fois la base de donn� initialis�\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pkturnkey [options] [noms des files d'impression]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche le num� de version de pkturnkey et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -c | --doconf        Donne des conseils sur quoi mettre dans pykota.conf\n"
+"  \n"
+"  -d | --dousers       G� aussi les comptes utilisateurs.\n"
+"  \n"
+"  -D | --dogroups      G� aussi les groupes d'utilisateurs.\n"
+"                       Implique -d | --dousers.\n"
+"  \n"
+"  -e | --emptygroups   Inclure m� les groupes vides.\n"
+"  \n"
+"  -f | --force         Modifie la base de donn� plut�ue d'afficher ce\n"
+"                       qui serait fait.\n"
+"                       \n"
+"  -u | --uidmin uid    Ajoute seulement les utilisateurs dont l'uid est\n"
+"                       sup�eur ou �l �a valeur de uid. Vous pouvez\n"
+"                       aussi indiquer un nom d'utilisateur, et sont uid "
+"sera\n"
+"                       utilis�utomatiquement.\n"
+"                       Si non positionn�0 sera utilis�utomatiquement.\n"
+"                       Implique -d | --dousers.\n"
+"                       \n"
+"  -U | --uidmax uid    Ajoute seulement les utilisateurs dont l'uid est\n"
+"                       inf�eur ou �l �a valeur de uid. Vous pouvez\n"
+"                       aussi indiquer un nom d'utilisateur, et sont uid "
+"sera\n"
+"                       utilis�utomatiquement.\n"
+"                       Si non positionn�une grande valeur sera utilis�n"
+"                       automatiquement.\n"
+"                       Implique -d | --dousers.\n"
+"\n"
+"  -g | --gidmin gid    Ajoute seulement les groupes dont le gid est\n"
+"                       sup�eur ou �l �a valeur de gid. Vous pouvez\n"
+"                       aussi indiquer un nom de groupe, et sont gid sera\n"
+"                       utilis�utomatiquement.\n"
+"                       Si non positionn�0 sera utilis�utomatiquement.\n"
+"                       Implique -D | --dogroups.\n"
+"                       \n"
+"  -G | --gidmax gid    Ajoute seulement les groupes dont le gid est\n"
+"                       inf�eur ou �l �a valeur de gid. Vous pouvez\n"
+"                       aussi indiquer un nom de groupe, et sont gid sera\n"
+"                       utilis�utomatiquement.\n"
+"                       Si non positionn�une grande valeur sera utilis�n"
+"                       automatiquement.\n"
+"                       Implique -D | --dogroups.\n"
+"\n"
+"exemples :                              \n"
+"\n"
+"  $ pkturnkey --dousers --uidmin jerome\n"
+"\n"
+"  Ceci va simuler l'initialisation de la base de donn� de PyKota avec\n"
+"  toutes les files d'impression existantes et les comptes d'impression pour\n"
+"  tous les utilisateurs ayant un uid sup�eur ou �l �elui de jerome.\n"
+"  Aucun groupe ne sera cr�\n"
+"  \n"
+"  Pour VRAIMENT initialiser la base de donn� plut�ue de le simuler,\n"
+"  vous voudrez bien utiliser l'option de ligne de commande -f|--force.\n"
+"  \n"
+"  Vous pouvez limiter l'initialisation �n sous ensemble des files\n"
+"  d'impression, en passant leurs noms �a fin de la ligne de commande.\n"
+
+#, python-format
+msgid ""
+"Printer %s is not managed by PyKota yet. Please modify printers.conf and "
+"restart CUPS."
+msgstr ""
+"L'imprimante %s n'est pas encore g�e par PyKota. Veuillez modifier "
+"printers.conf et relancer CUPS."
+
+msgid "You're not allowed to use this command."
+msgstr "Vous n'�s pas autoris�) �tiliser cette commande."
+
+msgid "Please be patient..."
+msgstr "Merci de patienter..."
+
+msgid "Don't worry, the database WILL NOT BE MODIFIED."
+msgstr "Aucune inqui�de, la base de donn� NE SERA PAS MODIFIEE."
+
+msgid "Please WORRY NOW, the database WILL BE MODIFIED."
+msgstr "Merci de vous INQUIETER MAINTENANT, la base de donn� SERA MODIFIEE."
+
+msgid "System users will have a print account as well !"
+msgstr "Les utilisateurs syst� auront �lement un compte d'impression !"
+
+#, python-format
+msgid "Unknown username %s : %s"
+msgstr "Utilisateur %s inconnu : %s"
+
+msgid "System groups will have a print account as well !"
+msgstr "Les groupes syst� auront �lement un compte d'impression !"
+
+#, python-format
+msgid "Unknown groupname %s : %s"
+msgstr "Groupe %s inconnu : %s"
+
+msgid "Simulation terminated."
+msgstr "Simulation termin�"
+
+msgid "Database initialized !"
+msgstr "Base de donn� initialis�!"
+
+msgid "The --uidmin or --uidmax command line option implies --dousers as well."
+msgstr ""
+"L'option de ligne de commande --uidmin ou --uidmax implique aussi --dousers."
+
+msgid ""
+"The --gidmin or --gidmax command line option implies --dogroups as well."
+msgstr ""
+"L'option de ligne de commande --gidmin ou --gidmax implique aussi --dogroups."
+
+msgid "The --dogroups command line option implies --dousers as well."
+msgstr "L'option de ligne de commande --dogroups implique aussi --dousers."
+
+#, python-format
+msgid ""
+"pykosd v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"An OSD quota monitor for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pykosd [options]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pykosd's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -c | --color #rrggbb Sets the color to use for display as an hexadecimal\n"
+"                       triplet, for example #FF0000 is 100%% red.\n"
+"                       Defaults to 100%% green (#00FF00).\n"
+"                       \n"
+"  -d | --duration d    Sets the duration of the display in seconds. \n"
+"                       Defaults to 3 seconds.\n"
+"                       \n"
+"  -f | --font f        Sets the font to use for "
+"display.                      \n"
+"                       Defaults to the Python OSD library's default.\n"
+"  \n"
+"  -l | --loop n        Sets the number of times the info will be displayed.\n"
+"                       Defaults to 0, which means loop forever.\n"
+"                       \n"
+"  -s | --sleep s       Sets the sleeping duration between two displays \n"
+"                       in seconds. Defaults to 180 seconds (3 minutes).\n"
+"                       \n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ pykosd -s 60 --loop 5\n"
+"  \n"
+"  Will launch pykosd. Display will be refreshed every 60 seconds,\n"
+"  and will last for 3 seconds (the default) each time. After five\n"
+"  iterations, the program will exit.\n"
+msgstr ""
+"pykosd v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Un afficheur OSD de quota d'impression pour PyKota.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pykosd [options]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche la version de pykosd et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -c | --color #rrggbb Fixe la couleur �tiliser pour l'affichage �n\n"
+"                       triplet hexadecimal, par exemple #FF0000 est 100%%\n"
+"                       de rouge.\n"
+"                       La valeur par d�ut est 100%% de vert (#00FF00).\n"
+"                       \n"
+"  -d | --duration d    Fixe la dur�de l'affichage en secondes. \n"
+"                       La valeur par d�ut est de 3 secondes.\n"
+"                       \n"
+"  -f | --font f        Fixe la police de caract�s �tiliser pour\n"
+"                       l'affichage.\n"
+"                       La valeur par d�ut est celle de la librairie\n"
+"                       Python OSD.\n"
+"                       \n"
+"  -l | --loop n        Fixe le nombre de fois o�nformation sera "
+"affich�\n"
+"                       La valeur par d�ut est 0, qui indique un nombre\n"
+"                       d'affichages infini.\n"
+"                       \n"
+"  -s | --sleep s       Fixe la dur�en secondes de sommeil entre deux\n"
+"                       affichages. La valeur par d�ut est 180 (3 "
+"minutes).\n"
+"\n"
+"\n"
+"exemples :\n"
+"\n"
+"  $ pykosd -s 60 --loop 5\n"
+"  \n"
+"  Lance pykosd. L'affichage sera rafra�it toutes les 60 secondes,\n"
+"  et persistera pendant 3 secondes (la valeur par d�ut) �haque fois.\n"
+"  Apr�5 it�tions, le programme se terminera.\n"
+
+#, python-format
+msgid "Invalid duration option %s"
+msgstr "Option duration %s invalide"
+
+#, python-format
+msgid "Invalid loop option %s"
+msgstr "Option loop %s invalide"
+
+#, python-format
+msgid "Invalid sleep option %s"
+msgstr "Option sleep %s invalide"
+
+#, python-format
+msgid "Invalid color option %s"
+msgstr "Option color %s invalide"
+
+#, python-format
+msgid "User %s doesn't exist in PyKota's database"
+msgstr "L'utilisateur %s n'existe pas dans la base PyKota"
+
+#, python-format
+msgid "Pages used on %s : %s"
+msgstr "Pages utilis� sur %s : %s"
+
+#, python-format
+msgid "PyKota Units left : %.2f"
+msgstr "Unites PyKota restantes : %.2f"
+
+msgid "Printing denied."
+msgstr "Impression interdite."
+
+msgid "Printing not limited."
+msgstr "Impression illimit�"
+
+msgid "Printing not limited, no accounting."
+msgstr "Impression illimit� aucun d�mpte."
+
+#, python-format
+msgid ""
+"repykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Generates print quota reports.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  repykota [options] \n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints repykota's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -u | --users         Generates a report on users quota, this is \n"
+"                       the default.\n"
+"  \n"
+"  -g | --groups        Generates a report on group quota instead of users.\n"
+"  \n"
+"  -i | --ingroups g1[,g2...]  Only lists users who are members of these\n"
+"                              groups. Reserved to PyKota Administrators.\n"
+"  \n"
+"  -P | --printer p     Report quotas on this printer only. Actually p can\n"
+"                       use wildcards characters to select only\n"
+"                       some printers. The default value is *, meaning\n"
+"                       all printers.\n"
+"                       You can specify several names or wildcards, \n"
+"                       by separating them with commas.\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ repykota --printer lp\n"
+"  \n"
+"  This will print the quota status for all users who use the lp printer.\n"
+"\n"
+"  $ repykota \n"
+"  \n"
+"  This will print the quota status for all users on all printers.\n"
+"  \n"
+"  $ repykota --printer \"laser*,*pson\" jerome \"jo*\"\n"
+"  \n"
+"  This will print the quota status for user jerome and all users\n"
+"  whose name begins with \"jo\" on all printers which name begins\n"
+"  with \"laser\" or ends with \"pson\".\n"
+"  \n"
+"  If launched by an user who is not a PyKota administrator, additionnal\n"
+"  arguments representing users or groups names are ignored, and only the\n"
+"  current user/group is reported.\n"
+msgstr ""
+"repykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"G�re des rapports de quotas d'impression.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  repykota [options] \n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche la version de repykota et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -u | --users         G�re un rapport sur les quotas des utilisateurs,\n"
+"                       c'est la valeur par d�ut.\n"
+"  \n"
+"  -g | --groups        G�re un rapport sur les quotas de groupes plut�"
+"                       que sur ceux des utilisateurs.\n"
+"  \n"
+"  -i | --ingroups g1[,g2...]  Liste seulement les utilisateurs membres de "
+"ces\n"
+"                              groupes. Reserv�ux Administrateurs PyKota\n"
+"  \n"
+"  -P | --printer p     Renvoie les quotas pour cette imprimante seulement.\n"
+"                       En fait p peut contenir des caract�s jokers pour\n"
+"                       s�ctionner certaines imprimantes seulement.\n"
+"                       La valeur par d�ut est *, qui signifie de v�fier\n"
+"                       les quotas sur toutes les imprimantes.\n"
+"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
+"                       en les s�rant avec des virgules.\n"
+"\n"
+"exemples :                              \n"
+"\n"
+"  $ repykota --printer lp\n"
+"  \n"
+"  Ceci va afficher un rapport de quotas pour tous les utilisateurs de\n"
+"  l'imprimante lp.\n"
+"\n"
+"  $ repykota \n"
+"  \n"
+"  Ceci va afficher un rapport pour tous les utilisateurs sur toutes les\n"
+"  imprimantes.\n"
+"  \n"
+"  $ repykota --printer \"laser*,*pson\" jerome \"jo*\"\n"
+"  \n"
+"  Ceci va afficher un rapport pour l'utilisateur jerome et tous les\n"
+"  utilisateurs dont le nom commence par \"jo\" sur toutes les imprimantes\n"
+"  dont le nom commence par \"laser\" ou se termine par \"pson\".\n"
+"  \n"
+"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
+"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
+"  d'utilisateurs ou de groupes sont ignor� et un rapport traitant "
+"seulement\n"
+"  de l'utilisateur ou du groupe courant est g�r�n"
+
+msgid "Option --ingroups is reserved to PyKota Administrators."
+msgstr "L'option --ingroupes est r�rv�aux Administrateurs de PyKota."
+
+#, python-format
+msgid "There's no printer matching %s"
+msgstr "Aucune imprimante ne correspond �s"
+
+#, python-format
 msgid "SIGTERM received, job %s cancelled."
 msgstr "SIGTERM re� travail d'impression %s annul�
@@ -92,9 +1009,6 @@
 msgstr "Vous n'avez pas le droit d'imprimer pour l'instant."
 
-#, python-format
-msgid "Unable to precompute the job's size with the generic PDL analyzer : %s"
-msgstr ""
-"Impossible de pr�alculer la taille du travail d'impression avec "
-"l'analyzeur g�rique de PDL : %s"
+msgid "Print job cancelled."
+msgstr "Travail d'impression annul�
 
 #, python-format
@@ -262,4 +1176,18 @@
 "Le travail d'impression ne contient aucune donn� L'impression est rejet�"
 
+msgid "Error in external policy script. Printing is denied."
+msgstr "Erreur dans le script de r�e externe. Impression interdite."
+
+#, python-format
+msgid ""
+"Still no print quota entry for user %s on printer %s after external policy. "
+"Printing is denied."
+msgstr ""
+"Toujours pas d'entr�de quota d'impression pour l'utilisateur %s sur "
+"l'imprimante %s apr�la r�e externe. Impression interdite."
+
+msgid "Printing is denied by printer policy."
+msgstr "Impression interdite par la r�e de l'imprimante."
+
 msgid "Job allowed by printer policy. No accounting will be done."
 msgstr ""
@@ -301,4 +1229,7 @@
 msgstr "Travail rejet�aucun d�mpte ne sera effectu�
 
+msgid "Job cancelled, no accounting will be done."
+msgstr "Travail annul�aucun d�mpte ne sera effectu�
+
 msgid "Job accounting begins."
 msgstr "D�t du d�mpte pour le travail d'impression."
@@ -307,10 +1238,27 @@
 msgstr "Travail rejet�aucun d�mpte n'a � effectu�
 
+msgid "Job cancelled, no accounting has been done."
+msgstr "Travail annul�aucun d�mpte n'a � effectu�
+
 msgid "Job accounting ends."
 msgstr "Fin du d�mpte pour le travail d'impression."
 
+msgid ""
+"Job size forced to 0 because the real CUPS backend failed. No accounting "
+"will be done."
+msgstr ""
+"Taille du travail forc�� car le vrai backend CUPS a failli. Aucun "
+"d�mpte ne sera effectu�
+
+msgid "The real CUPS backend failed, but the job will be accounted for anyway."
+msgstr ""
+"Le vrai backend CUPS a failli, mais le travail sera d�mpt�uand m�."
+
 msgid "Job size forced to 0 because printing is denied."
 msgstr ""
 "Taille du travail d'impression forc�� car l'impression est rejet�"
+
+msgid "Job size forced to 0 because printing was cancelled."
+msgstr "Taille du travail forc�� car l'impression a � annul�"
 
 #, python-format
@@ -331,4 +1279,702 @@
 msgid "Billing code %s was updated."
 msgstr "Le code de facturation %s a � modifi�
+
+#, python-format
+msgid "Incorrect value for the 'onbackenderror' directive in section [%s]"
+msgstr ""
+"Valeur incorrecte pour la directive 'onbackenderror' dans la section [%s]"
+
+#, python-format
+msgid "The real backend produced an error, we will try again in %s seconds."
+msgstr ""
+"Le vrai backend a produit une erreur, nous r�saierons dans %s secondes."
+
+#, python-format
+msgid "Job %s interrupted by the administrator !"
+msgstr "Travail %s interrompu par l'administrateur !"
+
+#, python-format
+msgid ""
+"pkbcodes v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"A billing codes Manager for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkbcodes [options] code1 code2 code3 ... codeN\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pkbcodes version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -a | --add           Adds billing codes if they don't exist in PyKota's\n"
+"                       database. If they exist, they are modified\n"
+"                       unless -s|--skipexisting is also used.\n"
+"\n"
+"  -d | --delete        Deletes billing codes from PyKota's database.\n"
+"                       NB : the history entries with this billing code\n"
+"                       are not deleted, voluntarily.\n"
+"\n"
+"  -D | --description d Adds a textual description to billing codes.\n"
+"\n"
+"  -l | --list          List informations about the billing codes.\n"
+"\n"
+"  -r | --reset         Resets the billing codes' balance and page counters\n"
+"                       to 0.\n"
+"\n"
+"  -s | --skipexisting  In combination with the --add option above, tells\n"
+"                       pkbcodes to not modify existing billing codes.\n"
+"\n"
+"  code1 through codeN can contain wildcards if the --add option\n"
+"  is not set.\n"
+"\n"
+"examples :                              \n"
+"\n"
+"  $ pkbcodes --add -D \"My project\" myproj\n"
+"\n"
+"  Will create the myproj billing code with \"My project\"\n"
+"  as the description.\n"
+"\n"
+"  $ pkbcodes --delete \"*\"\n"
+"\n"
+"  This will completely delete all the billing codes, but without\n"
+"  removing any matching job from the history. USE WITH CARE ANYWAY !\n"
+"  \n"
+"  $ pkbcodes --list \"my*\"\n"
+"  \n"
+"  This will list all billing codes which name begins with 'my'.\n"
+msgstr ""
+"pkbcodes v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Un gestionnaire de codes de facturation pour PyKota.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pkbcodes [options] code1 code2 code3 ... codeN\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche le num� de version de pkbcodes et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -a | --add           Ajoute les codes de facturations s'ils n'existent "
+"pas\n"
+"                       d� dans la base de donn� de PyKota.\n"
+"                       S'ils existent d�, ils sont modifi�sauf si vous\n"
+"                       utilisez aussi -s|--skipexisting.\n"
+"\n"
+"  -d | --delete        Efface les codes de facturation de la base de "
+"donn�\n"
+"                       de PyKota.\n"
+"                       NB : les entr� de l'historique correspondant �es\n"
+"                       codes de facturation ne sont volontairement pas\n"
+"                       effac�.\n"
+"\n"
+"  -D | --description d Ajoute un texte descriptif �n code de facturation.\n"
+"\n"
+"  -l | --list          Liste les informations sur les codes de facturation.\n"
+"\n"
+"  -r | --reset         R�itialise � le solde et le compteur de pages "
+"des\n"
+"                       codes de facturation.\n"
+"\n"
+"  -s | --skipexisting  Combin� l'option --add ci-dessus, indique �
+"pkbcodes\n"
+"                       de ne pas modifier les codes de facturation "
+"existants.\n"
+"\n"
+"  Les codes de facturation peuvent contenir des caract�s jokers si "
+"l'option\n"
+"  --add n'est pas utilis�\n"
+"\n"
+"exemples :                              \n"
+"\n"
+"  $ pkbcodes --add -D \"Mon projet\" monproj\n"
+"\n"
+"  Va cr� le code de facturation monproj avec \"Mon projet\"\n"
+"  comme descriptif.\n"
+"\n"
+"  $ pkbcodes --delete \"*\"\n"
+"\n"
+"  Ceci va compl�ment effacer tous les codes de facturation, mais sans\n"
+"  effacer aucune entr�de l'historique. UTILISEZ QUAND MEME AVEC "
+"PARCIMONIE !\n"
+"  \n"
+"  $ pkbcodes --list \"mo*\"\n"
+"  \n"
+"  Ceci va lister tous les codes de facturation dont le nom commence par "
+"'mo'.\n"
+
+#, python-format
+msgid "There's no billingcode matching %s"
+msgstr "Aucun code de facturation correspondant �s"
+
+msgid "pages"
+msgstr "pages"
+
+msgid "and"
+msgstr "et"
+
+msgid "credits"
+msgstr "cr�ts"
+
+#, python-format
+msgid "Billing code [%s] already exists, skipping."
+msgstr "Le code de facturation [%s] existe d� et sera ignor�
+
+#, python-format
+msgid "Billing code [%s] already exists, will be modified."
+msgstr "Le code de facturation [%s] existe d� et sera modifi�
+
+msgid "You have to pass billing codes on the command line"
+msgstr "Vous devez indiquer des codes de facturation sur la ligne de commande"
+
+#, python-format
+msgid ""
+"pknotify v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Notifies or ask questions to end users who launched the PyKotIcon "
+"application.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pknotify  [options]  [arguments]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version             Prints pkbanner's version number then exits.\n"
+"  -h | --help                Prints this message then exits.\n"
+"  \n"
+"  -d | --destination h[:p]   Sets the destination hostname and optional\n"
+"                             port onto which contact the remote PyKotIcon\n"
+"                             application. This option is mandatory.\n"
+"                             When not specified, the port defaults to 7654.\n"
+"                             \n"
+"  -a | --ask                 Tells pknotify to ask something to the end\n"
+"                             user. Then pknotify will output the result.\n"
+"                       \n"
+"  -C | --checkauth           When --ask is used and both an 'username' and "
+"a\n"
+"                             'password' are asked to the end user, then\n"
+"                             pknotify will try to authenticate the user\n"
+"                             through PAM. If authentified, this program\n"
+"                             will print \"AUTH=YES\", else \"AUTH=NO\".\n"
+"                             If a field is missing, \"AUTH=IMPOSSIBLE\" "
+"will\n"
+"                             be printed. If the user is authenticated, then\n"
+"                             \"USERNAME=xxxx\" will be printed as well.\n"
+"                             \n"
+"  -c | --confirm             Tells pknotify to ask for either a "
+"confirmation                       \n"
+"                             or abortion.\n"
+"                             \n"
+"  -D | --denyafter N         With --checkauth above, makes pknotify "
+"loop                           \n"
+"                             up to N times if the password is incorrect.\n"
+"                             After having reached the limit, \"DENY\" will\n"
+"                             be printed, which effectively rejects the job.\n"
+"                             The default value of N is 1, meaning the job\n"
+"                             is denied after the first unsuccessful try.\n"
+"                             \n"
+"  -n | --notify              Tells pknotify to send an informational "
+"message\n"
+"                             message to the end user.\n"
+"                             \n"
+"  -q | --quit                Tells pknotify to send a message asking the\n"
+"                             PyKotIcon application to exit. This option can\n"
+"                             be combined with the other ones to make "
+"PyKotIcon\n"
+"                             exit after having sent the answer from the "
+"dialog.\n"
+"                             \n"
+"  -t | --timeout T           Tells pknotify to ignore the end user's answer "
+"if\n"
+"                             it comes pas T seconds after the dialog box "
+"being\n"
+"                             opened. The default value is 0 seconds, which \n"
+"                             tells pknotify to wait indefinitely.\n"
+"                             Use this option to avoid having an user who\n"
+"                             leaved his computer stall a whole print queue.\n"
+"                             \n"
+"  You MUST specify either --ask, --confirm, --notify or --quit.\n"
+"\n"
+"  arguments :             \n"
+"  \n"
+"    -a | --ask : Several arguments are accepted, or the form\n"
+"                 \"label:varname:defaultvalue\". The result will\n"
+"                 be printed to stdout in the following format :\n"
+"                 VAR1NAME=VAR1VALUE\n"
+"                 VAR2NAME=VAR2VALUE\n"
+"                 ...\n"
+"                 If the dialog was cancelled, nothing will be\n"
+"                 printed. If one of the varname is 'password'\n"
+"                 then this field is asked as a password (you won't\n"
+"                 see what you type in), and is NOT printed. Although\n"
+"                 it is not printed, it will be used to check if\n"
+"                 authentication is valid if you specify --checkauth.\n"
+"                 \n"
+"    -c | --confirm : A single argument is expected, representing the\n"
+"                     message to display. If the dialog is confirmed\n"
+"                     then pknotify will print OK, else CANCEL.\n"
+"                     \n"
+"    -n | --notify : A single argument is expected, representing "
+"the                 \n"
+"                    message to display. In this case pknotify will\n"
+"                    always print OK.\n"
+"                    \n"
+"examples :                    \n"
+"\n"
+"  pknotify -d client:7654 --confirm \"This job costs :\n"
+"10 credits !\"\n"
+"  \n"
+"  Would display the cost of a print job and asks for confirmation.\n"
+"  \n"
+"  pknotify --destination $PYKOTAJOBORIGINATINGHOSTNAME:7654 \\\n"
+"           --checkauth --ask \"Your name:username:\" \"Your password:"
+"password:\"\n"
+"           \n"
+"  Asks an username and password, and checks if they are valid.         \n"
+"  NB : The PYKOTAJOBORIGINATINGHOSTNAME environment variable is\n"
+"  only set if you launch pknotify from cupspykota through a directive\n"
+"  in ~pykota/pykota.conf\n"
+"  \n"
+"  The TCP port you'll use must be reachable on the client from the\n"
+"  print server.\n"
+msgstr ""
+
+msgid "You MUST install PyPAM for this functionnality to work !"
+msgstr "Vous DEVEZ installer PyPAM pour que cette fonctionnalit�arche !"
+
+#, python-format
+msgid "Authentication error for user %s : %s"
+msgstr "Erreur d'authentification pour l'utilisateur %s : %s"
+
+#, python-format
+msgid "Internal error : can't authenticate user %s"
+msgstr "Erreur interne : ne peut authentifier l'utilisateur %s"
+
+#, python-format
+msgid "Password correct for user %s"
+msgstr "Mot de passe correct pour l'utilisateur %s"
+
+#, python-format
+msgid ""
+"The end user at %s:%i didn't answer within %i seconds. The print job will be "
+"cancelled."
+msgstr ""
+"L'utilisateur final �s:%s n'a pas r�ndu dans les %i secondes. Le travail "
+"d'impression sera annul�
+
+msgid "Connection error"
+msgstr "Erreur de connexion"
+
+msgid "some options are mandatory, see help."
+msgstr "certaines options sont obligatoires, voir l'aide."
+
+msgid "some options require arguments, see help."
+msgstr "certaines options n�ssitent un argument, voir l'aide."
+
+#, python-format
+msgid ""
+"pkusers v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"An Users and Groups Manager for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkusers [options] user1 user2 user3 ... userN\n"
+"  \n"
+"or :  \n"
+"\n"
+"  pkusers --groups [options] group1 group2 group3 ... groupN\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pkusers's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -a | --add           Adds users if they don't exist on the database.\n"
+"                       If they exist, they are modified unless\n"
+"                       -s|--skipexisting is also used.\n"
+"                       \n"
+"  -d | --delete        Deletes users from the quota storage.\n"
+"  \n"
+"  -D | --description d Adds a textual description to users or groups.\n"
+"                       \n"
+"  -g | --groups        Edit users groups instead of users.\n"
+"                          \n"
+"  -o | --overcharge f  Sets the overcharging factor applied to the user \n"
+"                       when computing the cost of a print job. Positive or \n"
+"                       negative floating point values are allowed,\n"
+"                       this allows you to do some really creative\n"
+"                       things like giving money to an user whenever\n"
+"                       he prints. The number of pages in a print job\n"
+"                       is not modified by this coefficient, only the\n"
+"                       cost of the job for a particular user.\n"
+"                       Only users have such a coefficient.\n"
+"  \n"
+"  -i | --ingroups g1[,g2...]  Puts the users into each of the groups\n"
+"                              listed, separated by commas. The groups\n"
+"                              must already exist in the Quota Storage.\n"
+"                       \n"
+"  -L | --list          Lists users or groups.\n"
+"  \n"
+"  -l | --limitby l     Choose if the user/group is limited in "
+"printing                     \n"
+"                       by its account balance or by its page quota.\n"
+"                       The default value is 'quota'. Allowed values\n"
+"                       are 'quota' 'balance' 'noquota' 'noprint' \n"
+"                       and 'nochange' :\n"
+"                       \n"
+"                         - quota : limit by number of pages per printer.\n"
+"                         - balance : limit by number of credits in account.\n"
+"                         - noquota : no limit, accounting still done.\n"
+"                         - nochange : no limit, accounting not done. \n"
+"                         - noprint : printing is denied. \n"
+"                       NB : nochange and noprint are not supported for "
+"groups.\n"
+"                       \n"
+"  -b | --balance b     Sets the user's account balance to "
+"b.                     \n"
+"                       Account balance may be increase or decreased\n"
+"                       if b is prefixed with + or -.\n"
+"                       WARNING : when decreasing account balance,\n"
+"                       the total paid so far by the user is decreased\n"
+"                       too.\n"
+"                       Groups don't have a real balance, but the\n"
+"                       sum of their users' account balance.\n"
+"                       \n"
+"  -C | --comment txt   Defines some informational text to be associated\n"
+"                       with a change to an user's account balance.\n"
+"                       Only meaningful if -b | --balance is also used.\n"
+"                       \n"
+"                       \n"
+"  -r | --remove        In combination with the --ingroups option "
+"above,                       \n"
+"                       remove users from the specified users groups.\n"
+"                       \n"
+"  -s | --skipexisting  In combination with the --add option above, tells\n"
+"                       pkusers to not modify existing users.\n"
+"                       \n"
+"  user1 through userN and group1 through groupN can use wildcards\n"
+"  if the --add option is not set.\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ pkusers --add john paul george ringo/ringo@example.com\n"
+"  \n"
+"  This will add users john, paul, george and ringo to the quota\n"
+"  database. User ringo's email address will also be set to \n"
+"  'ringo@example.com'\n"
+"  \n"
+"  $ pkusers --ingroups coders,it jerome\n"
+"  \n"
+"  User jerome is put into the groups \"coders\" and \"it\" which must\n"
+"  already exist in the quota database.\n"
+"            \n"
+"  $ pkusers --limitby balance jerome\n"
+"  \n"
+"  This will tell PyKota to limit jerome by his account's balance\n"
+"  when printing.\n"
+"  \n"
+"  $ pkusers --balance +10.0 --comment \"He paid with his blood !\" jerome\n"
+"  \n"
+"  This will increase jerome's account balance by 10.0 (in your\n"
+"  own currency). You can decrease the account balance with a\n"
+"  dash prefix, and set it to a fixed amount with no prefix.\n"
+"  A comment will be stored for this balance change.\n"
+"  \n"
+"  $ pkusers --delete jerome rachel\n"
+"  \n"
+"  This will completely delete jerome and rachel from the quota\n"
+"  database. All their quotas and jobs will be deleted too.\n"
+"  \n"
+"  $ pkusers --overcharge 2.5 poorstudent\n"
+"  \n"
+"  This will overcharge the poorstudent user by a factor of 2.5.\n"
+"  \n"
+"  $ pkusers --overcharge -1 jerome\n"
+"  \n"
+"  User jerome will actually earn money whenever he prints.\n"
+"  \n"
+"  $ pkusers --overcharge 0 boss\n"
+"  \n"
+"  User boss can print at will, it won't cost him anything because the\n"
+"  cost of each print job will be multiplied by zero before charging\n"
+"  his account.\n"
+msgstr ""
+
+#, python-format
+msgid "There's no %s matching %s"
+msgstr "Il n'y a aucun %s correspondant �s"
+
+#, python-format
+msgid "Limited by : %s"
+msgstr "Limit�ar : %s"
+
+#, python-format
+msgid "Account balance : %.2f"
+msgstr "Solde du compte : %.2f"
+
+#, python-format
+msgid "Total paid so far : %.2f"
+msgstr "Total vers� %.2f"
+
+#, python-format
+msgid "Overcharging factor : %.2f"
+msgstr "Facteur de surtaxe : %.2f"
+
+#, python-format
+msgid "Group balance : %.2f"
+msgstr "Solde du groupe : %.2f"
+
+#, python-format
+msgid "Invalid limitby value %s"
+msgstr "Valeur de l'option limitby %s invalide"
+
+#, python-format
+msgid "Invalid overcharge value %s"
+msgstr "Valeur %s invalide pour la surtaxe"
+
+#, python-format
+msgid "Invalid balance value %s"
+msgstr "Valeur %s du solde invalide"
+
+#, python-format
+msgid "There's no users group matching %s"
+msgstr "Il n'y a aucun groupe d'utilisateurs correspondant �s"
+
+#, python-format
+msgid "Invalid email address %s"
+msgstr "Adresse �ctronique %s invalide"
+
+#, python-format
+msgid "Unknown group %s"
+msgstr "Groupe %s inconnu"
+
+#, python-format
+msgid "Unknown user %s"
+msgstr "Utilisateur %s inconnu"
+
+#, python-format
+msgid "%s %s already exists, skipping."
+msgstr "%s %s existe d�, ne sera pas modifi�
+
+#, python-format
+msgid "%s %s already exists, will be modified."
+msgstr "%s %s existe d�, sera modifi�
+
+#, python-format
+msgid "Invalid name %s"
+msgstr "Nom invalide %s"
+
+msgid "You have to pass user groups names on the command line"
+msgstr ""
+"Vous devez passer des noms de groupes d'utilisateurs sur la ligne de commande"
+
+#, python-format
+msgid ""
+"pykotme v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Gives print quotes to users.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pykotme  [options]  [files]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints pykotme's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -P | --printer p     Gives a quote for this printer only. Actually p can\n"
+"                       use wildcards characters to select only\n"
+"                       some printers. The default value is *, meaning\n"
+"                       all printers.\n"
+"                       You can specify several names or wildcards, \n"
+"                       by separating them with commas.\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ pykotme --printer apple file1.ps file2.ps\n"
+"  \n"
+"  This will give a print quote to the current user. The quote will show\n"
+"  the price and size of a job consisting in file1.ps and file2.ps \n"
+"  which would be sent to the apple printer.\n"
+"  \n"
+"  $ pykotme --printer apple,hplaser <file1.ps\n"
+"  \n"
+"  This will give a print quote to the current user. The quote will show\n"
+"  the price and size of a job consisting in file1.ps as read from\n"
+"  standard input, which would be sent to the apple or hplaser\n"
+"  printer.\n"
+"\n"
+"  $ pykotme \n"
+"  \n"
+"  This will give a quote for a job consisting of what is on standard \n"
+"  input. The quote will list the job size, and the price the job\n"
+"  would cost on each printer.\n"
+msgstr ""
+"pykotme v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Fait des devis d'impression aux utilisateurs.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  pykotme  [options]  [fichiers]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche la version de pykotme et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -P | --printer p     Fait un devis sur cette imprimante seulement.\n"
+"                       En fait p peut contenir des caract�s jokers\n"
+"                       pour s�ctionner seulement certaines imprimantes.\n"
+"                       La valeur par d�ut est *, qui signifie toutes les\n"
+"                       imprimantes. \n"
+"                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
+"                       en les s�rant avec des virgules.\n"
+"  \n"
+"exemples :                              \n"
+"\n"
+"  $ pykotme --printer apple fichier1.ps fichier2.ps\n"
+"  \n"
+"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le co�r l'imprimante apple d'un\n"
+"  travail d'impression consitant en fichier1.ps et fichier2.ps\n"
+"  \n"
+"  $ pykotme --printer apple,hplaser <fichier1.ps\n"
+"  \n"
+"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le co�un travail provenant de "
+"l'entr�n"
+"  standard dans laquelle on redirigerait le fichier fichier1.ps et qui\n"
+"  serait envoy�sur les imprimantes apple ou hplaser.\n"
+"\n"
+"  $ pykotme \n"
+"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le co�un travail provenant de "
+"l'entr�n"
+"  standard, et ce pour chaque imprimante.\n"
+
+#, python-format
+msgid "Your account balance : %.2f"
+msgstr "Votre solde : %.2f"
+
+#, python-format
+msgid "Job size : %i pages"
+msgstr "Taille du job : %i pages"
+
+#, python-format
+msgid "Cost on printer %s : %.2f"
+msgstr "Co�r l'imprimante %s : %.2f"
+
+msgid "won't be charged, printer is in passthrough mode"
+msgstr "non d�mpt�imprimante en mode 'passthrough'"
+
+msgid "won't be charged, your account is immutable"
+msgstr "non d�mpt�votre compte est immuable"
+
+#, python-format
+msgid ""
+"warnpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Sends mail to users over print quota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  warnpykota  [options]  [names]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints warnpykota's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -u | --users         Warns users over their print quota, this is the \n"
+"                       default.\n"
+"  \n"
+"  -g | --groups        Warns users whose groups quota are over limit.\n"
+"  \n"
+"  -P | --printer p     Verify quotas on this printer only. Actually p can\n"
+"                       use wildcards characters to select only\n"
+"                       some printers. The default value is *, meaning\n"
+"                       all printers.\n"
+"                       You can specify several names or wildcards, \n"
+"                       by separating them with commas.\n"
+"  \n"
+"examples :                              \n"
+"\n"
+"  $ warnpykota --printer lp\n"
+"  \n"
+"  This will warn all users of the lp printer who have exceeded their\n"
+"  print quota.\n"
+"\n"
+"  $ warnpykota \n"
+"  \n"
+"  This will warn all users  who have exceeded their print quota on\n"
+"  any printer.\n"
+"\n"
+"  $ warnpykota --groups --printer \"laserjet*\" \"dev*\"\n"
+"  \n"
+"  This will warn all users of groups which names begins with \"dev\" and\n"
+"  who have exceeded their print quota on any printer which name begins \n"
+"  with \"laserjet\"\n"
+"  \n"
+"  If launched by an user who is not a PyKota administrator, additionnal\n"
+"  arguments representing users or groups names are ignored, and only the\n"
+"  current user/group is reported.\n"
+msgstr ""
+"warnpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"Pr�ent les utilisateurs ayant atteint leurs limites.\n"
+"\n"
+"ligne de commande :\n"
+"\n"
+"  warnpykota  [options]  [noms]\n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Affiche la version de warnpykota et quitte.\n"
+"  -h | --help          Affiche ce message et quitte.\n"
+"  \n"
+"  -u | --users         Pr�ent les utilisateur ayant atteint leurs "
+"limites,\n"
+"                       c'est la valeur par d�ult.\n"
+"  \n"
+"  -g | --groups        Pr�ent les utilisateurs dont les groupes auxquels\n"
+"                       ils appartiennent ont atteint leurs limites.\n"
+"  \n"
+"  -P | --printer p     Verifie les quotas sur cette imprimante seulement.\n"
+"                       En fait p peut contenir des caract�s jokers pour\n"
+"                       s�ctionner certaines imprimantes seulement.\n"
+"                       La valeur par d�ut est *, qui signifie de v�fier\n"
+"                       les quotas sur toutes les imprimantes.\n"
+"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
+"                       en les s�rant avec des virgules.\n"
+"  \n"
+"exemples :\n"
+"\n"
+"  $ warnpykota --printer lp\n"
+"  \n"
+"  Ceci va pr�nir tous les utilisateurs ayant atteint leur limite sur\n"
+"  l'imprimante lp.\n"
+"\n"
+"  $ warnpykota \n"
+"  \n"
+"  Ceci va pr�nir tous les utilisateurs ayant atteint leurs limites quelle\n"
+"  que soit l'imprimanter.\n"
+"\n"
+"  $ warnpykota --groups --printer \"laserjet*\" \"dev*\"\n"
+"  \n"
+"  Ceci va pr�nir tous les membres des groupes dont les noms commencent\n"
+"  par \"dev\" et qui ont atteints leurs limites sur toutes les imprimantes\n"
+"  dont le nom commence par \"laserjet\".\n"
+"  \n"
+"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
+"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
+"  d'utilisateurs ou de groupes sont ignor� et seulement l'utilisateur ou\n"
+"  le groupe courant est pr�nu.\n"
 
 #, python-format
@@ -359,4 +2005,6 @@
 "                         - umembers : dumps user groups members.\n"
 "                         - billingcodes : dumps billing codes.\n"
+"                         - all : dumps all PyKota datas. The output format\n"
+"                                 is always XML in this case.\n"
 "                         \n"
 "                       NB : the -d | --data command line option   \n"
@@ -371,5 +2019,5 @@
 "                         - ssv : separate datas with semicolons\n"
 "                         - tsv : separate datas with tabs\n"
-"                         - xml : dump data as XML\n"
+"                         - xml : dump data as XML \n"
 "                         - cups : dump datas in CUPS' page_log format :\n"
 "                                  ONLY AVAILABLE WITH --data history\n"
@@ -425,909 +2073,22 @@
 "  July 30th 2005 at 23 hours 46 minutes and 15 secondes included.\n"
 msgstr ""
-"dumpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Exporte le contenu de la base de donn� de PyKota.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  dumpykota [options] [exprfiltre]\n"
+
+msgid "The -d | --data command line option is mandatory, see help."
+msgstr ""
+"L'option de ligne de commande -d | --data est obligatoire, voir l'aide."
+
+#, python-format
+msgid ""
+"pkinvoice v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"An invoice generator for PyKota.\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  pkinvoice [options] user1 user2 ... userN\n"
 "\n"
 "options :\n"
 "\n"
-"  -v | --version       Affiche la version de dumpykota et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -d | --data type     Exporte les donn� de type 'type'.\n"
-"                       Les types autoris�sont :\n"
-"                       \n"
-"                         - history : exporte l'historique des travaux.\n"
-"                         - users : exporte les utilisateurs.\n"
-"                         - groups : exporte les groupes d'utilisateurs.\n"
-"                         - printers : exporte les imprimantes.\n"
-"                         - upquotas : exporte les quotas des utilisateurs.\n"
-"                         - gpquotas : exporte les quotas des groupes.\n"
-"                         - payments : exporte l'historique des paiements.\n"
-"                         - pmembers : exporte les membres des groupes\n"
-"                                      d'imprimantes.\n"
-"                         - umembers : exporte les membres des groupes\n"
-"                                      d'utilisateurs.\n"
-"                         - billingcodes : exporte les codes de facturation.\n"
-"                         \n"
-"                       NB : l'option de ligne de commande -d | --data est\n"
-"                       OBLIGATOIRE.\n"
-"  \n"
-"  -f | --format fmt    Exporte les donn� dans le format 'fmt' sp�fi�n"
-"                       Si non pr�s�le format sera csv (champs s�r�n"
-"                       par des virgules).\n"
-"                       Toutes les donn� sont export� entre double "
-"quotes.\n"
-"                       Les formats autoris�sont :\n"
-"                       \n"
-"                         - csv : donn� s�r� par des virgules\n"
-"                         - ssv : donn� s�r� par des point-virgules\n"
-"                         - tsv : donn� s�r�par des tabulations\n"
-"                         - xml : donn� export� au format XML\n"
-"                         - cups : donn� export� au format page_log\n"
-"                                  de CUPS : DISPONIBLE SEULEMENT\n"
-"                                            AVEC --data history\n"
-"                         \n"
-"  -o | --output nomf   Toutes les donn� seront export� vers un fichier\n"
-"                       plut�ue vers la sortie standard. Le nom sp�al "
-"'-'\n"
-"                       est la valeur par d�ut indiquant la sortie "
-"standard.\n"
-"                       ATTENTION : les fichiers existants sont tronqu�!\n"
-"\n"
-"  -s | --sum           Effectue la somme des donn� s�ctionn�.\n"
-"                         DISPONIBLE SEULEMENT AVEC --data history ou "
-"payments\n"
-"\n"
-"  Utilisez les expressions de filtrage pour extraire seulement certaines \n"
-"  parties des donn�. Les filtres autoris�sont de la forme :\n"
-"                \n"
-"         cl�aleur\n"
-"                         \n"
-"  Les cl�autoris� pour l'instant sont : \n"
-"                       \n"
-"         username       Nom de l'utilisateur\n"
-"         groupname      Nom du groupe d'utilisateurs\n"
-"         printername    Nom de l'imprimante\n"
-"         pgroupname     Nom du groupe d'imprimantes\n"
-"         hostname       Nom d'h�de la machine cliente\n"
-"         billingcode    Code de facturation du travail d'impression\n"
-"         start          Date du travail d'impression\n"
-"         end            Date du travail d'impression\n"
-"         \n"
-"  Contrairement aux autres outils d'administration de PyKota, les "
-"caract�s\n"
-"  jokers ne sont pas expans� aussi vous ne pouvez pas les utiliser.\n"
-"  \n"
-"  NB : toutes les cl�ne sont pas autoris� pour chaque type de donn�, \n"
-"  aussi le r�ltat peut �e vide si vous utilisez une cl�ndisponible \n"
-"  pour un type de donn� particulier.\n"
-"  \n"
-"Exemples :\n"
-"\n"
-"  $ dumpykota --data history --format csv >monfichier.csv\n"
-"  \n"
-"  Ceci va exporter l'historique dans un fichier �hamps s�r�par des\n"
-"  virgules, par exemple pour r�portation dans un tableur.\n"
-"  \n"
-"  $ dumpykota --data users --format xml -o util.xml\n"
-"  \n"
-"  Exporte toutes les donn� des utilisateurs dans le fichier util.xml\n"
-"  \n"
-"  $ dumpykota --data history printername=HP2100 username=jerome\n"
-"  \n"
-"  Exporte l'historique des travaux de l'utilisateur jerome sur l'imprimante\n"
-"  HP2100 seulement.\n"
-"  \n"
-"  $ dumpykota --data history start=200503 end=20050730234615\n"
-"  \n"
-"  Exporte tous les travaux imprim�entre le 1er Mars 2005 �inuit et\n"
-"  le 30 Juillet 2005 �3 heures 46 minutes et 15 secondes inclus.\n"
-
-msgid "The -d | --data command line option is mandatory, see help."
-msgstr ""
-"L'option de ligne de commande -d | --data est obligatoire, voir l'aide."
-
-#, python-format
-msgid ""
-"edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"A Print Quota editor for PyKota.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  edpykota [options] user1 user2 ... userN\n"
-"  \n"
-"  edpykota [options] group1 group2 ... groupN\n"
-"\n"
-"options :\n"
-"\n"
 "  -v | --version       Prints edpykota's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -a | --add           Adds users and/or printers if they don't \n"
-"                       exist on the Quota Storage Server.\n"
-"                       \n"
-"  -d | --delete        Deletes users/groups from the quota storage.\n"
-"                       Printers are never deleted.\n"
-"                       \n"
-"  -c | --charge p[,j]  Sets the price per page and per job to charge\n"
-"                       for a particular printer. Job price is optional.\n"
-"                       If both are to be set, separate them with a comma.\n"
-"                       Floating point values are allowed.\n"
-"                       \n"
-"  -o | --overcharge f  Sets the overcharging factor applied to the user \n"
-"                       when computing the cost of a print job. Positive or \n"
-"                       negative floating point values are allowed,\n"
-"                       this allows you to do some really creative\n"
-"                       things like giving money to an user whenever\n"
-"                       he prints. The number of pages in a print job\n"
-"                       is not modified by this coefficient, only the\n"
-"                       cost of the job for a particular user.\n"
-"                       Only users have a coefficient.\n"
-"  \n"
-"  -i | --ingroups g1[,g2...]  Puts the users into each of the groups\n"
-"                              listed, separated by commas. The groups\n"
-"                              must already exist in the Quota Storage.\n"
-"  \n"
-"  -u | --users         Edit users print quotas, this is the default.\n"
-"  \n"
-"  -P | --printer p     Edit quotas on printer p only. Actually p can\n"
-"                       use wildcards characters to select only\n"
-"                       some printers. The default value is *, meaning\n"
-"                       all printers. \n"
-"                       You can specify several names or wildcards, \n"
-"                       by separating them with commas.\n"
-"  \n"
-"  -G | --pgroups pg1[,pg2...] Adds the printer(s) to the printer groups\n"
-"                       pg1, pg2, etc... which must already exist.\n"
-"                       A printer group is just like a normal printer,\n"
-"                       only that it is usually unknown from the printing\n"
-"                       system. Create printer groups exactly the same\n"
-"                       way that you create printers, then add other \n"
-"                       printers to them with this option.\n"
-"                       Accounting is done on a printer and on all\n"
-"                       the printer groups it belongs to, quota checking\n"
-"                       is done on a printer and on all the printer groups\n"
-"                       it belongs to.\n"
-"  \n"
-"  -g | --groups        Edit users groups print quotas instead of users.\n"
-"                          \n"
-"  -p | --prototype u|g Uses user u or group g as a prototype to set\n"
-"                       print quotas\n"
-"                       \n"
-"  -n | --noquota       Sets both soft and hard limits to None for a\n"
-"                       particular print quota entry.\n"
-"                       This is NOT the same as --limitby noquota\n"
-"                       which acts on ALL print quota entries for a\n"
-"                       particular user.\n"
-"  \n"
-"  -r | --reset         Resets the actual page counter for the user\n"
-"                       or group to zero on the specified printers. \n"
-"                       The life time page counter is kept unchanged.\n"
-"                       \n"
-"  -R | --hardreset     Resets the actual and life time page counters\n"
-"                       for the user or group to zero on the specified \n"
-"                       printers. This is a shortcut for '--used 0'.\n"
-"                       \n"
-"  -l | --limitby l     Choose if the user/group is limited in "
-"printing                     \n"
-"                       by its account balance or by its page quota.\n"
-"                       The default value is 'quota'. Allowed values\n"
-"                       are 'quota' 'balance' 'noquota' 'noprint' \n"
-"                       and 'nochange' :\n"
-"                       \n"
-"                         - quota : limit by number of pages per printer.\n"
-"                         - balance : limit by number of credits in account.\n"
-"                         - noquota : no limit, accounting still done.\n"
-"                         - nochange : no limit, accounting not done. \n"
-"                         - noprint : printing is denied. \n"
-"                       NB : nochange and noprint are not supported for "
-"groups.\n"
-"                       \n"
-"  -b | --balance b     Sets the user's account balance to "
-"b.                     \n"
-"                       Account balance may be increase or decreased\n"
-"                       if b is prefixed with + or -.\n"
-"                       WARNING : when decreasing account balance,\n"
-"                       the total paid so far by the user is decreased\n"
-"                       too.\n"
-"                       Groups don't have a real balance, but the\n"
-"                       sum of their users' account balance.\n"
-"                       \n"
-"  -C | --comment txt   Defines some informational text to be associated\n"
-"                       with a change to an user's account balance.\n"
-"                       Only meaningful if -b | --balance is also used.\n"
-"                       \n"
-"  -S | --softlimit sl  Sets the quota soft limit to sl "
-"pages.                       \n"
-"  \n"
-"  -H | --hardlimit hl  Sets the quota hard limit to hl pages.\n"
-"  \n"
-"  -I | --increase v    Increase both Soft and Hard limits by the value\n"
-"                       of v. You can prefix v with + or -, if no sign is\n"
-"                       used, + is assumed.\n"
-"\n"
-"  -U | --used usage    Sets the pagecounters for the user to usage pages;\n"
-"                       useful for migrating users from a different system\n"
-"                       where they have already used some pages. Actual\n"
-"                       and Life Time page counters may be increased or "
-"decreased\n"
-"                       if usage is prefixed with + or -.\n"
-"                       WARNING : BOTH page counters are modified in all "
-"cases,\n"
-"                       so be careful.\n"
-"                       NB : if 'usage' equals '0', then the action taken is\n"
-"                       the same as if --hardreset was used.\n"
-"\n"
-"  user1 through userN and group1 through groupN can use wildcards\n"
-"  if the --add option is not set.\n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  $ edpykota --add -p jerome john paul george ringo/ringo@example.com\n"
-"  \n"
-"  This will add users john, paul, george and ringo to the quota\n"
-"  database, and set their print quotas to the same values than user \n"
-"  jerome. User jerome must already exist.\n"
-"  User ringo's email address will also be set to 'ringo@example.com'\n"
-"  \n"
-"  $ edpykota --printer lp -S 50 -H 60 jerome\n"
-"  \n"
-"  This will set jerome's print quota on the lp printer to a soft limit\n"
-"  of 50 pages, and a hard limit of 60 pages. If either user jerome or\n"
-"  printer lp doesn't exist on the Quota Storage Server then nothing is "
-"done.\n"
-"\n"
-"  $ edpykota --add --printer lp --ingroups coders,it -S 50 -H 60 jerome\n"
-"  \n"
-"  Same as above, but if either user jerome or printer lp doesn't exist \n"
-"  on the Quota Storage Server they are automatically added. Also\n"
-"  user jerome is put into the groups \"coders\" and \"it\" which must\n"
-"  already exist in the Quota Storage.\n"
-"            \n"
-"  $ edpykota -g -S 500 -H 550 financial support            \n"
-"  \n"
-"  This will set print quota soft limit to 500 pages and hard limit\n"
-"  to 550 pages for groups financial and support on all printers.\n"
-"  \n"
-"  $ edpykota --reset jerome \"jo*\"\n"
-"  \n"
-"  This will reset jerome's page counter to zero on all printers, as\n"
-"  well as every user whose name begins with 'jo'.\n"
-"  Their life time page counter on each printer will be kept unchanged.\n"
-"  You can also reset the life time page counters by using the\n"
-"  --hardreset | -R command line option.\n"
-"  \n"
-"  $ edpykota --printer hpcolor --noquota jerome\n"
-"  \n"
-"  This will tell PyKota to not limit jerome when printing on the \n"
-"  hpcolor printer. All his jobs will be allowed on this printer, but \n"
-"  accounting of the pages he prints will still be kept.\n"
-"  Print Quotas for jerome on other printers are unchanged.\n"
-"  \n"
-"  $ edpykota --limitby balance jerome\n"
-"  \n"
-"  This will tell PyKota to limit jerome by his account's balance\n"
-"  when printing.\n"
-"  \n"
-"  $ edpykota --balance +10.0 jerome\n"
-"  \n"
-"  This will increase jerome's account balance by 10.0 (in your\n"
-"  own currency). You can decrease the account balance with a\n"
-"  dash prefix, and set it to a fixed amount with no prefix.\n"
-"  \n"
-"  $ edpykota --delete jerome rachel\n"
-"  \n"
-"  This will completely delete jerome and rachel from the Quota Storage\n"
-"  database. All their quotas and jobs will be deleted too.\n"
-"  \n"
-"  $ edpykota --printer lp --charge 0.1\n"
-"  \n"
-"  This will set the page price for printer lp to 0.1. Job price\n"
-"  will not be changed.\n"
-"  \n"
-"  $ edpykota --printer hplj1,hplj2 --pgroups Laser,HP\n"
-"  \n"
-"  This will put printers hplj1 and hplj2 in printers groups Laser and HP.\n"
-"  When printing either on hplj1 or hplj2, print quota will also be \n"
-"  checked and accounted for on virtual printers Laser and HP.\n"
-"  \n"
-"  $ edpykota --overcharge 2.5 poorstudent\n"
-"  \n"
-"  This will overcharge the poorstudent user by a factor of 2.5.\n"
-"  \n"
-"  $ edpykota --overcharge -1 jerome\n"
-"  \n"
-"  User jerome will actually earn money whenever he prints.\n"
-"  \n"
-"  $ edpykota --overcharge 0 boss\n"
-"  \n"
-"  User boss can print at will, it won't cost him anything because the\n"
-"  cost of each print job will be multiplied by zero before charging\n"
-"  his account.\n"
-msgstr ""
-"edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Un �teur de quotas pour PyKota.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  edpykota [options] utilisateur1 utilisateur2 ... utilisateurN\n"
-"  \n"
-"  edpykota [options] groupe1 groupe2 ... groupeN\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version d'edpykota et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -a | --add           Ajoute des utilisateurs et/ou des imprimantes\n"
-"                       s'ils n'existent pas d� dans la base de donn�.\n"
-"                       \n"
-"  -d | --delete        Efface des utilisateurs ou des groupes depuis\n"
-"                       la base de donn�.                       Les "
-"imprimantes ne sont jamais effac�.\n"
-"                       \n"
-"  -c | --charge p[,j]  Positionne le co�r page et par travail\n"
-"                       sur l'imprimante. Le prix par travail est optionel.\n"
-"                       Si les deux sont positionn� il faut les s�rer\n"
-"                       par une virgule. Les nombres r�s sont autoris�\n"
-"                       \n"
-"  -o | --overcharge f  Positionne le facteur de surtaxe qui sera appliqu�\n"
-"                       l'utilisateur lors du calcul du co�un travail\n"
-"                       d'impression. Les valeurs r�les positives ou\n"
-"                       n�tives sont autoris�, ce qui permet de faire\n"
-"                       des choses tr�cr�ives comme donner de l'argent\n"
-"                       �n utilisateur chaque fois qu'il imprime.\n"
-"                       Le nombre de pages d'un travail d'impression n'est\n"
-"                       pas modifi�ar ce coefficient, seulement le co�\n"
-"                       travail pour un utilisateur particulier.\n"
-"                       Seuls les utilisateurs ont un tel coefficient.\n"
-"  \n"
-"  -i | --ingroups g1[,g2...] Place les utilisateurs dans chacun des groupes\n"
-"                             list� separ�par des virgules. Les groupes\n"
-"                             doivent d� exister dans la base de donn�.\n"
-"  \n"
-"  -u | --users         Modifie les quotas utilisateur, c'est la valeur\n"
-"                       par d�ut.\n"
-"  \n"
-"  -P | --printer p     Modifie les quotas sur l'imprimante p seulement.\n"
-"                       En fait p peut contenir des caract�s jokers\n"
-"                       pour s�ctionner seulement certaines imprimantes.\n"
-"                       La valeur par d�ut est *, qui signifie toutes les\n"
-"                       imprimantes. \n"
-"                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
-"  \n"
-"  -G | --pgroups pg1[,pg2...] Ajoute l'imprimante aux groupes d'imprimantes\n"
-"                       pg1, pg2, etc... qui doivent d� exister.\n"
-"                       Un groupe d'imprimantes est comme une imprimante\n"
-"                       normale, sauf que celle-ci est inconnue du syst�\n"
-"                       d'impression. On cr�des groupes d'imprimantes de "
-"la\n"
-"                       m� mani� que des imprimantes normales, et "
-"ensuite\n"
-"                       on y ajoute d'autres imprimantes avec cette option.\n"
-"                       Le d�mpte est fait sur une imprimante et sur tous\n"
-"                       les groupes d'imprimantes auxquels elle appartient,\n"
-"                       la v�fication de quota est faite sur une "
-"imprimante\n"
-"                       et sur tous les groupes d'imprimantes auxquels elle\n"
-"                       appartient.\n"
-"  \n"
-"  -g | --groups        Modifie les quotas de groupes plut�ue ceux des\n"
-"                       utilisateurs.\n"
-"                       \n"
-"  -p | --prototype u|g Prend l'utilisateur u ou le groupe g comme mod�\n"
-"                       pour positionner le quota d'impression.\n"
-"                       \n"
-"  -n | --noquota       Fixe les limites souples et dures �one pour une\n"
-"                       entr�de quota d'impression particuli�.\n"
-"                       NE FAIT PAS la m� chose que --limitby noquota qui\n"
-"                       agit sur toutes les entr� de quotas d'impression\n"
-"                       d'un utilisateur donn�n"
-"  \n"
-"  -r | --reset         Remet �� le compteur de pages courant pour\n"
-"                       l'utilisateur ou le groupe sur les imprimantes\n"
-"                       sp�fi�.\n"
-"                       Le compteur de pages '�rnel' est inchang�n"
-"                       \n"
-"  -R | --hardreset     Remet �� les compteurs de pages courant et\n"
-"                       '�rnel' pour l'utilisateur ou le groupe sur les\n"
-"                       imprimantes sp�fi�. Ceci est un raccourci\n"
-"                       pour '--used 0'.\n"
-"                       \n"
-"  -l | --limitby l     D�nit le facteur de limitation pour l'utilisateur\n"
-"                       ou le groupe : soit par le solde du compte "
-"(balance),\n"
-"                       soit par le quota par pages.\n"
-"                       La valeur par d�ut est 'quota'. Les valeurs\n"
-"                       autoris� sont 'quota' 'balance' 'noquota' "
-"'noprint'\n"
-"                       et 'nochange' :\n"
-"                       \n"
-"                         - quota : limite par le nombre de pages sur chaque\n"
-"                                   imprimante.\n"
-"                         - balance : limite par le nombre de cr�ts.\n"
-"                         - noquota : aucune limite, d�mpte effectu�n"
-"                         - nochange : aucune limite, d�mpte non effectu�n"
-"                         - noprint : imprimer est interdit.\n"
-"                       NB : nochange et noprint ne sont pas support�pour\n"
-"                            les groupes.\n"
-"                       \n"
-"  -b | --balance b     Fixe le solde de l'utiliateur �a valeur b.\n"
-"                       Le solde peut aussi �e incr�nt�u d��nt�"
-"                       si b est pr�d�'un signe + ou -.\n"
-"                       ATTENTION : si on d��nte le solde, le total\n"
-"                       r��ar l'utilisateur est d��nt�ussi.\n"
-"                       Les groupes n'ont pas de solde, leur solde est la\n"
-"                       somme des soldes des utilisateurs membres.\n"
-"                       \n"
-"  -S | --softlimit sl  Fixe la limite souple �l pages.\n"
-"  \n"
-"  -H | --hardlimit hl  Fixe la limite dure �l pages.\n"
-"\n"
-"  -I | --increase v    Incr�nte �a fois les limites souple et dure de "
-"la\n"
-"                       valeur de v. Vous pouvez pr�xer v avec + ou -, si\n"
-"                       aucun signe n'est pr�nt, + est utilis�n"
-"\n"
-"  -U | --used usage    Positionne les compteurs de pages de l'utilisateur �"
-"                       la valeur usage; utile pour migrer des utilisateurs\n"
-"                       depuis un logiciel diff�nt dans lequel ils ont "
-"d�\n"
-"                       imprim�uelques pages. Les compteurs de pages "
-"actuels\n"
-"                       et globaux peuvent �e incr�nt�ou d��nt�"
-"si\n"
-"                       usage est pr�x�'un signe + ou -.\n"
-"                       ATTENTION : LES DEUX compteurs de pages sont "
-"modifi�n"
-"                       dans tous les cas, donc soyez prudents.\n"
-"                       NB : si 'usage' vaut '0', alors l'action effectu�n"
-"                       est identique �elle effectu�avec --hardreset.\n"
-"  \n"
-"  les noms d'utilisateurs ou de groupes peuvent contenir des caract�s\n"
-"  joker si l'option --add n'est pas utilis�\n"
-"  \n"
-"exemples :                              \n"
-"\n"
-"  $ edpykota --add -p jerome john paul george ringo/ringo@example.com\n"
-"  \n"
-"  Ceci va ajouter les utilisateurs john, paul, george and ringo �a base\n"
-"  de donn�, et fixer leur quota par pages �a m� valeur que\n"
-"  l'utilisateur jerome. L'utilisateur jerome doit exister.\n"
-"  L'adresse email de ringo sera fix��ringo@example.com'\n"
-"  \n"
-"  $ edpykota --printer lp -S 50 -H 60 jerome\n"
-"  \n"
-"  Ceci va fixer une limite souple de 50 pages et une limite dure de 60 "
-"pages\n"
-"  pour l'utilisteur jerome sur l'imprimante lp.\n"
-"  Si l'utilisateur jerome ou l'imprimante lp n'existent pas dans la base de\n"
-"  donn�alors aucune modification n'est effectu�\n"
-"\n"
-"  $ edpykota --add --printer lp --ingroups coders,it -S 50 -H 60 jerome\n"
-"  \n"
-"  Comme ci-dessus, mais l'utilisateur jerome et l'imprimante lp sont "
-"ajout�n"
-"  automatiquement s'ils n'existaient pas. L'utilisateur jerome est aussi\n"
-"  ajout�aux groupes \"coders\" et \"it\" quoi doivent d� exister dans\n"
-"  la base de donn�.\n"
-"            \n"
-"  $ edpykota -g -S 500 -H 550 financial support            \n"
-"  \n"
-"  Ceci va fixer une limite souple de 500 pages et une limite dure de 550\n"
-"  pages pour les groupes financial et support sur toutes les imprimantes.\n"
-"  \n"
-"  $ edpykota --reset jerome \"jo*\"\n"
-"  \n"
-"  Ceci va remettre �� le compteur de pages courant de jerome sur toutes\n"
-"  les imprimantes, ainsi que pour chaque utilisateur dont le nom commence\n"
-"  par 'jo'.\n"
-"  Leurs compteurs '�rnels' ne seront pas modifi�\n"
-"  Vous pouvez �lement remettre �� les compteurs '�rnels' gr� �"
-"  l'option --hardreset | -R de la ligne de commande.\n"
-"  \n"
-"  $ edpykota --printer hpcolor --noquota jerome\n"
-"  \n"
-"  Ceci indique �yKota de ne pas limiter jerome lorsqu'il va imprimer\n"
-"  sur l'imprimante hpcolor. Tous ses travaux seront autoris�sur cette\n"
-"  imprimantes, mais la comptabilit�e ses impressions sera quand m�\n"
-"  tenue. Les quotas des autres utilisateurs sont inchang�\n"
-"  \n"
-"  $ edpykota --limitby balance jerome\n"
-"  \n"
-"  Ceci indique �yKota de limiter jerome par le solde de son compte\n"
-"  lorsqu'il imprime.\n"
-"  \n"
-"  $ edpykota --balance +10.0 jerome\n"
-"  \n"
-"  Ceci va incr�nter le solde de jerome de 10.0 unit�(dans votre\n"
-"  propre monnaie). Vous pouvez d��nter ce solde en utilisant le signe\n"
-"  n�tif, et positionner la valeur en n'utilisant aucun signe.\n"
-"  \n"
-"  $ edpykota --delete jerome rachel\n"
-"  \n"
-"  Ceci va compl�ment effacer les utilisateurs jerome et rachel de la base\n"
-"  de donn�. Tous leurs quotas et leurs historiques seront aussi effac�\n"
-"  \n"
-"  $ edpykota --printer lp --charge 0.1\n"
-"  \n"
-"  Ceci va fixer le co�r page �.1 unit�ur l'imprimante lp. Le co�
-"  d'un travail ne sera pas modifi�n"
-"  \n"
-"  $ edpykota --printer hplj1,hplj2 --pgroups Laser,HP\n"
-"  \n"
-"  Ceci va ajouter les imprimantes hplj1 et hplj2 dans les groupes\n"
-"  d'imprimantes Laser et HP.\n"
-"  En imprimant sur hplj1 ou hplj2, les quotas seront �lement v�fi�n"
-"  et comptabilis�sur les imprimantes virtuelles Laser et HP.\n"
-"  \n"
-"  $ edpykota --overcharge 2.5 pauvreetudiant\n"
-"  \n"
-"  Ceci va surtaxer l'utilisateur pauvreetudiant par un facteur de 2.5.\n"
-"  \n"
-"  $ edpykota --overcharge -1 jerome\n"
-"  \n"
-"  L'utilisateur jerome va gagner de l'argent �haque fois qu'il imprimera.\n"
-"  \n"
-"  $ edpykota --overcharge 0 patron\n"
-"  \n"
-"  L'utilisateur patron peut imprimer �olont�cela ne lui co� rien\n"
-"  car le co� chaque travail d'impression sera multipli�ar z� avant\n"
-"  de d�ter son compte.\n"
-
-msgid "You're not allowed to use this command."
-msgstr "Vous n'�s pas autoris�) �tiliser cette commande."
-
-#, python-format
-msgid "Invalid limitby value %s"
-msgstr "Valeur de l'option limitby %s invalide"
-
-#, python-format
-msgid "Invalid used value %s."
-msgstr "Valeur %s invalide pour le nombre de pages utilis�."
-
-#, python-format
-msgid "Invalid increase value %s."
-msgstr "Valeur d'incr�nt %s invalide."
-
-#, python-format
-msgid "Invalid softlimit value %s."
-msgstr "Valeur %s invalide pour la limite souple."
-
-#, python-format
-msgid "Invalid hardlimit value %s."
-msgstr "Valeur %s invalide pour la limite dure."
-
-#, python-format
-msgid "Hard limit %i is less than soft limit %i, values will be exchanged."
-msgstr ""
-"Limite dure %i est inf�eure �a limite souple %i, les valeurs seront "
-"�ang�. "
-
-#, python-format
-msgid "Invalid overcharge value %s"
-msgstr "Valeur %s invalide pour la surtaxe"
-
-#, python-format
-msgid "Invalid balance value %s"
-msgstr "Valeur %s du solde invalide"
-
-#, python-format
-msgid "Invalid charge amount value %s"
-msgstr "Montant �omptabiliser %s invalide"
-
-#, python-format
-msgid "Impossible to add printer %s"
-msgstr "Impossible d'ajouter l'imprimante %s"
-
-#, python-format
-msgid "Invalid printer name %s"
-msgstr "Nom d'imprimante %s invalide"
-
-#, python-format
-msgid "There's no printer matching %s"
-msgstr "Aucune imprimante ne correspond �s"
-
-msgid "You have to pass user or group names on the command line"
-msgstr ""
-"Vous devez passer des noms d'utilisateurs ou de groupes sur la ligne de "
-"commande"
-
-#, python-format
-msgid "Prototype object %s not found in Quota Storage."
-msgstr "Objet prototype %s introuvable dans le Quota Storage."
-
-#, python-format
-msgid "Prototype %s not found in Quota Storage for printer %s."
-msgstr "Prototype %s non trouv�ans le Quota Storage pour l'imprimante %s."
-
-#, python-format
-msgid "Undefined hard limit set to soft limit (%s) on printer %s."
-msgstr ""
-"Limite dure ind�nie, positionn��a limite souple (%s) sur l'imprimante %"
-"s."
-
-#, python-format
-msgid "Undefined soft limit set to hard limit (%s) on printer %s."
-msgstr ""
-"Limite souple ind�nie, positionn��a limite dure (%s) sur l'imprimante %"
-"s."
-
-#, python-format
-msgid "Invalid email address %s"
-msgstr "Adresse �ctronique %s invalide"
-
-#, python-format
-msgid "Unknown group %s"
-msgstr "Groupe %s inconnu"
-
-#, python-format
-msgid "Unknown user %s"
-msgstr "Utilisateur %s inconnu"
-
-#, python-format
-msgid "Invalid group name %s"
-msgstr "Nom de groupe %s invalide"
-
-#, python-format
-msgid "Invalid user name %s"
-msgstr "Nom d'utilisateur %s invalide"
-
-#, python-format
-msgid "Quota not found for object %s on printer %s."
-msgstr "Quota non trouv�our l'objet %s sur l'imprimante %s."
-
-#, python-format
-msgid "You can't increase limits by %s when no limit is set."
-msgstr ""
-"Vous ne pouvez pas incr�nter les limites par %s quand aucune limite n'est "
-"positionn�"
-
-msgid "You can't set negative limits."
-msgstr "Vous ne pouvez indiquer de limites n�tives."
-
-#, python-format
-msgid "Group %s not found in the PyKota Storage."
-msgstr "Groupe %s non trouv�ans le Quota Storage."
-
-#, python-format
-msgid "Nonexistent user %s or missing print quota entry."
-msgstr "Utilisateur %s inexistant ou entr�de quota d'impression manquante."
-
-#, python-format
-msgid "Nonexistent group %s or missing print quota entry."
-msgstr "Groupe %s inexistant ou entr�de quota d'impression manquante."
-
-msgid "incompatible options, see help."
-msgstr "options incompatibles, voir l'aide."
-
-#, python-format
-msgid ""
-"repykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Generates print quota reports.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  repykota [options] \n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints repykota's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -u | --users         Generates a report on users quota, this is \n"
-"                       the default.\n"
-"  \n"
-"  -g | --groups        Generates a report on group quota instead of users.\n"
-"  \n"
-"  -i | --ingroups g1[,g2...]  Only lists users who are members of these\n"
-"                              groups. Reserved to PyKota Administrators.\n"
-"  \n"
-"  -P | --printer p     Report quotas on this printer only. Actually p can\n"
-"                       use wildcards characters to select only\n"
-"                       some printers. The default value is *, meaning\n"
-"                       all printers.\n"
-"                       You can specify several names or wildcards, \n"
-"                       by separating them with commas.\n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  $ repykota --printer lp\n"
-"  \n"
-"  This will print the quota status for all users who use the lp printer.\n"
-"\n"
-"  $ repykota \n"
-"  \n"
-"  This will print the quota status for all users on all printers.\n"
-"  \n"
-"  $ repykota --printer \"laser*,*pson\" jerome \"jo*\"\n"
-"  \n"
-"  This will print the quota status for user jerome and all users\n"
-"  whose name begins with \"jo\" on all printers which name begins\n"
-"  with \"laser\" or ends with \"pson\".\n"
-"  \n"
-"  If launched by an user who is not a PyKota administrator, additionnal\n"
-"  arguments representing users or groups names are ignored, and only the\n"
-"  current user/group is reported.\n"
-msgstr ""
-"repykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"G�re des rapports de quotas d'impression.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  repykota [options] \n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version de repykota et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -u | --users         G�re un rapport sur les quotas des utilisateurs,\n"
-"                       c'est la valeur par d�ut.\n"
-"  \n"
-"  -g | --groups        G�re un rapport sur les quotas de groupes plut�"
-"                       que sur ceux des utilisateurs.\n"
-"  \n"
-"  -i | --ingroups g1[,g2...]  Liste seulement les utilisateurs membres de "
-"ces\n"
-"                              groupes. Reserv�ux Administrateurs PyKota\n"
-"  \n"
-"  -P | --printer p     Renvoie les quotas pour cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers pour\n"
-"                       s�ctionner certaines imprimantes seulement.\n"
-"                       La valeur par d�ut est *, qui signifie de v�fier\n"
-"                       les quotas sur toutes les imprimantes.\n"
-"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
-"\n"
-"exemples :                              \n"
-"\n"
-"  $ repykota --printer lp\n"
-"  \n"
-"  Ceci va afficher un rapport de quotas pour tous les utilisateurs de\n"
-"  l'imprimante lp.\n"
-"\n"
-"  $ repykota \n"
-"  \n"
-"  Ceci va afficher un rapport pour tous les utilisateurs sur toutes les\n"
-"  imprimantes.\n"
-"  \n"
-"  $ repykota --printer \"laser*,*pson\" jerome \"jo*\"\n"
-"  \n"
-"  Ceci va afficher un rapport pour l'utilisateur jerome et tous les\n"
-"  utilisateurs dont le nom commence par \"jo\" sur toutes les imprimantes\n"
-"  dont le nom commence par \"laser\" ou se termine par \"pson\".\n"
-"  \n"
-"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
-"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
-"  d'utilisateurs ou de groupes sont ignor� et un rapport traitant "
-"seulement\n"
-"  de l'utilisateur ou du groupe courant est g�r�n"
-
-msgid "Option --ingroups is reserved to PyKota Administrators."
-msgstr "L'option --ingroupes est r�rv�aux Administrateurs de PyKota."
-
-#, python-format
-msgid ""
-"warnpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Sends mail to users over print quota.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  warnpykota  [options]  [names]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints warnpykota's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -u | --users         Warns users over their print quota, this is the \n"
-"                       default.\n"
-"  \n"
-"  -g | --groups        Warns users whose groups quota are over limit.\n"
-"  \n"
-"  -P | --printer p     Verify quotas on this printer only. Actually p can\n"
-"                       use wildcards characters to select only\n"
-"                       some printers. The default value is *, meaning\n"
-"                       all printers.\n"
-"                       You can specify several names or wildcards, \n"
-"                       by separating them with commas.\n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  $ warnpykota --printer lp\n"
-"  \n"
-"  This will warn all users of the lp printer who have exceeded their\n"
-"  print quota.\n"
-"\n"
-"  $ warnpykota \n"
-"  \n"
-"  This will warn all users  who have exceeded their print quota on\n"
-"  any printer.\n"
-"\n"
-"  $ warnpykota --groups --printer \"laserjet*\" \"dev*\"\n"
-"  \n"
-"  This will warn all users of groups which names begins with \"dev\" and\n"
-"  who have exceeded their print quota on any printer which name begins \n"
-"  with \"laserjet\"\n"
-"  \n"
-"  If launched by an user who is not a PyKota administrator, additionnal\n"
-"  arguments representing users or groups names are ignored, and only the\n"
-"  current user/group is reported.\n"
-msgstr ""
-"warnpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Pr�ent les utilisateurs ayant atteint leurs limites.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  warnpykota  [options]  [noms]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version de warnpykota et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -u | --users         Pr�ent les utilisateur ayant atteint leurs "
-"limites,\n"
-"                       c'est la valeur par d�ult.\n"
-"  \n"
-"  -g | --groups        Pr�ent les utilisateurs dont les groupes auxquels\n"
-"                       ils appartiennent ont atteint leurs limites.\n"
-"  \n"
-"  -P | --printer p     Verifie les quotas sur cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers pour\n"
-"                       s�ctionner certaines imprimantes seulement.\n"
-"                       La valeur par d�ut est *, qui signifie de v�fier\n"
-"                       les quotas sur toutes les imprimantes.\n"
-"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
-"  \n"
-"exemples :\n"
-"\n"
-"  $ warnpykota --printer lp\n"
-"  \n"
-"  Ceci va pr�nir tous les utilisateurs ayant atteint leur limite sur\n"
-"  l'imprimante lp.\n"
-"\n"
-"  $ warnpykota \n"
-"  \n"
-"  Ceci va pr�nir tous les utilisateurs ayant atteint leurs limites quelle\n"
-"  que soit l'imprimanter.\n"
-"\n"
-"  $ warnpykota --groups --printer \"laserjet*\" \"dev*\"\n"
-"  \n"
-"  Ceci va pr�nir tous les membres des groupes dont les noms commencent\n"
-"  par \"dev\" et qui ont atteints leurs limites sur toutes les imprimantes\n"
-"  dont le nom commence par \"laserjet\".\n"
-"  \n"
-"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
-"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
-"  d'utilisateurs ou de groupes sont ignor� et seulement l'utilisateur ou\n"
-"  le groupe courant est pr�nu.\n"
-
-#, python-format
-msgid ""
-"pkbanner v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Generates banners.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pkbanner  [options]  [more info]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pkbanner's version number then exits.\n"
 "  -h | --help          Prints this message then exits.\n"
 "  \n"
@@ -1339,362 +2100,94 @@
 "                       page sizes are recognized, like 'A4' or 'Letter'\n"
 "                       to name a few. The default size is A4.\n"
-"  \n"
-"  -s | --savetoner s   Sets the text luminosity factor to s%%. This can be \n"
-"                       used to save toner. The default value is 0, which\n"
-"                       means that no toner saving will be done.\n"
-"  \n"
-"  -u | --url u         Uses u as an url to be written at the bottom of \n"
-"                       the banner page. The default url is :\n"
-"                       http://www.librelogiciel.com/software/\n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  Using pkbanner directly from the command line is not recommended,\n"
-"  excepted for testing purposes. You should use pkbanner in the\n"
-"  'startingbanner' or 'endingbanner' directives in pykota.conf\n"
-"  \n"
-"    startingbanner: /usr/bin/pkbanner --logo=\"\" --savetoner=75\n"
-"  \n"
-"      With such a setting in pykota.conf, all print jobs will be \n"
-"      prefixed with an A4 banner with no logo, and text luminosity will\n"
-"      be increased by 75%%. The PostScript output will be directly sent\n"
-"      to your printer.\n"
-"      \n"
-"  You'll find more examples in the sample configuration file included    \n"
-"  in PyKota.\n"
-msgstr ""
-"pkbanner v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"G�re des banni�s.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pkbanner  [options]  [plus d'info]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche le num� de version de pkbanner et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -l | --logo img      Utilise l'image img comme logo pour la banni�.\n"
-"                       Le logo sera dessin�n haut et au centre de la "
-"page.\n"
-"                       Le logo par d�ut est\n"
-"                               /usr/share/pykota/logos/pykota.jpeg\n"
-"                       \n"
-"  -p | --pagesize sz   Positionne la taille de la page �z. La plupart des\n"
-"                       tailles sont reconnues, comme 'A4' ou 'Letter' par\n"
-"                       exemple. La taille par d�ut est A4.\n"
-"  \n"
-"  -s | --savetoner s   Positionne le facteur de luminosit�u texte �%%.\n"
-"                       Cela peut �e utilis�our �nomiser du toner. La\n"
-"                       valeur par d�ut est 0, qui signifie qu'aucune\n"
-"                       �nomie de toner ne sera r�is�\n"
-"  \n"
-"  -u | --url u         Utilise u comme une url qui sera imprim�en base de\n"
-"                       la page banni�. L'url par d�ut est :\n"
-"                               http://www.librelogiciel.com/software/\n"
-"  \n"
-"exemples :\n"
-"\n"
-"  L'utilisation directe de pkbanner depuis la ligne de commande n'est pas\n"
-"  conseill� sauf pour effectuer des tests. Vous devriez plut�tiliser\n"
-"  pkbanner depuis les directives 'startingbanner' ou 'endingbanner' du\n"
-"  fichier pykota.conf\n"
-"  \n"
-"    startingbanner: /usr/bin/pkbanner --logo=\"\" --savetoner=75\n"
-"  \n"
-"      Avec une telle configuration dans pykota.conf, tous les travaux\n"
-"      d'impression seront pr�d�d'une banni� au format A4 sans logo,\n"
-"      et la luminosit�u texte sera accrue de 75%%. La sortie PostScript\n"
-"      de cette commande sera directement envoy��otre imprimante.\n"
-"      \n"
-"  Vous trouverez plus d'exemples dans le fichier de configuration exemple\n"
-"  qui est inclus dans PyKota.\n"
-
-msgid "Unknown"
-msgstr "Inconnu"
-
-msgid "Username"
-msgstr "Utilisateur"
-
-msgid "More Info"
-msgstr "Plus d'info"
-
-msgid "Job"
-msgstr "Travail"
-
-msgid "Date"
-msgstr "Date"
-
-msgid "Allowed"
-msgstr "Autoris�
-msgid "Denied"
-msgstr "Rejet�
-msgid "Allowed with Warning"
-msgstr "Autoris�vec Avertissement"
-
-msgid "Result"
-msgstr "R�ltat"
-
-msgid "Title"
-msgstr "Titre"
-
-msgid "Filename"
-msgstr "Fichier"
-
-#, python-format
-msgid "Pages printed so far on %s"
-msgstr "Pages d� imprim� sur %s"
-
-msgid "Account balance"
-msgstr "Solde"
-
-msgid "Soft Limit"
-msgstr "Limite Souple"
-
-msgid "Hard Limit"
-msgstr "Limite Dure"
-
-msgid "Date Limit"
-msgstr "Date Limite"
-
-msgid "Allowed range is (0..99)"
-msgstr "L'intervalle permis est (0..99)"
-
-#, python-format
-msgid "Invalid 'savetoner' option %s : %s"
-msgstr "Valeur %s invalide pour l'option 'savetoner' : %s"
-
-#, python-format
-msgid "Invalid 'pagesize' option %s, defaulting to A4."
-msgstr "Valeur %s invalide pour l'option 'pagesize', utilisation de A4."
-
-#, python-format
-msgid ""
-"pkbcodes v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"A billing codes Manager for PyKota.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pkbcodes [options] code1 code2 code3 ... codeN\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pkbcodes version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -a | --add           Adds billing codes if they don't exist in PyKota's\n"
-"                       database. If they exist, they are modified\n"
-"                       unless -s|--skipexisting is also used.\n"
-"\n"
-"  -d | --delete        Deletes billing codes from PyKota's database.\n"
-"                       NB : the history entries with this billing code\n"
-"                       are not deleted, voluntarily.\n"
-"\n"
-"  -D | --description d Adds a textual description to billing codes.\n"
-"\n"
-"  -l | --list          List informations about the billing codes.\n"
-"\n"
-"  -r | --reset         Resets the billing codes' balance and page counters\n"
-"                       to 0.\n"
-"\n"
-"  -s | --skipexisting  In combination with the --add option above, tells\n"
-"                       pkbcodes to not modify existing billing codes.\n"
-"\n"
-"  code1 through codeN can contain wildcards if the --add option\n"
-"  is not set.\n"
-"\n"
-"examples :                              \n"
-"\n"
-"  $ pkbcodes --add -D \"My project\" myproj\n"
-"\n"
-"  Will create the myproj billing code with \"My project\"\n"
-"  as the description.\n"
-"\n"
-"  $ pkbcodes --delete \"*\"\n"
-"\n"
-"  This will completely delete all the billing codes, but without\n"
-"  removing any matching job from the history. USE WITH CARE ANYWAY !\n"
-"  \n"
-"  $ pkbcodes --list \"my*\"\n"
-"  \n"
-"  This will list all billing codes which name begins with 'my'.\n"
-msgstr ""
-"pkbcodes v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Un gestionnaire de codes de facturation pour PyKota.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pkbcodes [options] code1 code2 code3 ... codeN\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche le num� de version de pkbcodes et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -a | --add           Ajoute les codes de facturations s'ils n'existent "
-"pas\n"
-"                       d� dans la base de donn� de PyKota.\n"
-"                       S'ils existent d�, ils sont modifi�sauf si vous\n"
-"                       utilisez aussi -s|--skipexisting.\n"
-"\n"
-"  -d | --delete        Efface les codes de facturation de la base de "
-"donn�\n"
-"                       de PyKota.\n"
-"                       NB : les entr� de l'historique correspondant �es\n"
-"                       codes de facturation ne sont volontairement pas\n"
-"                       effac�.\n"
-"\n"
-"  -D | --description d Ajoute un texte descriptif �n code de facturation.\n"
-"\n"
-"  -l | --list          Liste les informations sur les codes de facturation.\n"
-"\n"
-"  -r | --reset         R�itialise � le solde et le compteur de pages "
-"des\n"
-"                       codes de facturation.\n"
-"\n"
-"  -s | --skipexisting  Combin� l'option --add ci-dessus, indique �
-"pkbcodes\n"
-"                       de ne pas modifier les codes de facturation "
-"existants.\n"
-"\n"
-"  Les codes de facturation peuvent contenir des caract�s jokers si "
-"l'option\n"
-"  --add n'est pas utilis�\n"
-"\n"
-"exemples :                              \n"
-"\n"
-"  $ pkbcodes --add -D \"Mon projet\" monproj\n"
-"\n"
-"  Va cr� le code de facturation monproj avec \"Mon projet\"\n"
-"  comme descriptif.\n"
-"\n"
-"  $ pkbcodes --delete \"*\"\n"
-"\n"
-"  Ceci va compl�ment effacer tous les codes de facturation, mais sans\n"
-"  effacer aucune entr�de l'historique. UTILISEZ QUAND MEME AVEC "
-"PARCIMONIE !\n"
-"  \n"
-"  $ pkbcodes --list \"mo*\"\n"
-"  \n"
-"  Ceci va lister tous les codes de facturation dont le nom commence par "
-"'mo'.\n"
-
-#, python-format
-msgid "Billing code [%s] already exists, skipping."
-msgstr "Le code de facturation [%s] existe d� et sera ignor�
-
-#, python-format
-msgid "Billing code [%s] already exists, will be modified."
-msgstr "Le code de facturation [%s] existe d� et sera modifi�
-
-#, python-format
-msgid "Impossible to add billingcode %s"
-msgstr "Impossible d'ajouter le code de facturation %s"
-
-#, python-format
-msgid "There's no billingcode matching %s"
-msgstr "Aucun code de facturation correspondant �s"
-
-msgid "pages"
-msgstr "pages"
-
-msgid "and"
-msgstr "et"
-
-msgid "credits"
-msgstr "cr�ts"
-
-msgid "You have to pass billing codes on the command line"
-msgstr "Vous devez indiquer des codes de facturation sur la ligne de commande"
-
-#, python-format
-msgid ""
-"pkmail v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Email gateway for PyKota.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pkmail  [options]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pkmail's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"    \n"
-"  This command is meant to be used from your mail server's aliases file,\n"
-"  as a pipe. It will then accept commands send to it in email messages,\n"
-"  and will send the answer to the command's originator.\n"
-"  \n"
-"  To use this command, create an email alias in /etc/aliases with\n"
-"  the following format :\n"
-"  \n"
-"    pykotacmd: \"|/usr/bin/pkmail\"\n"
-"    \n"
-"  Then run the 'newaliases' command to regenerate the aliases database.\n"
-"  \n"
-"  You can now send commands by email to 'pykotacmd@yourdomain.com', with\n"
-"  the command in the subject.\n"
-"  \n"
-"  List of supported commands :\n"
-"  \n"
-"        report [username]\n"
-"  \n"
-"  NB : For pkmail to work correctly, you may have to put the 'mail'\n"
-"  system user in the 'pykota' system group to ensure this user can\n"
-"  read the /etc/pykota/pykotadmin.conf file, and restart your\n"
-"  mail server (e.g. /etc/init.d/exim restart). It is strongly advised\n"
-"  that you think at least twice before doing this though.\n"
-"  \n"
-"  Use at your own risk !\n"
-msgstr ""
-"pkmail v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Passerelle courrier �ctronique pour PyKota.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pkmail  [options]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version de pkmail et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"    \n"
-"  Cette commande est faite pour �e utilis�depuis la base de donn�\n"
-"  d'alias de votre serveur de courrier �ctronique, en tant que pipe.\n"
-"  Elle va accepter les commandes qui lui sont envoy� dans des messages\n"
-"  et renverra sa r�nse �'exp�teur de la demande.\n"
-"  \n"
-"  Pour utiliser cette commande, cr� un alias email dans /etc/aliases\n"
-"  avec le format suivant :\n"
-"  \n"
-"    pykotacmd: \"|/usr/bin/pkmail\"\n"
-"    \n"
-"  Puis lancez la commande 'newaliases' pour r�n�r la base de donn�\n"
-"  d'alias.\n"
-"  \n"
-"  Vous pouvez maintenant envoyer vos demandes par email �'adresse\n"
-"  'pykotacmd@yourdomain.com', avec la commande dans le champ sujet.\n"
-"  \n"
-"  Liste des commandes support� :\n"
-"  \n"
-"        report [utilisateur]\n"
-"  \n"
-"  NB : Pour que pkmail fonctionne correctement, il se peut que vous ayez �"
-"  mettre l'utilisateur 'mail' dans le groupe syst� 'pykota' afin "
-"d'assurer\n"
-"  que cet utilisateur puisse lire le fichier /etc/pykota/pykotadmin.conf,\n"
-"  et de relancer votre serveur de courrier �ctronique (par exemple\n"
-"  /etc/init.d/exim restart). Cependant, il est fortement conseill�ue vous\n"
-"  r��issiez plut�eux fois qu'une avant de faire ceci.\n"
-"  \n"
-"  Utilisez �os risques et p�ls !\n"
+"                       \n"
+"  -n | --number N      Sets the number of the first invoice. This number\n"
+"                       will automatically be incremented for each invoice.\n"
+"                       \n"
+"  -o | --output f.pdf  Defines the name of the invoice file which will\n"
+"                       be generated as a PDF document. If not set or\n"
+"                       set to '-', the PDF document is sent to standard\n"
+"                       output. \n"
+"                       \n"
+"  -u | --unit u        Defines the name of the unit to use on the "
+"invoice.                       \n"
+"                       The default unit is 'Credits', optionally translated\n"
+"                       to your native language if it is supported by "
+"PyKota.\n"
+"  \n"
+"  -V | --vat p         Sets the percent value of the applicable VAT to be\n"
+"                       exposed. The default is 0.0, meaning no VAT\n"
+"                       information will be included.\n"
+"                       \n"
+"  -s | --start date    Sets the starting date for the print jobs invoiced.\n"
+"  \n"
+"  -e | --end date      Sets the ending date for the print jobs invoiced.\n"
+"                       \n"
+"  user1 through userN can use wildcards if needed. If no user argument is\n"
+"  used, a wildcard of '*' is assumed, meaning include all users.\n"
+"  \n"
+"  Dates formating with --start and --end :\n"
+"  \n"
+"    YYYY : year boundaries\n"
+"    YYYYMM : month boundaries\n"
+"    YYYYMMDD : day boundaries\n"
+"    YYYYMMDDhh : hour boundaries\n"
+"    YYYYMMDDhhmm : minute boundaries\n"
+"    YYYYMMDDhhmmss : second boundaries\n"
+"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-"
+"15)\n"
+"    today[+-NbDays] : today more or less N days (e.g. : today-15)\n"
+"    tomorrow[+-NbDays] : tomorrow more or less N days (e.g. : tomorrow-15)\n"
+"    now[+-NbDays] : now more or less N days (e.g. now-15)\n"
+"\n"
+"  'now' and 'today' are not exactly the same since today represents the "
+"first\n"
+"  or last second of the day depending on if it's used in a start= or end=\n"
+"  date expression. The utility to be able to specify dates in the future is\n"
+"  a question which remains to be answered :-)\n"
+"                                        \n"
+"examples :                       \n"
+"\n"
+"  $ pkinvoice --unit EURO --output invoices.pdf --start=now-30\n"
+"  \n"
+"  Will generate a PDF document containing invoices for all users\n"
+"  who have spent some credits last month. Invoices will be done in\n"
+"  EURO.  No VAT information will be included.\n"
+msgstr ""
+
+msgid "Invoice"
+msgstr "Facture"
+
+msgid "Since"
+msgstr "Depuis"
+
+msgid "Until"
+msgstr "Jusqu'au"
+
+msgid "Edited on"
+msgstr "Edit�le"
+
+msgid "Number of pages printed"
+msgstr "Nombre de pages imprim�"
+
+msgid "Amount due"
+msgstr "Montant d�sgid "Included VAT"
+msgstr "TVA incluse"
+
+msgid "Here's the invoice for your printouts"
+msgstr "Voici la facture pour vos impressions"
+
+#, python-format
+msgid "Incorrect value '%s' for the --vat command line option"
+msgstr "Valeur '%s' incorrecte pour l'option de ligne de commande --vat"
+
+#, python-format
+msgid "Incorrect value '%s' for the --number command line option"
+msgstr "Valeur '%s' incorrecte pour l'option de ligne de commande --number"
+
+msgid "Generating invoices"
+msgstr "Generation des factures"
+
+msgid "Credits"
+msgstr "Cr�ts"
 
 #, python-format
@@ -1891,4 +2384,21 @@
 
 #, python-format
+msgid "Passthrough mode : %s"
+msgstr "Mode 'passthrough' : %s"
+
+msgid "ON"
+msgstr "ACTIF"
+
+msgid "OFF"
+msgstr "INACTIF"
+
+msgid "in"
+msgstr "dans"
+
+#, python-format
+msgid "Invalid charge amount value %s"
+msgstr "Montant �omptabiliser %s invalide"
+
+#, python-format
 msgid "Invalid maximum job size value %s"
 msgstr "Valeur %s invalide pour la taille maximale d'un travail d'impression"
@@ -1902,27 +2412,7 @@
 msgstr "L'imprimante %s existe d�, elle sera modifi�"
 
-msgid "in"
-msgstr "dans"
-
-#, python-format
-msgid "Passthrough mode : %s"
-msgstr "Mode 'passthrough' : %s"
-
-msgid "ON"
-msgstr "ACTIF"
-
-msgid "OFF"
-msgstr "INACTIF"
-
-#, python-format
-msgid "Maximum job size : %s"
-msgstr "Taille maximale : %s"
-
-#, python-format
-msgid "%s pages"
-msgstr "%s pages"
-
-msgid "Unlimited"
-msgstr "Illimit�
+#, python-format
+msgid "Invalid printer name %s"
+msgstr "Nom d'imprimante %s invalide"
 
 msgid "You have to pass printer groups names on the command line"
@@ -1934,521 +2424,4 @@
 
 #, python-format
-msgid ""
-"pkturnkey v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"A turn key tool for PyKota. When launched, this command will initialize\n"
-"PyKota's database with all existing print queues and some or all users.\n"
-"For now, no prices or limits are set, so printing is fully accounted\n"
-"for, but not limited. That's why you'll probably want to also use\n"
-"edpykota once the database has been initialized.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pkturnkey [options] [printqueues names]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pkturnkey version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -c | --doconf        Give hints about what to put into pykota.conf\n"
-"  \n"
-"  -d | --dousers       Manages users accounts as well.\n"
-"  \n"
-"  -D | --dogroups      Manages users groups as well.\n"
-"                       Implies -d | --dousers.\n"
-"  \n"
-"  -e | --emptygroups   Includes empty groups.\n"
-"  \n"
-"  -f | --force         Modifies the database instead of printing what\n"
-"                       it would do.\n"
-"                       \n"
-"  -u | --uidmin uid    Only adds users whose uid is greater than or equal "
-"to\n"
-"                       uid. You can pass an username there as well, and its\n"
-"                       uid will be used automatically.\n"
-"                       If not set, 0 will be used automatically.\n"
-"                       Implies -d | --dousers.\n"
-"                       \n"
-"  -U | --uidmax uid    Only adds users whose uid is lesser than or equal to\n"
-"                       uid. You can pass an username there as well, and its\n"
-"                       uid will be used automatically.\n"
-"                       If not set, a large value will be used "
-"automatically.\n"
-"                       Implies -d | --dousers.\n"
-"\n"
-"  -g | --gidmin gid    Only adds groups whose gid is greater than or equal "
-"to\n"
-"                       gid. You can pass a groupname there as well, and its\n"
-"                       gid will be used automatically.\n"
-"                       If not set, 0 will be used automatically.\n"
-"                       Implies -D | --dogroups.\n"
-"                       \n"
-"  -G | --gidmax gid    Only adds groups whose gid is lesser than or equal "
-"to\n"
-"                       gid. You can pass a groupname there as well, and its\n"
-"                       gid will be used automatically.\n"
-"                       If not set, a large value will be used "
-"automatically.\n"
-"                       Implies -D | --dogroups.\n"
-"\n"
-"examples :                              \n"
-"\n"
-"  $ pkturnkey --dousers --uidmin jerome\n"
-"\n"
-"  Will simulate the initialization of PyKota's database will all existing\n"
-"  printers and print accounts for all users whose uid is greater than\n"
-"  or equal to jerome's one. Won't manage any users group.\n"
-"  \n"
-"  To REALLY initialize the database instead of simulating it, please\n"
-"  use the -f | --force command line switch.\n"
-"  \n"
-"  You can limit the initialization to only a subset of the existing\n"
-"  printers, by passing their names at the end of the command line.\n"
-msgstr ""
-"pkturnkey v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Un outil pour transformer PyKota en une solution clefs en main.\n"
-"Lorsqu'elle est lanc� cette commande va initialiser la base de donn�\n"
-"de PyKota avec toutes les files d'impressions et plusieurs ou tous les\n"
-"utilisateurs. Pour l'instant aucun quota n'est d�ni, aussi les "
-"impressions\n"
-"sont bien d�mpt�, mais non limit�. C'est pourquoi vous voudrez sans\n"
-"doute aussi utiliser edpykota une fois la base de donn� initialis�\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pkturnkey [options] [noms des files d'impression]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche le num� de version de pkturnkey et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -c | --doconf        Donne des conseils sur quoi mettre dans pykota.conf\n"
-"  \n"
-"  -d | --dousers       G� aussi les comptes utilisateurs.\n"
-"  \n"
-"  -D | --dogroups      G� aussi les groupes d'utilisateurs.\n"
-"                       Implique -d | --dousers.\n"
-"  \n"
-"  -e | --emptygroups   Inclure m� les groupes vides.\n"
-"  \n"
-"  -f | --force         Modifie la base de donn� plut�ue d'afficher ce\n"
-"                       qui serait fait.\n"
-"                       \n"
-"  -u | --uidmin uid    Ajoute seulement les utilisateurs dont l'uid est\n"
-"                       sup�eur ou �l �a valeur de uid. Vous pouvez\n"
-"                       aussi indiquer un nom d'utilisateur, et sont uid "
-"sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�0 sera utilis�utomatiquement.\n"
-"                       Implique -d | --dousers.\n"
-"                       \n"
-"  -U | --uidmax uid    Ajoute seulement les utilisateurs dont l'uid est\n"
-"                       inf�eur ou �l �a valeur de uid. Vous pouvez\n"
-"                       aussi indiquer un nom d'utilisateur, et sont uid "
-"sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�une grande valeur sera utilis�n"
-"                       automatiquement.\n"
-"                       Implique -d | --dousers.\n"
-"\n"
-"  -g | --gidmin gid    Ajoute seulement les groupes dont le gid est\n"
-"                       sup�eur ou �l �a valeur de gid. Vous pouvez\n"
-"                       aussi indiquer un nom de groupe, et sont gid sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�0 sera utilis�utomatiquement.\n"
-"                       Implique -D | --dogroups.\n"
-"                       \n"
-"  -G | --gidmax gid    Ajoute seulement les groupes dont le gid est\n"
-"                       inf�eur ou �l �a valeur de gid. Vous pouvez\n"
-"                       aussi indiquer un nom de groupe, et sont gid sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�une grande valeur sera utilis�n"
-"                       automatiquement.\n"
-"                       Implique -D | --dogroups.\n"
-"\n"
-"exemples :                              \n"
-"\n"
-"  $ pkturnkey --dousers --uidmin jerome\n"
-"\n"
-"  Ceci va simuler l'initialisation de la base de donn� de PyKota avec\n"
-"  toutes les files d'impression existantes et les comptes d'impression pour\n"
-"  tous les utilisateurs ayant un uid sup�eur ou �l �elui de jerome.\n"
-"  Aucun groupe ne sera cr�\n"
-"  \n"
-"  Pour VRAIMENT initialiser la base de donn� plut�ue de le simuler,\n"
-"  vous voudrez bien utiliser l'option de ligne de commande -f|--force.\n"
-"  \n"
-"  Vous pouvez limiter l'initialisation �n sous ensemble des files\n"
-"  d'impression, en passant leurs noms �a fin de la ligne de commande.\n"
-
-#, python-format
-msgid ""
-"Printer %s is not managed by PyKota yet. Please modify printers.conf and "
-"restart CUPS."
-msgstr ""
-"L'imprimante %s n'est pas encore g�e par PyKota. Veuillez modifier "
-"printers.conf et relancer CUPS."
-
-msgid "Please be patient..."
-msgstr "Merci de patienter..."
-
-msgid "Don't worry, the database WILL NOT BE MODIFIED."
-msgstr "Aucune inqui�de, la base de donn� NE SERA PAS MODIFIEE."
-
-msgid "Please WORRY NOW, the database WILL BE MODIFIED."
-msgstr "Merci de vous INQUIETER MAINTENANT, la base de donn� SERA MODIFIEE."
-
-msgid "System users will have a print account as well !"
-msgstr "Les utilisateurs syst� auront �lement un compte d'impression !"
-
-#, python-format
-msgid "Unknown username %s : %s"
-msgstr "Utilisateur %s inconnu : %s"
-
-msgid "System groups will have a print account as well !"
-msgstr "Les groupes syst� auront �lement un compte d'impression !"
-
-#, python-format
-msgid "Unknown groupname %s : %s"
-msgstr "Groupe %s inconnu : %s"
-
-msgid "Simulation terminated."
-msgstr "Simulation termin�"
-
-msgid "Database initialized !"
-msgstr "Base de donn� initialis�!"
-
-msgid "The --uidmin or --uidmax command line option implies --dousers as well."
-msgstr ""
-"L'option de ligne de commande --uidmin ou --uidmax implique aussi --dousers."
-
-msgid ""
-"The --gidmin or --gidmax command line option implies --dogroups as well."
-msgstr ""
-"L'option de ligne de commande --gidmin ou --gidmax implique aussi --dogroups."
-
-msgid "The --dogroups command line option implies --dousers as well."
-msgstr "L'option de ligne de commande --dogroups implique aussi --dousers."
-
-#, python-format
-msgid ""
-"pykosd v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"An OSD quota monitor for PyKota.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pykosd [options]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pykosd's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -c | --color #rrggbb Sets the color to use for display as an hexadecimal\n"
-"                       triplet, for example #FF0000 is 100%% red.\n"
-"                       Defaults to 100%% green (#00FF00).\n"
-"                       \n"
-"  -d | --duration d    Sets the duration of the display in seconds. \n"
-"                       Defaults to 3 seconds.\n"
-"                       \n"
-"  -f | --font f        Sets the font to use for "
-"display.                      \n"
-"                       Defaults to the Python OSD library's default.\n"
-"  \n"
-"  -l | --loop n        Sets the number of times the info will be displayed.\n"
-"                       Defaults to 0, which means loop forever.\n"
-"                       \n"
-"  -s | --sleep s       Sets the sleeping duration between two displays \n"
-"                       in seconds. Defaults to 180 seconds (3 minutes).\n"
-"                       \n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  $ pykosd -s 60 --loop 5\n"
-"  \n"
-"  Will launch pykosd. Display will be refreshed every 60 seconds,\n"
-"  and will last for 3 seconds (the default) each time. After five\n"
-"  iterations, the program will exit.\n"
-msgstr ""
-"pykosd v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Un afficheur OSD de quota d'impression pour PyKota.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pykosd [options]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version de pykosd et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -c | --color #rrggbb Fixe la couleur �tiliser pour l'affichage �n\n"
-"                       triplet hexadecimal, par exemple #FF0000 est 100%%\n"
-"                       de rouge.\n"
-"                       La valeur par d�ut est 100%% de vert (#00FF00).\n"
-"                       \n"
-"  -d | --duration d    Fixe la dur�de l'affichage en secondes. \n"
-"                       La valeur par d�ut est de 3 secondes.\n"
-"                       \n"
-"  -f | --font f        Fixe la police de caract�s �tiliser pour\n"
-"                       l'affichage.\n"
-"                       La valeur par d�ut est celle de la librairie\n"
-"                       Python OSD.\n"
-"                       \n"
-"  -l | --loop n        Fixe le nombre de fois o�nformation sera "
-"affich�\n"
-"                       La valeur par d�ut est 0, qui indique un nombre\n"
-"                       d'affichages infini.\n"
-"                       \n"
-"  -s | --sleep s       Fixe la dur�en secondes de sommeil entre deux\n"
-"                       affichages. La valeur par d�ut est 180 (3 "
-"minutes).\n"
-"                       \n"
-"  \n"
-"exemples :                              \n"
-"\n"
-"  $ pykosd -s 60 --loop 5\n"
-"  \n"
-"  Lance pykosd. L'affichage sera rafra�it toutes les 60 secondes,\n"
-"  et persistera pendant 3 secondes (la valeur par d�ut) �haque fois.\n"
-"  Apr�5 it�tions, le programme se terminera.\n"
-
-#, python-format
-msgid "Invalid duration option %s"
-msgstr "Option duration %s invalide"
-
-#, python-format
-msgid "Invalid loop option %s"
-msgstr "Option loop %s invalide"
-
-#, python-format
-msgid "Invalid sleep option %s"
-msgstr "Option sleep %s invalide"
-
-#, python-format
-msgid "Invalid color option %s"
-msgstr "Option color %s invalide"
-
-#, python-format
-msgid "User %s doesn't exist in PyKota's database"
-msgstr "L'utilisateur %s n'existe pas dans la base PyKota"
-
-#, python-format
-msgid "Pages used on %s : %s"
-msgstr "Pages utilis� sur %s : %s"
-
-#, python-format
-msgid "PyKota Units left : %.2f"
-msgstr "Unites PyKota restantes : %.2f"
-
-#, python-format
-msgid ""
-"pykotme v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Gives print quotes to users.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  pykotme  [options]  [files]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints pykotme's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -P | --printer p     Gives a quote for this printer only. Actually p can\n"
-"                       use wildcards characters to select only\n"
-"                       some printers. The default value is *, meaning\n"
-"                       all printers.\n"
-"                       You can specify several names or wildcards, \n"
-"                       by separating them with commas.\n"
-"  \n"
-"examples :                              \n"
-"\n"
-"  $ pykotme --printer apple file1.ps file2.ps\n"
-"  \n"
-"  This will give a print quote to the current user. The quote will show\n"
-"  the price and size of a job consisting in file1.ps and file2.ps \n"
-"  which would be sent to the apple printer.\n"
-"  \n"
-"  $ pykotme --printer apple,hplaser <file1.ps\n"
-"  \n"
-"  This will give a print quote to the current user. The quote will show\n"
-"  the price and size of a job consisting in file1.ps as read from\n"
-"  standard input, which would be sent to the apple or hplaser\n"
-"  printer.\n"
-"\n"
-"  $ pykotme \n"
-"  \n"
-"  This will give a quote for a job consisting of what is on standard \n"
-"  input. The quote will list the job size, and the price the job\n"
-"  would cost on each printer.\n"
-msgstr ""
-"pykotme v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"Fait des devis d'impression aux utilisateurs.\n"
-"\n"
-"ligne de commande :\n"
-"\n"
-"  pykotme  [options]  [fichiers]\n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Affiche la version de pykotme et quitte.\n"
-"  -h | --help          Affiche ce message et quitte.\n"
-"  \n"
-"  -P | --printer p     Fait un devis sur cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers\n"
-"                       pour s�ctionner seulement certaines imprimantes.\n"
-"                       La valeur par d�ut est *, qui signifie toutes les\n"
-"                       imprimantes. \n"
-"                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
-"  \n"
-"exemples :                              \n"
-"\n"
-"  $ pykotme --printer apple fichier1.ps fichier2.ps\n"
-"  \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�r l'imprimante apple d'un\n"
-"  travail d'impression consitant en fichier1.ps et fichier2.ps\n"
-"  \n"
-"  $ pykotme --printer apple,hplaser <fichier1.ps\n"
-"  \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�un travail provenant de "
-"l'entr�n"
-"  standard dans laquelle on redirigerait le fichier fichier1.ps et qui\n"
-"  serait envoy�sur les imprimantes apple ou hplaser.\n"
-"\n"
-"  $ pykotme \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�un travail provenant de "
-"l'entr�n"
-"  standard, et ce pour chaque imprimante.\n"
-
-#, python-format
-msgid "Your account balance : %.2f"
-msgstr "Votre solde : %.2f"
-
-#, python-format
-msgid "Job size : %i pages"
-msgstr "Taille du job : %i pages"
-
-#, python-format
-msgid "Cost on printer %s : %.2f"
-msgstr "Co�r l'imprimante %s : %.2f"
-
-msgid "PyKota Data Dumper"
-msgstr "Extracteur de Donn� PyKota"
-
-msgid "Dump"
-msgstr "Extraction"
-
-msgid "Please click on the above button"
-msgstr "Merci de cliquer sur le bouton ci-dessus"
-
-msgid "Data Type"
-msgstr "Type de Donn�"
-
-msgid "Output Format"
-msgstr "Format de Sortie"
-
-msgid "Filter"
-msgstr "Filtre"
-
-msgid "Summarize"
-msgstr "Somme"
-
-msgid "only for payments or history"
-msgstr "seulement pour les paiements ou l'historique"
-
-msgid "PyKota Reports"
-msgstr "Rapports de Quotas d'Impression PyKota"
-
-msgid "Report"
-msgstr "G�ration du Rapport"
-
-msgid "Printer"
-msgstr "Imprimante"
-
-msgid "User / Group names mask"
-msgstr "Masque de noms Utilisateur / Groupe"
-
-msgid "Groups report"
-msgstr "Rapport de groupes"
-
-msgid "History"
-msgstr "Historique des Impressions"
-
-msgid "Empty"
-msgstr "Vide"
-
-msgid "Action"
-msgstr "Action"
-
-msgid "User"
-msgstr "utilisateur"
-
-msgid "Hostname"
-msgstr "Poste client"
-
-msgid "JobId"
-msgstr "JobId"
-
-msgid "Number of pages"
-msgstr "Nombre de pages"
-
-msgid "Cost"
-msgstr "Co�msgid "Copies"
-msgstr "Copies"
-
-msgid "Number of bytes"
-msgstr "Nombre d'octets"
-
-msgid "Printer's internal counter"
-msgstr "Compteur interne de l'imprimante"
-
-msgid "Options"
-msgstr "Options"
-
-msgid "MD5Sum"
-msgstr "Somme MD5"
-
-msgid "Billing code"
-msgstr "Code de facturation"
-
-msgid "Precomputed number of pages"
-msgstr "Nombre de pages pr�lcul�
-msgid "Precomputed cost"
-msgstr "Co��lcul�
-msgid "Pages details"
-msgstr "D�ils des pages"
-
-msgid "(not supported yet)"
-msgstr "(pas encore support�
-
-msgid "Previous page"
-msgstr "Page pr�dente"
-
-msgid "PyKota Quotes"
-msgstr "Devis PyKota"
-
-msgid "Quote"
-msgstr "Devis"
-
-msgid ""
-"The exact cost of a print job can only be determined for a particular user. "
-"Please retry while logged-in."
-msgstr ""
-"Le co�act d'un travail d'impression peut seulement �e d�rmin�our "
-"un utilisateur particulier. Merci de r�sayer en �nt identifi�
-
-#, python-format
 msgid "Unsupported accounter backend %s"
 msgstr "Backend accounter %s non support�
@@ -2483,4 +2456,14 @@
 
 #, python-format
+msgid "Invalid preaccounter %s for printer %s"
+msgstr "Option 'preaccounter' %s invalide pour l'imprimante %s"
+
+#, python-format
+msgid "Option preaccounter in section %s only supports values in %s"
+msgstr ""
+"L'option 'preaccounter' dans la section %s supporte seulement les valeurs "
+"dans %s"
+
+#, python-format
 msgid "Invalid accounter %s for printer %s"
 msgstr "Compteur de pages %s invalide pour l'imprimante %s"
@@ -2509,4 +2492,12 @@
 
 #, python-format
+msgid ""
+"Option onbackenderror in section %s only supports values 'charge', "
+"'nocharge', and 'retry:num:delay'"
+msgstr ""
+"L'option 'onbackenderror' dans la section %s supporte seulement les valeurs "
+"'charge', 'nocharge', et 'retry:num:d�i'"
+
+#, python-format
 msgid "Option onaccountererror in section %s only supports values in %s"
 msgstr ""
@@ -2537,4 +2528,8 @@
 msgid "Invalid poor man's threshold %s"
 msgstr "Valeur 'pauvre homme' %s invalide"
+
+#, python-format
+msgid "Invalid balancezero value %s"
+msgstr "Valeur %s invalide pour 'balancezero'"
 
 msgid ""
@@ -2565,4 +2560,9 @@
 
 #, python-format
+msgid "Incorrect value %s for the duplicatesdelay directive in section %s"
+msgstr ""
+"Valeur %s incorrecte pour la directive 'duplicatesdelay' dans la section %s"
+
+#, python-format
 msgid "Option accountbanner in section %s only supports values in %s"
 msgstr ""
@@ -2573,4 +2573,7 @@
 msgstr "L'option trustjobsize pour l'imprimante %s est incorrecte"
 
+msgid "History"
+msgstr "Historique des Impressions"
+
 msgid "Users"
 msgstr "Utilisateurs"
@@ -2600,4 +2603,7 @@
 msgstr "Codes de Facturation"
 
+msgid "All"
+msgstr "Tout"
+
 msgid "Comma Separated Values"
 msgstr "Valeurs s�r� par des virgules"
@@ -2616,14 +2622,21 @@
 
 #, python-format
+msgid "Invalid modifier [%s] for --data command line option, see help."
+msgstr ""
+"Le modificateur [%s] pour l'option de ligne de commande --data est invalide, "
+"voir l'aide."
+
+msgid ""
+"Dumping all PyKota's datas forces format to XML, and disables --sum and "
+"filters."
+msgstr ""
+"Exporter toutes les donn� de PyKota force le format �ML et interdit --"
+"sum et les filtres."
+
+#, python-format
 msgid "Invalid filter value [%s], see help."
 msgstr "Valeur du filtre [%s] invalide, voir l'aide."
 
 #, python-format
-msgid "Invalid modifier [%s] for --data command line option, see help."
-msgstr ""
-"Le modificateur [%s] pour l'option de ligne de commande --data est invalide, "
-"voir l'aide."
-
-#, python-format
 msgid "Invalid modifier [%s] for --format command line option, see help."
 msgstr ""
@@ -2696,4 +2709,12 @@
 msgid "Unsupported quota storage backend %s"
 msgstr "Backend de stockage de quota %s non support�
+msgid "Done"
+msgstr "Termin�
+msgid "Average speed"
+msgstr "Vitesse moyenne"
+
+msgid "entries per second"
+msgstr "entr� par seconde"
+
 #, python-format
 msgid "Strange problem with uid(%s) : %s"
@@ -2773,4 +2794,57 @@
 
 #, python-format
+msgid ""
+"Search base %s doesn't seem to exist. Probable misconfiguration. Please "
+"double check /etc/pykota/pykota.conf : %s"
+msgstr ""
+"La base de recherche %s semble �e inexistante. Probablement une mauvaise "
+"configuration. Merci de v�fier /etc/pykota/pykota.conf : %s"
+
+#, python-format
+msgid "Search for %s(%s) from %s(scope=%s) returned no answer."
+msgstr "La recherche de %s(%s) depuis %s(scope=%s) n'a renvoy�ucun r�ltat."
+
+#, python-format
+msgid "Problem adding LDAP entry (%s, %s)"
+msgstr "Probl� durant l'ajout de l'entr�LDAP (%s, %s)"
+
+#, python-format
+msgid "Problem deleting LDAP entry (%s)"
+msgstr "Probl� durant la suppression de l'entr�LDAP (%s)"
+
+#, python-format
+msgid "Problem modifying LDAP entry (%s, %s)"
+msgstr "Probl� durant la modification de l'entr�LDAP (%s, %s)"
+
+#, python-format
+msgid ""
+"No pykotaAccountBalance object found for user %s. Did you create LDAP "
+"entries manually ?"
+msgstr ""
+"Aucun objet pykotaAccountBalance trouv�our l'utilisateur %s. Avez vous "
+"cr�des entr� LDAP manuellement ?"
+
+msgid "Hidden because of privacy concerns"
+msgstr "Cach�ar respect de la vie priv�
+
+#, python-format
+msgid ""
+"Unable to find an existing objectClass %s entry with %s=%s to attach "
+"pykotaAccount objectClass"
+msgstr ""
+"Impossible de trouver une entr�existante ayant pour objectClass %s avec %s="
+"%s �aquelle attacher une objectClass pykotaAccount"
+
+#, python-format
+msgid "%s. A new entry will be created instead."
+msgstr "%s. Une nouvelle entr�sera cr� �a place."
+
+#, python-format
+msgid "Unable to find an existing entry to attach pykotaGroup objectclass %s"
+msgstr ""
+"Impossible de trouver une entr�existante �aquelle attacher l'objectClass "
+"pykotaGroup %s"
+
+#, python-format
 msgid "A problem occured while reading printer %s's internal page counter."
 msgstr ""
@@ -2877,4 +2951,10 @@
 
 #, python-format
+msgid "Unable to precompute the job's size with the generic PDL analyzer : %s"
+msgstr ""
+"Impossible de pr�alculer la taille du travail d'impression avec "
+"l'analyzeur g�rique de PDL : %s"
+
+#, python-format
 msgid "Launching SOFTWARE(%s)..."
 msgstr "Ex�tion de SOFTWARE(%s)..."
@@ -2897,88 +2977,711 @@
 "Les totaux peuvent �e faux si des utilisateurs sont dans plusieurs groupes."
 
-#, python-format
-msgid ""
-"Search base %s doesn't seem to exist. Probable misconfiguration. Please "
-"double check /etc/pykota/pykota.conf : %s"
-msgstr ""
-"La base de recherche %s semble �e inexistante. Probablement une mauvaise "
-"configuration. Merci de v�fier /etc/pykota/pykota.conf : %s"
-
-#, python-format
-msgid "Search for %s(%s) from %s(scope=%s) returned no answer."
-msgstr "La recherche de %s(%s) depuis %s(scope=%s) n'a renvoy�ucun r�ltat."
-
-#, python-format
-msgid "Problem adding LDAP entry (%s, %s)"
-msgstr "Probl� durant l'ajout de l'entr�LDAP (%s, %s)"
-
-#, python-format
-msgid "Problem deleting LDAP entry (%s)"
-msgstr "Probl� durant la suppression de l'entr�LDAP (%s)"
-
-#, python-format
-msgid "Problem modifying LDAP entry (%s, %s)"
-msgstr "Probl� durant la modification de l'entr�LDAP (%s, %s)"
-
-#, python-format
-msgid ""
-"No pykotaAccountBalance object found for user %s. Did you create LDAP "
-"entries manually ?"
-msgstr ""
-"Aucun objet pykotaAccountBalance trouv�our l'utilisateur %s. Avez vous "
-"cr�des entr� LDAP manuellement ?"
-
-msgid "Hidden because of privacy concerns"
-msgstr "Cach�ar respect de la vie priv�
-
-#, python-format
-msgid ""
-"Unable to find an existing objectClass %s entry with %s=%s to attach "
-"pykotaAccount objectClass"
-msgstr ""
-"Impossible de trouver une entr�existante ayant pour objectClass %s avec %s="
-"%s �aquelle attacher une objectClass pykotaAccount"
-
-#, python-format
-msgid "%s. A new entry will be created instead."
-msgstr "%s. Une nouvelle entr�sera cr� �a place."
-
-#, python-format
-msgid "Unable to find an existing entry to attach pykotaGroup objectclass %s"
-msgstr ""
-"Impossible de trouver une entr�existante �aquelle attacher l'objectClass "
-"pykotaGroup %s"
-
-msgid "ALLOW"
-msgstr "Accept�
-msgid "WARN"
-msgstr "Avertissement"
-
-msgid "DENY"
-msgstr "Rejet�
-msgid "won't be charged, printer is in passthrough mode"
-msgstr "non d�mpt�imprimante en mode 'passthrough'"
-
-msgid "won't be charged, your account is immutable"
-msgstr "non d�mpt�votre compte est immuable"
-
-msgid "Printing denied."
-msgstr "Impression interdite."
-
-msgid "Printing not limited."
-msgstr "Impression illimit�"
-
-msgid "Printing not limited, no accounting."
-msgstr "Impression illimit� aucun d�mpte."
-
-msgid "No Accounting"
-msgstr "Aucun D�mpte"
-
-msgid "No Limit"
-msgstr "Aucune Limite"
-
-msgid "Forbidden"
-msgstr "Interdit"
-
-msgid "Printing Mode"
-msgstr "Mode d'Impression"
+#~ msgid ""
+#~ "dumpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+#~ "\n"
+#~ "Dumps PyKota database's content.\n"
+#~ "\n"
+#~ "command line usage :\n"
+#~ "\n"
+#~ "  dumpykota [options] [filterexpr]\n"
+#~ "\n"
+#~ "options :\n"
+#~ "\n"
+#~ "  -v | --version       Prints dumpykota's version number then exits.\n"
+#~ "  -h | --help          Prints this message then exits.\n"
+#~ "  \n"
+#~ "  -d | --data type     Dumps 'type' datas. Allowed types are :\n"
+#~ "                       \n"
+#~ "                         - history : dumps the jobs history.\n"
+#~ "                         - users : dumps users.\n"
+#~ "                         - groups : dumps user groups.\n"
+#~ "                         - printers : dump printers.\n"
+#~ "                         - upquotas : dump user quotas.\n"
+#~ "                         - gpquotas : dump user groups quotas.\n"
+#~ "                         - payments : dumps user payments.\n"
+#~ "                         - pmembers : dumps printer groups members.\n"
+#~ "                         - umembers : dumps user groups members.\n"
+#~ "                         - billingcodes : dumps billing codes.\n"
+#~ "                         \n"
+#~ "                       NB : the -d | --data command line option   \n"
+#~ "                       is MANDATORY.\n"
+#~ "  \n"
+#~ "  -f | --format fmt    Dumps datas in the 'fmt' format. When not "
+#~ "specified,\n"
+#~ "                       the format is to dump datas in the csv format "
+#~ "(comma\n"
+#~ "                       separated values). All data dumped is between "
+#~ "double\n"
+#~ "                       quotes. Allowed formats are :\n"
+#~ "                       \n"
+#~ "                         - csv : separate datas with commas\n"
+#~ "                         - ssv : separate datas with semicolons\n"
+#~ "                         - tsv : separate datas with tabs\n"
+#~ "                         - xml : dump data as XML\n"
+#~ "                         - cups : dump datas in CUPS' page_log format :\n"
+#~ "                                  ONLY AVAILABLE WITH --data history\n"
+#~ "                         \n"
+#~ "  -o | --output fname  All datas will be dumped to the file instead of\n"
+#~ "                       to the standard output. The special '-' filename\n"
+#~ "                       is the default value and means stdout.\n"
+#~ "                       WARNING : existing files are truncated !\n"
+#~ "\n"
+#~ "  -s | --sum           Summarize the selected datas.\n"
+#~ "                           ONLY AVAILABLE WITH --data history or "
+#~ "payments\n"
+#~ "\n"
+#~ "  Use the filter expressions to extract only parts of the \n"
+#~ "  datas. Allowed filters are of the form :\n"
+#~ "                \n"
+#~ "         key=value\n"
+#~ "                         \n"
+#~ "  Allowed keys for now are :  \n"
+#~ "                       \n"
+#~ "         username       User's name\n"
+#~ "         groupname      Users group's name\n"
+#~ "         printername    Printer's name\n"
+#~ "         pgroupname     Printers group's name\n"
+#~ "         hostname       Client's hostname\n"
+#~ "         billingcode    Job's billing code\n"
+#~ "         start          Job's date of printing\n"
+#~ "         end            Job's date of printing\n"
+#~ "         \n"
+#~ "  Contrary to other PyKota management tools, wildcard characters are "
+#~ "not \n"
+#~ "  expanded, so you can't use them.\n"
+#~ "  \n"
+#~ "  NB : not all keys are allowed for each data type, so the result may "
+#~ "be \n"
+#~ "  empty if you use a key not available for a particular data type.\n"
+#~ "  \n"
+#~ "Examples :\n"
+#~ "\n"
+#~ "  $ dumpykota --data history --format csv >myfile.csv\n"
+#~ "  \n"
+#~ "  This dumps the history in a comma separated values file, for possible\n"
+#~ "  use in a spreadsheet.\n"
+#~ "  \n"
+#~ "  $ dumpykota --data users --format xml -o users.xml\n"
+#~ "  \n"
+#~ "  Dumps all users datas to the users.xml file.\n"
+#~ "  \n"
+#~ "  $ dumpykota --data history printername=HP2100 username=jerome\n"
+#~ "  \n"
+#~ "  Dumps the job history for user jerome on printer HP2100 only.\n"
+#~ "  \n"
+#~ "  $ dumpykota --data history start=200503 end=20050730234615\n"
+#~ "  \n"
+#~ "  Dumps all jobs printed between March 1st 2005 at midnight and\n"
+#~ "  July 30th 2005 at 23 hours 46 minutes and 15 secondes included.\n"
+#~ msgstr ""
+#~ "dumpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+#~ "\n"
+#~ "Exporte le contenu de la base de donn� de PyKota.\n"
+#~ "\n"
+#~ "ligne de commande :\n"
+#~ "\n"
+#~ "  dumpykota [options] [exprfiltre]\n"
+#~ "\n"
+#~ "options :\n"
+#~ "\n"
+#~ "  -v | --version       Affiche la version de dumpykota et quitte.\n"
+#~ "  -h | --help          Affiche ce message et quitte.\n"
+#~ "  \n"
+#~ "  -d | --data type     Exporte les donn� de type 'type'.\n"
+#~ "                       Les types autoris�sont :\n"
+#~ "                       \n"
+#~ "                         - history : exporte l'historique des travaux.\n"
+#~ "                         - users : exporte les utilisateurs.\n"
+#~ "                         - groups : exporte les groupes d'utilisateurs.\n"
+#~ "                         - printers : exporte les imprimantes.\n"
+#~ "                         - upquotas : exporte les quotas des "
+#~ "utilisateurs.\n"
+#~ "                         - gpquotas : exporte les quotas des groupes.\n"
+#~ "                         - payments : exporte l'historique des "
+#~ "paiements.\n"
+#~ "                         - pmembers : exporte les membres des groupes\n"
+#~ "                                      d'imprimantes.\n"
+#~ "                         - umembers : exporte les membres des groupes\n"
+#~ "                                      d'utilisateurs.\n"
+#~ "                         - billingcodes : exporte les codes de "
+#~ "facturation.\n"
+#~ "                         \n"
+#~ "                       NB : l'option de ligne de commande -d | --data "
+#~ "est\n"
+#~ "                       OBLIGATOIRE.\n"
+#~ "  \n"
+#~ "  -f | --format fmt    Exporte les donn� dans le format 'fmt' "
+#~ "sp�fi�n"
+#~ "                       Si non pr�s�le format sera csv (champs "
+#~ "s�r�n"
+#~ "                       par des virgules).\n"
+#~ "                       Toutes les donn� sont export� entre double "
+#~ "quotes.\n"
+#~ "                       Les formats autoris�sont :\n"
+#~ "                       \n"
+#~ "                         - csv : donn� s�r� par des virgules\n"
+#~ "                         - ssv : donn� s�r� par des point-virgules\n"
+#~ "                         - tsv : donn� s�r�par des tabulations\n"
+#~ "                         - xml : donn� export� au format XML\n"
+#~ "                         - cups : donn� export� au format page_log\n"
+#~ "                                  de CUPS : DISPONIBLE SEULEMENT\n"
+#~ "                                            AVEC --data history\n"
+#~ "                         \n"
+#~ "  -o | --output nomf   Toutes les donn� seront export� vers un "
+#~ "fichier\n"
+#~ "                       plut�ue vers la sortie standard. Le nom sp�al "
+#~ "'-'\n"
+#~ "                       est la valeur par d�ut indiquant la sortie "
+#~ "standard.\n"
+#~ "                       ATTENTION : les fichiers existants sont "
+#~ "tronqu�!\n"
+#~ "\n"
+#~ "  -s | --sum           Effectue la somme des donn� s�ctionn�.\n"
+#~ "                         DISPONIBLE SEULEMENT AVEC --data history ou "
+#~ "payments\n"
+#~ "\n"
+#~ "  Utilisez les expressions de filtrage pour extraire seulement "
+#~ "certaines \n"
+#~ "  parties des donn�. Les filtres autoris�sont de la forme :\n"
+#~ "                \n"
+#~ "         cl�aleur\n"
+#~ "                         \n"
+#~ "  Les cl�autoris� pour l'instant sont : \n"
+#~ "                       \n"
+#~ "         username       Nom de l'utilisateur\n"
+#~ "         groupname      Nom du groupe d'utilisateurs\n"
+#~ "         printername    Nom de l'imprimante\n"
+#~ "         pgroupname     Nom du groupe d'imprimantes\n"
+#~ "         hostname       Nom d'h�de la machine cliente\n"
+#~ "         billingcode    Code de facturation du travail d'impression\n"
+#~ "         start          Date du travail d'impression\n"
+#~ "         end            Date du travail d'impression\n"
+#~ "         \n"
+#~ "  Contrairement aux autres outils d'administration de PyKota, les "
+#~ "caract�s\n"
+#~ "  jokers ne sont pas expans� aussi vous ne pouvez pas les utiliser.\n"
+#~ "  \n"
+#~ "  NB : toutes les cl�ne sont pas autoris� pour chaque type de "
+#~ "donn�, \n"
+#~ "  aussi le r�ltat peut �e vide si vous utilisez une cl�
+#~ "indisponible \n"
+#~ "  pour un type de donn� particulier.\n"
+#~ "  \n"
+#~ "Exemples :\n"
+#~ "\n"
+#~ "  $ dumpykota --data history --format csv >monfichier.csv\n"
+#~ "  \n"
+#~ "  Ceci va exporter l'historique dans un fichier �hamps s�r�par des\n"
+#~ "  virgules, par exemple pour r�portation dans un tableur.\n"
+#~ "  \n"
+#~ "  $ dumpykota --data users --format xml -o util.xml\n"
+#~ "  \n"
+#~ "  Exporte toutes les donn� des utilisateurs dans le fichier util.xml\n"
+#~ "  \n"
+#~ "  $ dumpykota --data history printername=HP2100 username=jerome\n"
+#~ "  \n"
+#~ "  Exporte l'historique des travaux de l'utilisateur jerome sur "
+#~ "l'imprimante\n"
+#~ "  HP2100 seulement.\n"
+#~ "  \n"
+#~ "  $ dumpykota --data history start=200503 end=20050730234615\n"
+#~ "  \n"
+#~ "  Exporte tous les travaux imprim�entre le 1er Mars 2005 �inuit et\n"
+#~ "  le 30 Juillet 2005 �3 heures 46 minutes et 15 secondes inclus.\n"
+
+#~ msgid ""
+#~ "edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+#~ "\n"
+#~ "A Print Quota editor for PyKota.\n"
+#~ "\n"
+#~ "command line usage :\n"
+#~ "\n"
+#~ "  edpykota [options] user1 user2 ... userN\n"
+#~ "  \n"
+#~ "  edpykota [options] group1 group2 ... groupN\n"
+#~ "\n"
+#~ "options :\n"
+#~ "\n"
+#~ "  -v | --version       Prints edpykota's version number then exits.\n"
+#~ "  -h | --help          Prints this message then exits.\n"
+#~ "  \n"
+#~ "  -a | --add           Adds users and/or printers if they don't \n"
+#~ "                       exist on the Quota Storage Server.\n"
+#~ "                       \n"
+#~ "  -d | --delete        Deletes users/groups from the quota storage.\n"
+#~ "                       Printers are never deleted.\n"
+#~ "                       \n"
+#~ "  -c | --charge p[,j]  Sets the price per page and per job to charge\n"
+#~ "                       for a particular printer. Job price is optional.\n"
+#~ "                       If both are to be set, separate them with a "
+#~ "comma.\n"
+#~ "                       Floating point values are allowed.\n"
+#~ "                       \n"
+#~ "  -o | --overcharge f  Sets the overcharging factor applied to the user \n"
+#~ "                       when computing the cost of a print job. Positive "
+#~ "or \n"
+#~ "                       negative floating point values are allowed,\n"
+#~ "                       this allows you to do some really creative\n"
+#~ "                       things like giving money to an user whenever\n"
+#~ "                       he prints. The number of pages in a print job\n"
+#~ "                       is not modified by this coefficient, only the\n"
+#~ "                       cost of the job for a particular user.\n"
+#~ "                       Only users have a coefficient.\n"
+#~ "  \n"
+#~ "  -i | --ingroups g1[,g2...]  Puts the users into each of the groups\n"
+#~ "                              listed, separated by commas. The groups\n"
+#~ "                              must already exist in the Quota Storage.\n"
+#~ "  \n"
+#~ "  -u | --users         Edit users print quotas, this is the default.\n"
+#~ "  \n"
+#~ "  -P | --printer p     Edit quotas on printer p only. Actually p can\n"
+#~ "                       use wildcards characters to select only\n"
+#~ "                       some printers. The default value is *, meaning\n"
+#~ "                       all printers. \n"
+#~ "                       You can specify several names or wildcards, \n"
+#~ "                       by separating them with commas.\n"
+#~ "  \n"
+#~ "  -G | --pgroups pg1[,pg2...] Adds the printer(s) to the printer groups\n"
+#~ "                       pg1, pg2, etc... which must already exist.\n"
+#~ "                       A printer group is just like a normal printer,\n"
+#~ "                       only that it is usually unknown from the printing\n"
+#~ "                       system. Create printer groups exactly the same\n"
+#~ "                       way that you create printers, then add other \n"
+#~ "                       printers to them with this option.\n"
+#~ "                       Accounting is done on a printer and on all\n"
+#~ "                       the printer groups it belongs to, quota checking\n"
+#~ "                       is done on a printer and on all the printer "
+#~ "groups\n"
+#~ "                       it belongs to.\n"
+#~ "  \n"
+#~ "  -g | --groups        Edit users groups print quotas instead of users.\n"
+#~ "                          \n"
+#~ "  -p | --prototype u|g Uses user u or group g as a prototype to set\n"
+#~ "                       print quotas\n"
+#~ "                       \n"
+#~ "  -n | --noquota       Sets both soft and hard limits to None for a\n"
+#~ "                       particular print quota entry.\n"
+#~ "                       This is NOT the same as --limitby noquota\n"
+#~ "                       which acts on ALL print quota entries for a\n"
+#~ "                       particular user.\n"
+#~ "  \n"
+#~ "  -r | --reset         Resets the actual page counter for the user\n"
+#~ "                       or group to zero on the specified printers. \n"
+#~ "                       The life time page counter is kept unchanged.\n"
+#~ "                       \n"
+#~ "  -R | --hardreset     Resets the actual and life time page counters\n"
+#~ "                       for the user or group to zero on the specified \n"
+#~ "                       printers. This is a shortcut for '--used 0'.\n"
+#~ "                       \n"
+#~ "  -l | --limitby l     Choose if the user/group is limited in "
+#~ "printing                     \n"
+#~ "                       by its account balance or by its page quota.\n"
+#~ "                       The default value is 'quota'. Allowed values\n"
+#~ "                       are 'quota' 'balance' 'noquota' 'noprint' \n"
+#~ "                       and 'nochange' :\n"
+#~ "                       \n"
+#~ "                         - quota : limit by number of pages per printer.\n"
+#~ "                         - balance : limit by number of credits in "
+#~ "account.\n"
+#~ "                         - noquota : no limit, accounting still done.\n"
+#~ "                         - nochange : no limit, accounting not done. \n"
+#~ "                         - noprint : printing is denied. \n"
+#~ "                       NB : nochange and noprint are not supported for "
+#~ "groups.\n"
+#~ "                       \n"
+#~ "  -b | --balance b     Sets the user's account balance to "
+#~ "b.                     \n"
+#~ "                       Account balance may be increase or decreased\n"
+#~ "                       if b is prefixed with + or -.\n"
+#~ "                       WARNING : when decreasing account balance,\n"
+#~ "                       the total paid so far by the user is decreased\n"
+#~ "                       too.\n"
+#~ "                       Groups don't have a real balance, but the\n"
+#~ "                       sum of their users' account balance.\n"
+#~ "                       \n"
+#~ "  -C | --comment txt   Defines some informational text to be associated\n"
+#~ "                       with a change to an user's account balance.\n"
+#~ "                       Only meaningful if -b | --balance is also used.\n"
+#~ "                       \n"
+#~ "  -S | --softlimit sl  Sets the quota soft limit to sl "
+#~ "pages.                       \n"
+#~ "  \n"
+#~ "  -H | --hardlimit hl  Sets the quota hard limit to hl pages.\n"
+#~ "  \n"
+#~ "  -I | --increase v    Increase both Soft and Hard limits by the value\n"
+#~ "                       of v. You can prefix v with + or -, if no sign is\n"
+#~ "                       used, + is assumed.\n"
+#~ "\n"
+#~ "  -U | --used usage    Sets the pagecounters for the user to usage "
+#~ "pages;\n"
+#~ "                       useful for migrating users from a different "
+#~ "system\n"
+#~ "                       where they have already used some pages. Actual\n"
+#~ "                       and Life Time page counters may be increased or "
+#~ "decreased\n"
+#~ "                       if usage is prefixed with + or -.\n"
+#~ "                       WARNING : BOTH page counters are modified in all "
+#~ "cases,\n"
+#~ "                       so be careful.\n"
+#~ "                       NB : if 'usage' equals '0', then the action taken "
+#~ "is\n"
+#~ "                       the same as if --hardreset was used.\n"
+#~ "\n"
+#~ "  user1 through userN and group1 through groupN can use wildcards\n"
+#~ "  if the --add option is not set.\n"
+#~ "  \n"
+#~ "examples :                              \n"
+#~ "\n"
+#~ "  $ edpykota --add -p jerome john paul george ringo/ringo@example.com\n"
+#~ "  \n"
+#~ "  This will add users john, paul, george and ringo to the quota\n"
+#~ "  database, and set their print quotas to the same values than user \n"
+#~ "  jerome. User jerome must already exist.\n"
+#~ "  User ringo's email address will also be set to 'ringo@example.com'\n"
+#~ "  \n"
+#~ "  $ edpykota --printer lp -S 50 -H 60 jerome\n"
+#~ "  \n"
+#~ "  This will set jerome's print quota on the lp printer to a soft limit\n"
+#~ "  of 50 pages, and a hard limit of 60 pages. If either user jerome or\n"
+#~ "  printer lp doesn't exist on the Quota Storage Server then nothing is "
+#~ "done.\n"
+#~ "\n"
+#~ "  $ edpykota --add --printer lp --ingroups coders,it -S 50 -H 60 jerome\n"
+#~ "  \n"
+#~ "  Same as above, but if either user jerome or printer lp doesn't exist \n"
+#~ "  on the Quota Storage Server they are automatically added. Also\n"
+#~ "  user jerome is put into the groups \"coders\" and \"it\" which must\n"
+#~ "  already exist in the Quota Storage.\n"
+#~ "            \n"
+#~ "  $ edpykota -g -S 500 -H 550 financial support            \n"
+#~ "  \n"
+#~ "  This will set print quota soft limit to 500 pages and hard limit\n"
+#~ "  to 550 pages for groups financial and support on all printers.\n"
+#~ "  \n"
+#~ "  $ edpykota --reset jerome \"jo*\"\n"
+#~ "  \n"
+#~ "  This will reset jerome's page counter to zero on all printers, as\n"
+#~ "  well as every user whose name begins with 'jo'.\n"
+#~ "  Their life time page counter on each printer will be kept unchanged.\n"
+#~ "  You can also reset the life time page counters by using the\n"
+#~ "  --hardreset | -R command line option.\n"
+#~ "  \n"
+#~ "  $ edpykota --printer hpcolor --noquota jerome\n"
+#~ "  \n"
+#~ "  This will tell PyKota to not limit jerome when printing on the \n"
+#~ "  hpcolor printer. All his jobs will be allowed on this printer, but \n"
+#~ "  accounting of the pages he prints will still be kept.\n"
+#~ "  Print Quotas for jerome on other printers are unchanged.\n"
+#~ "  \n"
+#~ "  $ edpykota --limitby balance jerome\n"
+#~ "  \n"
+#~ "  This will tell PyKota to limit jerome by his account's balance\n"
+#~ "  when printing.\n"
+#~ "  \n"
+#~ "  $ edpykota --balance +10.0 jerome\n"
+#~ "  \n"
+#~ "  This will increase jerome's account balance by 10.0 (in your\n"
+#~ "  own currency). You can decrease the account balance with a\n"
+#~ "  dash prefix, and set it to a fixed amount with no prefix.\n"
+#~ "  \n"
+#~ "  $ edpykota --delete jerome rachel\n"
+#~ "  \n"
+#~ "  This will completely delete jerome and rachel from the Quota Storage\n"
+#~ "  database. All their quotas and jobs will be deleted too.\n"
+#~ "  \n"
+#~ "  $ edpykota --printer lp --charge 0.1\n"
+#~ "  \n"
+#~ "  This will set the page price for printer lp to 0.1. Job price\n"
+#~ "  will not be changed.\n"
+#~ "  \n"
+#~ "  $ edpykota --printer hplj1,hplj2 --pgroups Laser,HP\n"
+#~ "  \n"
+#~ "  This will put printers hplj1 and hplj2 in printers groups Laser and "
+#~ "HP.\n"
+#~ "  When printing either on hplj1 or hplj2, print quota will also be \n"
+#~ "  checked and accounted for on virtual printers Laser and HP.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge 2.5 poorstudent\n"
+#~ "  \n"
+#~ "  This will overcharge the poorstudent user by a factor of 2.5.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge -1 jerome\n"
+#~ "  \n"
+#~ "  User jerome will actually earn money whenever he prints.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge 0 boss\n"
+#~ "  \n"
+#~ "  User boss can print at will, it won't cost him anything because the\n"
+#~ "  cost of each print job will be multiplied by zero before charging\n"
+#~ "  his account.\n"
+#~ msgstr ""
+#~ "edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+#~ "\n"
+#~ "Un �teur de quotas pour PyKota.\n"
+#~ "\n"
+#~ "ligne de commande :\n"
+#~ "\n"
+#~ "  edpykota [options] utilisateur1 utilisateur2 ... utilisateurN\n"
+#~ "  \n"
+#~ "  edpykota [options] groupe1 groupe2 ... groupeN\n"
+#~ "\n"
+#~ "options :\n"
+#~ "\n"
+#~ "  -v | --version       Affiche la version d'edpykota et quitte.\n"
+#~ "  -h | --help          Affiche ce message et quitte.\n"
+#~ "  \n"
+#~ "  -a | --add           Ajoute des utilisateurs et/ou des imprimantes\n"
+#~ "                       s'ils n'existent pas d� dans la base de "
+#~ "donn�.\n"
+#~ "                       \n"
+#~ "  -d | --delete        Efface des utilisateurs ou des groupes depuis\n"
+#~ "                       la base de donn�.                       Les "
+#~ "imprimantes ne sont jamais effac�.\n"
+#~ "                       \n"
+#~ "  -c | --charge p[,j]  Positionne le co�r page et par travail\n"
+#~ "                       sur l'imprimante. Le prix par travail est "
+#~ "optionel.\n"
+#~ "                       Si les deux sont positionn� il faut les s�rer\n"
+#~ "                       par une virgule. Les nombres r�s sont "
+#~ "autoris�\n"
+#~ "                       \n"
+#~ "  -o | --overcharge f  Positionne le facteur de surtaxe qui sera appliqu�
+#~ "�"
+#~ "                       l'utilisateur lors du calcul du co�un travail\n"
+#~ "                       d'impression. Les valeurs r�les positives ou\n"
+#~ "                       n�tives sont autoris�, ce qui permet de faire\n"
+#~ "                       des choses tr�cr�ives comme donner de "
+#~ "l'argent\n"
+#~ "                       �n utilisateur chaque fois qu'il imprime.\n"
+#~ "                       Le nombre de pages d'un travail d'impression "
+#~ "n'est\n"
+#~ "                       pas modifi�ar ce coefficient, seulement le co�#~ "du\n"
+#~ "                       travail pour un utilisateur particulier.\n"
+#~ "                       Seuls les utilisateurs ont un tel coefficient.\n"
+#~ "  \n"
+#~ "  -i | --ingroups g1[,g2...] Place les utilisateurs dans chacun des "
+#~ "groupes\n"
+#~ "                             list� separ�par des virgules. Les "
+#~ "groupes\n"
+#~ "                             doivent d� exister dans la base de "
+#~ "donn�.\n"
+#~ "  \n"
+#~ "  -u | --users         Modifie les quotas utilisateur, c'est la valeur\n"
+#~ "                       par d�ut.\n"
+#~ "  \n"
+#~ "  -P | --printer p     Modifie les quotas sur l'imprimante p seulement.\n"
+#~ "                       En fait p peut contenir des caract�s jokers\n"
+#~ "                       pour s�ctionner seulement certaines "
+#~ "imprimantes.\n"
+#~ "                       La valeur par d�ut est *, qui signifie toutes "
+#~ "les\n"
+#~ "                       imprimantes. \n"
+#~ "                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
+#~ "                       en les s�rant avec des virgules.\n"
+#~ "  \n"
+#~ "  -G | --pgroups pg1[,pg2...] Ajoute l'imprimante aux groupes "
+#~ "d'imprimantes\n"
+#~ "                       pg1, pg2, etc... qui doivent d� exister.\n"
+#~ "                       Un groupe d'imprimantes est comme une imprimante\n"
+#~ "                       normale, sauf que celle-ci est inconnue du "
+#~ "syst�\n"
+#~ "                       d'impression. On cr�des groupes d'imprimantes de "
+#~ "la\n"
+#~ "                       m� mani� que des imprimantes normales, et "
+#~ "ensuite\n"
+#~ "                       on y ajoute d'autres imprimantes avec cette "
+#~ "option.\n"
+#~ "                       Le d�mpte est fait sur une imprimante et sur "
+#~ "tous\n"
+#~ "                       les groupes d'imprimantes auxquels elle "
+#~ "appartient,\n"
+#~ "                       la v�fication de quota est faite sur une "
+#~ "imprimante\n"
+#~ "                       et sur tous les groupes d'imprimantes auxquels "
+#~ "elle\n"
+#~ "                       appartient.\n"
+#~ "  \n"
+#~ "  -g | --groups        Modifie les quotas de groupes plut�ue ceux des\n"
+#~ "                       utilisateurs.\n"
+#~ "                       \n"
+#~ "  -p | --prototype u|g Prend l'utilisateur u ou le groupe g comme mod�\n"
+#~ "                       pour positionner le quota d'impression.\n"
+#~ "                       \n"
+#~ "  -n | --noquota       Fixe les limites souples et dures �one pour une\n"
+#~ "                       entr�de quota d'impression particuli�.\n"
+#~ "                       NE FAIT PAS la m� chose que --limitby noquota "
+#~ "qui\n"
+#~ "                       agit sur toutes les entr� de quotas "
+#~ "d'impression\n"
+#~ "                       d'un utilisateur donn�n"
+#~ "  \n"
+#~ "  -r | --reset         Remet �� le compteur de pages courant pour\n"
+#~ "                       l'utilisateur ou le groupe sur les imprimantes\n"
+#~ "                       sp�fi�.\n"
+#~ "                       Le compteur de pages '�rnel' est inchang�n"
+#~ "                       \n"
+#~ "  -R | --hardreset     Remet �� les compteurs de pages courant et\n"
+#~ "                       '�rnel' pour l'utilisateur ou le groupe sur les\n"
+#~ "                       imprimantes sp�fi�. Ceci est un raccourci\n"
+#~ "                       pour '--used 0'.\n"
+#~ "                       \n"
+#~ "  -l | --limitby l     D�nit le facteur de limitation pour "
+#~ "l'utilisateur\n"
+#~ "                       ou le groupe : soit par le solde du compte "
+#~ "(balance),\n"
+#~ "                       soit par le quota par pages.\n"
+#~ "                       La valeur par d�ut est 'quota'. Les valeurs\n"
+#~ "                       autoris� sont 'quota' 'balance' 'noquota' "
+#~ "'noprint'\n"
+#~ "                       et 'nochange' :\n"
+#~ "                       \n"
+#~ "                         - quota : limite par le nombre de pages sur "
+#~ "chaque\n"
+#~ "                                   imprimante.\n"
+#~ "                         - balance : limite par le nombre de cr�ts.\n"
+#~ "                         - noquota : aucune limite, d�mpte effectu�n"
+#~ "                         - nochange : aucune limite, d�mpte non "
+#~ "effectu�n"
+#~ "                         - noprint : imprimer est interdit.\n"
+#~ "                       NB : nochange et noprint ne sont pas support�"
+#~ "pour\n"
+#~ "                            les groupes.\n"
+#~ "                       \n"
+#~ "  -b | --balance b     Fixe le solde de l'utiliateur �a valeur b.\n"
+#~ "                       Le solde peut aussi �e incr�nt�u d��nt�"
+#~ "                       si b est pr�d�'un signe + ou -.\n"
+#~ "                       ATTENTION : si on d��nte le solde, le total\n"
+#~ "                       r��ar l'utilisateur est d��nt�ussi.\n"
+#~ "                       Les groupes n'ont pas de solde, leur solde est la\n"
+#~ "                       somme des soldes des utilisateurs membres.\n"
+#~ "                       \n"
+#~ "  -S | --softlimit sl  Fixe la limite souple �l pages.\n"
+#~ "  \n"
+#~ "  -H | --hardlimit hl  Fixe la limite dure �l pages.\n"
+#~ "\n"
+#~ "  -I | --increase v    Incr�nte �a fois les limites souple et dure de "
+#~ "la\n"
+#~ "                       valeur de v. Vous pouvez pr�xer v avec + ou -, "
+#~ "si\n"
+#~ "                       aucun signe n'est pr�nt, + est utilis�n"
+#~ "\n"
+#~ "  -U | --used usage    Positionne les compteurs de pages de l'utilisateur "
+#~ "�"
+#~ "                       la valeur usage; utile pour migrer des "
+#~ "utilisateurs\n"
+#~ "                       depuis un logiciel diff�nt dans lequel ils ont "
+#~ "d�\n"
+#~ "                       imprim�uelques pages. Les compteurs de pages "
+#~ "actuels\n"
+#~ "                       et globaux peuvent �e incr�nt�ou d��nt�"
+#~ "si\n"
+#~ "                       usage est pr�x�'un signe + ou -.\n"
+#~ "                       ATTENTION : LES DEUX compteurs de pages sont "
+#~ "modifi�n"
+#~ "                       dans tous les cas, donc soyez prudents.\n"
+#~ "                       NB : si 'usage' vaut '0', alors l'action "
+#~ "effectu�n"
+#~ "                       est identique �elle effectu�avec --hardreset.\n"
+#~ "  \n"
+#~ "  les noms d'utilisateurs ou de groupes peuvent contenir des caract�s\n"
+#~ "  joker si l'option --add n'est pas utilis�\n"
+#~ "  \n"
+#~ "exemples :                              \n"
+#~ "\n"
+#~ "  $ edpykota --add -p jerome john paul george ringo/ringo@example.com\n"
+#~ "  \n"
+#~ "  Ceci va ajouter les utilisateurs john, paul, george and ringo �a "
+#~ "base\n"
+#~ "  de donn�, et fixer leur quota par pages �a m� valeur que\n"
+#~ "  l'utilisateur jerome. L'utilisateur jerome doit exister.\n"
+#~ "  L'adresse email de ringo sera fix��ringo@example.com'\n"
+#~ "  \n"
+#~ "  $ edpykota --printer lp -S 50 -H 60 jerome\n"
+#~ "  \n"
+#~ "  Ceci va fixer une limite souple de 50 pages et une limite dure de 60 "
+#~ "pages\n"
+#~ "  pour l'utilisteur jerome sur l'imprimante lp.\n"
+#~ "  Si l'utilisateur jerome ou l'imprimante lp n'existent pas dans la base "
+#~ "de\n"
+#~ "  donn�alors aucune modification n'est effectu�\n"
+#~ "\n"
+#~ "  $ edpykota --add --printer lp --ingroups coders,it -S 50 -H 60 jerome\n"
+#~ "  \n"
+#~ "  Comme ci-dessus, mais l'utilisateur jerome et l'imprimante lp sont "
+#~ "ajout�n"
+#~ "  automatiquement s'ils n'existaient pas. L'utilisateur jerome est aussi\n"
+#~ "  ajout�aux groupes \"coders\" et \"it\" quoi doivent d� exister "
+#~ "dans\n"
+#~ "  la base de donn�.\n"
+#~ "            \n"
+#~ "  $ edpykota -g -S 500 -H 550 financial support            \n"
+#~ "  \n"
+#~ "  Ceci va fixer une limite souple de 500 pages et une limite dure de 550\n"
+#~ "  pages pour les groupes financial et support sur toutes les "
+#~ "imprimantes.\n"
+#~ "  \n"
+#~ "  $ edpykota --reset jerome \"jo*\"\n"
+#~ "  \n"
+#~ "  Ceci va remettre �� le compteur de pages courant de jerome sur "
+#~ "toutes\n"
+#~ "  les imprimantes, ainsi que pour chaque utilisateur dont le nom "
+#~ "commence\n"
+#~ "  par 'jo'.\n"
+#~ "  Leurs compteurs '�rnels' ne seront pas modifi�\n"
+#~ "  Vous pouvez �lement remettre �� les compteurs '�rnels' gr� �"
+#~ "  l'option --hardreset | -R de la ligne de commande.\n"
+#~ "  \n"
+#~ "  $ edpykota --printer hpcolor --noquota jerome\n"
+#~ "  \n"
+#~ "  Ceci indique �yKota de ne pas limiter jerome lorsqu'il va imprimer\n"
+#~ "  sur l'imprimante hpcolor. Tous ses travaux seront autoris�sur cette\n"
+#~ "  imprimantes, mais la comptabilit�e ses impressions sera quand m�\n"
+#~ "  tenue. Les quotas des autres utilisateurs sont inchang�\n"
+#~ "  \n"
+#~ "  $ edpykota --limitby balance jerome\n"
+#~ "  \n"
+#~ "  Ceci indique �yKota de limiter jerome par le solde de son compte\n"
+#~ "  lorsqu'il imprime.\n"
+#~ "  \n"
+#~ "  $ edpykota --balance +10.0 jerome\n"
+#~ "  \n"
+#~ "  Ceci va incr�nter le solde de jerome de 10.0 unit�(dans votre\n"
+#~ "  propre monnaie). Vous pouvez d��nter ce solde en utilisant le "
+#~ "signe\n"
+#~ "  n�tif, et positionner la valeur en n'utilisant aucun signe.\n"
+#~ "  \n"
+#~ "  $ edpykota --delete jerome rachel\n"
+#~ "  \n"
+#~ "  Ceci va compl�ment effacer les utilisateurs jerome et rachel de la "
+#~ "base\n"
+#~ "  de donn�. Tous leurs quotas et leurs historiques seront aussi "
+#~ "effac�\n"
+#~ "  \n"
+#~ "  $ edpykota --printer lp --charge 0.1\n"
+#~ "  \n"
+#~ "  Ceci va fixer le co�r page �.1 unit�ur l'imprimante lp. Le "
+#~ "co�
+#~ "  d'un travail ne sera pas modifi�n"
+#~ "  \n"
+#~ "  $ edpykota --printer hplj1,hplj2 --pgroups Laser,HP\n"
+#~ "  \n"
+#~ "  Ceci va ajouter les imprimantes hplj1 et hplj2 dans les groupes\n"
+#~ "  d'imprimantes Laser et HP.\n"
+#~ "  En imprimant sur hplj1 ou hplj2, les quotas seront �lement v�fi�n"
+#~ "  et comptabilis�sur les imprimantes virtuelles Laser et HP.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge 2.5 pauvreetudiant\n"
+#~ "  \n"
+#~ "  Ceci va surtaxer l'utilisateur pauvreetudiant par un facteur de 2.5.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge -1 jerome\n"
+#~ "  \n"
+#~ "  L'utilisateur jerome va gagner de l'argent �haque fois qu'il "
+#~ "imprimera.\n"
+#~ "  \n"
+#~ "  $ edpykota --overcharge 0 patron\n"
+#~ "  \n"
+#~ "  L'utilisateur patron peut imprimer �olont�cela ne lui co� rien\n"
+#~ "  car le co� chaque travail d'impression sera multipli�ar z� "
+#~ "avant\n"
+#~ "  de d�ter son compte.\n"
