Index: pykota/trunk/po/sv_SE/pykota.po
===================================================================
--- pykota/trunk/po/sv_SE/pykota.po (revision 2344)
+++ pykota/trunk/po/sv_SE/pykota.po (revision 2487)
@@ -62,14 +62,191 @@
 
 #, python-format
+msgid "SIGTERM received, job %s cancelled."
+msgstr "Mottog SIGTERM, utskrift %s avbr�"
+
+msgid "You are not allowed to print at this time."
+msgstr ""
+
+#, python-format
+msgid "Unable to precompute the job's size with the generic PDL analyzer : %s"
+msgstr "Kunde ej f�r�a jobbets storlek med standard PDL analys : %s"
+
+#, python-format
 msgid "Banner generator %s exit code is %s"
 msgstr ""
+
+msgid "Banner won't be printed : maximum number of deny banners reached."
+msgstr ""
+
+#, python-format
+msgid "Beware : computed job size (%s) != precomputed job size (%s)"
+msgstr ""
+
+msgid ""
+"The job size will be trusted anyway according to the 'trustjobsize' directive"
+msgstr ""
+
+#, python-format
+msgid ""
+"The job size will be trusted because it is inferior to the 'trustjobsize' "
+"directive's limit %s"
+msgstr ""
+
+#, python-format
+msgid ""
+"The job size will be modified according to the 'trustjobsize' directive : %s"
+msgstr ""
+
+#, python-format
+msgid ""
+"Printer %s not registered in the PyKota system, applying external policy (%"
+"s) for printer %s"
+msgstr ""
+"Skrivare %s inte registrerad i PyKotasystemet, till�ar extern policy (%s) "
+"f�krivare %s"
+
+#, python-format
+msgid ""
+"User %s not registered in the PyKota system, applying external policy (%s) "
+"for printer %s"
+msgstr ""
+"Anv�are %s inte registrerad i Pykotasystemet, till�ar extern policy (%s) "
+"f�krivare %s"
+
+#, python-format
+msgid ""
+"User %s doesn't have quota on printer %s in the PyKota system, applying "
+"external policy (%s) for printer %s"
+msgstr ""
+"Anv�are %s har inget utskriftssaldo p�krivare %s i PyKotasystemet, "
+"till�arextern policy (%s) f�krivare %s"
+
+#, python-format
+msgid ""
+"External policy %s for printer %s produced an error. Job rejected. Please "
+"check PyKota's configuration files."
+msgstr ""
+"Extern policy %s f�krivare %s l�ade ett felmeddelande. Utskrift "
+"avbruten. V�igen kontrollera PyKotas konfigurationsfiler."
+
+#, python-format
+msgid ""
+"Printer %s not registered in the PyKota system, applying default policy (%s)"
+msgstr ""
+"Skrivare %s �inte registrerad i PyKotasystemet, till�ar standardpolicy (%"
+"s)"
+
+#, python-format
+msgid ""
+"User %s not registered in the PyKota system, applying default policy (%s) "
+"for printer %s"
+msgstr ""
+"Anv�are %s �inte registrerad i PyKotasystemet, till�ar standardpolicy "
+"(%s) f�krivare %s"
+
+#, python-format
+msgid ""
+"User %s doesn't have quota on printer %s in the PyKota system, applying "
+"default policy (%s)"
+msgstr ""
+"Anv�are %s har inget utskriftssaldo p�krivare %s i PyKotasystemet, "
+"till�ar standardpolicy (%s)"
+
+#, python-format
+msgid ""
+"Printer %s still not registered in the PyKota system, job will be rejected"
+msgstr ""
+"Skrivare %s fortfarande inte registrerad i PyKotasystemet, utskriften avbryts"
+
+#, python-format
+msgid ""
+"User %s still not registered in the PyKota system, job will be rejected on "
+"printer %s"
+msgstr ""
+"Anv�are %s fortfarande inte registrerad i PyKotasystemet, utskriften p�
+"skrivare %s avbryts"
+
+#, python-format
+msgid ""
+"User %s still doesn't have quota on printer %s in the PyKota system, job "
+"will be rejected"
+msgstr ""
+"Anv�are %s har fortfarande inget utskriftssaldo p�krivare %s i "
+"PyKotasystemet,utskriften avbryts"
+
+msgid "Job is a dupe"
+msgstr ""
+
+msgid "Printing is denied by configuration"
+msgstr ""
+
+#, python-format
+msgid "Duplicate print jobs are not allowed on printer %s."
+msgstr ""
+
+msgid "Subprocess denied printing of a dupe"
+msgstr ""
+
+#, python-format
+msgid "Duplicate print jobs are not allowed on printer %s at this time."
+msgstr ""
+
+msgid "Subprocess allowed printing of a dupe"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"\n"
+"Your system administrator :\n"
+"\n"
+"\t%s - <%s>\n"
+msgstr ""
+
+#, python-format
+msgid "Impossible to connect to SMTP server : %s"
+msgstr "Kunde ej f�ontakt med SMTP server : %s"
+
+msgid "Print Quota"
+msgstr "Utskriftssaldo"
+
+#, python-format
+msgid "Impossible to send mail to %s, error %s : %s"
+msgstr "Kunde inte s�a epost till %s, felmeddelande %s : %s"
 
 msgid "Job contains no data. Printing is denied."
 msgstr "Jobb inneh�er ingen data. Utskrift nekad"
 
