Index: pykota/trunk/po/fr/pykota.po
===================================================================
--- pykota/trunk/po/fr/pykota.po (revision 3268)
+++ pykota/trunk/po/fr/pykota.po (revision 3272)
@@ -29,5 +29,5 @@
 "Language-Team: French <alet@librelogiciel.com>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
@@ -79,13 +79,13 @@
 "autopykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Un outil pour automatiser la cr�ion des comptes et l'initialisation\n"
+"Un outil pour automatiser la création des comptes et l'initialisation\n"
 "du solde.\n"
 "\n"
-"CET OUTIL NE DOIT PAS �RE UTILIS�SI VOUS LIMITEZ VOS UTILISATEURS PAR\n"
+"CET OUTIL NE DOIT PAS ÊTRE UTILISÉ SI VOUS LIMITEZ VOS UTILISATEURS PAR\n"
 "QUOTA !\n"
 "\n"
 "ligne de commande :\n"
 "\n"
-"  CET OUTIL NE DOIT PAS �RE UTILIS�DEPUIS LA LIGNE DE COMMANDE MAIS\n"
+"  CET OUTIL NE DOIT PAS ÊTRE UTILISÉ DEPUIS LA LIGNE DE COMMANDE MAIS\n"
 "  SEULEMENT DANS UNE external policy DANS pykota.conf\n"
 "  \n"
@@ -97,8 +97,7 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -i | --initbalance b Positionne le solde initial de l'utilisateur �.\n"
-"                       Si l'utilisateur existe d�, le solde actuel reste\n"
-"                       inchang�Si non indiqu�la valeur par d�ut est "
-"0.\n"
+"  -i | --initbalance b Positionne le solde initial de l'utilisateur à b.\n"
+"                       Si l'utilisateur existe déjà, le solde actuel reste\n"
+"                       inchangé. Si non indiqué, la valeur par défaut est 0.\n"
 "\n"
 "  -e | --email addr    Positionne l'adresse e-mail de l'utilisateur.\n"
@@ -107,9 +106,9 @@
 #, python-format
 msgid "SIGTERM received, job %s cancelled."
-msgstr "SIGTERM re� travail d'impression %s annul�
+msgstr "SIGTERM reçu, travail d'impression %s annulé."
 
 #, python-format
 msgid "Network error while querying the CUPS server : %s"
-msgstr "Erreur r�au pendant l'interrogation du serveur CUPS : %s"
+msgstr "Erreur réseau pendant l'interrogation du serveur CUPS : %s"
 
 msgid "You are not allowed to print at this time."
@@ -117,8 +116,8 @@
 
 msgid "Print job cancelled."
-msgstr "Travail d'impression annul�
+msgstr "Travail d'impression annulé."
 
 msgid "Unlimited"
-msgstr "Illimit�
+msgstr "Illimitée"
 
 msgid "ON"
@@ -130,114 +129,64 @@
 #, python-format
 msgid "Banner generator %s exit code is %s"
-msgstr "Le code de sortie du g�rateur de banni�s %s est %s"
+msgstr "Le code de sortie du générateur de bannières %s est %s"
 
 msgid "Banner won't be printed : maximum number of deny banners reached."
-msgstr ""
-"La banni� ne sera pas imprim�: compteur maximum de banni�s rejet� "
-"atteint."
+msgstr "La bannière ne sera pas imprimée : compteur maximum de bannières rejetées atteint."
 
 #, python-format
 msgid "Beware : computed job size (%s) != precomputed job size (%s)"
-msgstr ""
-"Attention : taille calcul�du travail d'impression (%s) != taille "
-"pr�lcul�du travail d'impression (%s)"
-
-msgid ""
-"The job size will be trusted anyway according to the 'trustjobsize' directive"
-msgstr ""
-"La taille du travail d'impression sera utilis�quand m�, en accord avec "
-"la directive 'trustjobsize'"
-
-#, python-format
-msgid ""
-"The job size will be trusted because it is inferior to the 'trustjobsize' "
-"directive's limit %s"
-msgstr ""
-"La taille du travail d'impression sera utilis�car elle est inf�eure �a "
-"limite %s de la directive 'trustjobsize'"
-
-#, python-format
-msgid ""
-"The job size will be modified according to the 'trustjobsize' directive : %s"
-msgstr ""
-"La taille du travail d'impression sera modifi�en accord avec la directive "
-"'trustjobsize' : %s"
-
-#, python-format
-msgid ""
-"Printer %s not registered in the PyKota system, applying external policy (%"
-"s) for printer %s"
-msgstr ""
-"Imprimante %s non enregistr�dans le syst� PyKota, action externe (%s) "
-"appliqu�sur l'imprimante %s"
-
-#, python-format
-msgid ""
-"User %s not registered in the PyKota system, applying external policy (%s) "
-"for printer %s"
-msgstr ""
-"Utilisateur %s non enregistr�ans le syst� PyKota, application de "
-"l'action externe (%s) sur l'imprimante %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 ""
-"L'utilisateur %s n'a pas de quota sur l'imprimante %s dans le syst� "
-"PyKota, application de l'action externe (%s) sur l'imprimante %s"
-
-#, python-format
-msgid ""
-"External policy %s for printer %s produced an error. Job rejected. Please "
-"check PyKota's configuration files."
-msgstr ""
-"L'action externe %s sur l'imprimante %s a produit une erreur. Job rejet�"
-"Merci de v�fier les fichiers de configuration de PyKota."
-
-#, python-format
-msgid ""
-"Printer %s not registered in the PyKota system, applying default policy (%s)"
-msgstr ""
-"Imprimante %s non enregistr�dans le syst� PyKota, application de "
-"l'action par d�ut (%s) "
-
-#, python-format
-msgid ""
-"User %s not registered in the PyKota system, applying default policy (%s) "
-"for printer %s"
-msgstr ""
-"Utilisateur %s non enregistr�ans le syst� PyKota, application de "
-"l'action par d�ut (%s) sur l'imprimante %s"
-
-#, python-format
-msgid ""
-"User %s doesn't have quota on printer %s in the PyKota system, applying "
-"default policy (%s)"
-msgstr ""
-"Utilisateur %s n'a aucun quota sur l'imprimante %s dans le syst� PyKota, "
-"application de l'action par d�ut (%s)"
-
-#, python-format
-msgid ""
-"Printer %s still not registered in the PyKota system, job will be rejected"
-msgstr ""
-"L'imprimante %s n'est toujours pas enregistr�dans le syst� PyKota, le "
-"travail d'impression sera rejet�
-#, python-format
-msgid ""
-"User %s still not registered in the PyKota system, job will be rejected on "
-"printer %s"
-msgstr ""
-"L'utilisateur %s n'est toujours pas enregistr�ans le syst� PyKota, le "
-"travail d'impression sera rejet�e l'imprimante %s"
-
-#, python-format
-msgid ""
-"User %s still doesn't have quota on printer %s in the PyKota system, job "
-"will be rejected"
-msgstr ""
-"L'utilisateur %s n'a toujours pas de quota sur l'imprimante %s dans le "
-"syst� PyKota, le travail d'impression sera rejet�
+msgstr "Attention : taille calculée du travail d'impression (%s) != taille précalculée du travail d'impression (%s)"
+
+msgid "The job size will be trusted anyway according to the 'trustjobsize' directive"
+msgstr "La taille du travail d'impression sera utilisée quand même, en accord avec la directive 'trustjobsize'"
+
+#, python-format
+msgid "The job size will be trusted because it is inferior to the 'trustjobsize' directive's limit %s"
+msgstr "La taille du travail d'impression sera utilisée car elle est inférieure à la limite %s de la directive 'trustjobsize'"
+
+#, python-format
+msgid "The job size will be modified according to the 'trustjobsize' directive : %s"
+msgstr "La taille du travail d'impression sera modifiée en accord avec la directive 'trustjobsize' : %s"
+
+#, python-format
+msgid "Printer %s not registered in the PyKota system, applying external policy (%s) for printer %s"
+msgstr "Imprimante %s non enregistrée dans le système PyKota, action externe (%s) appliquée sur l'imprimante %s"
+
+#, python-format
+msgid "User %s not registered in the PyKota system, applying external policy (%s) for printer %s"
+msgstr "Utilisateur %s non enregistré dans le système PyKota, application de l'action externe (%s) sur l'imprimante %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 "L'utilisateur %s n'a pas de quota sur l'imprimante %s dans le système PyKota, application de l'action externe (%s) sur l'imprimante %s"
+
+#, python-format
+msgid "External policy %s for printer %s produced an error. Job rejected. Please check PyKota's configuration files."
+msgstr "L'action externe %s sur l'imprimante %s a produit une erreur. Job rejeté. Merci de vérifier les fichiers de configuration de PyKota."
+
+#, python-format
+msgid "Printer %s not registered in the PyKota system, applying default policy (%s)"
+msgstr "Imprimante %s non enregistrée dans le système PyKota, application de l'action par défaut (%s) "
+
+#, python-format
+msgid "User %s not registered in the PyKota system, applying default policy (%s) for printer %s"
+msgstr "Utilisateur %s non enregistré dans le système PyKota, application de l'action par défaut (%s) sur l'imprimante %s"
+
+#, python-format
+msgid "User %s doesn't have quota on printer %s in the PyKota system, applying default policy (%s)"
+msgstr "Utilisateur %s n'a aucun quota sur l'imprimante %s dans le système PyKota, application de l'action par défaut (%s)"
+
+#, python-format
+msgid "Printer %s still not registered in the PyKota system, job will be rejected"
+msgstr "L'imprimante %s n'est toujours pas enregistrée dans le système PyKota, le travail d'impression sera rejeté"
+
+#, python-format
+msgid "User %s still not registered in the PyKota system, job will be rejected on printer %s"
+msgstr "L'utilisateur %s n'est toujours pas enregistré dans le système PyKota, le travail d'impression sera rejeté de l'imprimante %s"
+
+#, python-format
+msgid "User %s still doesn't have quota on printer %s in the PyKota system, job will be rejected"
+msgstr "L'utilisateur %s n'a toujours pas de quota sur l'imprimante %s dans le système PyKota, le travail d'impression sera rejeté"
+
 msgid "Job is a dupe"
 msgstr "Ce travail d'impression est un doublon"
@@ -248,6 +197,5 @@
 #, python-format
 msgid "Duplicate print jobs are not allowed on printer %s."
-msgstr ""
-"Les travaux d'impression en double ne sont pas autoris�sur l'imprimante %s."
+msgstr "Les travaux d'impression en double ne sont pas autorisés sur l'imprimante %s."
 
 msgid "Subprocess denied printing of a dupe"
@@ -256,10 +204,8 @@
 #, python-format
 msgid "Duplicate print jobs are not allowed on printer %s at this time."
-msgstr ""
-"Les travaux d'impression en double ne sont pas autoris�sur l'imprimante %s "
-"pour l'instant."
+msgstr "Les travaux d'impression en double ne sont pas autorisés sur l'imprimante %s pour l'instant."
 
 msgid "Subprocess allowed printing of a dupe"
-msgstr "Un sous-processus a autoris�'impression d'un travail en double"
+msgstr "Un sous-processus a autorisé l'impression d'un travail en double"
 
 #, python-format
@@ -273,5 +219,5 @@
 "\n"
 "\n"
-"Votre administrateur syst� :\n"
+"Votre administrateur système :\n"
 "\n"
 "\t%s - <%s>\n"
@@ -286,32 +232,25 @@
 #, python-format
 msgid "Impossible to send mail to %s, error %s : %s"
-msgstr "Impossible d'envoyer un message �s, erreur %s : %s"
+msgstr "Impossible d'envoyer un message à %s, erreur %s : %s"
 
 #, python-format
 msgid "Problem when sending mail : %s"
-msgstr "Probl� pendant l'envoi d'un message �ctronique : %s"
+msgstr "Problème pendant l'envoi d'un message électronique : %s"
 
 msgid "Job contains no data. Printing is denied."
-msgstr ""
-"Le travail d'impression ne contient aucune donn� L'impression est rejet�"
+msgstr "Le travail d'impression ne contient aucune donnée. L'impression est rejetée."
 
 msgid "Error in external policy script. Printing is denied."
-msgstr "Erreur dans le script de r�e externe. Impression interdite."
-
-#, python-format
-msgid ""
-"Still no print quota entry for user %s on printer %s after external policy. "
-"Printing is denied."
-msgstr ""
-"Toujours pas d'entr�de quota d'impression pour l'utilisateur %s sur "
-"l'imprimante %s apr�la r�e externe. Impression interdite."
+msgstr "Erreur dans le script de règle externe. Impression interdite."
+
+#, python-format
+msgid "Still no print quota entry for user %s on printer %s after external policy. Printing is denied."
+msgstr "Toujours pas d'entrée de quota d'impression pour l'utilisateur %s sur l'imprimante %s après la règle externe. Impression interdite."
 
 msgid "Printing is denied by printer policy."
-msgstr "Impression interdite par la r�e de l'imprimante."
+msgstr "Impression interdite par la règle de l'imprimante."
 
 msgid "Job allowed by printer policy. No accounting will be done."
-msgstr ""
-"Travail autoris�ar la r�e de cette imprimante. Aucun d�mpte ne sera "
-"effectu�
+msgstr "Travail autorisé par la règle de cette imprimante. Aucun décompte ne sera effectué."
 
 #, python-format
@@ -321,11 +260,9 @@
 #, python-format
 msgid "Precomputed job size (%s pages) too large for printer %s."
-msgstr "Taille pr�lcul�(%s pages) trop grosse pour l'imprimante %s."
+msgstr "Taille précalculée (%s pages) trop grosse pour l'imprimante %s."
 
 #, python-format
 msgid "You are not allowed to print so many pages on printer %s at this time."
-msgstr ""
-"Vous n'avez pas le droit d'imprimer autant de pages sur l'imprimante %s pour "
-"l'instant."
+msgstr "Vous n'avez pas le droit d'imprimer autant de pages sur l'imprimante %s pour l'instant."
 
 #, python-format
@@ -334,11 +271,9 @@
 
 msgid "Your account settings forbid you to print at this time."
-msgstr ""
-"La configuration de votre compte vous interdit d'imprimer pour l'instant."
+msgstr "La configuration de votre compte vous interdit d'imprimer pour l'instant."
 
 #, python-format
 msgid "Print Quota exceeded for user %s on printer %s"
-msgstr ""
-"D�ssement de Quota d'Impression pour l'utilisateur %s sur l'imprimante %s"
+msgstr "Dépassement de Quota d'Impression pour l'utilisateur %s sur l'imprimante %s"
 
 #, python-format
@@ -347,38 +282,32 @@
 
 msgid "Job denied, no accounting will be done."
-msgstr "Travail rejet�aucun d�mpte ne sera effectu�
+msgstr "Travail rejeté, aucun décompte ne sera effectué."
 
 msgid "Job cancelled, no accounting will be done."
-msgstr "Travail annul�aucun d�mpte ne sera effectu�
+msgstr "Travail annulé, aucun décompte ne sera effectué."
 
 msgid "Job accounting begins."
-msgstr "D�t du d�mpte pour le travail d'impression."
+msgstr "Début du décompte pour le travail d'impression."
 
 msgid "Job denied, no accounting has been done."
-msgstr "Travail rejet�aucun d�mpte n'a � effectu�
+msgstr "Travail rejeté, aucun décompte n'a été effectué."
 
 msgid "Job cancelled, no accounting has been done."
-msgstr "Travail annul�aucun d�mpte n'a � effectu�
+msgstr "Travail annulé, aucun décompte n'a été effectué."
 
 msgid "Job accounting ends."
-msgstr "Fin du d�mpte pour le travail d'impression."
-
-msgid ""
-"Job size forced to 0 because the real CUPS backend failed. No accounting "
-"will be done."
-msgstr ""
-"Taille du travail forc�� car le vrai backend CUPS a failli. Aucun "
-"d�mpte ne sera effectu�
+msgstr "Fin du décompte pour le travail d'impression."
+
+msgid "Job size forced to 0 because the real CUPS backend failed. No accounting will be done."
+msgstr "Taille du travail forcée à 0 car le vrai backend CUPS a failli. Aucun décompte ne sera effectué."
 
 msgid "The real CUPS backend failed, but the job will be accounted for anyway."
-msgstr ""
-"Le vrai backend CUPS a failli, mais le travail sera d�mpt�uand m�."
+msgstr "Le vrai backend CUPS a failli, mais le travail sera décompté quand même."
 
 msgid "Job size forced to 0 because printing is denied."
-msgstr ""
-"Taille du travail d'impression forc�� car l'impression est rejet�"
+msgstr "Taille du travail d'impression forcée à 0 car l'impression est rejetée."
 
 msgid "Job size forced to 0 because printing was cancelled."
-msgstr "Taille du travail forc�� car l'impression a � annul�"
+msgstr "Taille du travail forcée à 0 car l'impression a été annulée."
 
 #, python-format
@@ -388,25 +317,24 @@
 #, python-format
 msgid "User %s's quota on printer %s won't be modified"
-msgstr "Le quota de l'utilisateur %s sur l'imprimante %s ne sera pas modifi�
+msgstr "Le quota de l'utilisateur %s sur l'imprimante %s ne sera pas modifié"
+
 #, python-format
 msgid "Updating user %s's quota on printer %s"
-msgstr "Mise �our du quota de l'utilisateur %s sur l'imprimante %s"
+msgstr "Mise à jour du quota de l'utilisateur %s sur l'imprimante %s"
 
 msgid "Job added to history."
-msgstr "Travail d'impression ajout� l'historique."
+msgstr "Travail d'impression ajouté à l'historique."
 
 #, python-format
 msgid "Billing code %s was updated."
-msgstr "Le code de facturation %s a � modifi�
+msgstr "Le code de facturation %s a été modifié."
 
 #, python-format
 msgid "Incorrect value for the 'onbackenderror' directive in section [%s]"
-msgstr ""
-"Valeur incorrecte pour la directive 'onbackenderror' dans la section [%s]"
+msgstr "Valeur incorrecte pour la directive 'onbackenderror' dans la section [%s]"
 
 #, python-format
 msgid "The real backend produced an error, we will try again in %s seconds."
-msgstr ""
-"Le vrai backend a produit une erreur, nous r�saierons dans %s secondes."
+msgstr "Le vrai backend a produit une erreur, nous réessaierons dans %s secondes."
 
 #, python-format
@@ -466,6 +394,5 @@
 "  -O | --orderby exp   Change the ordering or result. 'exp' is a comma\n"
 "                       separated list of ordering statements, for example\n"
-"                       '--orderby +username,-printername'. Not all "
-"expression\n"
+"                       '--orderby +username,-printername'. Not all expression\n"
 "                       values are meaningful, so using this command line \n"
 "                       switch is not recommanded if you don't know the \n"
@@ -500,12 +427,10 @@
 "    YYYYMMDDhhmm : minute boundaries\n"
 "    YYYYMMDDhhmmss : second boundaries\n"
-"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-"
-"15)\n"
+"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-15)\n"
 "    today[+-NbDays] : today more or less N days (e.g. : today-15)\n"
 "    tomorrow[+-NbDays] : tomorrow more or less N days (e.g. : tomorrow-15)\n"
 "    now[+-NbDays] : now more or less N days (e.g. now-15)\n"
 "\n"
-"  'now' and 'today' are not exactly the same since today represents the "
-"first\n"
+"  'now' and 'today' are not exactly the same since today represents the first\n"
 "  or last second of the day depending on if it's used in a start= or end=\n"
 "  date expression. The utility to be able to specify dates in the future is\n"
@@ -540,5 +465,5 @@
 "dumpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Exporte le contenu de la base de donn� de PyKota.\n"
+"Exporte le contenu de la base de données de PyKota.\n"
 "\n"
 "ligne de commande :\n"
@@ -551,6 +476,6 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -d | --data type     Exporte les donn� de type 'type'.\n"
-"                       Les types autoris�sont :\n"
+"  -d | --data type     Exporte les données de type 'type'.\n"
+"                       Les types autorisés sont :\n"
 "                       \n"
 "                         - history : exporte l'historique des travaux.\n"
@@ -566,5 +491,5 @@
 "                                      d'utilisateurs.\n"
 "                         - billingcodes : exporte les codes de facturation.\n"
-"                         - all : exporte toutes les donn� de PyKota.\n"
+"                         - all : exporte toutes les données de PyKota.\n"
 "                                 le format de sortie est toujours XML\n"
 "                                 dans ce cas.\n"
@@ -573,46 +498,40 @@
 "                       OBLIGATOIRE.\n"
 "  \n"
-"  -f | --format fmt    Exporte les donn� dans le format 'fmt' sp�fi�n"
-"                       Si non pr�s�le format sera csv (champs s�r�n"
+"  -f | --format fmt    Exporte les données dans le format 'fmt' spécifié.\n"
+"                       Si non précisé, le format sera csv (champs séparés\n"
 "                       par des virgules).\n"
