Index: pykota/trunk/po/pykota.pot
===================================================================
--- pykota/trunk/po/pykota.pot (revision 2028)
+++ pykota/trunk/po/pykota.pot (revision 2059)
@@ -26,8 +26,8 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: PyKota v1.20\n"
+"Project-Id-Version: PyKota v1.21\n"
 "Report-Msgid-Bugs-To: alet@librelogiciel.com\n"
 "POT-Creation-Date: 2004-11-25 10:16+0100\n"
-"PO-Revision-Date: 2004-07-21 15:35:00+0100\n"
+"PO-Revision-Date: 2005-02-14 22:55:00+0100\n"
 "Last-Translator: Jerome Alet <alet@librelogiciel.com>\n"
 "Language-Team: English <alet@librelogiciel.com>\n"
@@ -38,5 +38,803 @@
 #, python-format
 msgid ""
-"pkbanner v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\n"
+"autopykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\n"
+"A tool to automate user account creation and initial balance setting.\n"
+"\n"
+"THIS TOOL MUST NOT BE USED IF YOU WANT TO LIMIT YOUR USERS BY PAGE QUOTA !\n"
+"\n"
+"command line usage :\n"
+"\n"
+"  THIS TOOL MUST NOT BE USED FROM THE COMMAND LINE BUT ONLY AS PART\n"
+"  OF AN external policy IN pykota.conf\n"
+"  \n"
+"  autopykota { -i | --initbalance value } \n"
+"\n"
+"options :\n"
+"\n"
+"  -v | --version       Prints autopykota's version number then exits.\n"
+"  -h | --help          Prints this message then exits.\n"
+"  \n"
+"  -i | --initbalance b Sets the user's account initial balance value to b.\n"
+"                       If the user already exists, actual balance is left\n"
+"                       unmodified. If unset, the default value is 0.\n"
+"                       \n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+msgid "Job contains no data. Printing is denied."
+msgstr ""
+
+msgid "Banner won't be printed : maximum number of deny banners reached."
+msgstr ""
+
+msgid "Job accounting begins."
+msgstr ""
+
+msgid "Job accounting ends."
+msgstr ""
+
+msgid "Job size forced to 0 because printing is denied."
+msgstr ""
+
+#, python-format
+msgid "Beware : computed job size (%s) != precomputed job size (%s)"
+msgstr ""
+
+#, python-format
+msgid "Job size : %i"
+msgstr ""
+
+#, python-format
+msgid "Updating user %s's quota on printer %s"
+msgstr ""
+
+msgid "Job added to history."
+msgstr ""
+
+#, python-format
+msgid "File number %s unregistered twice from polling object, ignored."
+msgstr ""
+
+#, python-format
+msgid "SIGTERM was sent to real backend %s (pid: %s)"
+msgstr ""
+
+#, python-format
+msgid "CUPS backend %s died abnormally."
+msgstr ""
+
+#, python-format
+msgid ""
+"dumpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\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"
+"                         \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"
+"  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"
+"         \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"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+msgid "The -d | --data command line option is mandatory, see help."
+msgstr ""
+
+#, python-format
+msgid ""
+"edpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\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       Doesn't set a quota but only does accounting.\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' 'quota-then-balance' and\n"
+"                       'balance-then-quota'.\n"
+"                       WARNING : quota-then-balance and balance-then-quota\n"
+"                       are not yet implemented.\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"
+"  -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"
+"  -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"
+"\n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+msgid "You're not allowed to use this command."
+msgstr ""
+
+#, python-format
+msgid "Invalid used value %s."
+msgstr ""
+
+#, python-format
+msgid "Invalid softlimit value %s."
+msgstr ""
+
+#, python-format
+msgid "Invalid hardlimit value %s."
+msgstr ""
+
+#, python-format
+msgid "Hard limit %i is less than soft limit %i, values will be exchanged."
+msgstr ""
+
+#, python-format
+msgid "Invalid overcharge value %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid balance value %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid charge amount value %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid limitby value %s"
+msgstr ""
+
+#, python-format
+msgid "Impossible to add printer %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid printer name %s"
+msgstr ""
+
+#, python-format
+msgid "There's no printer matching %s"
+msgstr ""
+
+msgid "You have to pass user or group names on the command line"
+msgstr ""
+
+#, python-format
+msgid "Prototype %s not found in Quota Storage for printer %s."
+msgstr ""
+
+#, python-format
+msgid "Prototype object %s not found in Quota Storage."
+msgstr ""
+
+#, python-format
+msgid "Undefined hard limit set to soft limit (%s) on printer %s."
+msgstr ""
+
+#, python-format
+msgid "Undefined soft limit set to hard limit (%s) on printer %s."
+msgstr ""
+
+#, python-format
+msgid "Invalid email address %s"
+msgstr ""
+
+#, python-format
+msgid "Unknown group %s"
+msgstr ""
+
+#, python-format
+msgid "Unknown user %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid group name %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid user name %s"
+msgstr ""
+
+#, python-format
+msgid "Quota not found for object %s on printer %s."
+msgstr ""
+
+#, python-format
+msgid "Group %s not found in the PyKota Storage."
+msgstr ""
+
+msgid "incompatible options, see help."
+msgstr ""
+
+msgid "Software accounting already done in first pass. Ignoring."
+msgstr ""
+
+msgid "Hardware accounting already done in first pass. Ignoring."
+msgstr ""
+
+msgid "Job size and price now set in history."
+msgstr ""
+
+#, python-format
+msgid ""
+"repykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\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"
+"  -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"
+"\n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+#, python-format
+msgid ""
+"warnpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\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"
+"\n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+#, python-format
+msgid ""
+"pykosd v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
+"  \n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid duration option %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid loop option %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid sleep option %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid color option %s"
+msgstr ""
+
+#, python-format
+msgid "User %s doesn't exist in PyKota's database"
+msgstr ""
+
+#, python-format
+msgid "Pages used on %s : %s"
+msgstr ""
+
+#, python-format
+msgid "PyKota Units left : %.2f"
+msgstr ""
+
+#, python-format
+msgid ""
+"pykotme v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
+"\n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
+"\n"
+"Please e-mail bugs to: %s"
+msgstr ""
+
+#, python-format
+msgid "Your account balance : %.2f"
+msgstr ""
+
+#, python-format
+msgid "Job size : %i pages"
+msgstr ""
+
+#, python-format
+msgid "Cost on printer %s : %.2f"
+msgstr ""
+
+#, python-format
+msgid ""
+"pkbanner v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\n"
 "\n"
 "Generates banners.\n"