-msgid "Job is a duplicate. Printing is denied."
-msgstr ""
-
-msgid "Banner won't be printed : maximum number of deny banners reached."
+msgid "Job allowed by printer policy. No accounting will be done."
+msgstr ""
+
+#, python-format
+msgid "Invalid policy %s for printer %s"
+msgstr "Ogiltig policy %s f�krivare %s"
+
+#, python-format
+msgid "Precomputed job size (%s pages) too large for printer %s."
+msgstr ""
+
+#, python-format
+msgid "You are not allowed to print so many pages on printer %s at this time."
+msgstr ""
+
+#, python-format
+msgid "User %s is not allowed to print at this time."
+msgstr ""
+
+msgid "Your account settings forbid you to print at this time."
+msgstr ""
+
+#, python-format
+msgid "Print Quota exceeded for user %s on printer %s"
+msgstr "Utskriftssaldot ��trasserad f�nv�are %s p�krivare %s"
+
+#, python-format
+msgid "Print Quota low for user %s on printer %s"
+msgstr "Utskriftssaldot �l� anv�are %s p�krivare %s"
+
+msgid "Job denied, no accounting will be done."
 msgstr ""
 
@@ -77,4 +254,7 @@
 msgstr "Jobbsaldo p�rjas."
 
+msgid "Job denied, no accounting has been done."
+msgstr ""
+
 msgid "Job accounting ends."
 msgstr "Jobbsaldo avslutas."
@@ -84,27 +264,12 @@
 
 #, python-format
-msgid "Beware : computed job size (%s) != precomputed job size (%s)"
-msgstr ""
-
-msgid ""
-"The job size will be trusted anyway according to the 'trustjobsize' directive"
-msgstr ""
-
-#, python-format
-msgid ""
-"The job size will be trusted because it is inferior to the 'trustjobsize' "
-"directive's limit %s"
-msgstr ""
-
-#, python-format
-msgid ""
-"The job size will be modified according to the 'trustjobsize' directive : %s"
-msgstr ""
-
-#, python-format
 msgid "Job size : %i"
 msgstr "Jobbstorlek : %i"
 
 #, python-format
+msgid "User %s's quota on printer %s won't be modified"
+msgstr ""
+
+#, python-format
 msgid "Updating user %s's quota on printer %s"
 msgstr "Uppdaterar anv�are %s kvot p�krivare %s"
@@ -114,15 +279,6 @@
 
 #, python-format
-msgid "File number %s unregistered twice from polling object, ignored."
-msgstr ""
-"Filnummer %s oregistrerat tv��er fr�utfr�ing av objekt, ignoreras."
-
-#, python-format
-msgid "SIGTERM was sent to real backend %s (pid: %s)"
-msgstr "SIGTERM s�es till bakgrundsprocess %s (pid: %s)"
-
-#, python-format
-msgid "CUPS backend %s died abnormally."
-msgstr "CUPS bakgrundsprocess %s avbr�ov�at."
+msgid "Billing code %s was updated."
+msgstr ""
 
 #, python-format