-"                       Toutes les donn� sont export� entre double "
-"quotes.\n"
-"                       Les formats autoris�sont :\n"
-"                       \n"
-"                         - csv : donn� s�r� par des virgules\n"
-"                         - ssv : donn� s�r� par des point-virgules\n"
-"                         - tsv : donn� s�r�par des tabulations\n"
-"                         - xml : donn� export� au format XML\n"
-"                         - cups : donn� export� au format page_log\n"
+"                       Toutes les données sont exportées entre double quotes.\n"
+"                       Les formats autorisés sont :\n"
+"                       \n"
+"                         - csv : données séparées par des virgules\n"
+"                         - ssv : données séparées par des point-virgules\n"
+"                         - tsv : données séparés par des tabulations\n"
+"                         - xml : données exportées au format XML\n"
+"                         - cups : données exportées au format page_log\n"
 "                                  de CUPS : DISPONIBLE SEULEMENT\n"
 "                                            AVEC --data history\n"
 "                         \n"
-"  -o | --output nomf   Toutes les donn� seront export� vers un fichier\n"
-"                       plut�ue vers la sortie standard. Le nom sp�al "
-"'-'\n"
-"                       est la valeur par d�ut indiquant la sortie "
-"standard.\n"
-"                       ATTENTION : les fichiers existants sont tronqu�!\n"
-"\n"
-"  -O | --orderby exp   Change l'ordre des r�ltats. 'exp' est une liste\n"
-"                       s�r�par des virgules d'instructions de tri, par\n"
+"  -o | --output nomf   Toutes les données seront exportées vers un fichier\n"
+"                       plutôt que vers la sortie standard. Le nom spécial '-'\n"
+"                       est la valeur par défaut indiquant la sortie standard.\n"
+"                       ATTENTION : les fichiers existants sont tronqués !\n"
+"\n"
+"  -O | --orderby exp   Change l'ordre des résultats. 'exp' est une liste\n"
+"                       séparée par des virgules d'instructions de tri, par\n"
 "                       exemple '--orderby +username,-printername'. Seules\n"
-"                       certaines expressions on un sens, aussi utiliser "
-"cette\n"
-"                       option de ligne de commande n'est pas conseill�i\n"
-"                       vous ne connaissez pas la structure exacte de la "
-"base\n"
-"                       de donn� de PyKota.\n"
-"                       \n"
-"  -s | --sum           Effectue la somme des donn� s�ctionn�.\n"
-"                         DISPONIBLE SEULEMENT AVEC --data history ou "
-"payments\n"
+"                       certaines expressions on un sens, aussi utiliser cette\n"
+"                       option de ligne de commande n'est pas conseillé si\n"
+"                       vous ne connaissez pas la structure exacte de la base\n"
+"                       de données de PyKota.\n"
+"                       \n"
+"  -s | --sum           Effectue la somme des données sélectionnées.\n"
+"                         DISPONIBLE SEULEMENT AVEC --data history ou payments\n"
 "\n"
 "  Utilisez les expressions de filtrage pour extraire seulement certaines \n"
-"  parties des donn�. Les filtres autoris�sont de la forme :\n"
+"  parties des données. Les filtres autorisés sont de la forme :\n"
 "                \n"
-"         cl�aleur\n"
+"         clé=valeur\n"
 "                         \n"
-"  Les cl�autoris� pour l'instant sont : \n"
+"  Les clés autorisées pour l'instant sont : \n"
 "                       \n"
 "         username       Nom de l'utilisateur\n"
@@ -620,5 +539,5 @@
 "         printername    Nom de l'imprimante\n"
 "         pgroupname     Nom du groupe d'imprimantes\n"
-"         hostname       Nom d'h�de la machine cliente\n"
+"         hostname       Nom d'hôte de la machine cliente\n"
 "         jobid          Id du travail d'impression\n"
 "         billingcode    Code de facturation du travail d'impression\n"
@@ -626,7 +545,7 @@
 "         end            Date du travail d'impression\n"
 "         \n"
-"  Formatage des dates avec les cl�'start' et 'end' :\n"
-"  \n"
-"    AAAA : limites d'ann�n"
+"  Formatage des dates avec les clés 'start' et 'end' :\n"
+"  \n"
+"    AAAA : limites d'année\n"
 "    AAAAMM : limites de mois\n"
 "    AAAAMMJJ : limites de jour\n"
@@ -639,17 +558,16 @@
 "    now[+-NbJours] : maintenant plus ou moins N jours (ex : now-15)\n"
 "\n"
-"  'now' et 'today' ne sont pas exactement identiques car today repr�nte\n"
-"  la premi� ou la derni� seconde du jour selon qu'il soit utilis�vec\n"
+"  'now' et 'today' ne sont pas exactement identiques car today représente\n"
+"  la première ou la dernière seconde du jour selon qu'il soit utilisé avec\n"
 "  une expression de type start= ou end=.\n"
-"  L'utilit�e pouvoir sp�fier une date dans le future est une question\n"
+"  L'utilité de pouvoir spécifier une date dans le future est une question\n"
 "  qui reste ouverte :-)\n"
 "\n"
-"  Contrairement aux autres outils d'administration de PyKota, les "
-"caract�s\n"
-"  jokers ne sont pas expans� aussi vous ne pouvez pas les utiliser.\n"
-"  \n"
-"  NB : toutes les cl�ne sont pas autoris� pour chaque type de donn�, \n"
-"  aussi le r�ltat peut �e vide si vous utilisez une cl�ndisponible \n"
-"  pour un type de donn� particulier.\n"
+"  Contrairement aux autres outils d'administration de PyKota, les caractères\n"
+"  jokers ne sont pas expansés, aussi vous ne pouvez pas les utiliser.\n"
+"  \n"
+"  NB : toutes les clés ne sont pas autorisées pour chaque type de données, \n"
+"  aussi le résultat peut être vide si vous utilisez une clé indisponible \n"
+"  pour un type de données particulier.\n"
 "  \n"
 "Exemples :\n"
@@ -657,10 +575,10 @@
 "  $ dumpykota --data history --format csv >monfichier.csv\n"
 "  \n"
-"  Ceci va exporter l'historique dans un fichier �hamps s�r�par des\n"
-"  virgules, par exemple pour r�portation dans un tableur.\n"
+"  Ceci va exporter l'historique dans un fichier à champs séparés par des\n"
+"  virgules, par exemple pour réimportation dans un tableur.\n"
 "  \n"
 "  $ dumpykota --data users --format xml -o util.xml\n"
 "  \n"
-"  Exporte toutes les donn� des utilisateurs dans le fichier util.xml\n"
+"  Exporte toutes les données des utilisateurs dans le fichier util.xml\n"
 "  \n"
 "  $ dumpykota --data history printername=HP2100 username=jerome\n"
@@ -671,10 +589,9 @@
 "  $ dumpykota --data history start=200503 end=20050730234615\n"
 "  \n"
-"  Exporte tous les travaux imprim�entre le 1er Mars 2005 �inuit et\n"
-"  le 30 Juillet 2005 �3 heures 46 minutes et 15 secondes inclus.\n"
+"  Exporte tous les travaux imprimés entre le 1er Mars 2005 à minuit et\n"
+"  le 30 Juillet 2005 à 23 heures 46 minutes et 15 secondes inclus.\n"
 
 msgid "The -d | --data command line option is mandatory, see help."
-msgstr ""
-"L'option de ligne de commande -d | --data est obligatoire, voir l'aide."
+msgstr "L'option de ligne de commande -d | --data est obligatoire, voir l'aide."
 
 #, python-format
@@ -730,6 +647,5 @@
 "                       edpykota to not modify existing print quota entries.\n"
 "                       \n"
-"  -S | --softlimit sl  Sets the quota soft limit to sl "
-"pages.                       \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"
@@ -740,16 +656,12 @@
 "\n"
 "  -U | --used u        Sets the page counters for the user u pages on\n"
-"                       the selected printers. Doesn't work for groups, "
-"since\n"
-"                       their page counters are the sum of all their "
-"members'\n"
+"                       the selected printers. Doesn't work for groups, since\n"
+"                       their page counters are the sum of all their members'\n"
 "                       page counters.\n"
 "                       Useful for migrating users from a different system\n"
 "                       where they have already used some pages. Actual\n"
-"                       and Life Time page counters may be increased or "
-"decreased\n"
+"                       and Life Time page counters may be increased or decreased\n"
 "                       if u is prefixed with + or -.\n"
-"                       WARNING : BOTH page counters are modified in all "
-"cases,\n"
+"                       WARNING : BOTH page counters are modified in all cases,\n"
 "                       so be careful.\n"
 "                       NB : if u equals '0', then the action taken is\n"
@@ -803,5 +715,5 @@
 "edpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Un �teur de quotas pour PyKota.\n"
+"Un éditeur de quotas pour PyKota.\n"
 "\n"
 "ligne de commande :\n"
@@ -816,80 +728,70 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "\n"
-"  -a | --add           Ajoute des entr� de quota d'impression de groupes\n"
-"                       ou d'utilisateurs si elles n'existent pas d� dans\n"
-"                       la base de donn�.\n"
-"                       \n"
-"  -d | --delete        Efface des entr� de quota d'impression de groupes\n"
+"  -a | --add           Ajoute des entrées de quota d'impression de groupes\n"
+"                       ou d'utilisateurs si elles n'existent pas déjà dans\n"
+"                       la base de données.\n"
+"                       \n"
+"  -d | --delete        Efface des entrées de quota d'impression de groupes\n"
 "                       ou d'utilisateurs.\n"
-"                       Les utilisateurs ou les groupes eux-m�s ne sont\n"
-"                       jamais effac� vous devez utiliser la commande\n"
+"                       Les utilisateurs ou les groupes eux-mêmes ne sont\n"
+"                       jamais effacés, vous devez utiliser la commande\n"
 "                       pkusers pour les effacer.\n"
-"                       L'historique sera purg�e tous les travaux qui\n"
-"                       correspondent sauf si -g | --groups est utilis�n"
-"\n"
-"  -P | --printer p     Edite les quotas seulement sur l'imprimante P. En "
-"fait\n"
-"                       P peut contenir des caract�s jokers pour ne "
-"prendre\n"
+"                       L'historique sera purgé de tous les travaux qui\n"
+"                       correspondent sauf si -g | --groups est utilisé.\n"
+"\n"
+"  -P | --printer p     Edite les quotas seulement sur l'imprimante P. En fait\n"
+"                       P peut contenir des caractères jokers pour ne prendre\n"
 "                       en compte que certaines imprimantes. La valeur par\n"
-"                       d�ut est * qui signifie toutes les imprimantes.\n"
-"                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
-"\n"
-"  -g | --groups        Edite les entr� de quotas de groupes au lieu de\n"
+"                       défaut est * qui signifie toutes les imprimantes.\n"
+"                       Vous pouvez spécifier plusieurs noms ou jokers,\n"
+"                       en les séparant avec des virgules.\n"
+"\n"
+"  -g | --groups        Edite les entrées de quotas de groupes au lieu de\n"
 "                       celles des utilisateurs.\n"
 "\n"
-"  -L | --list          Liste les entr� de quotas d'impression de groupes\n"
+"  -L | --list          Liste les entrées de quotas d'impression de groupes\n"
 "                       ou d'utilisateurs.\n"
 "\n"
-"  -n | --noquota       Positionne �a fois les limites souples et dures\n"
-"                       �one pour les entr� de groupes ou "
-"d'utilisateurs.\n"
-"\n"
-"  -r | --reset         Remet �� le compteur de pages actuel de\n"
+"  -n | --noquota       Positionne à la fois les limites souples et dures\n"
+"                       à None pour les entrées de groupes ou d'utilisateurs.\n"
+"\n"
+"  -r | --reset         Remet à zéro le compteur de pages actuel de\n"
 "                       l'utilisateur ou du groupe sur les imprimantes\n"
-"                       sp�fi�. Le compteur '�rnel' reste inchang�n"
-"\n"
-"  -R | --hardreset     Remet �� les compteurs de pages actuels et\n"
-"                       '�rnel' pour l'utilisateur ou le groupe sur les\n"
-"                       imprimantes sp�fi�. C'est un raccourci pour\n"
+"                       spécifiées. Le compteur 'éternel' reste inchangé.\n"
+"\n"
+"  -R | --hardreset     Remet à zéro les compteurs de pages actuels et\n"
+"                       'éternel' pour l'utilisateur ou le groupe sur les\n"
+"                       imprimantes spécifiées. C'est un raccourci pour\n"
 "                       '--used 0'.\n"
 "\n"
-"  -s | --skipexisting  Combin�vec l'option --add ci-dessus, indique �"
-"                       edpykota de ne pas modifier les entr� de quota\n"
-"                       d'impression d� existantes.\n"
-"\n"
-"  -S | --softlimit ls  Positionne la limite souple �s pages.\n"
-"\n"
-"  -H | --hardlimit ld  Positionne la limite dure �d pages.\n"
-"\n"
-"  -I | --increase v    Incr�nte les limites souples et dures existantes\n"
-"                       de la valeur de v. Vous pouvez pr�xer v avec + ou "
-"-,\n"
-"                       Si aucun signe n'est pr�nt, + est utilis�n"
-"\n"
-"  -U | --used u        Positionne les compteurs de pages � pages pour\n"
-"                       l'utilisateur sur les imprimantes sp�fi�. Ne\n"
+"  -s | --skipexisting  Combiné avec l'option --add ci-dessus, indique à\n"
+"                       edpykota de ne pas modifier les entrées de quota\n"
+"                       d'impression déjà existantes.\n"
+"\n"
+"  -S | --softlimit ls  Positionne la limite souple à ls pages.\n"
+"\n"
+"  -H | --hardlimit ld  Positionne la limite dure à ld pages.\n"
+"\n"
+"  -I | --increase v    Incrémente les limites souples et dures existantes\n"
+"                       de la valeur de v. Vous pouvez préfixer v avec + ou -,\n"
+"                       Si aucun signe n'est présent, + est utilisé.\n"
+"\n"
+"  -U | --used u        Positionne les compteurs de pages à u pages pour\n"
+"                       l'utilisateur sur les imprimantes spécifiées. Ne\n"
 "                       fonctionne pas pour les groupes car leurs compteurs\n"
-"                       de pages sont la somme des compteurs de pages de "
-"tous\n"
+"                       de pages sont la somme des compteurs de pages de tous\n"
 "                       leurs membres.\n"
-"                       Utile pour migrer des utilisateurs depuis un "
-"logiciel\n"
-"                       diff�nt dans lequel ils ont d� imprim�uelques\n"
-"                       pages. Les compteurs actuel et '�rnel' peuvent "
-"�e\n"
-"                       incr�nt�ou d��nt�si u est pr�d�'un "
-"signe\n"
+"                       Utile pour migrer des utilisateurs depuis un logiciel\n"
+"                       différent dans lequel ils ont déjà imprimé quelques\n"
+"                       pages. Les compteurs actuel et 'éternel' peuvent être\n"
+"                       incrémentés ou décrémentés si u est précédé d'un signe\n"
 "                       + ou -.\n"
-"                       ATTENTION : les deux compteurs de pages sont "
-"modifi�n"
-"                       dans tous les cas, donc prenez vos pr�utions.\n"
-"                       NB : si u est �l �0', alors l'action effectu�"
-"est\n"
-"                       la m� que si --hardreset �it utilis�n"
-"\n"
-"  utilisateur1 �tilisateurN et groupe1 �roupeN peuvent contenir des\n"
-"  jokers si l'option --add n'est pas utilis�\n"
+"                       ATTENTION : les deux compteurs de pages sont modifiés\n"
+"                       dans tous les cas, donc prenez vos précautions.\n"
+"                       NB : si u est égal à '0', alors l'action effectuée est\n"
+"                       la même que si --hardreset était utilisé.\n"
+"\n"
+"  utilisateur1 à utilisateurN et groupe1 à groupeN peuvent contenir des\n"
+"  jokers si l'option --add n'est pas utilisée.\n"
 "\n"
 "exemples :\n"
@@ -897,53 +799,50 @@
 "  $ edpykota --add john paul george ringo\n"
 "\n"
-"  Ceci va cr� des entr� de quota d'impression pour les utilisateurs\n"
+"  Ceci va créer des entrées de quota d'impression pour les utilisateurs\n"
 "  john, paul, george et ringo sur toutes les imprimantes. Aucune limite\n"
-"  ne sera positionn�pour ces entr�.\n"
+"  ne sera positionnée pour ces entrées.\n"
 "\n"
 "  $ edpykota --printer lp -S 50 -H 60 jerome\n"
 "\n"
-"  Ceci va positionner le quota d'impression de jerome �ne limite souple\n"
-"  de 50 pages, et une limite dure de 60 pages sur l'imprimante lp. A la "
-"fois\n"
-"  l'utilisateur jerome et l'imprimante lp devront avoir � cr� "
-"auparavant\n"
+"  Ceci va positionner le quota d'impression de jerome à une limite souple\n"
+"  de 50 pages, et une limite dure de 60 pages sur l'imprimante lp. A la fois\n"
+"  l'utilisateur jerome et l'imprimante lp devront avoir été créés auparavant\n"
 "  avec les commandes pkusers et pkprinters, respectivement.\n"
 "\n"
 "  $ edpykota -g -S 500 -H 550 finance technique\n"
 "\n"
-"  Ceci va positionner la limite souple �00 pages et la limite dure �50\n"
+"  Ceci va positionner la limite souple à 500 pages et la limite dure à 550\n"
 "  pages pour les groupes finance et technique sur toutes les imprimantes.\n"
 "\n"
 "  $ edpykota --reset jerome \"jo*\"\n"
 "\n"
-"  Ceci va remettre �� le compteur de pages actuel sur toutes les\n"
+"  Ceci va remettre à zéro le compteur de pages actuel sur toutes les\n"
 "  imprimantes pour l'utilisateur jerome et pour tous les utilisateurs dont\n"
 "  le nom commence par 'jo'.\n"
-"  Leur compteur de pages '�rnel' sur chaque imprimante sera pr�rv�n"
-"  Vous pouvez aussi remettre �� le compteur de pages '�rnel' en\n"
+"  Leur compteur de pages 'éternel' sur chaque imprimante sera préservé.\n"
+"  Vous pouvez aussi remettre à zéro le compteur de pages 'éternel' en\n"
 "  utilisant l'option de ligne de commande --hardreset | -R.\n"
 "\n"
 "  $ edpykota --printer hpcolor --noquota jerome\n"
 "\n"
-"  Ceci va indiquer �yKota de ne pas limiter jerome lorsqu'il imprime\n"
-"  sur l'imprimante hpcolor. Tous ses travaux seront autoris�sur cette\n"
-"  imprimante, mais un d�mpte sera quand m� effectu�n"
+"  Ceci va indiquer à PyKota de ne pas limiter jerome lorsqu'il imprime\n"
+"  sur l'imprimante hpcolor. Tous ses travaux seront autorisés sur cette\n"
+"  imprimante, mais un décompte sera quand même effectué.\n"
 "  Les quotas d'impressions de jerome sur les autres imprimantes ne sont\n"
-"  pas modifi�\n"
+"  pas modifiés.\n"
 "\n"
 "  $ edpykota --delete --printer \"HP*,XER*\" jerome rachel\n"
 "\n"
-"  Ceci va effacer toutes les entr� de quotas d'impression des "
-"utilisateurs\n"
+"  Ceci va effacer toutes les entrées de quotas d'impression des utilisateurs\n"
 "  jerome et rachel sur toutes les imprimantes dont le nom commence par 'HP'\n"
-"  ou 'XER'. Les travaux imprim�par ces utilisateurs sur ces imprimantes\n"
-"  seront effac�de l'historique.\n"
+"  ou 'XER'. Les travaux imprimés par ces utilisateurs sur ces imprimantes\n"
+"  seront effacés de l'historique.\n"
 
 #, python-format
 msgid "You can't set negative limits for %s"
-msgstr "Vous ne pouvez pas indiquer de limites n�tives pour %s"
+msgstr "Vous ne pouvez pas indiquer de limites négatives pour %s"
 
 msgid "Extracting datas"
-msgstr "Extraction des donn�"
+msgstr "Extraction des données"
 
 #, python-format
@@ -953,5 +852,5 @@
 #, python-format
 msgid "Lifetime page counter : %s"
-msgstr "Compteur de pages �rnel : %s"
+msgstr "Compteur de pages éternel : %s"
 
 #, python-format
@@ -977,5 +876,5 @@
 #, python-format
 msgid "Warning banners printed : %s"
-msgstr "Banni�s d'avertissement imprim� : %s"
+msgstr "Bannières d'avertissement imprimées : %s"
 
 msgid "Deletion"