@@ -287,5 +1085,6 @@
 #, python-format
 msgid ""
-"pkprinters v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\n"
+"pkprinters v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels "
+"Libres\n"
 "A Printers Manager for PyKota.\n"
 "\n"
@@ -386,15 +1185,4 @@
 msgstr ""
 
-msgid "You're not allowed to use this command."
-msgstr ""
-
-#, python-format
-msgid "There's no printer matching %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid charge amount value %s"
-msgstr ""
-
 #, python-format
 msgid "Printer %s already exists, skipping."
@@ -405,18 +1193,7 @@
 msgstr ""
 
-#, python-format
-msgid "Impossible to add printer %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid printer name %s"
-msgstr ""
-
 msgid "in"
 msgstr ""
 
-msgid "incompatible options, see help."
-msgstr ""
-
 msgid "You have to pass printer groups names on the command line"
 msgstr ""
@@ -426,716 +1203,4 @@
 
 #, python-format
-msgid ""
-"pykosd v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
-"  \n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid duration option %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid loop option %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid sleep option %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid color option %s"
-msgstr ""
-
-#, python-format
-msgid "User %s doesn't exist in PyKota's database"
-msgstr ""
-
-#, python-format
-msgid "Pages used on %s : %s"
-msgstr ""
-
-#, python-format
-msgid "PyKota Units left : %.2f"
-msgstr ""
-
-#, python-format
-msgid ""
-"pykotme v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
-"\n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
-msgid "Your account balance : %.2f"
-msgstr ""
-
-#, python-format
-msgid "Job size : %i pages"
-msgstr ""
-
-#, python-format
-msgid "Cost on printer %s : %.2f"
-msgstr ""
-
-#, python-format
-msgid ""
-"autopykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\n"
-"A tool to automate user account creation and initial balance setting.\n"
-"\n"
-"THIS TOOL MUST NOT BE USED IF YOU WANT TO LIMIT YOUR USERS BY PAGE QUOTA !\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  THIS TOOL MUST NOT BE USED FROM THE COMMAND LINE BUT ONLY AS PART\n"
-"  OF AN external policy IN pykota.conf\n"
-"  \n"
-"  autopykota { -i | --initbalance value } \n"
-"\n"
-"options :\n"
-"\n"
-"  -v | --version       Prints autopykota's version number then exits.\n"
-"  -h | --help          Prints this message then exits.\n"
-"  \n"
-"  -i | --initbalance b Sets the user's account initial balance value to b.\n"
-"                       If the user already exists, actual balance is left\n"
-"                       unmodified. If unset, the default value is 0.\n"
-"                       \n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-msgid "Job contains no data. Printing is denied."
-msgstr ""
-
-msgid "Job accounting begins."
-msgstr ""
-
-msgid "Job accounting ends."
-msgstr ""
-
-msgid "Job size forced to 0 because printing is denied."
-msgstr ""
-
-#, python-format
-msgid "Job size : %i"
-msgstr ""
-
-#, python-format
-msgid "Updating user %s's quota on printer %s"
-msgstr ""
-
-msgid "Job added to history."
-msgstr ""
-
-#, python-format
-msgid "File number %s unregistered twice from polling object, ignored."
-msgstr ""
-
-#, python-format
-msgid "SIGTERM was sent to real backend %s (pid: %s)"
-msgstr ""
-
-#, python-format
-msgid "CUPS backend %s died abnormally."
-msgstr ""
-
-#, python-format
-msgid ""
-"dumpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\n"
-"\n"
-"Dumps PyKota database's content.\n"
-"\n"
-"command line usage :\n"
-"\n"
-"  dumpykota [options] \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"
-"                         \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"
-"                         \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"
-"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"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid modifier [%s] for --data command line option, see help."
-msgstr ""
-
-#, python-format
-msgid "Invalid modifier [%s] for --format command line option, see help."
-msgstr ""
-
-msgid "XML output is disabled because the jaxml module is not available."
-msgstr ""
-
-msgid "PyKota data dumper failed : I/O error"
-msgstr ""
-
-msgid "The -d | --data command line option is mandatory, see help."
-msgstr ""
-
-msgid "Too many arguments, see help."
-msgstr ""
-
-#, python-format
-msgid ""
-"edpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
-"  -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       Doesn't set a quota but only does accounting.\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. \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' 'quota-then-balance' and\n"
-"                       'balance-then-quota'.\n"
-"                       WARNING : quota-then-balance and balance-then-quota\n"
-"                       are not yet implemented.\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"
-"  -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"
-"  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"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid softlimit value %s."
-msgstr ""
-
-#, python-format
-msgid "Invalid hardlimit value %s."
-msgstr ""
-
-#, python-format
-msgid "Hard limit %i is less than soft limit %i, values will be exchanged."
-msgstr ""
-
-#, python-format
-msgid "Invalid balance value %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid limitby value %s"
-msgstr ""
-
-msgid "You have to pass user or group names on the command line"
-msgstr ""
-
-#, python-format
-msgid "Prototype %s not found in Quota Storage for printer %s."
-msgstr ""
-
-#, python-format
-msgid "Prototype object %s not found in Quota Storage."
-msgstr ""
-
-#, python-format
-msgid "Undefined hard limit set to soft limit (%s) on printer %s."
-msgstr ""
-
-#, python-format
-msgid "Undefined soft limit set to hard limit (%s) on printer %s."
-msgstr ""
-
-#, python-format
-msgid "Invalid email address %s"
-msgstr ""
-
-#, python-format
-msgid "Unknown group %s"
-msgstr ""
-
-#, python-format
-msgid "Unknown user %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid group name %s"
-msgstr ""
-
-#, python-format
-msgid "Invalid user name %s"
-msgstr ""
-
-#, python-format
-msgid "Quota not found for object %s on printer %s."
-msgstr ""
-
-#, python-format
-msgid "Group %s not found in the PyKota Storage."
-msgstr ""
-
-msgid "Software accounting already done in first pass. Ignoring."
-msgstr ""
-
-msgid "Hardware accounting already done in first pass. Ignoring."
-msgstr ""
-
-msgid "Job size and price now set in history."
-msgstr ""
-
-#, python-format
-msgid ""
-"repykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
-"  -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"
-"\n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
-msgid ""
-"warnpykota v%s (c) 2003, 2004, 2005 C@LL - Conseil Internet & Logiciels Libres\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"
-"\n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\n"
-"\n"
-"Please e-mail bugs to: %s"
-msgstr ""
-
-#, python-format
 msgid "Unsupported accounter backend %s"
 msgstr ""