@@ -292,4 +448,5 @@
 "                       \n"
 "  -n | --noquota       Doesn't set a quota but only does accounting.\n"
+"                       This is the same as --limitby noquota.\n"
 "  \n"
 "  -r | --reset         Resets the actual page counter for the user\n"
@@ -305,8 +462,14 @@
 "                       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"
+"                       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 "
@@ -320,8 +483,16 @@
 "                       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"
@@ -429,5 +600,13 @@
 
 #, python-format
+msgid "Invalid limitby value %s"
+msgstr "Ogiltigt v�e %s p�ariabeln limitby"
+
+#, python-format
 msgid "Invalid used value %s."
+msgstr ""
+
+#, python-format
+msgid "Invalid increase value %s."
 msgstr ""
 
@@ -458,8 +637,4 @@
 
 #, python-format
-msgid "Invalid limitby value %s"
-msgstr "Ogiltigt v�e %s p�ariabeln limitby"
-
-#, python-format
 msgid "Impossible to add printer %s"
 msgstr "Om�gt att l�a till skrivare %s"
@@ -517,17 +692,127 @@
 
 #, python-format
+msgid "You can't increase limits by %s when no limit is set."
+msgstr ""
+
+msgid "You can't set negative limits."
+msgstr ""
+
+#, python-format
 msgid "Group %s not found in the PyKota Storage."
 msgstr "Gruppen %s hittades inte i PyKotasystemet."
 
+#, python-format
+msgid "Nonexistent user %s or missing print quota entry."
+msgstr ""
+
+#, python-format
+msgid "Nonexistent group %s or missing print quota entry."
+msgstr ""
+
 msgid "incompatible options, see help."
 msgstr "Of�liga val, se manualerna"
 
-msgid "Software accounting already done in first pass. Ignoring."
-msgstr "Mjukvarusaldo redan utf�under f�a passet. Ignoreras."
-
-msgid "Hardware accounting already done in first pass. Ignoring."
-msgstr "H�varusaldo redan utf�under f�a passet. Ignoreras."
-
-msgid "Job size and price now set in history."
+#, 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 ""
+
+msgid "Option --ingroups is reserved to PyKota Administrators."
+msgstr ""
+
+#, 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 ""
 
@@ -642,60 +927,82 @@
 #, python-format
 msgid ""
-"pkhint v%(__version__)s (c) %(__years__)s %(__author__)s\n"
-"\n"
-"A tool to give hints on what accounting method is best for each printer.\n"
+"pkbcodes v%(__version__)s (c) %(__years__)s %(__author__)s\n"
+"\n"
+"A billing codes Manager for PyKota.\n"
 "\n"
 "command line usage :\n"
 "\n"
-"  pkhint [options] [printer1 printer2 printer3 ... printerN] <file.conf\n"
+"  pkbcodes [options] code1 code2 code3 ... codeN\n"
 "\n"
 "options :\n"
 "\n"
-"  -v | --version       Prints pkhint's version number then exits.\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"
+"  -s | --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"
-"  $ pkhint \"hp*\" printer103 </etc/cups/printers.conf\n"
-"  \n"
-"  Will analyze your printing system to test which accounter\n"
-"  is the best for each of the defined printer which\n"
-"  name matches one of the parameters.\n"
-"  \n"
-"  If you don't pass any argument on the command line, all\n"
-"  printers will be analyzed.\n"
-msgstr ""
-
-#, python-format
-msgid "Invalid DeviceURI : %s"
-msgstr "Felaktig EnhetsURI : %s"
-
-msgid ""
-"\n"
-"Please wait while pkhint analyzes your printing system's configuration..."
-msgstr ""
-"\n"
-"Var god v�a medan pkhint analyserar utskriftssystemets konfiguration..."
-
-#, python-format
-msgid "Unknown device %s for printer %s"
-msgstr "Ok� enhet %s f�krivare %s"
-
-msgid ""
-"\n"
-"Put the following lines into your /etc/pykota/pykota.conf file :\n"
-msgstr ""
-"\n"
-"L� till f�nde rader i filen /etc/pykota/pykota.conf :\n"
-
-msgid "# BEWARE : if software accounting is suggested, this doesn't mean"
-msgstr "# UPPM�KSAMMA : om mjukvarumetoden f�l� betyder det inte"
-
-msgid "# that hardware accounting wouldn't work, this only means that PyKota"
-msgstr ""
-"# att h�varumetoden inte skulle fungera, det betyder endast att PyKota"
-
-msgid "# wasn't able to autodetect which hardware accounting method to use."
-msgstr "# inte automatiskt kunde uppt�a vilken metod den skall anv�a."
+"  $ 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 ""
+
+#, python-format
+msgid "Billing code [%s] already exists, skipping."
+msgstr ""
+
+#, python-format
+msgid "Billing code [%s] already exists, will be modified."
+msgstr ""
+
+#, python-format
+msgid "Impossible to add billingcode %s"
+msgstr ""
+
+#, python-format
+msgid "There's no billingcode matching %s"
+msgstr ""
+
+msgid "pages"
+msgstr ""
+
+msgid "and"
+msgstr ""
+
+msgid "credits"
+msgstr ""
+
+msgid "You have to pass billing codes on the command line"
+msgstr ""
 
 #, python-format