@@ -984,9 +883,9 @@
 #, python-format
 msgid "Invalid used value %s."
-msgstr "Valeur %s invalide pour le nombre de pages utilis�."
+msgstr "Valeur %s invalide pour le nombre de pages utilisées."
 
 #, python-format
 msgid "Invalid increase value %s."
-msgstr "Valeur d'incr�nt %s invalide."
+msgstr "Valeur d'incrément %s invalide."
 
 #, python-format
@@ -1000,26 +899,20 @@
 #, python-format
 msgid "Hard limit %i is less than soft limit %i, values will be exchanged."
-msgstr ""
-"Limite dure %i est inf�eure �a limite souple %i, les valeurs seront "
-"�ang�. "
+msgstr "Limite dure %i est inférieure à la limite souple %i, les valeurs seront échangées. "
 
 #, python-format
 msgid "Undefined hard limit set to soft limit (%s)."
-msgstr ""
-"Valeur de limite dure non d�nie, positionn� �a limite souple (%s)."
+msgstr "Valeur de limite dure non définie, positionnées à la limite souple (%s)."
 
 #, python-format
 msgid "Undefined soft limit set to hard limit (%s)."
-msgstr ""
-"Valeur de limite souple non d�nie, positionn� �a limite dure (%s)."
+msgstr "Valeur de limite souple non définie, positionnées à la limite dure (%s)."
 
 msgid "Creation"
-msgstr "Cr�ion"
+msgstr "Création"
 
 #, python-format
 msgid "No entry matches %s. Please use pkusers to create them first."
-msgstr ""
-"Aucune entr�ne correspond �s. Merci d'utiliser pkusers pour les cr� au "
-"pr�able."
+msgstr "Aucune entrée ne correspond à %s. Merci d'utiliser pkusers pour les créer au préalable."
 
 msgid "Modification"
@@ -1030,7 +923,5 @@
 
 msgid "You have to pass user or group names on the command line"
-msgstr ""
-"Vous devez passer des noms d'utilisateurs ou de groupes sur la ligne de "
-"commande"
+msgstr "Vous devez passer des noms d'utilisateurs ou de groupes sur la ligne de commande"
 
 #, python-format
@@ -1086,5 +977,5 @@
 "repykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"G�re des rapports de quotas d'impression.\n"
+"Génère des rapports de quotas d'impression.\n"
 "\n"
 "ligne de commande :\n"
@@ -1097,21 +988,20 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -u | --users         G�re un rapport sur les quotas des utilisateurs,\n"
-"                       c'est la valeur par d�ut.\n"
-"  \n"
-"  -g | --groups        G�re un rapport sur les quotas de groupes plut�"
+"  -u | --users         Génère un rapport sur les quotas des utilisateurs,\n"
+"                       c'est la valeur par défaut.\n"
+"  \n"
+"  -g | --groups        Génère un rapport sur les quotas de groupes plutôt\n"
 "                       que sur ceux des utilisateurs.\n"
 "  \n"
-"  -i | --ingroups g1[,g2...]  Liste seulement les utilisateurs membres de "
-"ces\n"
-"                              groupes. Reserv�ux Administrateurs PyKota\n"
+"  -i | --ingroups g1[,g2...]  Liste seulement les utilisateurs membres de ces\n"
+"                              groupes. Reservé aux Administrateurs PyKota\n"
 "  \n"
 "  -P | --printer p     Renvoie les quotas pour cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers pour\n"
-"                       s�ctionner certaines imprimantes seulement.\n"
-"                       La valeur par d�ut est *, qui signifie de v�fier\n"
+"                       En fait p peut contenir des caractères jokers pour\n"
+"                       sélectionner certaines imprimantes seulement.\n"
+"                       La valeur par défaut est *, qui signifie de vérifier\n"
 "                       les quotas sur toutes les imprimantes.\n"
-"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
+"                       Vous pouvez préciser plusieurs noms ou jokers,\n"
+"                       en les séparant avec des virgules.\n"
 "\n"
 "exemples :                              \n"
@@ -1133,16 +1023,15 @@
 "  dont le nom commence par \"laser\" ou se termine par \"pson\".\n"
 "  \n"
-"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
-"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
-"  d'utilisateurs ou de groupes sont ignor� et un rapport traitant "
-"seulement\n"
-"  de l'utilisateur ou du groupe courant est g�r�n"
+"  Si cette commande est lancée par un utilisateur qui n'est pas un\n"
+"  administrateur PyKota, les arguments additionnels représentant des noms\n"
+"  d'utilisateurs ou de groupes sont ignorés, et un rapport traitant seulement\n"
+"  de l'utilisateur ou du groupe courant est généré.\n"
 
 msgid "Option --ingroups is reserved to PyKota Administrators."
-msgstr "L'option --ingroupes est r�rv�aux Administrateurs de PyKota."
+msgstr "L'option --ingroupes est réservée aux Administrateurs de PyKota."
 
 #, python-format
 msgid "There's no printer matching %s"
-msgstr "Aucune imprimante ne correspond �s"
+msgstr "Aucune imprimante ne correspond à %s"
 
 #, python-format
@@ -1197,5 +1086,5 @@
 "warnpykota v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Pr�ent les utilisateurs ayant atteint leurs limites.\n"
+"Prévient les utilisateurs ayant atteint leurs limites.\n"
 "\n"
 "ligne de commande :\n"
@@ -1208,18 +1097,17 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -u | --users         Pr�ent les utilisateur ayant atteint leurs "
-"limites,\n"
-"                       c'est la valeur par d�ult.\n"
-"  \n"
-"  -g | --groups        Pr�ent les utilisateurs dont les groupes auxquels\n"
+"  -u | --users         Prévient les utilisateur ayant atteint leurs limites,\n"
+"                       c'est la valeur par défault.\n"
+"  \n"
+"  -g | --groups        Prévient les utilisateurs dont les groupes auxquels\n"
 "                       ils appartiennent ont atteint leurs limites.\n"
 "  \n"
 "  -P | --printer p     Verifie les quotas sur cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers pour\n"
-"                       s�ctionner certaines imprimantes seulement.\n"
-"                       La valeur par d�ut est *, qui signifie de v�fier\n"
+"                       En fait p peut contenir des caractères jokers pour\n"
+"                       sélectionner certaines imprimantes seulement.\n"
+"                       La valeur par défaut est *, qui signifie de vérifier\n"
 "                       les quotas sur toutes les imprimantes.\n"
-"                       Vous pouvez pr�ser plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
+"                       Vous pouvez préciser plusieurs noms ou jokers,\n"
+"                       en les séparant avec des virgules.\n"
 "  \n"
 "exemples :\n"
@@ -1227,22 +1115,22 @@
 "  $ warnpykota --printer lp\n"
 "  \n"
-"  Ceci va pr�nir tous les utilisateurs ayant atteint leur limite sur\n"
+"  Ceci va prévenir tous les utilisateurs ayant atteint leur limite sur\n"
 "  l'imprimante lp.\n"
 "\n"
 "  $ warnpykota \n"
 "  \n"
-"  Ceci va pr�nir tous les utilisateurs ayant atteint leurs limites quelle\n"
+"  Ceci va prévenir tous les utilisateurs ayant atteint leurs limites quelle\n"
 "  que soit l'imprimanter.\n"
 "\n"
 "  $ warnpykota --groups --printer \"laserjet*\" \"dev*\"\n"
 "  \n"
-"  Ceci va pr�nir tous les membres des groupes dont les noms commencent\n"
+"  Ceci va prévenir tous les membres des groupes dont les noms commencent\n"
 "  par \"dev\" et qui ont atteints leurs limites sur toutes les imprimantes\n"
 "  dont le nom commence par \"laserjet\".\n"
 "  \n"
-"  Si cette commande est lanc�par un utilisateur qui n'est pas un\n"
-"  administrateur PyKota, les arguments additionnels repr�ntant des noms\n"
-"  d'utilisateurs ou de groupes sont ignor� et seulement l'utilisateur ou\n"
-"  le groupe courant est pr�nu.\n"
+"  Si cette commande est lancée par un utilisateur qui n'est pas un\n"
+"  administrateur PyKota, les arguments additionnels représentant des noms\n"
+"  d'utilisateurs ou de groupes sont ignorés, et seulement l'utilisateur ou\n"
+"  le groupe courant est prévenu.\n"
 
 #, python-format
@@ -1295,5 +1183,5 @@
 "pkbanner v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"G�re des banni�s.\n"
+"Génère des bannières.\n"
 "\n"
 "ligne de commande :\n"
@@ -1303,24 +1191,23 @@
 "options :\n"
 "\n"
-"  -v | --version       Affiche le num� de version de pkbanner et quitte.\n"
+"  -v | --version       Affiche le numéro de version de pkbanner et quitte.\n"
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -l | --logo img      Utilise l'image img comme logo pour la banni�.\n"
-"                       Le logo sera dessin�n haut et au centre de la "
-"page.\n"
-"                       Le logo par d�ut est\n"
+"  -l | --logo img      Utilise l'image img comme logo pour la bannière.\n"
+"                       Le logo sera dessiné en haut et au centre de la page.\n"
+"                       Le logo par défaut est\n"
 "                               /usr/share/pykota/logos/pykota.jpeg\n"
 "                       \n"
-"  -p | --pagesize sz   Positionne la taille de la page �z. La plupart des\n"
+"  -p | --pagesize sz   Positionne la taille de la page à sz. La plupart des\n"
 "                       tailles sont reconnues, comme 'A4' ou 'Letter' par\n"
-"                       exemple. La taille par d�ut est A4.\n"
-"  \n"
-"  -s | --savetoner s   Positionne le facteur de luminosit�u texte �%%.\n"
-"                       Cela peut �e utilis�our �nomiser du toner. La\n"
-"                       valeur par d�ut est 0, qui signifie qu'aucune\n"
-"                       �nomie de toner ne sera r�is�\n"
-"  \n"
-"  -u | --url u         Utilise u comme une url qui sera imprim�en base de\n"
-"                       la page banni�. L'url par d�ut est :\n"
+"                       exemple. La taille par défaut est A4.\n"
+"  \n"
+"  -s | --savetoner s   Positionne le facteur de luminosité du texte à s%%.\n"
+"                       Cela peut être utilisé pour économiser du toner. La\n"
+"                       valeur par défaut est 0, qui signifie qu'aucune\n"
+"                       économie de toner ne sera réalisée.\n"
+"  \n"
+"  -u | --url u         Utilise u comme une url qui sera imprimée en base de\n"
+"                       la page bannière. L'url par défaut est :\n"
 "                               http://www.pykota.com/\n"
 "  \n"
@@ -1328,5 +1215,5 @@
 "\n"
 "  L'utilisation directe de pkbanner depuis la ligne de commande n'est pas\n"
-"  conseill� sauf pour effectuer des tests. Vous devriez plut�tiliser\n"
+"  conseillée, sauf pour effectuer des tests. Vous devriez plutôt utiliser\n"
 "  pkbanner depuis les directives 'startingbanner' ou 'endingbanner' du\n"
 "  fichier pykota.conf\n"
@@ -1335,7 +1222,7 @@
 "  \n"
 "      Avec une telle configuration dans pykota.conf, tous les travaux\n"
-"      d'impression seront pr�d�d'une banni� au format A4 sans logo,\n"
-"      et la luminosit�u texte sera accrue de 75%%. La sortie PostScript\n"
-"      de cette commande sera directement envoy��otre imprimante.\n"
+"      d'impression seront précédés d'une bannière au format A4 sans logo,\n"
+"      et la luminosité du texte sera accrue de 75%%. La sortie PostScript\n"
+"      de cette commande sera directement envoyée à votre imprimante.\n"
 "      \n"
 "  Vous trouverez plus d'exemples dans le fichier de configuration exemple\n"
@@ -1358,17 +1245,20 @@
 
 msgid "Allowed"
-msgstr "Autoris�
+msgstr "Autorisé"
+
 msgid "Denied"
-msgstr "Rejet�
+msgstr "Rejeté"
+
 msgid "Allowed with Warning"
-msgstr "Autoris�vec Avertissement"
+msgstr "Autorisé avec Avertissement"
 
 msgid "Problem"
-msgstr "Probl�"
+msgstr "Problème"
 
 msgid "Cancelled"
-msgstr "Annul�
+msgstr "Annulé"
+
 msgid "Result"
-msgstr "R�ltat"
+msgstr "Résultat"
 
 msgid "Title"
@@ -1380,5 +1270,5 @@
 #, python-format
 msgid "Pages printed so far on %s"
-msgstr "Pages d� imprim� sur %s"
+msgstr "Pages déjà imprimées sur %s"
 
 msgid "Account balance"
@@ -1398,5 +1288,5 @@
 
 msgid "No Accounting"
-msgstr "Aucun D�mpte"
+msgstr "Aucun Décompte"
 
 msgid "Forbidden"
@@ -1479,36 +1369,30 @@
 "options :\n"
 "\n"
-"  -v | --version       Affiche le num� de version de pkbcodes et quitte.\n"
+"  -v | --version       Affiche le numéro de version de pkbcodes et quitte.\n"
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -a | --add           Ajoute les codes de facturations s'ils n'existent "
-"pas\n"
-"                       d� dans la base de donn� de PyKota.\n"
-"                       S'ils existent d�, ils sont modifi�sauf si vous\n"
+"  -a | --add           Ajoute les codes de facturations s'ils n'existent pas\n"
+"                       déjà dans la base de données de PyKota.\n"
+"                       S'ils existent déjà, ils sont modifiés sauf si vous\n"
 "                       utilisez aussi -s|--skipexisting.\n"
 "\n"
-"  -d | --delete        Efface les codes de facturation de la base de "
-"donn�\n"
+"  -d | --delete        Efface les codes de facturation de la base de données\n"
 "                       de PyKota.\n"
-"                       NB : les entr� de l'historique correspondant �es\n"
+"                       NB : les entrées de l'historique correspondant à ces\n"
 "                       codes de facturation ne sont volontairement pas\n"
-"                       effac�.\n"
-"\n"
-"  -D | --description d Ajoute un texte descriptif �n code de facturation.\n"
+"                       effacées.\n"
+"\n"
+"  -D | --description d Ajoute un texte descriptif à un code de facturation.\n"
 "\n"
 "  -l | --list          Liste les informations sur les codes de facturation.\n"
 "\n"
-"  -r | --reset         R�itialise � le solde et le compteur de pages "
-"des\n"
+"  -r | --reset         Réinitialise à 0 le solde et le compteur de pages des\n"
 "                       codes de facturation.\n"
 "\n"
-"  -s | --skipexisting  Combin� l'option --add ci-dessus, indique �
-"pkbcodes\n"
-"                       de ne pas modifier les codes de facturation "
-"existants.\n"
-"\n"
-"  Les codes de facturation peuvent contenir des caract�s jokers si "
-"l'option\n"
-"  --add n'est pas utilis�\n"
+"  -s | --skipexisting  Combiné à l'option --add ci-dessus, indique à pkbcodes\n"
+"                       de ne pas modifier les codes de facturation existants.\n"
+"\n"
+"  Les codes de facturation peuvent contenir des caractères jokers si l'option\n"
+"  --add n'est pas utilisée.\n"
 "\n"
 "exemples :                              \n"
@@ -1516,24 +1400,22 @@
 "  $ pkbcodes --add -D \"Mon projet\" monproj\n"
 "\n"
-"  Va cr� le code de facturation monproj avec \"Mon projet\"\n"
+"  Va créer le code de facturation monproj avec \"Mon projet\"\n"
 "  comme descriptif.\n"
 "\n"
 "  $ pkbcodes --delete \"*\"\n"
 "\n"
-"  Ceci va compl�ment effacer tous les codes de facturation, mais sans\n"
-"  effacer aucune entr�de l'historique. UTILISEZ QUAND MEME AVEC "
-"PARCIMONIE !\n"
+"  Ceci va complètement effacer tous les codes de facturation, mais sans\n"
+"  effacer aucune entrée de l'historique. UTILISEZ QUAND MEME AVEC PARCIMONIE !\n"
 "  \n"
 "  $ pkbcodes --list \"mo*\"\n"
 "  \n"
-"  Ceci va lister tous les codes de facturation dont le nom commence par "
-"'mo'.\n"
+"  Ceci va lister tous les codes de facturation dont le nom commence par 'mo'.\n"
 
 msgid "You're not allowed to use this command."
-msgstr "Vous n'�s pas autoris�) �tiliser cette commande."
+msgstr "Vous n'êtes pas autorisé(e) à utiliser cette commande."
 
 #, python-format
 msgid "There's no billingcode matching %s"
-msgstr "Aucun code de facturation correspondant �s"
+msgstr "Aucun code de facturation correspondant à %s"
 
 msgid "pages"
@@ -1544,13 +1426,13 @@
 
 msgid "credits"
-msgstr "cr�ts"
+msgstr "crédits"
 
 #, python-format
 msgid "Billing code [%s] already exists, skipping."
-msgstr "Le code de facturation [%s] existe d� et sera ignor�
+msgstr "Le code de facturation [%s] existe déjà et sera ignoré."
 
 #, python-format
 msgid "Billing code [%s] already exists, will be modified."
-msgstr "Le code de facturation [%s] existe d� et sera modifi�
+msgstr "Le code de facturation [%s] existe déjà et sera modifié."
 
 msgid "You have to pass billing codes on the command line"
@@ -1588,9 +1470,7 @@
 "                       output. \n"
 "                       \n"
-"  -u | --unit u        Defines the name of the unit to use on the "
-"invoice.                       \n"
+"  -u | --unit u        Defines the name of the unit to use on the invoice.                       \n"
 "                       The default unit is 'Credits', optionally translated\n"
-"                       to your native language if it is supported by "
-"PyKota.\n"
+"                       to your native language if it is supported by PyKota.\n"
 "  \n"
 "  -V | --vat p         Sets the percent value of the applicable VAT to be\n"
@@ -1622,12 +1502,10 @@
 "    YYYYMMDDhhmm : minute boundaries\n"
 "    YYYYMMDDhhmmss : second boundaries\n"
-"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-"
-"15)\n"
+"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-15)\n"
 "    today[+-NbDays] : today more or less N days (e.g. : today-15)\n"
 "    tomorrow[+-NbDays] : tomorrow more or less N days (e.g. : tomorrow-15)\n"
 "    now[+-NbDays] : now more or less N days (e.g. now-15)\n"
 "\n"
-"  'now' and 'today' are not exactly the same since today represents the "
-"first\n"
+"  'now' and 'today' are not exactly the same since today represents the first\n"
 "  or last second of the day depending on if it's used in a start= or end=\n"
 "  date expression. The utility to be able to specify dates in the future is\n"
@@ -1647,5 +1525,5 @@
 "pkinvoice v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Un g�rateur de factures pour PyKota.\n"
+"Un générateur de factures pour PyKota.\n"
 "\n"
 "ligne de commande :\n"
@@ -1658,43 +1536,39 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -l | --logo img      Utilise cette image comme logo sur la facture. Le "
-"logo\n"
-"                       sera dessin�u centre et en haut de la page. Le "
-"logo\n"
-"                       par d�ut est /usr/share/pykota/logos/pykota.jpeg\n"
-"                       \n"
-"  -p | --pagesize sz   Positionne la taille de page �z. La plupart des\n"
-"                       tailles standard sont reconnues, comme 'A4' ou "
-"'Letter'\n"
-"                       par exemple. La taille par d�ut est A4.\n"
-"                       \n"
-"  -n | --number N      Indique le num� de la premi� facture. Ce num�\n"
-"                       sera automatiquement incr�nt� chaque facture.\n"
-"                       \n"
-"  -o | --output f.pdf  D�nit le nom du fichier PDF qui contiendra les\n"
-"                       factures. S'il n'est pas pr�s�u positionn� '-'\n"
-"                       alors le document sera envoy�ur la sortie "
-"standard.\n"
-"                       \n"
-"  -u | --unit u        D�nit le nom de l'unit� utiliser sur la facture.\n"
-"                       Le nom par d�ut est 'Credits', ou sa traduction\n"
-"                       �ntuelle dans votre langage pr�r�i PyKota\n"
+"  -l | --logo img      Utilise cette image comme logo sur la facture. Le logo\n"
+"                       sera dessiné au centre et en haut de la page. Le logo\n"
+"                       par défaut est /usr/share/pykota/logos/pykota.jpeg\n"
+"                       \n"
+"  -p | --pagesize sz   Positionne la taille de page à sz. La plupart des\n"
+"                       tailles standard sont reconnues, comme 'A4' ou 'Letter'\n"
+"                       par exemple. La taille par défaut est A4.\n"
+"                       \n"
+"  -n | --number N      Indique le numéro de la première facture. Ce numéro\n"
+"                       sera automatiquement incrémenté à chaque facture.\n"
+"                       \n"
+"  -o | --output f.pdf  Définit le nom du fichier PDF qui contiendra les\n"
+"                       factures. S'il n'est pas précisé ou positionné à '-'\n"
+"                       alors le document sera envoyé sur la sortie standard.\n"
+"                       \n"
+"  -u | --unit u        Définit le nom de l'unité à utiliser sur la facture.\n"
+"                       Le nom par défaut est 'Credits', ou sa traduction\n"
+"                       éventuelle dans votre langage préféré si PyKota\n"
 "                       le supporte.\n"
 "  \n"