@@ -1154,4 +1219,8 @@
 
 #, python-format
+msgid "Option ldaptls is set, but certificate %s is not readable."
+msgstr ""
+
+#, python-format
 msgid "Option logger only supports values in %s"
 msgstr ""
@@ -1187,4 +1256,8 @@
 #, python-format
 msgid "Option mailto in section %s only supports values in %s"
+msgstr ""
+
+#, python-format
+msgid "Invalid maximal deny banners counter %s"
 msgstr ""
 
@@ -1219,4 +1292,64 @@
 msgstr ""
 
+msgid "History"
+msgstr ""
+
+msgid "Users"
+msgstr ""
+
+msgid "Groups"
+msgstr ""
+
+msgid "Printers"
+msgstr ""
+
+msgid "Users Print Quotas"
+msgstr ""
+
+msgid "Users Groups Print Quotas"
+msgstr ""
+
+msgid "History of Payments"
+msgstr ""
+
+msgid "Printers Groups Membership"
+msgstr ""
+
+msgid "Users Groups Membership"
+msgstr ""
+
+msgid "Comma Separated Values"
+msgstr ""
+
+msgid "Semicolon Separated Values"
+msgstr ""
+
+msgid "Tabulation Separated Values"
+msgstr ""
+
+msgid "eXtensible Markup Language"
+msgstr ""
+
+msgid "CUPS' page_log"
+msgstr ""
+
+#, python-format
+msgid "Invalid value [%s] for --filter command line option, see help."
+msgstr ""
+
+#, python-format
+msgid "Invalid modifier [%s] for --data command line option, see help."
+msgstr ""
+
+#, python-format
+msgid "Invalid modifier [%s] for --format command line option, see help."
+msgstr ""
+
+msgid "XML output is disabled because the jaxml module is not available."
+msgstr ""
+
+msgid "PyKota data dumper failed : I/O error"
+msgstr ""
+
 #, python-format
 msgid "Unsupported logging subsystem %s"