@@ -794,4 +1101,15 @@
 "  -s | --skipexisting  In combination with the --add option above, tells\n"
 "                       pkprinters to not modify existing printers.\n"
+"                       \n"
+"  -m | --maxjobsize s  Sets the maximum job size allowed on the printer\n"
+"                       to s pages.\n"
+"                       \n"
+"  -p | --passthrough   Activate passthrough mode for the printer. In this\n"
+"                       mode, users are allowed to print without any impact\n"
+"                       on their quota or account balance.\n"
+"                       \n"
+"  -n | --nopassthrough Deactivate passthrough mode for the printer.\n"
+"                       Without -p or -n, printers are created in \n"
+"                       normal mode, i.e. no passthrough.\n"
 "  \n"
 "  printer1 through printerN can contain wildcards if the --add option \n"
@@ -829,4 +1147,8 @@
 
 #, python-format
+msgid "Invalid maximum job size value %s"
+msgstr ""
+
+#, python-format
 msgid "Printer %s already exists, skipping."
 msgstr "Skrivare %s existerar redan, hoppar �."
@@ -839,4 +1161,25 @@
 msgstr "i"
 
+#, python-format
+msgid "Passthrough mode : %s"
+msgstr ""
+
+msgid "ON"
+msgstr ""
+
+msgid "OFF"
+msgstr ""
+
+#, python-format
+msgid "Maximum job size : %s"
+msgstr ""
+
+#, python-format
+msgid "%s pages"
+msgstr ""
+
+msgid "Unlimited"
+msgstr ""
+
 msgid "You have to pass printer groups names on the command line"
 msgstr "Du m�e skicka med skrivargruppnamn p�ommandoraden"
@@ -844,4 +1187,123 @@
 msgid "You have to pass printer names on the command line"
 msgstr "Du m�e skicka med skrivarnamn p�ommandoraden"
+
+#, 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.\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 ""
+
+#, python-format
+msgid ""
+"Printer %s is not managed by PyKota yet. Please modify printers.conf and "
+"restart CUPS."
+msgstr ""
+
+msgid "Please be patient..."
+msgstr ""
+
+msgid "Don't worry, the database WILL NOT BE MODIFIED."
+msgstr ""
+
+msgid "Please WORRY NOW, the database WILL BE MODIFIED."
+msgstr ""
+
+msgid "System users will have a print account as well !"
+msgstr ""
+
+#, python-format
+msgid "Unknown username %s : %s"
+msgstr ""
+
+msgid "System groups will have a print account as well !"
+msgstr ""
+
+#, python-format
+msgid "Unknown groupname %s : %s"
+msgstr ""
+
+msgid "Simulation terminated."
+msgstr ""
+
+msgid "Database initialized !"
+msgstr ""
+
+msgid "The --uidmin or --uidmax command line option implies --dousers as well."
+msgstr ""
+
+msgid ""
+"The --gidmin or --gidmax command line option implies --dogroups as well."
+msgstr ""
+
+msgid "The --dogroups command line option implies --dousers as well."
+msgstr ""
 
 #, python-format