-"  -V | --vat p         Indique le taux de TVA applicable qui sera indiqu�n"
-"                       La valeur par d�ut est 0.0, qui fait qu'aucune\n"
-"                       information sur la TVA ne sera indiqu�\n"
+"  -V | --vat p         Indique le taux de TVA applicable qui sera indiqué.\n"
+"                       La valeur par défaut est 0.0, qui fait qu'aucune\n"
+"                       information sur la TVA ne sera indiquée.\n"
 "\n"
 "\n"
 "  Utilisez les expressions de filtrage pour extraire seulement certaines \n"
-"  parties des donn�. Les filtres autoris�sont de la forme :\n"
+"  parties des données. Les filtres autorisés sont de la forme :\n"
 "                \n"
-"         cl�aleur\n"
+"         clé=valeur\n"
 "                         \n"
-"  Les cl�autoris� pour l'instant sont : \n"
+"  Les clés autorisées pour l'instant sont : \n"
 "                       \n"
 "         username       Nom de l'utilisateur\n"
 "         printername    Nom de l'imprimante\n"
-"         hostname       Nom d'h�de la machine cliente\n"
+"         hostname       Nom d'hôte de la machine cliente\n"
 "         jobid          Id du travail d'impression\n"
 "         billingcode    Code de facturation du travail d'impression\n"
@@ -1702,7 +1576,7 @@
 "         end            Date du travail d'impression\n"
 "         \n"
-"  Formatage des dates avec les cl�'start' et 'end' :\n"
-"  \n"
-"    AAAA : limites d'ann�n"
+"  Formatage des dates avec les clés 'start' et 'end' :\n"
+"  \n"
+"    AAAA : limites d'année\n"
 "    AAAAMM : limites de mois\n"
 "    AAAAMMJJ : limites de jour\n"
@@ -1715,13 +1589,12 @@
 "    now[+-NbJours] : maintenant plus ou moins N jours (ex : now-15)\n"
 "\n"
-"  'now' et 'today' ne sont pas exactement identiques car today repr�nte\n"
-"  la premi� ou la derni� seconde du jour selon qu'il soit utilis�vec\n"
+"  'now' et 'today' ne sont pas exactement identiques car today représente\n"
+"  la première ou la dernière seconde du jour selon qu'il soit utilisé avec\n"
 "  une expression de type start= ou end=.\n"
-"  L'utilit�e pouvoir sp�fier une date dans le future est une question\n"
+"  L'utilité de pouvoir spécifier une date dans le future est une question\n"
 "  qui reste ouverte :-)\n"
 "\n"
-"  Contrairement aux autres outils d'administration de PyKota, les "
-"caract�s\n"
-"  jokers ne sont pas expans� aussi vous ne pouvez pas les utiliser.\n"
+"  Contrairement aux autres outils d'administration de PyKota, les caractères\n"
+"  jokers ne sont pas expansés, aussi vous ne pouvez pas les utiliser.\n"
 "  \n"
 "exemples :\n"
@@ -1729,6 +1602,6 @@
 "  $ pkinvoice --unit EURO --output /tmp/factures.pdf start=now-30\n"
 "  \n"
-"  G�rera un document PDF contenant les factures de tous les utilisateurs\n"
-"  qui ont d�ns�es cr�ts durant le mois �ul�Les factures seront en\n"
+"  Génerera un document PDF contenant les factures de tous les utilisateurs\n"
+"  qui ont dépensé des crédits durant le mois écoulé. Les factures seront en\n"
 "  EURO. Aucune information de TVA ne sera incluse.\n"
 
@@ -1737,14 +1610,16 @@
 
 msgid "Edited on"
-msgstr "Date d'�tion"
+msgstr "Date d'édition"
 
 msgid "Number of jobs printed"
-msgstr "Nombre de travaux imprim�
+msgstr "Nombre de travaux imprimés"
 
 msgid "Number of pages printed"
-msgstr "Nombre de pages imprim�"
+msgstr "Nombre de pages imprimées"
 
 msgid "Amount due"
-msgstr "Montant d�sgid "Included VAT"
+msgstr "Montant dû"
+
+msgid "Included VAT"
 msgstr "TVA incluse"
 
@@ -1753,5 +1628,5 @@
 
 msgid "Generating invoices"
-msgstr "G�ration des factures"
+msgstr "Génération des factures"
 
 #, python-format
@@ -1772,5 +1647,5 @@
 
 msgid "Credits"
-msgstr "Cr�ts"
+msgstr "Crédits"
 
 #, python-format
@@ -1818,5 +1693,5 @@
 "pkmail v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Passerelle courrier �ctronique pour PyKota.\n"
+"Passerelle courrier électronique pour PyKota.\n"
 "\n"
 "ligne de commande :\n"
@@ -1830,33 +1705,32 @@
 "  \n"
 "    \n"
-"  Cette commande est faite pour �e utilis�depuis la base de donn�\n"
-"  d'alias de votre serveur de courrier �ctronique, en tant que pipe.\n"
-"  Elle va accepter les commandes qui lui sont envoy� dans des messages\n"
-"  et renverra sa r�nse �'exp�teur de la demande.\n"
-"  \n"
-"  Pour utiliser cette commande, cr� un alias email dans /etc/aliases\n"
+"  Cette commande est faite pour être utilisée depuis la base de données\n"
+"  d'alias de votre serveur de courrier électronique, en tant que pipe.\n"
+"  Elle va accepter les commandes qui lui sont envoyées dans des messages\n"
+"  et renverra sa réponse à l'expéditeur de la demande.\n"
+"  \n"
+"  Pour utiliser cette commande, créez un alias email dans /etc/aliases\n"
 "  avec le format suivant :\n"
 "  \n"
 "    pykotacmd: \"|/usr/bin/pkmail\"\n"
 "    \n"
-"  Puis lancez la commande 'newaliases' pour r�n�r la base de donn�\n"
+"  Puis lancez la commande 'newaliases' pour régénérer la base de données\n"
 "  d'alias.\n"
 "  \n"
-"  Vous pouvez maintenant envoyer vos demandes par email �'adresse\n"
+"  Vous pouvez maintenant envoyer vos demandes par email à l'adresse\n"
 "  'pykotacmd@yourdomain.com', avec la commande dans le champ sujet.\n"
 "  \n"
-"  Liste des commandes support� :\n"
+"  Liste des commandes supportées :\n"
 "  \n"
 "        report [utilisateur]\n"
 "  \n"
-"  NB : Pour que pkmail fonctionne correctement, il se peut que vous ayez �"
-"  mettre l'utilisateur 'mail' dans le groupe syst� 'pykota' afin "
-"d'assurer\n"
+"  NB : Pour que pkmail fonctionne correctement, il se peut que vous ayez à\n"
+"  mettre l'utilisateur 'mail' dans le groupe système 'pykota' afin d'assurer\n"
 "  que cet utilisateur puisse lire le fichier /etc/pykota/pykotadmin.conf,\n"
-"  et de relancer votre serveur de courrier �ctronique (par exemple\n"
-"  /etc/init.d/exim restart). Cependant, il est fortement conseill�ue vous\n"
-"  r��issiez plut�eux fois qu'une avant de faire ceci.\n"
-"  \n"
-"  Utilisez �os risques et p�ls !\n"
+"  et de relancer votre serveur de courrier électronique (par exemple\n"
+"  /etc/init.d/exim restart). Cependant, il est fortement conseillé que vous\n"
+"  réfléchissiez plutôt deux fois qu'une avant de faire ceci.\n"
+"  \n"
+"  Utilisez à vos risques et périls !\n"
 
 msgid "Result of your commands"
@@ -1867,6 +1741,5 @@
 "pknotify v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Notifies or ask questions to end users who launched the PyKotIcon "
-"application.\n"
+"Notifies or ask questions to end users who launched the PyKotIcon application.\n"
 "\n"
 "command line usage :\n"
@@ -1887,21 +1760,17 @@
 "                             user. Then pknotify will output the result.\n"
 "                       \n"
-"  -C | --checkauth           When --ask is used and both an 'username' and "
-"a\n"
+"  -C | --checkauth           When --ask is used and both an 'username' and a\n"
 "                             'password' are asked to the end user, then\n"
 "                             pknotify will try to authenticate the user\n"
 "                             through PAM. If authentified, this program\n"
 "                             will print \"AUTH=YES\", else \"AUTH=NO\".\n"
-"                             If a field is missing, \"AUTH=IMPOSSIBLE\" "
-"will\n"
+"                             If a field is missing, \"AUTH=IMPOSSIBLE\" will\n"
 "                             be printed. If the user is authenticated, then\n"
 "                             \"USERNAME=xxxx\" will be printed as well.\n"
 "                             \n"
-"  -c | --confirm             Tells pknotify to ask for either a "
-"confirmation                       \n"
+"  -c | --confirm             Tells pknotify to ask for either a confirmation                       \n"
 "                             or abortion.\n"
 "                             \n"
-"  -D | --denyafter N         With --checkauth above, makes pknotify "
-"loop                           \n"
+"  -D | --denyafter N         With --checkauth above, makes pknotify loop                           \n"
 "                             up to N times if the password is incorrect.\n"
 "                             After having reached the limit, \"DENY\" will\n"
@@ -1917,19 +1786,14 @@
 "                             be cancelled. The default value is CANCEL.\n"
 "                             \n"
-"  -n | --notify              Tells pknotify to send an informational "
-"message\n"
+"  -n | --notify              Tells pknotify to send an informational message\n"
 "                             to the end user.\n"
 "                             \n"
 "  -q | --quit                Tells pknotify to send a message asking the\n"
 "                             PyKotIcon application to exit. This option can\n"
-"                             be combined with the other ones to make "
-"PyKotIcon\n"
-"                             exit after having sent the answer from the "
-"dialog.\n"
+"                             be combined with the other ones to make PyKotIcon\n"
+"                             exit after having sent the answer from the dialog.\n"
 "                             \n"
-"  -t | --timeout T           Tells pknotify to ignore the end user's answer "
-"if\n"
-"                             it comes past T seconds after the dialog box "
-"being\n"
+"  -t | --timeout T           Tells pknotify to ignore the end user's answer if\n"
+"                             it comes past T seconds after the dialog box being\n"
 "                             opened. The default value is 0 seconds, which \n"
 "                             tells pknotify to wait indefinitely.\n"
@@ -1958,6 +1822,5 @@
 "                     then pknotify will print OK, else CANCEL.\n"
 "                     \n"
-"    -n | --notify : A single argument is expected, representing "
-"the                 \n"
+"    -n | --notify : A single argument is expected, representing the                 \n"
 "                    message to display. In this case pknotify will\n"
 "                    always print OK.\n"
@@ -1965,6 +1828,5 @@
 "examples :                    \n"
 "\n"
-"  pknotify -d client:7654 --noremote CONTINUE --confirm \"This job costs 10 "
-"credits\"\n"
+"  pknotify -d client:7654 --noremote CONTINUE --confirm \"This job costs 10 credits\"\n"
 "  \n"
 "  Would display the cost of the print job and asks for confirmation.\n"
@@ -1974,6 +1836,5 @@
 "  \n"
 "  pknotify --destination $PYKOTAJOBORIGINATINGHOSTNAME:7654 \\\n"
-"           --checkauth --ask \"Your name:username:\" \"Your password:"
-"password:\"\n"
+"           --checkauth --ask \"Your name:username:\" \"Your password:password:\"\n"
 "           \n"
 "  Asks an username and password, and checks if they are valid.         \n"
@@ -1987,6 +1848,5 @@
 "pknotify v%(__version__)s (c) %(__years__)s %(__author__)s\n"
 "\n"
-"Notifie ou pose des questions aux utilisateurs finaux qui ont lanc�
-"l'application PyKotIcon.\n"
+"Notifie ou pose des questions aux utilisateurs finaux qui ont lancé l'application PyKotIcon.\n"
 "\n"
 "ligne de commande :\n"
@@ -1996,137 +1856,113 @@
 "options :\n"
 "\n"
-"  -v | --version             Affiche le num� de version de pknotify et "
-"quitte.\n"
+"  -v | --version             Affiche le numéro de version de pknotify et quitte.\n"
 "  -h | --help                Affiche ce message et quitte.\n"
 "  \n"
-"  -d | --destination h[:p]   Indique l'h�destination et le port optionel\n"
+"  -d | --destination h[:p]   Indique l'hôte destination et le port optionel\n"
 "                             sur lesquels contacter l'application distante\n"
 "                             PyKotIcon. Cette option est obligatoire.\n"
-"                             S'il n'est pas sp�fi�le port par d�ut\n"
+"                             S'il n'est pas spécifié, le port par défaut\n"
 "                             est 7654.\n"
 "                             \n"
-"  -a | --ask                 Indique �knotify de demander quelque chose �"
+"  -a | --ask                 Indique à pknotify de demander quelque chose à\n"
 "                             l'utilisateur distant. Ensuite pknotify va\n"
-"                             afficher le r�ltat.\n"
-"\n"
-"  -C | --checkauth           Quand --ask est utilis�t qu'�a fois un\n"
+"                             afficher le résultat.\n"
+"\n"
+"  -C | --checkauth           Quand --ask est utilisé et qu'à la fois un\n"
 "                             champ 'username' et un champ 'password' sont\n"
-"                             demand��'utilisateur final, alors pkotify\n"
+"                             demandés à l'utilisateur final, alors pkotify\n"
 "                             tentera d'authentifier l'utilisateur avec\n"
-"                             PAM. Si l'authentification r�sit, ce "
-"programme\n"
+"                             PAM. Si l'authentification réussit, ce programme\n"
 "                             affichera \"AUTH=YES\", sinon \"AUTH=NO\".\n"
 "                             Si un champ manque, \"AUTH=IMPOSSIBLE\" sera\n"
-"                             affich�Si l'utilisateur est authentifi�"
-"alors\n"
-"                             \"USERNAME=xxxx\" sera �lement affich�n"
+"                             affiché. Si l'utilisateur est authentifié, alors\n"
+"                             \"USERNAME=xxxx\" sera également affiché.\n"
 "                             \n"
-"  -c | --confirm             Indique �knotify de demander si "
-"l'utilisateur\n"
+"  -c | --confirm             Indique à pknotify de demander si l'utilisateur\n"
 "                             veut confirmer ou annuler.\n"
 "                             \n"
-"  -D | --denyafter N         Avec l'option --checkauth ci-dessus, indique �"
-"                             pknotify de faire jusqu'� tentatives tant "
-"que\n"
+"  -D | --denyafter N         Avec l'option --checkauth ci-dessus, indique à\n"
+"                             pknotify de faire jusqu'à N tentatives tant que\n"
 "                             le mot de passe est incorrect.\n"
-"                             Apr�avoir atteint la limite, \"DENY\" sera\n"
-"                             affich�ce qui rejettera en fait le travail.\n"
-"                             La valeur par d�ut de N est 1, qui indique\n"
-"                             que le travail sera rejet��la premi�\n"
+"                             Après avoir atteint la limite, \"DENY\" sera\n"
+"                             affiché, ce qui rejettera en fait le travail.\n"
+"                             La valeur par défaut de N est 1, qui indique\n"
+"                             que le travail sera rejeté dès la première\n"
 "                             tentative infructueuse.\n"
 "\n"
-"  -N | --noremote action     S'il est impossible de se connecter �a "
-"machine\n"
-"                             PyKotIcon distante, fait cette action �a "
-"place.\n"
-"                             Les actions autoris� sont 'CONTINUE' et "
-"'CANCEL', \n"
-"                             qui vont respectivement autoriser le traitement "
-"du\n"
-"                             travail d'impression �ontinuer, ou bien le "
-"travail\n"
-"                             sera annul�La valeur par d�ut est CANCEL.\n"
+"  -N | --noremote action     S'il est impossible de se connecter à la machine\n"
+"                             PyKotIcon distante, fait cette action à la place.\n"
+"                             Les actions autorisées sont 'CONTINUE' et 'CANCEL', \n"
+"                             qui vont respectivement autoriser le traitement du\n"
+"                             travail d'impression à continuer, ou bien le travail\n"
+"                             sera annulé. La valeur par défaut est CANCEL.\n"
 "                             \n"
-"  -n | --notify              Indique �knotify d'envoyer un message\n"
-"                             d'information �'utilisateur final.\n"
+"  -n | --notify              Indique à pknotify d'envoyer un message\n"
+"                             d'information à l'utilisateur final.\n"
 "                             \n"
-"  -q | --quit                Indique �knotify d'envoyer un message "
-"demandant\n"
-"                             �'application PyKotIcon de quitter. Cette "
-"option\n"
-"                             peut �e combin�avec les autres pour faire "
-"en\n"
-"                             sort que PyKotIcon quitte apr�avoir renvoy�
-"la\n"
-"                             r�nse de la boite de dialogue.\n"
+"  -q | --quit                Indique à pknotify d'envoyer un message demandant\n"
+"                             à l'application PyKotIcon de quitter. Cette option\n"
+"                             peut être combinée avec les autres pour faire en\n"
+"                             sort que PyKotIcon quitte après avoir renvoyé la\n"
+"                             réponse de la boite de dialogue.\n"
 "                             \n"
-"  -t | --timeout T           Indique �knotify d'ignorer la r�nse venant "
-"de\n"
-"                             l'utilisateur s'il a mis plus de T secondes �"
-"                             r�ndre apr�que la boite de dialogue ait "
-"�\n"
-"                             ouverte. La valeur par d�ut est 0 seconde, "
-"qui\n"
-"                             indique �knotify d'attendre ind�niment.\n"
-"                             Utilisez cette option pour �ter qu'un\n"
-"                             utilisateur qui a quitt�on ordinateur ne\n"
+"  -t | --timeout T           Indique à pknotify d'ignorer la réponse venant de\n"
+"                             l'utilisateur s'il a mis plus de T secondes à\n"
+"                             répondre après que la boite de dialogue ait été\n"
+"                             ouverte. La valeur par défaut est 0 seconde, qui\n"
+"                             indique à pknotify d'attendre indéfiniment.\n"
+"                             Utilisez cette option pour éviter qu'un\n"
+"                             utilisateur qui a quitté son ordinateur ne\n"
 "                             bloque inutilement la file d'impression.\n"
 "                             \n"
-"  Vous DEVEZ sp�fier soit --ask, --confirm, --notify ou --quit.\n"
+"  Vous DEVEZ spécifier soit --ask, --confirm, --notify ou --quit.\n"
 "\n"
 "  arguments :             \n"
 "  \n"
-"    -a | --ask : Plusieurs arguments sont accept� de la forme\n"
-"                 \"label:varname:defaultvalue\". Le r�ltat sera\n"
-"                 envoy�ur stdout dans le format suivant :\n"
+"    -a | --ask : Plusieurs arguments sont acceptés, de la forme\n"
+"                 \"label:varname:defaultvalue\". Le résultat sera\n"
+"                 envoyé sur stdout dans le format suivant :\n"
 "                 NOMVARIABLE1=VALEURVARIABLE1\n"
 "                 NOMVARIABLE2=VALEURVARIABLE2\n"
 "                 ...\n"
-"                 Si le dialogue �t�nnul�rien ne sera affich�n"
+"                 Si le dialogue à été annulé, rien ne sera affiché.\n"
 "                 Si l'un des noms de variables est 'password'\n"
 "                 alors ce champ sera saisi comme un mot de passe (vous ne\n"
-"                 verrez pas ce que vous tapez), et il NE SERA PAS affich�n"
-"                 Bien qu'il ne soit pas affich�il sera utilis�our\n"
-"                 v�fier si l'authentification est valide si vous avez\n"
-"                 utilis�-checkauth.\n"
+"                 verrez pas ce que vous tapez), et il NE SERA PAS affiché.\n"
+"                 Bien qu'il ne soit pas affiché, il sera utilisé pour\n"
+"                 vérifier si l'authentification est valide si vous avez\n"
+"                 utilisé --checkauth.\n"
 "                 \n"
-"    -c | --confirm : Un unique argument est attendu, qui repr�nte le\n"
-"                     message �fficher. Si le dialogue est confirm�"
+"    -c | --confirm : Un unique argument est attendu, qui représente le\n"
+"                     message à afficher. Si le dialogue est confirmé\n"
 "                     alors pknotify affichera OK, sinon CANCEL.\n"
 "                     \n"