@@ -1240,11 +1373,11 @@
 
 msgid ""
-"Group           used    soft    hard    balance grace         total       "
-"paid"
-msgstr ""
-
-msgid ""
-"User            used    soft    hard    balance grace         total       "
-"paid"
+"Group          overcharge   used    soft    hard    balance grace         "
+"total       paid warn"
+msgstr ""
+
+msgid ""
+"User           overcharge   used    soft    hard    balance grace         "
+"total       paid warn"
 msgstr ""
 
@@ -1260,4 +1393,7 @@
 msgstr ""
 
+msgid "N/A"
+msgstr ""
+
 #, python-format
 msgid "Unsupported reporter backend %s"
@@ -1266,4 +1402,29 @@
 #, python-format
 msgid "Unsupported quota storage backend %s"
+msgstr ""
+
+#, python-format
+msgid "Strange problem with uid(%s) : %s"
+msgstr ""
+
+#, python-format
+msgid "Running as user '%s'."
+msgstr ""
+
+msgid "No user named 'pykota'. Not dropping priviledges."
+msgstr ""
+
+#, python-format
+msgid "Impossible to drop priviledges : %s"
+msgstr ""
+
+msgid "Priviledges dropped. Now running as user 'pykota'."
+msgstr ""
+
+#, python-format
+msgid "Impossible to regain priviledges : %s"
+msgstr ""
+
+msgid "Regained priviledges. Now running as root."
 msgstr ""
 
@@ -1296,4 +1457,8 @@
 
 #, python-format
+msgid "User %s will not be charged for printing."
+msgstr ""
+
+#, python-format
 msgid "Print Quota exceeded for group %s on printer %s"
 msgstr ""
@@ -1414,5 +1579,5 @@
 
 #, python-format
-msgid "Waiting for printer %s to be idle or printing..."
+msgid "Waiting for printer %s to be printing..."
 msgstr ""
 
@@ -1571,7 +1736,4 @@
 msgstr ""
 
-msgid "History"
-msgstr ""
-
 msgid "Empty"
 msgstr ""
@@ -1607,4 +1769,28 @@
 msgstr ""
 
+msgid "MD5Sum"
+msgstr ""
+
+msgid "BillingCode"
+msgstr ""
+
+msgid "Pages"
+msgstr ""
+
 msgid "Previous page"
 msgstr ""
+
+msgid "PyKota Data Dumper"
+msgstr ""
+
+msgid "Dump"
+msgstr ""
+
+msgid "Data Type"
+msgstr ""
+
+msgid "Output Format"
+msgstr ""
+
+msgid "Filter"
+msgstr ""