@@ -971,102 +1433,4 @@
 msgstr "Kostnad p�krivare %s : %.2f"
 
-#, 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"
-"  -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 ""
-
-#, 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 ""
-
 msgid "PyKota Data Dumper"
 msgstr ""
@@ -1085,4 +1449,10 @@
 
 msgid "Filter"
+msgstr ""
+
+msgid "Summarize"
+msgstr ""
+
+msgid "only for payments or history"
 msgstr ""
 
@@ -1120,18 +1490,18 @@
 msgstr "JobbId"
 
-msgid "JobSize"
-msgstr "JobbStorlek"
-
-msgid "JobPrice"
-msgstr "JobbPris"
+msgid "Number of pages"
+msgstr ""
+
+msgid "Cost"
+msgstr ""
 
 msgid "Copies"
 msgstr "Kopior"
 
-msgid "JobBytes"
-msgstr "JobBytes"
-
-msgid "PageCounter"
-msgstr "SidR�are"
+msgid "Number of bytes"
+msgstr ""
+
+msgid "Printer's internal counter"
+msgstr ""
 
 msgid "Options"
@@ -1141,8 +1511,17 @@
 msgstr ""
 
-msgid "BillingCode"
-msgstr ""
-
-msgid "Pages"
+msgid "Billing code"
+msgstr ""
+
+msgid "Precomputed number of pages"
+msgstr ""
+
+msgid "Precomputed cost"
+msgstr ""
+
+msgid "Pages details"
+msgstr ""
+
+msgid "(not supported yet)"
 msgstr ""
 
@@ -1156,6 +1535,7 @@
 msgstr ""
 
-#, python-format
-msgid "This file is %i pages long."
+msgid ""
+"The exact cost of a print job can only be determined for a particular user. "
+"Please retry while logged-in."
 msgstr ""
 
@@ -1165,4 +1545,10 @@
 
 #, python-format
+msgid ""
+"Configuration file %s can't be read. Please check that the file exists and "
+"that your permissions are sufficient."
+msgstr ""
+
+#, python-format
 msgid "Configuration file %s not found."
 msgstr "Konfigurationsfil %s hittades inte."
@@ -1193,4 +1579,12 @@
 
 #, python-format
+msgid "Invalid unknown_billingcode directive %s for printer %s"
+msgstr ""
+
+#, python-format
+msgid "Directive unknown_billingcode in section %s only supports values in %s"
+msgstr ""
+
+#, python-format
 msgid "Option enforcement in section %s only supports values in %s"
 msgstr "Till�ad option i sektion %s st�r bara v�en i %s"
@@ -1199,8 +1593,4 @@
 msgid "Option onaccountererror in section %s only supports values in %s"
 msgstr ""
-
-#, python-format
-msgid "Invalid policy %s for printer %s"
-msgstr "Ogiltig policy %s f�krivare %s"
 
 #, python-format
@@ -1285,4 +1675,7 @@
 msgstr ""
 
+msgid "Billing Codes"
+msgstr ""
+
 msgid "Comma Separated Values"
 msgstr ""
@@ -1313,4 +1706,8 @@
 
 msgid "XML output is disabled because the jaxml module is not available."
+msgstr ""
+
+#, python-format
+msgid "Invalid data type [%s] for --sum command line option, see help."
 msgstr ""
 
@@ -1395,11 +1792,6 @@
 msgstr ""
 
-#, python-format
-msgid "Impossible to connect to SMTP server : %s"
-msgstr "Kunde ej f�ontakt med SMTP server : %s"
-
-#, python-format
-msgid "Impossible to send mail to %s, error %s : %s"
-msgstr "Kunde inte s�a epost till %s, felmeddelande %s : %s"
+msgid "Please report bugs to :"
+msgstr ""
 
 #, python-format
@@ -1438,7 +1830,4 @@
 msgstr "Utskriftssaldot ��trasserad f�rupp %s p�rinter %s"
 
-msgid "Print Quota"
-msgstr "Utskriftssaldo"
-
 msgid "Print Quota Exceeded"
 msgstr "Utskriftssaldo �trasserad"