-"    -n | --notify : Un unique argument est attendu, qui repr�nte le\n"
-"                    message �fficher. Dans ce cas pknotify affichera\n"
+"    -n | --notify : Un unique argument est attendu, qui représente le\n"
+"                    message à afficher. Dans ce cas pknotify affichera\n"
 "                    toujours OK.\n"
 "                    \n"
 "exemples :                    \n"
 "\n"
-"  pknotify -d client:7654 --noremote CONTINUE --confirm \"Ce travail co�
-"10 cr�ts\"\n"
-"  \n"
-"  Ceci afficherait le co� travail d'impression et demanderait une "
-"confirmation.\n"
-"  Si l'utilisateur final n'a pas PyKotIcon actif et acceptant les connexions "
-"entrantes\n"
-"  depuis le serveur d'impression, PyKota consid�ra que l'utilisateur a "
-"accept�"
+"  pknotify -d client:7654 --noremote CONTINUE --confirm \"Ce travail coûte 10 crédits\"\n"
+"  \n"
+"  Ceci afficherait le coût du travail d'impression et demanderait une confirmation.\n"
+"  Si l'utilisateur final n'a pas PyKotIcon actif et acceptant les connexions entrantes\n"
+"  depuis le serveur d'impression, PyKota considèrera que l'utilisateur a accepté\n"
 "  d'imprimer ce travail.\n"
 "  \n"
 "  pknotify --destination $PYKOTAJOBORIGINATINGHOSTNAME:7654 \\\n"
-"           --checkauth --ask \"Votre nom:username:\" \"Votre mot de passe:"
-"password:\"\n"
+"           --checkauth --ask \"Votre nom:username:\" \"Votre mot de passe:password:\"\n"
 "           \n"
-"  Demandera un nom d'utilisateur et un mot de passe, et v�fiera s'ils "
-"sont\n"
+"  Demandera un nom d'utilisateur et un mot de passe, et vérifiera s'ils sont\n"
 "  valides.\n"
 "  NB : La variable d'environnement PYKOTAJOBORIGINATINGHOSTNAME est\n"
-"  seulement positionn�lorsque vous lancez pknotify depuis cupspykota\n"
-"  gr� �ne directive de ~pykota/pykota.conf\n"
-"  \n"
-"  Le port TCP que vous utiliserez doit �e ouvert sur le client et "
-"joignable\n"
+"  seulement positionnée lorsque vous lancez pknotify depuis cupspykota\n"
+"  grâce à une directive de ~pykota/pykota.conf\n"
+"  \n"
+"  Le port TCP que vous utiliserez doit être ouvert sur le client et joignable\n"
 "  depuis le serveur d'impression.\n"
 
 msgid "You MUST install PyPAM for this functionnality to work !"
-msgstr "Vous DEVEZ installer PyPAM pour que cette fonctionnalit�arche !"
+msgstr "Vous DEVEZ installer PyPAM pour que cette fonctionnalité marche !"
 
 #, python-format
@@ -2143,18 +1979,10 @@
 
 #, python-format
-msgid ""
-"The end user at %s:%i didn't answer within %i seconds. The print job will be "
-"cancelled."
-msgstr ""
-"L'utilisateur final �s:%s n'a pas r�ndu dans les %i secondes. Le travail "
-"d'impression sera annul�
-
-#, python-format
-msgid ""
-"Are you sure that PyKotIcon is running and accepting incoming connections on "
-"%s:%s ?"
-msgstr ""
-"Etes vous s�e PyKotIcon fonctionne et accepte les connexions entrantes "
-"sur %s:%s ?"
+msgid "The end user at %s:%i didn't answer within %i seconds. The print job will be cancelled."
+msgstr "L'utilisateur final à %s:%s n'a pas répondu dans les %i secondes. Le travail d'impression sera annulé."
+
+#, python-format
+msgid "Are you sure that PyKotIcon is running and accepting incoming connections on %s:%s ?"
+msgstr "Etes vous sûr que PyKotIcon fonctionne et accepte les connexions entrantes sur %s:%s ?"
 
 msgid "Connection error"
@@ -2165,9 +1993,8 @@
 
 msgid "incorrect value for the --noremote command line switch, see help."
-msgstr ""
-"valeur incorrecte pour l'option de ligne de commande --noremote, voir l'aide."
+msgstr "valeur incorrecte pour l'option de ligne de commande --noremote, voir l'aide."
 
 msgid "some options require arguments, see help."
-msgstr "certaines options n�ssitent un argument, voir l'aide."
+msgstr "certaines options nécessitent un argument, voir l'aide."
 
 #, python-format
@@ -2219,6 +2046,5 @@
 "                       printers groups it is a member of.\n"
 "                       \n"
-"  -r | --remove        In combination with the --groups option "
-"above,                       \n"
+"  -r | --remove        In combination with the --groups option above,                       \n"
 "                       remove printers from the specified printers groups.\n"
 "                       \n"
@@ -2242,6 +2068,5 @@
 "examples :                              \n"
 "\n"
-"  $ pkprinters --add -D \"HP Printer\" --charge 0.05,0.1 hp2100 hp2200 "
-"hp8000\n"
+"  $ pkprinters --add -D \"HP Printer\" --charge 0.05,0.1 hp2100 hp2200 hp8000\n"
 "  \n"
 "  Will create three printers named hp2100, hp2200 and hp8000.\n"
@@ -2255,12 +2080,10 @@
 "  $ pkprinters --delete \"*\"\n"
 "  \n"
-"  This will completely delete all printers and associated quota "
-"information,\n"
+"  This will completely delete all printers and associated quota information,\n"
 "  as well as their job history. USE WITH CARE !\n"
 "  \n"
 "  $ pkprinters --groups Laser,HP \"hp*\"\n"
 "  \n"
-"  This will put all printers which name matches \"hp*\" into printers "
-"groups \n"
+"  This will put all printers which name matches \"hp*\" into printers groups \n"
 "  Laser and HP, which MUST already exist.\n"
 "  \n"
@@ -2282,85 +2105,81 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -a | --add           Ajoute les imprimantes si elles n'existent pas d�\n"
-"                       dans la base de donn�. Si elles existent, alors\n"
-"                       elles sont modifi� sauf si l'option de ligne de\n"
-"                       commande -s|--skipexisting est aussi utilis�\n"
-"                       \n"
-"  -d | --delete        Supprime les imprimantes de la base de donn�.\n"
+"  -a | --add           Ajoute les imprimantes si elles n'existent pas déjà\n"
+"                       dans la base de données. Si elles existent, alors\n"
+"                       elles sont modifiées sauf si l'option de ligne de\n"
+"                       commande -s|--skipexisting est aussi utilisée.\n"
+"                       \n"
+"  -d | --delete        Supprime les imprimantes de la base de données.\n"
 "  \n"
 "  -D | --description d Ajoute une description textuelle aux imprimantes.\n"
 "\n"
-"  -C | --cups          Modifie �lement la DeviceURI dans le fichier\n"
+"  -C | --cups          Modifie également la DeviceURI dans le fichier\n"
 "                       printers.conf de CUPS.\n"
 "\n"
-"  -c | --charge p[,j]  Fixes les co�ar page et par travail.\n"
-"                       Le co�r travail d'impression est optionnel.\n"
-"                       Si les deux sont utilis� s�rez les nombres par\n"
+"  -c | --charge p[,j]  Fixes les coûts par page et par travail.\n"
+"                       Le coût par travail d'impression est optionnel.\n"
+"                       Si les deux sont utilisés, séparez les nombres par\n"
 "                       une virgule.\n"
-"                       Les nombres n�tifs ou avec d�males sont "
-"autoris�\n"
+"                       Les nombres négatifs ou avec décimales sont autorisés.\n"
 "  \n"
 "  -g | --groups pg1[,pg2...] Ajoute ou supprime les imprimantes des groupes\n"
-"                       pg1, pg2, etc... qui doivent d� exister.\n"
+"                       pg1, pg2, etc... qui doivent déjà exister.\n"
 "                       Un groupe d'imprimantes est comme une imprimante\n"
-"                       normale mais est inconnu du syst� d'impression.\n"
-"                       On cr�les groupes d'imprimantes de la m� mani�\n"
-"                       que l'on cr�des imprimantes, et ensuite on leur\n"
+"                       normale mais est inconnu du système d'impression.\n"
+"                       On crée les groupes d'imprimantes de la même manière\n"
+"                       que l'on crée des imprimantes, et ensuite on leur\n"
 "                       ajoute des imprimantes avec cette option.\n"
-"                       Le d�mpte et la v�fication sont effectu�sur\n"
+"                       Le décompte et la vérification sont effectués sur\n"
 "                       une imprimante et sur tous les groupes auxquels elle\n"
 "                       appartient.\n"
-"                       Si l'option --remove ci-dessous n'est pas utilis�\n"
-"                       l'action par d�ut est d'ajouter les imprimantes "
-"aux\n"
-"                       groupes d'imprimantes sp�fi�\n"
+"                       Si l'option --remove ci-dessous n'est pas utilisée,\n"
+"                       l'action par défaut est d'ajouter les imprimantes aux\n"
+"                       groupes d'imprimantes spécifiés.\n"
 "                       \n"
 "  -l | --list          Liste les informations sur les imprimantes et les\n"
 "                       groupes dont elles sont membres.\n"
 "                       \n"
-"  -r | --remove        Combin�avec l'option --groups ci-dessus, supprime\n"
-"                       les imprimantes des groupes sp�fi�\n"
-"                       \n"
-"  -s | --skipexisting  Combin�avec l'option --add ci-dessus, indique\n"
-"                       �kprinters de ne pas modifier les imprimantes\n"
+"  -r | --remove        Combinée avec l'option --groups ci-dessus, supprime\n"
+"                       les imprimantes des groupes spécifiés.\n"
+"                       \n"
+"  -s | --skipexisting  Combinée avec l'option --add ci-dessus, indique\n"
+"                       à pkprinters de ne pas modifier les imprimantes\n"
 "                       existantes.\n"
 "  \n"
-"  -m | --maxjobsize s  Positionne la taille maximale autoris�d'un travail\n"
-"                       d'impression sur l'imprimante � pages.\n"
+"  -m | --maxjobsize s  Positionne la taille maximale autorisée d'un travail\n"
+"                       d'impression sur l'imprimante à s pages.\n"
 "                       \n"
 "  -p | --passthrough   Active le mode 'passthrough' pour l'imprimante. Dans\n"
-"                       ce mode, les utilisateurs peuvent imprimer sans "
-"impact\n"
+"                       ce mode, les utilisateurs peuvent imprimer sans impact\n"
 "                       sur leur quota ou sur le solde de leur compte.\n"
 "                       \n"
-"  -n | --nopassthrough D�ctive le mode 'passthrough' pour l'imprimante.\n"
-"                       Sans -p ou -n, les imprimantes sont cr�s en mode\n"
-"                       normal, c'est �ire non 'passthrough'.\n"
-"  \n"
-"  Les noms d'imprimantes peuvent contenir des caract�s jokers si l'option\n"
-"  --add n'est pas utilis�\n"
+"  -n | --nopassthrough Désactive le mode 'passthrough' pour l'imprimante.\n"
+"                       Sans -p ou -n, les imprimantes sont créées en mode\n"
+"                       normal, c'est à dire non 'passthrough'.\n"
+"  \n"
+"  Les noms d'imprimantes peuvent contenir des caractères jokers si l'option\n"
+"  --add n'est pas utilisée.\n"
 "  \n"
 "exemples :                              \n"
 "\n"
-"  $ pkprinters --add -D \"Imprimante HP\" --charge 0.05,0.1 hp2100 hp2200 "
-"hp8000\n"
-"  \n"
-"  Ceci va cr� les trois imprimantes hp2100, hp2200 and hp8000.\n"
-"  Leur co�r page sera fix� 0.05 unit�et leur co�r travail sera\n"
-"  fix� 0.1 unit�Les unit�sont dans votre propre monnaie,\n"
+"  $ pkprinters --add -D \"Imprimante HP\" --charge 0.05,0.1 hp2100 hp2200 hp8000\n"
+"  \n"
+"  Ceci va créer les trois imprimantes hp2100, hp2200 and hp8000.\n"
+"  Leur coût par page sera fixé à 0.05 unité, et leur coût par travail sera\n"
+"  fixé à 0.1 unité. Les unités sont dans votre propre monnaie,\n"
 "  ou dans ce que vous voulez qu'elles signifient.\n"
-"  Leurs descriptions seront positionn� �"Imprimante HP\".\n"
-"  Si l'une de ces imprimantes existe d�, elle sera modifi��oins que\n"
-"  l'option -s|--skipexisting ne soit aussi utilis�\n"
+"  Leurs descriptions seront positionnées à \"Imprimante HP\".\n"
+"  Si l'une de ces imprimantes existe déjà, elle sera modifiée à moins que\n"
+"  l'option -s|--skipexisting ne soit aussi utilisée.\n"
 "            \n"
 "  $ pkprinters --delete \"*\"\n"
 "  \n"
-"  Ceci va compl�ment effacer toutes les imprimantes, leurs informations\n"
+"  Ceci va complètement effacer toutes les imprimantes, leurs informations\n"
 "  de quota ainsi que leurs historiques des travaux. SOYEZ PRUDENTS !\n"
 "  \n"
 "  $ pkprinters --groups Laser,HP \"hp*\"\n"
 "  \n"
-"  Ceci ba mettre toutes les imprimantes dont le nom correspond �"hp*\"\n"
-"  dans les groupes Laser et HP, qui DOIVENT d� exister.\n"
+"  Ceci ba mettre toutes les imprimantes dont le nom correspond à \"hp*\"\n"
+"  dans les groupes Laser et HP, qui DOIVENT déjà exister.\n"
 "  \n"
 "  $ pkprinters --groups LexMark --remove hp2200\n"
@@ -2374,5 +2193,5 @@
 #, python-format
 msgid "Routed through PyKota : %s"
-msgstr "G�e par PyKota : %s"
+msgstr "Gérée par PyKota : %s"
 
 msgid "YES"
@@ -2390,5 +2209,5 @@
 #, python-format
 msgid "Invalid charge amount value %s"
-msgstr "Montant �omptabiliser %s invalide"
+msgstr "Montant à comptabiliser %s invalide"
 
 #, python-format
@@ -2398,9 +2217,9 @@
 #, python-format
 msgid "Printer %s already exists, skipping."
-msgstr "L'imprimante %s existe d�, ignor�"
+msgstr "L'imprimante %s existe déjà, ignorée."
 
 #, python-format
 msgid "Printer %s already exists, will be modified."
-msgstr "L'imprimante %s existe d�, elle sera modifi�"
+msgstr "L'imprimante %s existe déjà, elle sera modifiée."
 
 #, python-format
@@ -2409,6 +2228,5 @@
 
 msgid "You have to pass printer groups names on the command line"
-msgstr ""
-"Vous devez passer des noms de groupes d'imprimantes sur la ligne de commande"
+msgstr "Vous devez passer des noms de groupes d'imprimantes sur la ligne de commande"
 
 msgid "You have to pass printer names on the command line"
@@ -2451,6 +2269,5 @@
 "  -u | --unit u        Defines the name of the unit to use on the receipts.\n"
 "                       The default unit is 'Credits', optionally translated\n"
-"                       to your native language if it is supported by "
-"PyKota.\n"
+"                       to your native language if it is supported by PyKota.\n"
 "  \n"
 "\n"
@@ -2478,12 +2295,10 @@
 "    YYYYMMDDhhmm : minute boundaries\n"
 "    YYYYMMDDhhmmss : second boundaries\n"
-"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-"
-"15)\n"
+"    yesterday[+-NbDays] : yesterday more or less N days (e.g. : yesterday-15)\n"
 "    today[+-NbDays] : today more or less N days (e.g. : today-15)\n"
 "    tomorrow[+-NbDays] : tomorrow more or less N days (e.g. : tomorrow-15)\n"
 "    now[+-NbDays] : now more or less N days (e.g. now-15)\n"
 "\n"
-"  'now' and 'today' are not exactly the same since today represents the "
-"first\n"
+"  'now' and 'today' are not exactly the same since today represents the first\n"
 "  or last second of the day depending on if it's used in a start= or end=\n"
 "  date expression. The utility to be able to specify dates in the future is\n"
@@ -2536,40 +2351,38 @@
 "  -r | --reason txt    Indique la raison du remboursement.\n"
 "\n"
-"  -l | --logo img      Utilise cette image comme logo sur les re�. Le \n"
-"                       logo sera dessin�u centre et en haut de la page.\n"
-"                       Le logo par d�ut est \n"
+"  -l | --logo img      Utilise cette image comme logo sur les reçus. Le \n"
+"                       logo sera dessiné au centre et en haut de la page.\n"
+"                       Le logo par défaut est \n"
 "                           /usr/share/pykota/logos/pykota.jpeg\n"
 "                       \n"
-"  -p | --pagesize sz   Positionne la taille de page �z. La plupart des\n"
-"                       tailles standard sont reconnues, comme 'A4' ou "
-"'Letter'\n"
-"                       par exemple. La taille par d�ut est A4.\n"
-"                       \n"
-"  -n | --number N      Indique le num� du premier re� Ce num�\n"
-"                       sera automatiquement incr�nt� chaque nouveau "
-"re�\n"
-"                       \n"
-"  -o | --output f.pdf  D�nit le nom du fichier PDF qui contiendra les\n"
-"                       re�. S'il n'est pas pr�s�lors aucun fichier ne\n"
-"                       sera g�r�Si '-' est utilis�le fichier PDF sera\n"
-"                       envoy�ur la sortie standard, et l'option --force\n"
-"                       sera activ�automatiquement.\n"
-"                       \n"
-"  -u | --unit u        D�nit le nom de l'unit� utiliser sur les re�.\n"
-"                       Le nom par d�ut est 'Credits', ou sa traduction\n"
-"                       �ntuelle dans votre langage pr�r�i PyKota\n"
+"  -p | --pagesize sz   Positionne la taille de page à sz. La plupart des\n"
+"                       tailles standard sont reconnues, comme 'A4' ou 'Letter'\n"
+"                       par exemple. La taille par défaut est A4.\n"
+"                       \n"
+"  -n | --number N      Indique le numéro du premier reçu. Ce numéro\n"
+"                       sera automatiquement incrémenté à chaque nouveau reçu.\n"
+"                       \n"
+"  -o | --output f.pdf  Définit le nom du fichier PDF qui contiendra les\n"
+"                       reçus. S'il n'est pas précisé alors aucun fichier ne\n"
+"                       sera généré. Si '-' est utilisé, le fichier PDF sera\n"
+"                       envoyé sur la sortie standard, et l'option --force\n"
+"                       sera activée automatiquement.\n"
+"                       \n"
+"  -u | --unit u        Définit le nom de l'unité à utiliser sur les reçus.\n"
+"                       Le nom par défaut est 'Credits', ou sa traduction\n"
+"                       éventuelle dans votre langage préféré si PyKota\n"
 "                       le supporte.\n"
 "\n"
 "\n"
 "  Utilisez les expressions de filtrage pour extraire seulement certaines \n"
-"  parties des donn�. Les filtres autoris�sont de la forme :\n"
+"  parties des données. Les filtres autorisés sont de la forme :\n"
 "                \n"
-"         cl�aleur\n"
+"         clé=valeur\n"
 "                         \n"
-"  Les cl�autoris� pour l'instant sont : \n"
+"  Les clés autorisées pour l'instant sont : \n"
 "                       \n"
 "         username       Nom de l'utilisateur\n"
 "         printername    Nom de l'imprimante\n"
-"         hostname       Nom d'h�de la machine cliente\n"
+"         hostname       Nom d'hôte de la machine cliente\n"
 "         jobid          Id du travail d'impression\n"
 "         billingcode    Code de facturation du travail d'impression\n"
@@ -2577,7 +2390,7 @@
 "         end            Date du travail d'impression\n"
 "         \n"
-"  Formatage des dates avec les cl�'start' et 'end' :\n"
-"  \n"
-"    AAAA : limites d'ann�n"
+"  Formatage des dates avec les clés 'start' et 'end' :\n"
+"  \n"
+"    AAAA : limites d'année\n"
 "    AAAAMM : limites de mois\n"
 "    AAAAMMJJ : limites de jour\n"
@@ -2590,13 +2403,12 @@
 "    now[+-NbJours] : maintenant plus ou moins N jours (ex : now-15)\n"
 "\n"
-"  'now' et 'today' ne sont pas exactement identiques car today repr�nte\n"
-"  la premi� ou la derni� seconde du jour selon qu'il soit utilis�vec\n"
+"  'now' et 'today' ne sont pas exactement identiques car today représente\n"
+"  la première ou la dernière seconde du jour selon qu'il soit utilisé avec\n"
 "  une expression de type start= ou end=.\n"
-"  L'utilit�e pouvoir sp�fier une date dans le future est une question\n"
+"  L'utilité de pouvoir spécifier une date dans le future est une question\n"
 "  qui reste ouverte :-)\n"
 "\n"
-"  Contrairement aux autres outils d'administration de PyKota, les "
-"caract�s\n"
-"  jokers ne sont pas expans� aussi vous ne pouvez pas les utiliser.\n"
+"  Contrairement aux autres outils d'administration de PyKota, les caractères\n"
+"  jokers ne sont pas expansés, aussi vous ne pouvez pas les utiliser.\n"
 "  \n"
 "Exemples :\n"
@@ -2605,37 +2417,36 @@
 "  \n"
 "  Cela va rembourser tous les travaux dont l'identifiant est 503.\n"
-"  ATTENTION : installer CUPS �ouveau va remettre l'identifiant �\n"
-"  aussi vous voudrez certainement utiliser un filtre plus pr�s\n"
-"  comme expliqu�i-dessous. Une confirmation sera demand�pour chaque\n"
-"  remboursement, et un fichier PDF nomm�tmp/recus.pdf sera cr�et\n"
-"  contiendra les re� imprimables.\n"
-"  \n"
-"  $ pkrefund --reason \"Probl� mat�el\" jobid=503 start=today-7\n"
-"  \n"
-"  Rembourse tous les travaux dont l'identifiant est 503 et qui ont �\n"
-"  imprim�la semaine derni�. La raison indiqu�sera un probl� "
-"mat�el.\n"
+"  ATTENTION : installer CUPS à nouveau va remettre l'identifiant à 1\n"
+"  aussi vous voudrez certainement utiliser un filtre plus précis\n"
+"  comme expliqué ci-dessous. Une confirmation sera demandée pour chaque\n"
+"  remboursement, et un fichier PDF nommé /tmp/recus.pdf sera créé et\n"
+"  contiendra les reçus imprimables.\n"
+"  \n"
+"  $ pkrefund --reason \"Problème matériel\" jobid=503 start=today-7\n"
+"  \n"
+"  Rembourse tous les travaux dont l'identifiant est 503 et qui ont été\n"
+"  imprimés la semaine dernière. La raison indiquée sera un problème matériel.\n"
 "  \n"
 "  $ pkrefund --force username=jerome printername=HP2100\n"
 "  \n"
-"  Rembourse tous les travaux imprim�par l'utilisateur jerome sur\n"
-"  l'imprimante HP2100. Aucune confirmation ne sera demand�\n"
+"  Rembourse tous les travaux imprimés par l'utilisateur jerome sur\n"
+"  l'imprimante HP2100. Aucune confirmation ne sera demandée.\n"
 "  \n"
 "  $ pkrefund --force printername=HP2100 start=200602 end=yesterday\n"
 "  \n"
-"  Rembourse tous les travaux imprim�sur l'imprimante HP2100 entre le\n"
-"  premier F�ier 2006 et hier. Aucune confirmation ne sera demand�\n"
+"  Rembourse tous les travaux imprimés sur l'imprimante HP2100 entre le\n"
+"  premier Février 2006 et hier. Aucune confirmation ne sera demandée.\n"
 
 msgid "Refunding receipt"
-msgstr "Re�de remboursement"
+msgstr "Reçu de remboursement"
 
 msgid "Jobs refunded"
-msgstr "Travaux rembours�
+msgstr "Travaux remboursés"
 
 msgid "Pages refunded"
-msgstr "Pages rembours�"
+msgstr "Pages remboursées"
 
 msgid "Amount refunded"
-msgstr "Cr�ts rembours�
+msgstr "Crédits remboursés"
 
 msgid "Reason"
@@ -2643,22 +2454,14 @@
 
 msgid "Here's the receipt for the refunding of your print jobs"
-msgstr "Voici le re�pour le remboursement de vos travaux d'impression"
+msgstr "Voici le reçu pour le remboursement de vos travaux d'impression"
 
 msgid "Generating receipts"
-msgstr "Generation des re�"
-
-msgid ""
-"Refunding for no reason is forbidden. Please use the --reason command line "
-"option."
-msgstr ""
-"Rembourser sans raison est interdit. Merci d'utiliser l'option de lignede "
-"commande --reason."
-
-msgid ""
-"The PDF file containing the receipts will be sent to stdout. --force is "
-"assumed."
-msgstr ""
-"Le fichier PDF contenant les re� sera envoy�ers stdout. --force sera "
-"utilis�
+msgstr "Generation des reçus"
+
+msgid "Refunding for no reason is forbidden. Please use the --reason command line option."
+msgstr "Rembourser sans raison est interdit. Merci d'utiliser l'option de lignede commande --reason."
+
+msgid "The PDF file containing the receipts will be sent to stdout. --force is assumed."
+msgstr "Le fichier PDF contenant les reçus sera envoyé vers stdout. --force sera utilisé."
 
 #, python-format
@@ -2688,5 +2491,5 @@
 #, python-format
 msgid "Credits : %.3f"
-msgstr "Cr�ts : %.3f"
+msgstr "Crédits : %.3f"
 
 #, python-format
@@ -2705,5 +2508,5 @@
 #, python-format
 msgid "Refunded %i users for %i jobs, %i pages and %.3f credits"
-msgstr "Rembours�i utilisateurs pour %i travaux, %i pages et %.3f cr�ts"
+msgstr "Remboursé %i utilisateurs pour %i travaux, %i pages et %.3f crédits"
 
 #, python-format
@@ -2738,6 +2541,5 @@
 "                       it would do.\n"
 "                       \n"
-"  -u | --uidmin uid    Only adds users whose uid is greater than or equal "
-"to\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"
@@ -2748,10 +2550,8 @@
 "                       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"
+"                       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"
+"  -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"
@@ -2759,10 +2559,8 @@
 "                       Implies -D | --dogroups.\n"
 "                       \n"
-"  -G | --gidmax gid    Only adds groups whose gid is lesser than or equal "
-"to\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"
+"                       If not set, a large value will be used automatically.\n"
 "                       Implies -D | --dogroups.\n"
 "\n"
@@ -2784,10 +2582,9 @@
 "\n"
 "Un outil pour transformer PyKota en une solution clefs en main.\n"
-"Lorsqu'elle est lanc� cette commande va initialiser la base de donn�\n"
+"Lorsqu'elle est lancée, cette commande va initialiser la base de données\n"
 "de PyKota avec toutes les files d'impressions et plusieurs ou tous les\n"
-"utilisateurs. Pour l'instant aucun quota n'est d�ni, aussi les "
-"impressions\n"
-"sont bien d�mpt�, mais non limit�. C'est pourquoi vous voudrez sans\n"
-"doute aussi utiliser edpykota une fois la base de donn� initialis�\n"
+"utilisateurs. Pour l'instant aucun quota n'est défini, aussi les impressions\n"
+"sont bien décomptées, mais non limitées. C'est pourquoi vous voudrez sans\n"
+"doute aussi utiliser edpykota une fois la base de données initialisée.\n"
 "\n"
 "ligne de commande :\n"
@@ -2797,48 +2594,46 @@
 "options :\n"
 "\n"
-"  -v | --version       Affiche le num� de version de pkturnkey et quitte.\n"
+"  -v | --version       Affiche le numéro de version de pkturnkey et quitte.\n"
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
 "  -c | --doconf        Donne des conseils sur quoi mettre dans pykota.conf\n"
 "  \n"
-"  -d | --dousers       G� aussi les comptes utilisateurs.\n"
-"  \n"
-"  -D | --dogroups      G� aussi les groupes d'utilisateurs.\n"
+"  -d | --dousers       Gère aussi les comptes utilisateurs.\n"
+"  \n"
+"  -D | --dogroups      Gère aussi les groupes d'utilisateurs.\n"
 "                       Implique -d | --dousers.\n"
 "  \n"
-"  -e | --emptygroups   Inclure m� les groupes vides.\n"
-"  \n"
-"  -f | --force         Modifie la base de donn� plut�ue d'afficher ce\n"
+"  -e | --emptygroups   Inclure même les groupes vides.\n"
+"  \n"
+"  -f | --force         Modifie la base de données plutôt que d'afficher ce\n"
 "                       qui serait fait.\n"
 "                       \n"
 "  -u | --uidmin uid    Ajoute seulement les utilisateurs dont l'uid est\n"
-"                       sup�eur ou �l �a valeur de uid. Vous pouvez\n"
-"                       aussi indiquer un nom d'utilisateur, et sont uid "
-"sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�0 sera utilis�utomatiquement.\n"
+"                       supérieur ou égal à la valeur de uid. Vous pouvez\n"
+"                       aussi indiquer un nom d'utilisateur, et sont uid sera\n"
+"                       utilisé automatiquement.\n"
+"                       Si non positionné, 0 sera utilisé automatiquement.\n"
 "                       Implique -d | --dousers.\n"
 "                       \n"
 "  -U | --uidmax uid    Ajoute seulement les utilisateurs dont l'uid est\n"
-"                       inf�eur ou �l �a valeur de uid. Vous pouvez\n"
-"                       aussi indiquer un nom d'utilisateur, et sont uid "
-"sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�une grande valeur sera utilis�n"
+"                       inférieur ou égal à la valeur de uid. Vous pouvez\n"
+"                       aussi indiquer un nom d'utilisateur, et sont uid sera\n"
+"                       utilisé automatiquement.\n"
+"                       Si non positionné, une grande valeur sera utilisée\n"
 "                       automatiquement.\n"
 "                       Implique -d | --dousers.\n"
 "\n"
 "  -g | --gidmin gid    Ajoute seulement les groupes dont le gid est\n"
-"                       sup�eur ou �l �a valeur de gid. Vous pouvez\n"
+"                       supérieur ou égal à la valeur de gid. Vous pouvez\n"
 "                       aussi indiquer un nom de groupe, et sont gid sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�0 sera utilis�utomatiquement.\n"
+"                       utilisé automatiquement.\n"
+"                       Si non positionné, 0 sera utilisé automatiquement.\n"
 "                       Implique -D | --dogroups.\n"
 "                       \n"
 "  -G | --gidmax gid    Ajoute seulement les groupes dont le gid est\n"
-"                       inf�eur ou �l �a valeur de gid. Vous pouvez\n"
+"                       inférieur ou égal à la valeur de gid. Vous pouvez\n"
 "                       aussi indiquer un nom de groupe, et sont gid sera\n"
-"                       utilis�utomatiquement.\n"
-"                       Si non positionn�une grande valeur sera utilis�n"
+"                       utilisé automatiquement.\n"
+"                       Si non positionné, une grande valeur sera utilisée\n"
 "                       automatiquement.\n"
 "                       Implique -D | --dogroups.\n"
@@ -2848,22 +2643,18 @@
 "  $ pkturnkey --dousers --uidmin jerome\n"
 "\n"
-"  Ceci va simuler l'initialisation de la base de donn� de PyKota avec\n"
+"  Ceci va simuler l'initialisation de la base de données de PyKota avec\n"
 "  toutes les files d'impression existantes et les comptes d'impression pour\n"
-"  tous les utilisateurs ayant un uid sup�eur ou �l �elui de jerome.\n"
-"  Aucun groupe ne sera cr�\n"
-"  \n"
-"  Pour VRAIMENT initialiser la base de donn� plut�ue de le simuler,\n"
+"  tous les utilisateurs ayant un uid supérieur ou égal à celui de jerome.\n"
+"  Aucun groupe ne sera créé.\n"
+"  \n"
+"  Pour VRAIMENT initialiser la base de données plutôt que de le simuler,\n"
 "  vous voudrez bien utiliser l'option de ligne de commande -f|--force.\n"
 "  \n"
-"  Vous pouvez limiter l'initialisation �n sous ensemble des files\n"
-"  d'impression, en passant leurs noms �a fin de la ligne de commande.\n"
-
-#, python-format
-msgid ""
-"Printer %s is not managed by PyKota yet. Please modify printers.conf and "
-"restart CUPS."
-msgstr ""
-"L'imprimante %s n'est pas encore g�e par PyKota. Veuillez modifier "
-"printers.conf et relancer CUPS."
+"  Vous pouvez limiter l'initialisation à un sous ensemble des files\n"
+"  d'impression, en passant leurs noms à la fin de la ligne de commande.\n"
+
+#, python-format
+msgid "Printer %s is not managed by PyKota yet. Please modify printers.conf and restart CUPS."
+msgstr "L'imprimante %s n'est pas encore gérée par PyKota. Veuillez modifier printers.conf et relancer CUPS."
 
 msgid "Please be patient..."
@@ -2871,11 +2662,11 @@
 
 msgid "Don't worry, the database WILL NOT BE MODIFIED."
-msgstr "Aucune inqui�de, la base de donn� NE SERA PAS MODIFIEE."
+msgstr "Aucune inquiétude, la base de données NE SERA PAS MODIFIEE."
 
 msgid "Please WORRY NOW, the database WILL BE MODIFIED."
-msgstr "Merci de vous INQUIETER MAINTENANT, la base de donn� SERA MODIFIEE."
+msgstr "Merci de vous INQUIETER MAINTENANT, la base de données SERA MODIFIEE."
 
 msgid "System users will have a print account as well !"
-msgstr "Les utilisateurs syst� auront �lement un compte d'impression !"
+msgstr "Les utilisateurs système auront également un compte d'impression !"
 
 #, python-format
@@ -2884,5 +2675,5 @@
 
 msgid "System groups will have a print account as well !"
-msgstr "Les groupes syst� auront �lement un compte d'impression !"
+msgstr "Les groupes système auront également un compte d'impression !"
 
 #, python-format
@@ -2891,17 +2682,14 @@
 
 msgid "Simulation terminated."
-msgstr "Simulation termin�"
+msgstr "Simulation terminée."
 
 msgid "Database initialized !"
-msgstr "Base de donn� initialis�!"
+msgstr "Base de données initialisée !"
 
 msgid "The --uidmin or --uidmax command line option implies --dousers as well."
-msgstr ""
-"L'option de ligne de commande --uidmin ou --uidmax implique aussi --dousers."
-
-msgid ""
-"The --gidmin or --gidmax command line option implies --dogroups as well."
-msgstr ""
-"L'option de ligne de commande --gidmin ou --gidmax implique aussi --dogroups."
+msgstr "L'option de ligne de commande --uidmin ou --uidmax implique aussi --dousers."
+
+msgid "The --gidmin or --gidmax command line option implies --dogroups as well."
+msgstr "L'option de ligne de commande --gidmin ou --gidmax implique aussi --dogroups."
 
 msgid "The --dogroups command line option implies --dousers as well."
@@ -2958,6 +2746,5 @@
 "  -L | --list          Lists users or groups.\n"
 "  \n"
-"  -l | --limitby l     Choose if the user/group is limited in "
-"printing                     \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"
@@ -2970,9 +2757,7 @@
 "                         - nochange : no limit, accounting not done. \n"
 "                         - noprint : printing is denied. \n"
-"                       NB : nochange and noprint are not supported for "
-"groups.\n"
-"                       \n"
-"  -b | --balance b     Sets the user's account balance to "
-"b.                     \n"
+"                       NB : nochange and noprint are not supported for groups.\n"
+"                       \n"
+"  -b | --balance b     Sets the user's account balance to b.                     \n"
 "                       Account balance may be increase or decreased\n"
 "                       if b is prefixed with + or -.\n"
@@ -2988,6 +2773,5 @@
 "                       \n"
 "                       \n"
-"  -r | --remove        In combination with the --ingroups option "
-"above,                       \n"
+"  -r | --remove        In combination with the --ingroups option above,                       \n"
 "                       remove users from the specified users groups.\n"
 "                       \n"
@@ -3060,85 +2844,74 @@
 "options :\n"
 "\n"
-"  -v | --version       Affiche le num� de version de pkusers et quitte.\n"
+"  -v | --version       Affiche le numéro de version de pkusers et quitte.\n"
 "  -h | --help          Affiche ce message et quitte.\n"
 "\n"
-"  -a | --add           Ajoute des utilisateurs s'ils n'existent pas d�\n"
-"                       dans la base de donn�. S'ils existent, ils sont\n"
-"                       modifi�sauf si -s|--skipexisting est aussi "
-"utilis�n"
-"\n"
-"  -d | --delete        Efface des utilisateurs de la base de donn�.\n"
+"  -a | --add           Ajoute des utilisateurs s'ils n'existent pas déjà\n"
+"                       dans la base de données. S'ils existent, ils sont\n"
+"                       modifiés sauf si -s|--skipexisting est aussi utilisé.\n"
+"\n"
+"  -d | --delete        Efface des utilisateurs de la base de données.\n"
 "\n"
 "  -e | --email adr     Positionne l'adresse email des utilisateurs.\n"
-"                       Si le param�e adr commence par @, alors\n"
-"                       cette valeur est pr�x�par le nom d'utilisateur\n"
+"                       Si le paramètre adr commence par @, alors\n"
+"                       cette valeur est préfixée par le nom d'utilisateur\n"
 "                       pour former une adresse email valide.\n"
 "\n"
 "  -D | --description d Ajoute une description textuelle aux utilisateurs.\n"
 "\n"
-"  -g | --groups        Modifie des groupes d'utilisateurs plut�ue des\n"
+"  -g | --groups        Modifie des groupes d'utilisateurs plutôt que des\n"
 "                       utilisateurs.\n"
 "\n"
-"  -o | --overcharge f  Positionne le coefficient de surtaxe appliqu�\n"
-"                       l'utilisateur lors du calcul du co�un travail\n"
+"  -o | --overcharge f  Positionne le coefficient de surtaxe appliqué à\n"
+"                       l'utilisateur lors du calcul du coût d'un travail\n"
 "                       d'impression. Des valeurs flottantes positives ou\n"
 "                       negatives sont permises, ceci permet de faire des\n"
-"                       choses vraiment cr�ives comme par exemple donner\n"
-"                       de l'argent �n utilisateur chaque fois qu'il "
-"imprime.\n"
+"                       choses vraiment créatives comme par exemple donner\n"
+"                       de l'argent à un utilisateur chaque fois qu'il imprime.\n"
 "                       Le nombre de pages d'un travail d'impression n'est\n"
-"                       pas modifi�ar ce coefficient, seul le co� "
-"travail\n"
+"                       pas modifié par ce coefficient, seul le coût du travail\n"
 "                       pour un utilisateur particulier l'est.\n"
 "                       Seuls les utilisateurs ont un tel coefficient.\n"
 "\n"
 "  -i | --ingroups g1[,g2...]  Met les utilisateurs dans chacun des groupes\n"
-"                              list� separ�par des virgules. Les groupes\n"
-"                              doivent d� exister dans la base de donn�.\n"
+"                              listés, separés par des virgules. Les groupes\n"
+"                              doivent déjà exister dans la base de données.\n"
 "\n"
 "  -L | --list          Liste les utilisateurs ou les groupes.\n"
 "\n"
-"  -l | --limitby l     Choisit si l'utilisateur/groupe est is limit�ar\n"
+"  -l | --limitby l     Choisit si l'utilisateur/groupe est is limité par\n"
 "                       le solde de son compte ou par un quota de pages.\n"
-"                       La valeur par d�ut est 'quota'. Les valeurs "
-"possibles\n"
+"                       La valeur par défaut est 'quota'. Les valeurs possibles\n"
 "                       sont 'quota' 'balance' 'noquota' 'noprint'\n"
 "                       et 'nochange' :\n"
 "\n"
-"                         - quota : limite en nombre de pages par "
-"imprimante.\n"
-"                         - balance : limite en nombre de cr�ts sur le "
-"compte.\n"
-"                         - noquota : aucune limite, mais d�mpte effectu�n"
-"                         - nochange : aucune limite, aucun d�mpte. \n"
+"                         - quota : limite en nombre de pages par imprimante.\n"
+"                         - balance : limite en nombre de crédits sur le compte.\n"
+"                         - noquota : aucune limite, mais décompte effectué.\n"
+"                         - nochange : aucune limite, aucun décompte. \n"
 "                         - noprint : impression interdite.\n"
-"                       NB : nochange et noprint ne sont pas support�pour\n"
+"                       NB : nochange et noprint ne sont pas supportés pour\n"
 "                            les groupes.\n"
 "\n"