@@ -1448,112 +1837,8 @@
 msgstr "Utskriftssaldot �l� f�rupp %s p�rinter %s"
 
-#, python-format
-msgid "Print Quota exceeded for user %s on printer %s"
-msgstr "Utskriftssaldot ��trasserad f�nv�are %s p�krivare %s"
-
-#, python-format
-msgid "Print Quota low for user %s on printer %s"
-msgstr "Utskriftssaldot �l� anv�are %s p�krivare %s"
-
 msgid "Print Quota Low"
 msgstr "Utskriftssaldo l�"
 
 #, python-format
-msgid "Printing system %s, args=%s"
-msgstr "Utskriftssystem %s, args=%s"
-
-#, python-format
-msgid "Unable to precompute the job's size with the generic PDL analyzer : %s"
-msgstr "Kunde ej f�r�a jobbets storlek med standard PDL analys : %s"
-
-#, python-format
-msgid "SIGTERM received, job %s cancelled."
-msgstr "Mottog SIGTERM, utskrift %s avbr�"
-
-msgid "Printer hostname undefined, set to 'localhost'"
-msgstr "Skrivarens v�namn ej definerat, s�s till 'localhost'"
-
-#, python-format
-msgid "Printing system unknown, args=%s"
-msgstr "Utskriftsystem ok�, args=%s"
-
-#, python-format
-msgid ""
-"Printer %s not registered in the PyKota system, applying external policy (%"
-"s) for printer %s"
-msgstr ""
-"Skrivare %s inte registrerad i PyKotasystemet, till�ar extern policy (%s) "
-"f�krivare %s"
-
-#, python-format
-msgid ""
-"User %s not registered in the PyKota system, applying external policy (%s) "
-"for printer %s"
-msgstr ""
-"Anv�are %s inte registrerad i Pykotasystemet, till�ar extern policy (%s) "
-"f�krivare %s"
-
-#, python-format
-msgid ""
-"User %s doesn't have quota on printer %s in the PyKota system, applying "
-"external policy (%s) for printer %s"
-msgstr ""
-"Anv�are %s har inget utskriftssaldo p�krivare %s i PyKotasystemet, "
-"till�arextern policy (%s) f�krivare %s"
-
-#, python-format
-msgid ""
-"External policy %s for printer %s produced an error. Job rejected. Please "
-"check PyKota's configuration files."
-msgstr ""
-"Extern policy %s f�krivare %s l�ade ett felmeddelande. Utskrift "
-"avbruten. V�igen kontrollera PyKotas konfigurationsfiler."
-
-#, python-format
-msgid ""
-"Printer %s not registered in the PyKota system, applying default policy (%s)"
-msgstr ""
-"Skrivare %s �inte registrerad i PyKotasystemet, till�ar standardpolicy (%"
-"s)"
-
-#, python-format
-msgid ""
-"User %s not registered in the PyKota system, applying default policy (%s) "
-"for printer %s"
-msgstr ""
-"Anv�are %s �inte registrerad i PyKotasystemet, till�ar standardpolicy "
-"(%s) f�krivare %s"
-
-#, python-format
-msgid ""
-"User %s doesn't have quota on printer %s in the PyKota system, applying "
-"default policy (%s)"
-msgstr ""
-"Anv�are %s har inget utskriftssaldo p�krivare %s i PyKotasystemet, "
-"till�ar standardpolicy (%s)"
-
-#, python-format
-msgid ""
-"Printer %s still not registered in the PyKota system, job will be rejected"
-msgstr ""
-"Skrivare %s fortfarande inte registrerad i PyKotasystemet, utskriften avbryts"
-
-#, python-format
-msgid ""
-"User %s still not registered in the PyKota system, job will be rejected on "
-"printer %s"
-msgstr ""
-"Anv�are %s fortfarande inte registrerad i PyKotasystemet, utskriften p�
-"skrivare %s avbryts"
-
-#, python-format
-msgid ""
-"User %s still doesn't have quota on printer %s in the PyKota system, job "
-"will be rejected"
-msgstr ""
-"Anv�are %s har fortfarande inget utskriftssaldo p�krivare %s i "
-"PyKotasystemet,utskriften avbryts"
-
-#, python-format
 msgid "A problem occured while reading printer %s's internal page counter."
 msgstr ""