-"  -b | --balance b     Positionne le solde de l'utilisateur �.\n"
-"                       Le solde peut �e incr�nt�u d��nt�i b\n"
-"                       est pr�d�'un signe + ou -.\n"
-"                       ATTENTION : en d��ntant le solde, le total pay�"
-"                       par l'utilisateur est �lement d��nt�n"
-"                       Les groupes n'ont pas un v�table solde, mais la "
-"somme\n"
+"  -b | --balance b     Positionne le solde de l'utilisateur à b.\n"
+"                       Le solde peut être incrémenté ou décrémenté si b\n"
+"                       est précédé d'un signe + ou -.\n"
+"                       ATTENTION : en décrémentant le solde, le total payé\n"
+"                       par l'utilisateur est également décrémenté.\n"
+"                       Les groupes n'ont pas un véritable solde, mais la somme\n"
 "                       des soldes de tous leurs membres.\n"
 "\n"
-"  -C | --comment txt   D�nit un texte d'information qui sera associ�"
-"                       avec le changement de valeur du solde de "
-"l'utilisateur.\n"
-"                       Seulement pris en compte si -b | --balance est "
-"utilis�n"
-"\n"
-"  -r | --remove        Combin�vec l'option --ingroups ci-dessus, enl�\n"
-"                       les utilisateurs des groupes sp�fi�\n"
-"\n"
-"  -s | --skipexisting  Combin�vec l'option --add ci-dessus, indique �
-"pkusers\n"
+"  -C | --comment txt   Définit un texte d'information qui sera associé\n"
+"                       avec le changement de valeur du solde de l'utilisateur.\n"
+"                       Seulement pris en compte si -b | --balance est utilisé.\n"
+"\n"
+"  -r | --remove        Combiné avec l'option --ingroups ci-dessus, enlève\n"
+"                       les utilisateurs des groupes spécifiés.\n"
+"\n"
+"  -s | --skipexisting  Combiné avec l'option --add ci-dessus, indique à pkusers\n"
 "                       de ne pas modifier les utilisateurs existants.\n"
 "\n"
-"  utilisateur1 �tilisateurN et groupe1 �roupeN peuvent contenir des "
-"jokers\n"
-"  si l'option --add n'est pas utilis�\n"
+"  utilisateur1 à utilisateurN et groupe1 à groupeN peuvent contenir des jokers\n"
+"  si l'option --add n'est pas utilisée.\n"
 "\n"
 "exemples :\n"
@@ -3146,31 +2919,28 @@
 "  $ pkusers --add john paul george ringo/ringo@example.com\n"
 "\n"
-"  Ceci va ajouter les utilisateurs john, paul, george et ringo �a base\n"
-"  de donn�. L'adresse email de ringo sera positionn��ringo@example."
-"com'\n"
+"  Ceci va ajouter les utilisateurs john, paul, george et ringo à la base\n"
+"  de données. L'adresse email de ringo sera positionnée à 'ringo@example.com'\n"
 "\n"
 "  $ pkusers --ingroups coders,it jerome\n"
 "\n"
-"  L'utilisateur jerome sera plac�an les groupes \"coders\" et \"it\" quit\n"
-"  doivent exister dans la base de donn�.\n"
+"  L'utilisateur jerome sera placé dan les groupes \"coders\" et \"it\" quit\n"
+"  doivent exister dans la base de données.\n"
 "\n"
 "  $ pkusers --limitby balance jerome\n"
 "\n"
-"  Ceci va indiquer �yKota que jerome doit �e limit�ar le solde de son\n"
+"  Ceci va indiquer à PyKota que jerome doit être limité par le solde de son\n"
 "  compte lorsqu'il imprime.\n"
 "\n"
-"  $ pkusers --balance +10.0 --comment \"Il a pay�vec son sang !\" jerome\n"
-"\n"
-"  Ceci va incr�nter le solde de jerome de 10.0 (dans votre propre "
-"monnaie)\n"
-"  Vous pouvez d��nter le solde en pr�dant la valeur du signe -,\n"
-"  et le positionner �ne valeur fix�sans aucun pr�xe.\n"
-"  Un commentaire sera stock�our le changement de la valeur du solde.\n"
+"  $ pkusers --balance +10.0 --comment \"Il a payé avec son sang !\" jerome\n"
+"\n"
+"  Ceci va incrémenter le solde de jerome de 10.0 (dans votre propre monnaie)\n"
+"  Vous pouvez décrémenter le solde en précédant la valeur du signe -,\n"
+"  et le positionner à une valeur fixée sans aucun préfixe.\n"
+"  Un commentaire sera stocké pour le changement de la valeur du solde.\n"
 "\n"
 "  $ pkusers --delete jerome rachel\n"
 "\n"
-"  Ceci va compl�ment effacer les utilisateurs jerome et rachel de la base\n"
-"  de donn�. Tous leurs quotas et travaux d'impression seront aussi "
-"effac�\n"
+"  Ceci va complètement effacer les utilisateurs jerome et rachel de la base\n"
+"  de données. Tous leurs quotas et travaux d'impression seront aussi effacés.\n"
 "\n"
 "  $ pkusers --overcharge 2.5 pauvreetudiant\n"
@@ -3184,23 +2954,23 @@
 "  $ pkusers --overcharge 0 patron\n"
 "\n"
-"  L'utilisateur patron peut imprimer �olont�cela ne lui co� rien\n"
-"  car le co� chaque job sera multipli�ar 0 avant de modifier le solde\n"
+"  L'utilisateur patron peut imprimer à volonté, cela ne lui coûtera rien\n"
+"  car le coût de chaque job sera multiplié par 0 avant de modifier le solde\n"
 "  de son compte.\n"
 "\n"
 "  $ pkusers --email @example.com\n"
 "\n"
-"  Ceci va fixer l'adresse email de chaque utilisateur �om@example.com\n"
+"  Ceci va fixer l'adresse email de chaque utilisateur à nom@example.com\n"
 
 #, python-format
 msgid "Invalid email address %s"
-msgstr "Adresse �ctronique %s invalide"
+msgstr "Adresse électronique %s invalide"
 
 #, python-format
 msgid "There's no %s matching %s"
-msgstr "Il n'y a aucun %s correspondant �s"
+msgstr "Il n'y a aucun %s correspondant à %s"
 
 #, python-format
 msgid "Limited by : %s"
-msgstr "Limit�ar : %s"
+msgstr "Limité par : %s"
 
 #, python-format
@@ -3210,5 +2980,5 @@
 #, python-format
 msgid "Total paid so far : %.2f"
-msgstr "Total vers� %.2f"
+msgstr "Total versé : %.2f"
 
 #, python-format
@@ -3234,5 +3004,5 @@
 #, python-format
 msgid "There's no users group matching %s"
-msgstr "Il n'y a aucun groupe d'utilisateurs correspondant �s"
+msgstr "Il n'y a aucun groupe d'utilisateurs correspondant à %s"
 
 #, python-format
@@ -3246,9 +3016,9 @@
 #, python-format
 msgid "%s %s already exists, skipping."
-msgstr "%s %s existe d�, ne sera pas modifi�
+msgstr "%s %s existe déjà, ne sera pas modifié."
 
 #, python-format
 msgid "%s %s already exists, will be modified."
-msgstr "%s %s existe d�, sera modifi�
+msgstr "%s %s existe déjà, sera modifié."
 
 #, python-format
@@ -3257,6 +3027,5 @@
 
 msgid "You have to pass user groups names on the command line"
-msgstr ""
-"Vous devez passer des noms de groupes d'utilisateurs sur la ligne de commande"
+msgstr "Vous devez passer des noms de groupes d'utilisateurs sur la ligne de commande"
 
 #, python-format
@@ -3282,6 +3051,5 @@
 "                       Defaults to 3 seconds.\n"
 "                       \n"
-"  -f | --font f        Sets the font to use for "
-"display.                      \n"
+"  -f | --font f        Sets the font to use for display.                      \n"
 "                       Defaults to the Python OSD library's default.\n"
 "  \n"
@@ -3314,25 +3082,23 @@
 "  -h | --help          Affiche ce message et quitte.\n"
 "  \n"
-"  -c | --color #rrggbb Fixe la couleur �tiliser pour l'affichage �n\n"
+"  -c | --color #rrggbb Fixe la couleur à utiliser pour l'affichage à un\n"
 "                       triplet hexadecimal, par exemple #FF0000 est 100%%\n"
 "                       de rouge.\n"
-"                       La valeur par d�ut est 100%% de vert (#00FF00).\n"
-"                       \n"
-"  -d | --duration d    Fixe la dur�de l'affichage en secondes. \n"
-"                       La valeur par d�ut est de 3 secondes.\n"
-"                       \n"
-"  -f | --font f        Fixe la police de caract�s �tiliser pour\n"
+"                       La valeur par défaut est 100%% de vert (#00FF00).\n"
+"                       \n"
+"  -d | --duration d    Fixe la durée de l'affichage en secondes. \n"
+"                       La valeur par défaut est de 3 secondes.\n"
+"                       \n"
+"  -f | --font f        Fixe la police de caractères à utiliser pour\n"
 "                       l'affichage.\n"
-"                       La valeur par d�ut est celle de la librairie\n"
+"                       La valeur par défaut est celle de la librairie\n"
 "                       Python OSD.\n"
 "                       \n"
-"  -l | --loop n        Fixe le nombre de fois o�nformation sera "
-"affich�\n"
-"                       La valeur par d�ut est 0, qui indique un nombre\n"
+"  -l | --loop n        Fixe le nombre de fois où l'information sera affichée.\n"
+"                       La valeur par défaut est 0, qui indique un nombre\n"
 "                       d'affichages infini.\n"
 "                       \n"
-"  -s | --sleep s       Fixe la dur�en secondes de sommeil entre deux\n"
-"                       affichages. La valeur par d�ut est 180 (3 "
-"minutes).\n"
+"  -s | --sleep s       Fixe la durée en secondes de sommeil entre deux\n"
+"                       affichages. La valeur par défaut est 180 (3 minutes).\n"
 "\n"
 "\n"
@@ -3341,7 +3107,7 @@
 "  $ pykosd -s 60 --loop 5\n"
 "  \n"
-"  Lance pykosd. L'affichage sera rafra�it toutes les 60 secondes,\n"
-"  et persistera pendant 3 secondes (la valeur par d�ut) �haque fois.\n"
-"  Apr�5 it�tions, le programme se terminera.\n"
+"  Lance pykosd. L'affichage sera rafraîchit toutes les 60 secondes,\n"
+"  et persistera pendant 3 secondes (la valeur par défaut) à chaque fois.\n"
+"  Après 5 itérations, le programme se terminera.\n"
 
 #, python-format
@@ -3367,5 +3133,5 @@
 #, python-format
 msgid "Pages used on %s : %s"
-msgstr "Pages utilis� sur %s : %s"
+msgstr "Pages utilisées sur %s : %s"
 
 #, python-format
@@ -3377,8 +3143,8 @@
 
 msgid "Printing not limited."
-msgstr "Impression illimit�"
+msgstr "Impression illimitée."
 
 msgid "Printing not limited, no accounting."
-msgstr "Impression illimit� aucun d�mpte."
+msgstr "Impression illimitée, aucun décompte."
 
 #, python-format
@@ -3439,10 +3205,10 @@
 "  \n"
 "  -P | --printer p     Fait un devis sur cette imprimante seulement.\n"
-"                       En fait p peut contenir des caract�s jokers\n"
-"                       pour s�ctionner seulement certaines imprimantes.\n"
-"                       La valeur par d�ut est *, qui signifie toutes les\n"
+"                       En fait p peut contenir des caractères jokers\n"
+"                       pour sélectionner seulement certaines imprimantes.\n"
+"                       La valeur par défaut est *, qui signifie toutes les\n"
 "                       imprimantes. \n"
-"                       Vous pouvez sp�fier plusieurs noms ou jokers,\n"
-"                       en les s�rant avec des virgules.\n"
+"                       Vous pouvez spécifier plusieurs noms ou jokers,\n"
+"                       en les séparant avec des virgules.\n"
 "  \n"
 "exemples :                              \n"
@@ -3450,20 +3216,18 @@
 "  $ pykotme --printer apple fichier1.ps fichier2.ps\n"
 "  \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�r l'imprimante apple d'un\n"
+"  Ceci va établir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le coût sur l'imprimante apple d'un\n"
 "  travail d'impression consitant en fichier1.ps et fichier2.ps\n"
 "  \n"
 "  $ pykotme --printer apple,hplaser <fichier1.ps\n"
 "  \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�un travail provenant de "
-"l'entr�n"
+"  Ceci va établir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le coût d'un travail provenant de l'entrée\n"
 "  standard dans laquelle on redirigerait le fichier fichier1.ps et qui\n"
-"  serait envoy�sur les imprimantes apple ou hplaser.\n"
+"  serait envoyés sur les imprimantes apple ou hplaser.\n"
 "\n"
 "  $ pykotme \n"
-"  Ceci va �blir un devis d'impression pour l'utilisateur courant.\n"
-"  Ce devis indiquera la taille et le co�un travail provenant de "
-"l'entr�n"
+"  Ceci va établir un devis d'impression pour l'utilisateur courant.\n"
+"  Ce devis indiquera la taille et le coût d'un travail provenant de l'entrée\n"
 "  standard, et ce pour chaque imprimante.\n"
 
@@ -3478,39 +3242,35 @@
 #, python-format
 msgid "Cost on printer %s : %.2f"
-msgstr "Co�r l'imprimante %s : %.2f"
+msgstr "Coût sur l'imprimante %s : %.2f"
 
 msgid "won't be charged, printer is in passthrough mode"
-msgstr "non d�mpt�imprimante en mode 'passthrough'"
+msgstr "non décompté, imprimante en mode 'passthrough'"
 
 msgid "won't be charged, your account is immutable"
-msgstr "non d�mpt�votre compte est immuable"
+msgstr "non décompté, votre compte est immuable"
 
 #, python-format
 msgid "Unsupported accounter backend %s"
-msgstr "Backend accounter %s non support�
-#, python-format
-msgid ""
-"Configuration file %s can't be read. Please check that the file exists and "
-"that your permissions are sufficient."
-msgstr ""
-"Le fichier de configuration %s ne peut pas �e lu. Merci de v�fier que le "
-"fichier existe et que vos permissions sont suffisantes."
+msgstr "Backend accounter %s non supporté"
+
+#, python-format
+msgid "Configuration file %s can't be read. Please check that the file exists and that your permissions are sufficient."
+msgstr "Le fichier de configuration %s ne peut pas être lu. Merci de vérifier que le fichier existe et que vos permissions sont suffisantes."
 
 #, python-format
 msgid "Configuration file %s not found."
-msgstr "Fichier de configuration %s non trouv�
+msgstr "Fichier de configuration %s non trouvé."
 
 #, python-format
 msgid "Option %s not found in section global of %s"
-msgstr "Option %s non trouv�dans la section global de %s"
+msgstr "Option %s non trouvée dans la section global de %s"
 
 #, python-format
 msgid "Option %s not found in section %s of %s"
-msgstr "Option %s non trouv�dans la section %s de %s"
+msgstr "Option %s non trouvée dans la section %s de %s"
 
 #, python-format
 msgid "Option ldaptls is set, but certificate %s is not readable."
-msgstr ""
-"Option ldaptls positionn� mais le certificat %s n'est pas disponible."
+msgstr "Option ldaptls positionnée, mais le certificat %s n'est pas disponible."
 
 #, python-format
@@ -3524,7 +3284,5 @@
 #, python-format
 msgid "Option preaccounter in section %s only supports values in %s"
-msgstr ""
-"L'option 'preaccounter' dans la section %s supporte seulement les valeurs "
-"dans %s"
+msgstr "L'option 'preaccounter' dans la section %s supporte seulement les valeurs dans %s"
 
 #, python-format
@@ -3534,37 +3292,25 @@
 #, python-format
 msgid "Option accounter in section %s only supports values in %s"
-msgstr ""
-"L'option accounter pour l'imprimante %s supporte seulement les valeurs %s"
+msgstr "L'option accounter pour l'imprimante %s supporte seulement les valeurs %s"
 
 #, python-format
 msgid "Invalid unknown_billingcode directive %s for printer %s"
-msgstr ""
-"Le contenu %s de la directive unknown_billingcode pour l'imprimante %s est "
-"invalide"
+msgstr "Le contenu %s de la directive unknown_billingcode pour l'imprimante %s est invalide"
 
 #, python-format
 msgid "Directive unknown_billingcode in section %s only supports values in %s"
-msgstr ""
-"La directive unknown_billingcode dans la section %s supporte seulement les "
-"valeurs comprises dans %s"
+msgstr "La directive unknown_billingcode dans la section %s supporte seulement les valeurs comprises dans %s"
 
 #, python-format
 msgid "Option enforcement in section %s only supports values in %s"
-msgstr ""
-"L'option enforcement pour l'imprimante %s supporte seulement les valeurs %s"
-
-#, python-format
-msgid ""
-"Option onbackenderror in section %s only supports values 'charge', "
-"'nocharge', and 'retry:num:delay'"
-msgstr ""
-"L'option 'onbackenderror' dans la section %s supporte seulement les valeurs "
-"'charge', 'nocharge', et 'retry:num:d�i'"
+msgstr "L'option enforcement pour l'imprimante %s supporte seulement les valeurs %s"
+
+#, python-format
+msgid "Option onbackenderror in section %s only supports values 'charge', 'nocharge', and 'retry:num:delay'"
+msgstr "L'option 'onbackenderror' dans la section %s supporte seulement les valeurs 'charge', 'nocharge', et 'retry:num:délai'"
 
 #, python-format
 msgid "Option onaccountererror in section %s only supports values in %s"
-msgstr ""
-"L'option onaccountererror pour l'imprimante %s supporte seulement les "
-"valeurs %s"
+msgstr "L'option onaccountererror pour l'imprimante %s supporte seulement les valeurs %s"
 
 #, python-format
@@ -3582,9 +3328,9 @@
 #, python-format
 msgid "Invalid maximal deny banners counter %s"
-msgstr "Compteur maximal de banni�s refus� %s invalide"
+msgstr "Compteur maximal de bannières refusées %s invalide"
 
 #, python-format
 msgid "Invalid grace delay %s"
-msgstr "D�i de gr� %s invalide"
+msgstr "Délai de grâce %s invalide"
 
 #, python-format
@@ -3602,7 +3348,6 @@
 msgstr ""
 "Le solde de votre compte d'impression est Bas.\n"
-"Bient�ous ne serez plus autoris�) �mprimer.\n"
-"Merci de contacter l'Administrateur de Quota d'Impression pour r�udre ce "
-"probl�."
+"Bientôt vous ne serez plus autorisé(e) à imprimer.\n"
+"Merci de contacter l'Administrateur de Quota d'Impression pour résoudre ce problème."
 
 #, python-format
@@ -3611,6 +3356,6 @@
 "your Print Quota is exceeded on printer %s."
 msgstr ""
-"Vous n'�s plus autoris� imprimer car\n"
-"votre Quota d'Impression est d�ss�ur l'imprimante %s."
+"Vous n'êtes plus autorisé à imprimer car\n"
+"votre Quota d'Impression est dépassé sur l'imprimante %s."
 
 #, python-format
@@ -3619,21 +3364,18 @@
 "your Print Quota is almost reached on printer %s."
 msgstr ""
-"Vous n'aurez bient�lus le droit d'imprimer car\n"
+"Vous n'aurez bientôt plus le droit d'imprimer car\n"
 "votre Quota d'Impression sur l'imprimante %s est presque atteint."
 
 #, python-format
 msgid "Incorrect value %s for the duplicatesdelay directive in section %s"
-msgstr ""
-"Valeur %s incorrecte pour la directive 'duplicatesdelay' dans la section %s"
+msgstr "Valeur %s incorrecte pour la directive 'duplicatesdelay' dans la section %s"
 
 #, python-format
 msgid "Incorrect value %s for the noprintingmaxdelay directive in section %s"
-msgstr ""
-"Valeur incorrecte %s pour la directive noprintingmaxdelay dans la section %s"
+msgstr "Valeur incorrecte %s pour la directive noprintingmaxdelay dans la section %s"
 
 #, python-format
 msgid "Option accountbanner in section %s only supports values in %s"
-msgstr ""
-"L'option accountbanner dans la section %s supporte seulement les valeurs %s"
+msgstr "L'option accountbanner dans la section %s supporte seulement les valeurs %s"
 
 #, python-format
@@ -3675,11 +3417,11 @@
 
 msgid "Comma Separated Values"
-msgstr "Valeurs s�r� par des virgules"
+msgstr "Valeurs séparées par des virgules"
 
 msgid "Semicolon Separated Values"
-msgstr "Valeurs s�r� par des points virgules"
+msgstr "Valeurs séparées par des points virgules"
 
 msgid "Tabulation Separated Values"
-msgstr "Valeurs s�r� par des tabulations"
+msgstr "Valeurs séparées par des tabulations"
 
 msgid "eXtensible Markup Language"
@@ -3691,36 +3433,27 @@
 #, python-format
 msgid "Invalid modifier [%s] for --data command line option, see help."