@@ -1614,4 +1899,8 @@
 
 #, python-format
+msgid "Problem while receiving PJL answer from %s:%s : %s"
+msgstr ""
+
+#, python-format
 msgid "Waiting for printer %s to be printing..."
 msgstr ""
@@ -1695,4 +1984,7 @@
 msgstr ""
 
+msgid "Hidden because of privacy concerns"
+msgstr ""
+
 #, python-format
 msgid ""
@@ -1712,24 +2004,71 @@
 "Kunde ej hitta existerande post f�tt binda pykotaGroup objectclass %s"
 
-msgid "Hidden because of privacy concerns"
-msgstr ""
-
-msgid "Summarize"
-msgstr ""
-
-msgid "Invalid data type [%s] for --sum command line option, see help."
-msgstr ""
-
-msgid "only for payments or history"
-msgstr ""
-
-msgid "Job is a duplicate. Printing is denied by subprocess."
-msgstr ""
-
-msgid "Job is a duplicate. Printing is allowed by subprocess."
-msgstr ""
-
-msgid "Please report bugs to :"
-msgstr ""
+#~ msgid "File number %s unregistered twice from polling object, ignored."
+#~ msgstr ""
+#~ "Filnummer %s oregistrerat tv��er fr�utfr�ing av objekt, ignoreras."
+
+#~ msgid "SIGTERM was sent to real backend %s (pid: %s)"
+#~ msgstr "SIGTERM s�es till bakgrundsprocess %s (pid: %s)"
+
+#~ msgid "CUPS backend %s died abnormally."
+#~ msgstr "CUPS bakgrundsprocess %s avbr�ov�at."
+
+#~ msgid "Software accounting already done in first pass. Ignoring."
+#~ msgstr "Mjukvarusaldo redan utf�under f�a passet. Ignoreras."
+
+#~ msgid "Hardware accounting already done in first pass. Ignoring."
+#~ msgstr "H�varusaldo redan utf�under f�a passet. Ignoreras."
+
+#~ msgid "Invalid DeviceURI : %s"
+#~ msgstr "Felaktig EnhetsURI : %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Please wait while pkhint analyzes your printing system's configuration..."
+#~ msgstr ""
+#~ "\n"
+#~ "Var god v�a medan pkhint analyserar utskriftssystemets konfiguration..."
+
+#~ msgid "Unknown device %s for printer %s"
+#~ msgstr "Ok� enhet %s f�krivare %s"
+
+#~ msgid ""
+#~ "\n"
+#~ "Put the following lines into your /etc/pykota/pykota.conf file :\n"
+#~ msgstr ""
+#~ "\n"
+#~ "L� till f�nde rader i filen /etc/pykota/pykota.conf :\n"
+
+#~ msgid "# BEWARE : if software accounting is suggested, this doesn't mean"
+#~ msgstr "# UPPM�KSAMMA : om mjukvarumetoden f�l� betyder det inte"
+
+#~ msgid ""
+#~ "# that hardware accounting wouldn't work, this only means that PyKota"
+#~ msgstr ""
+#~ "# att h�varumetoden inte skulle fungera, det betyder endast att PyKota"
+
+#~ msgid "# wasn't able to autodetect which hardware accounting method to use."
+#~ msgstr "# inte automatiskt kunde uppt�a vilken metod den skall anv�a."
+
+#~ msgid "JobSize"
+#~ msgstr "JobbStorlek"
+
+#~ msgid "JobPrice"
+#~ msgstr "JobbPris"
+
+#~ msgid "JobBytes"
+#~ msgstr "JobBytes"
+
+#~ msgid "PageCounter"
+#~ msgstr "SidR�are"
+
+#~ msgid "Printing system %s, args=%s"
+#~ msgstr "Utskriftssystem %s, args=%s"
+
+#~ msgid "Printer hostname undefined, set to 'localhost'"
+#~ msgstr "Skrivarens v�namn ej definerat, s�s till 'localhost'"
+
+#~ msgid "Printing system unknown, args=%s"
+#~ msgstr "Utskriftsystem ok�, args=%s"
 
 #~ msgid ""