-msgstr ""
-"Le modificateur [%s] pour l'option de ligne de commande --data est invalide, "
-"voir l'aide."
-
-msgid ""
-"Dumping all PyKota's datas forces format to XML, and disables --sum and "
-"filters."
-msgstr ""
-"Exporter toutes les donn� de PyKota force le format �ML et interdit --"
-"sum et les filtres."
+msgstr "Le modificateur [%s] pour l'option de ligne de commande --data est invalide, voir l'aide."
+
+msgid "Dumping all PyKota's datas forces format to XML, and disables --sum and filters."
+msgstr "Exporter toutes les données de PyKota force le format à XML et interdit --sum et les filtres."
 
 #, python-format
 msgid "Invalid modifier [%s] for --format command line option, see help."
-msgstr ""
-"Le modificateur [%s] pour l'option de ligne de commande --format est "
-"invalide, voir l'aide."
+msgstr "Le modificateur [%s] pour l'option de ligne de commande --format est invalide, voir l'aide."
 
 msgid "XML output is disabled because the jaxml module is not available."
-msgstr "La sortie XML est d�ctiv�car le module jaxml n'est pas disponible."
+msgstr "La sortie XML est désactivée car le module jaxml n'est pas disponible."
 
 #, python-format
 msgid "Invalid data type [%s] for --sum command line option, see help."
-msgstr ""
-"Le type de donn� [%s] est invalide pour l'option de ligne de commande --"
-"sum, voir l'aide."
+msgstr "Le type de données [%s] est invalide pour l'option de ligne de commande --sum, voir l'aide."
 
 msgid "PyKota data dumper failed : I/O error"
-msgstr "Erreur de l'exporteur de donn� de PyKota : erreur d'entr�sortie"
+msgstr "Erreur de l'exporteur de données de PyKota : erreur d'entrée/sortie"
 
 #, python-format
 msgid "Unsupported logging subsystem %s"
-msgstr "Syst� de log %s non support�
+msgstr "Système de log %s non supporté"
+
 #, python-format
 msgid "Report for %s quota on printer %s"
@@ -3729,5 +3462,5 @@
 #, python-format
 msgid "Pages grace time: %i days"
-msgstr "D�i de gr�: %i jours"
+msgstr "Délai de grâce: %i jours"
 
 #, python-format
@@ -3739,17 +3472,9 @@
 msgstr "Prix par page: %.3f"
 
-msgid ""
-"Group          overcharge   used    soft    hard    balance grace         "
-"total       paid warn"
-msgstr ""
-"Groupe           surtaxe    util    soft    hard    balance grace         "
-"total       pay�arn"
-
-msgid ""
-"User           overcharge   used    soft    hard    balance grace         "
-"total       paid warn"
-msgstr ""
-"Utilisateur      surtaxe    util    soft    hard    balance grace         "
-"total       pay�arn"
+msgid "Group          overcharge   used    soft    hard    balance grace         total       paid warn"
+msgstr "Groupe           surtaxe    util    soft    hard    balance grace         total       payé warn"
+
+msgid "User           overcharge   used    soft    hard    balance grace         total       paid warn"
+msgstr "Utilisateur      surtaxe    util    soft    hard    balance grace         total       payé warn"
 
 msgid "unknown"
@@ -3758,5 +3483,5 @@
 #, python-format
 msgid "Real : %s"
-msgstr "R� : %s"
+msgstr "Réel : %s"
 
 #, python-format
@@ -3769,23 +3494,26 @@
 #, python-format
 msgid "Unsupported reporter backend %s"
-msgstr "backend reporter %s non support�
+msgstr "backend reporter %s non supporté"
+
 #, python-format
 msgid "Refunded %i pages and %.3f credits by %s (%s) on %s"
-msgstr "Remboursement de %i pages et %.3f cr�ts par %s (%s) le %s"
+msgstr "Remboursement de %i pages et %.3f crédits par %s (%s) le %s"
 
 #, python-format
 msgid "Unsupported quota storage backend %s"
-msgstr "Backend de stockage de quota %s non support�
+msgstr "Backend de stockage de quota %s non supporté"
+
 msgid "Done"
-msgstr "Termin�
+msgstr "Terminé"
+
 msgid "Average speed"
 msgstr "Vitesse moyenne"
 
 msgid "entries per second"
-msgstr "entr� par seconde"
+msgstr "entrées par seconde"
 
 #, python-format
 msgid "Strange problem with uid(%s) : %s"
-msgstr "Probl� �ange avec uid(%s) : %s"
+msgstr "Problème étrange avec uid(%s) : %s"
 
 #, python-format
@@ -3794,23 +3522,22 @@
 
 msgid "No user named 'pykota'. Not dropping priviledges."
-msgstr "Aucun utilisateur appel�pykota'. Pas de restriction des privil�s."
+msgstr "Aucun utilisateur appelé 'pykota'. Pas de restriction des privilèges."
 
 #, python-format
 msgid "Impossible to drop priviledges : %s"
-msgstr "Impossible de restreindre les privil�s : %s"
+msgstr "Impossible de restreindre les privilèges : %s"
 
 msgid "Priviledges dropped. Now running as user 'pykota'."
-msgstr ""
-"Privil�s restreints. Fonctionne maintenant en tant qu'utilisateur 'pykota'."
+msgstr "Privilèges restreints. Fonctionne maintenant en tant qu'utilisateur 'pykota'."
 
 #, python-format
 msgid "Impossible to regain priviledges : %s"
-msgstr "Impossible de r�p�r les privil�s : %s"
+msgstr "Impossible de récupérer les privilèges : %s"
 
 msgid "Regained priviledges. Now running as root."
-msgstr "Privil�s r�p�s. Fonctionne maintenant en tant que root."
+msgstr "Privilèges récupérés. Fonctionne maintenant en tant que root."
 
 msgid "Please report bugs to :"
-msgstr "Merci d'envoyer les rapports de bugs �"
+msgstr "Merci d'envoyer les rapports de bugs à :"
 
 #, python-format
@@ -3824,5 +3551,5 @@
 "\n"
 "\n"
-"Merci de contacter votre administrateur syst� :\n"
+"Merci de contacter votre administrateur système :\n"
 "\n"
 "\t%s - <%s>\n"
@@ -3830,15 +3557,9 @@
 #, python-format
 msgid "Unable to match user %s on printer %s, applying default policy (%s)"
-msgstr ""
-"Impossible de trouver l'utilisateur %s sur l'imprimante %s, action par "
-"d�ut (%s) appliqu�
-
-#, python-format
-msgid ""
-"Unable to find user %s's account balance, applying default policy (%s) for "
-"printer %s"
-msgstr ""
-"Impossible de trouver le solde du compte de l'utilisateur %s, action par "
-"d�ut (%s) appliqu�sur l'imprimante %s"
+msgstr "Impossible de trouver l'utilisateur %s sur l'imprimante %s, action par défaut (%s) appliquée"
+
+#, python-format
+msgid "Unable to find user %s's account balance, applying default policy (%s) for printer %s"
+msgstr "Impossible de trouver le solde du compte de l'utilisateur %s, action par défaut (%s) appliquée sur l'imprimante %s"
 
 #, python-format
@@ -3848,9 +3569,8 @@
 #, python-format
 msgid "Print Quota exceeded for group %s on printer %s"
-msgstr ""
-"D�ssement de Quota d'impression pour le groupe %s sur l'imprimante %s"
+msgstr "Dépassement de Quota d'impression pour le groupe %s sur l'imprimante %s"
 
 msgid "Print Quota Exceeded"
-msgstr "D�ssement de Quota d'Impression"
+msgstr "Dépassement de Quota d'Impression"
 
 #, python-format
@@ -3862,89 +3582,64 @@
 
 #, python-format
-msgid ""
-"Search base %s doesn't seem to exist. Probable misconfiguration. Please "
-"double check /etc/pykota/pykota.conf : %s"
-msgstr ""
-"La base de recherche %s semble �e inexistante. Probablement une mauvaise "
-"configuration. Merci de v�fier /etc/pykota/pykota.conf : %s"
+msgid "Search base %s doesn't seem to exist. Probable misconfiguration. Please double check /etc/pykota/pykota.conf : %s"
+msgstr "La base de recherche %s semble être inexistante. Probablement une mauvaise configuration. Merci de vérifier /etc/pykota/pykota.conf : %s"
 
 #, python-format
 msgid "Search for %s(%s) from %s(scope=%s) returned no answer."
-msgstr "La recherche de %s(%s) depuis %s(scope=%s) n'a renvoy�ucun r�ltat."
+msgstr "La recherche de %s(%s) depuis %s(scope=%s) n'a renvoyé aucun résultat."
 
 #, python-format
 msgid "Problem adding LDAP entry (%s, %s)"
-msgstr "Probl� durant l'ajout de l'entr�LDAP (%s, %s)"
+msgstr "Problème durant l'ajout de l'entrée LDAP (%s, %s)"
 
 #, python-format
 msgid "Problem deleting LDAP entry (%s)"
-msgstr "Probl� durant la suppression de l'entr�LDAP (%s)"
+msgstr "Problème durant la suppression de l'entrée LDAP (%s)"
 
 #, python-format
 msgid "Problem modifying LDAP entry (%s, %s)"
-msgstr "Probl� durant la modification de l'entr�LDAP (%s, %s)"
-
-#, python-format
-msgid ""
-"No pykotaAccountBalance object found for user %s. Did you create LDAP "
-"entries manually ?"
-msgstr ""
-"Aucun objet pykotaAccountBalance trouv�our l'utilisateur %s. Avez vous "
-"cr�des entr� LDAP manuellement ?"
+msgstr "Problème durant la modification de l'entrée LDAP (%s, %s)"
+
+#, python-format
+msgid "No pykotaAccountBalance object found for user %s. Did you create LDAP entries manually ?"
+msgstr "Aucun objet pykotaAccountBalance trouvé pour l'utilisateur %s. Avez vous créé des entrées LDAP manuellement ?"
 
 msgid "Hidden because of privacy concerns"
-msgstr "Cach�ar respect de la vie priv�
-
-#, python-format
-msgid ""
-"Unable to find an existing objectClass %s entry with %s=%s to attach "
-"pykotaAccount objectClass"
-msgstr ""
-"Impossible de trouver une entr�existante ayant pour objectClass %s avec %s="
-"%s �aquelle attacher une objectClass pykotaAccount"
+msgstr "Caché par respect de la vie privée"
+
+#, python-format
+msgid "Unable to find an existing objectClass %s entry with %s=%s to attach pykotaAccount objectClass"
+msgstr "Impossible de trouver une entrée existante ayant pour objectClass %s avec %s=%s à laquelle attacher une objectClass pykotaAccount"
 
 #, python-format
 msgid "%s. A new entry will be created instead."
-msgstr "%s. Une nouvelle entr�sera cr� �a place."
+msgstr "%s. Une nouvelle entrée sera créée à la place."
 
 #, python-format
 msgid "Unable to find an existing entry to attach pykotaGroup objectclass %s"
-msgstr ""
-"Impossible de trouver une entr�existante �aquelle attacher l'objectClass "
-"pykotaGroup %s"
-
-msgid ""
-"Your version of python-mysqldb is too old. Please install a newer release."
-msgstr ""
-"Votre version de python-mysqldb est trop ancienne. Merci d'en installer une "
-"plus r�nte."
+msgstr "Impossible de trouver une entrée existante à laquelle attacher l'objectClass pykotaGroup %s"
+
+msgid "Your version of python-mysqldb is too old. Please install a newer release."
+msgstr "Votre version de python-mysqldb est trop ancienne. Merci d'en installer une plus récente."
 
 #, python-format
 msgid "A problem occured while reading printer %s's internal page counter."
-msgstr ""
-"Un probl� est survenu durant la lecture du compteur de pages internes de "
-"l'imprimante %s."
+msgstr "Un problème est survenu durant la lecture du compteur de pages internes de l'imprimante %s."
 
 #, python-format
 msgid "Retrieving printer %s's page counter from database instead."
-msgstr ""
-"R�p�tion du compteur de pages de l'imprimante %s depuis la base de "
-"donn�."
-
-#, python-format
-msgid ""
-"Couldn't retrieve printer %s's internal page counter either before or after "
-"printing."
-msgstr ""
-"Impossible de r�p�r le compteur de page internes de l'imprimante avant "
-"ou apr�l'impression."
+msgstr "Récupération du compteur de pages de l'imprimante %s depuis la base de données."
+
+#, python-format
+msgid "Couldn't retrieve printer %s's internal page counter either before or after printing."
+msgstr "Impossible de récupérer le compteur de page internes de l'imprimante avant ou après l'impression."
 
 #, python-format
 msgid "Job's size forced to 1 page for printer %s."
-msgstr "Taille du travail forc� 1 page pour l'imprimante %s."
+msgstr "Taille du travail forcé à 1 page pour l'imprimante %s."
 
 #, python-format
 msgid "No previous job in database for printer %s."
-msgstr "Aucun travail pr�dent pour l'imprimante %s dans la base de donn�."
+msgstr "Aucun travail précédent pour l'imprimante %s dans la base de données."
 
 #, python-format
@@ -3958,13 +3653,13 @@
 #, python-format
 msgid "Launching HARDWARE(%s)..."
-msgstr "Ex�tion de HARDWARE(%s)..."
+msgstr "Exécution de HARDWARE(%s)..."
 
 #, python-format
 msgid "SIGTERM was sent to hardware accounter %s (pid: %s)"
-msgstr "SIGTERM a � envoy�u compteur hardware %s (pid: %s)"
+msgstr "SIGTERM a été envoyé au compteur hardware %s (pid: %s)"
 
 #, python-format
 msgid "Line [%s] skipped in accounter's output. Trying again..."
-msgstr "Ligne [%s] ignor�ans la sortie du compteur. R�sayer..."
+msgstr "Ligne [%s] ignoré dans la sortie du compteur. Réessayer..."
 
 #, python-format
@@ -3977,22 +3672,18 @@
 
 #, python-format
-msgid ""
-"Unable to precompute the job's size and ink coverage with the generic PDL "
-"analyzer : %s"
-msgstr ""
-"Impossible d'estimer la taille et le taux de couverture d'encre avec "
-"l'analyseur g�rique de Langage de Description de Page (PDL) : %s"
+msgid "Unable to precompute the job's size and ink coverage with the generic PDL analyzer : %s"
+msgstr "Impossible d'estimer la taille et le taux de couverture d'encre avec l'analyseur générique de Langage de Description de Page (PDL) : %s"
 
 #, python-format
 msgid "Problem during connection to %s:%s : %s"
-msgstr "Probl� durant la connexion �s:%s : %s"
+msgstr "Problème durant la connexion à %s:%s : %s"
 
 #, python-format
 msgid "Problem while sending PJL query to %s:%s : %s"
-msgstr "Probl� lors de l'envoi des requ�s PJL �s:%s : %s"
+msgstr "Problème lors de l'envoi des requêtes PJL à %s:%s : %s"
 
 #, python-format
 msgid "Problem while receiving PJL answer from %s:%s : %s"
-msgstr "Probl� lors de la r�ption de la r�nse PJL depuis %s:%s : %s"
+msgstr "Problème lors de la réception de la réponse PJL depuis %s:%s : %s"
 
 #, python-format
@@ -4002,43 +3693,33 @@
 #, python-format
 msgid "Waiting for printer %s's idle status to stabilize..."
-msgstr "En attente que l'�t disponible de l'imprimante %s se stabilise..."
-
-#, python-format
-msgid ""
-"PJL querying stage interrupted. Using latest value seen for internal page "
-"counter (%s) on printer %s."
-msgstr ""
-"Interrogation PJL interrompue. Utilisation de la derni� valeur connue du "
-"compteur (%s) sur l'imprimante %s."
-
-#, python-format
-msgid ""
-"SNMP querying stage interrupted. Using latest value seen for internal page "
-"counter (%s) on printer %s."
-msgstr ""
-"Interrogation SNMP interrompue. Utilisation de la derni� valeur connue du "
-"compteur (%s) sur l'imprimante %s."
+msgstr "En attente que l'état disponible de l'imprimante %s se stabilise..."
+
+#, python-format
+msgid "PJL querying stage interrupted. Using latest value seen for internal page counter (%s) on printer %s."
+msgstr "Interrogation PJL interrompue. Utilisation de la dernière valeur connue du compteur (%s) sur l'imprimante %s."
+
+#, python-format
+msgid "SNMP querying stage interrupted. Using latest value seen for internal page counter (%s) on printer %s."
+msgstr "Interrogation SNMP interrompue. Utilisation de la dernière valeur connue du compteur (%s) sur l'imprimante %s."
 
 #, python-format
 msgid "Network error while doing SNMP queries on printer %s : %s"
-msgstr "Erreur r�au durant les requ�s SNMP sur l'imprimante %s : %s"
+msgstr "Erreur réseau durant les requêtes SNMP sur l'imprimante %s : %s"
 
 #, python-format
 msgid "SNMP message decoding error for printer %s : %s"
-msgstr "Erreur de d�dage de message SNMP pour l'imprimante %s : %s"
+msgstr "Erreur de décodage de message SNMP pour l'imprimante %s : %s"
 
 #, python-format
 msgid "Problem encountered while doing SNMP queries on printer %s : %s"
-msgstr "Probl� rencontr�urant les requ�s SNMP sur l'imprimante %s : %s"
+msgstr "Problème rencontré durant les requêtes SNMP sur l'imprimante %s : %s"
 
 #, python-format
 msgid "Unable to precompute the job's size with the generic PDL analyzer : %s"
-msgstr ""
-"Impossible de pr�alculer la taille du travail d'impression avec "
-"l'analyzeur g�rique de PDL : %s"
+msgstr "Impossible de pré-calculer la taille du travail d'impression avec l'analyzeur générique de PDL : %s"
 
 #, python-format
 msgid "Launching SOFTWARE(%s)..."
-msgstr "Ex�tion de SOFTWARE(%s)..."
+msgstr "Exécution de SOFTWARE(%s)..."
 
 #, python-format
@@ -4048,6 +3729,5 @@
 #, python-format
 msgid "Problem while waiting for software accounter pid %s to exit : %s"
-msgstr ""
-"Probl� d�ct�n attendant que le compteur software pid %s se termine : %s"
+msgstr "Problème détecté en attendant que le compteur software pid %s se termine : %s"
 
 #, python-format
@@ -4056,9 +3736,8 @@
 
 msgid "Totals may be inaccurate if some users are members of several groups."
-msgstr ""
-"Les totaux peuvent �e faux si des utilisateurs sont dans plusieurs groupes."
+msgstr "Les totaux peuvent être faux si des utilisateurs sont dans plusieurs groupes."
 
 msgid "PyKota Data Dumper"
-msgstr "Extracteur de Donn� de PyKota"
+msgstr "Extracteur de Données de PyKota"
 
 msgid "Dump"
@@ -4069,5 +3748,5 @@
 
 msgid "Data Type"
-msgstr "Type de Donn�"
+msgstr "Type de Données"
 
 msgid "Output Format"
@@ -4078,5 +3757,6 @@
 
 msgid "Summarize"
-msgstr "R�m�
+msgstr "Résumé"
+
 msgid "only for payments or history"
 msgstr "seulement pour les payments ou l'historique"
@@ -4107,5 +3787,5 @@
 
 msgid "Hostname"
-msgstr "Nom d'H�
+msgstr "Nom d'Hôte"
 
 msgid "JobId"
@@ -4116,5 +3796,7 @@
 
 msgid "Cost"
-msgstr "Co�msgid "Copies"
+msgstr "Coût"
+
+msgid "Copies"
 msgstr "Copies"
 
@@ -4138,12 +3820,14 @@
 
 msgid "Precomputed cost"
-msgstr "Estimation du co�msgid "Pages details"
-msgstr "D�ils des pages"
+msgstr "Estimation du coût"
+
+msgid "Pages details"
+msgstr "Détails des pages"
 
 msgid "(not supported yet)"
-msgstr "(pas encore support�
+msgstr "(pas encore supporté)"
 
 msgid "Previous page"
-msgstr "Page pr�dente"
+msgstr "Page précédente"
 
 msgid "PyKota Quotes"
@@ -4153,10 +3837,6 @@
 msgstr "Devis"
 
-msgid ""
-"The exact cost of a print job can only be determined for a particular user. "
-"Please retry while logged-in."
-msgstr ""
-"Le co�act d'un travail d'impression ne peut �e d�rmin�ue pour un "
-"utilisateur connu. Merci de r�sayer en �nt connect�
+msgid "The exact cost of a print job can only be determined for a particular user. Please retry while logged-in."
+msgstr "Le coût exact d'un travail d'impression ne peut être déterminé que pour un utilisateur connu. Merci de réessayer en étant connecté."
 
 msgid "Ordering"
