From d2d39f77de8813b575c8c11b2873a598b1696b03 Mon Sep 17 00:00:00 2001 From: Hugo Levy-Falk Date: Thu, 5 Sep 2019 19:00:13 +0200 Subject: [PATCH 1/2] Fix #216 --- users/forms.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/users/forms.py b/users/forms.py index 582b2f97..7bb68046 100644 --- a/users/forms.py +++ b/users/forms.py @@ -390,8 +390,13 @@ class AdherentCreationForm(AdherentForm): # Checkbox for GTU gtu_check = forms.BooleanField(required=True) - #gtu_check.label = mark_safe("{} {}{}".format( - # _("I commit to accept the"), GeneralOption.get_cached_value('GTU'), _("General Terms of Use"), _("."))) + gtu_check.label = mark_safe( + "{} {}{}".format( + _("I commit to accept the"), + GeneralOption.get_cached_value('GTU').url, + _("General Terms of Use"), _(".") + ) + ) class Meta: model = Adherent From 8f5b302cbf1f999f4eb84f18f51fcf12b6d68e75 Mon Sep 17 00:00:00 2001 From: Hugo Levy-Falk Date: Thu, 5 Sep 2019 19:55:54 +0200 Subject: [PATCH 2/2] Translation for GTU check. --- api/locale/fr/LC_MESSAGES/django.po | 2 +- cotisations/locale/fr/LC_MESSAGES/django.po | 8 +- logs/locale/fr/LC_MESSAGES/django.po | 70 +-- machines/locale/fr/LC_MESSAGES/django.po | 326 ++++++------ preferences/locale/fr/LC_MESSAGES/django.po | 192 +++---- re2o/locale/fr/LC_MESSAGES/django.po | 18 +- search/locale/fr/LC_MESSAGES/django.po | 36 +- templates/locale/fr/LC_MESSAGES/django.po | 362 +++++++++++-- topologie/locale/fr/LC_MESSAGES/django.po | 384 ++++++++------ users/forms.py | 17 +- users/locale/fr/LC_MESSAGES/django.po | 544 ++++++++++---------- 11 files changed, 1172 insertions(+), 787 deletions(-) diff --git a/api/locale/fr/LC_MESSAGES/django.po b/api/locale/fr/LC_MESSAGES/django.po index 7bafa61a..b906b937 100644 --- a/api/locale/fr/LC_MESSAGES/django.po +++ b/api/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2019-01-07 01:37+0100\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" diff --git a/cotisations/locale/fr/LC_MESSAGES/django.po b/cotisations/locale/fr/LC_MESSAGES/django.po index 325752d9..943bb8e7 100644 --- a/cotisations/locale/fr/LC_MESSAGES/django.po +++ b/cotisations/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-03-31 16:09+0002\n" "Last-Translator: Laouen Fernet \n" "Language: fr_FR\n" @@ -33,7 +33,7 @@ msgstr "" msgid "You don't have the right to view this application." msgstr "Vous n'avez pas le droit de voir cette application." -#: cotisations/forms.py:66 cotisations/forms.py:299 +#: cotisations/forms.py:66 cotisations/forms.py:298 msgid "Select a payment method" msgstr "Sélectionnez un moyen de paiement" @@ -109,7 +109,7 @@ msgstr "Banques disponibles" msgid "Amount" msgstr "Montant" -#: cotisations/forms.py:292 +#: cotisations/forms.py:291 #: cotisations/templates/cotisations/aff_cost_estimate.html:42 #: cotisations/templates/cotisations/aff_cotisations.html:44 #: cotisations/templates/cotisations/aff_custom_invoice.html:42 @@ -117,7 +117,7 @@ msgstr "Montant" msgid "Payment method" msgstr "Moyen de paiement" -#: cotisations/forms.py:313 +#: cotisations/forms.py:312 #, python-format msgid "" "Requested amount is too high. Your balance can't exceed " diff --git a/logs/locale/fr/LC_MESSAGES/django.po b/logs/locale/fr/LC_MESSAGES/django.po index 1448c6bf..8691c5b7 100644 --- a/logs/locale/fr/LC_MESSAGES/django.po +++ b/logs/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-23 16:01+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -159,7 +159,7 @@ msgid "Statistics" msgstr "Statistiques" #: logs/templates/logs/index.html:32 logs/templates/logs/stats_logs.html:32 -#: logs/views.py:414 +#: logs/views.py:422 msgid "Actions performed" msgstr "Actions effectuées" @@ -183,7 +183,7 @@ msgstr "Base de données" msgid "Wiring actions" msgstr "Actions de câblage" -#: logs/templates/logs/sidebar.html:53 logs/views.py:336 +#: logs/templates/logs/sidebar.html:53 logs/views.py:344 msgid "Users" msgstr "Utilisateurs" @@ -236,118 +236,124 @@ msgid "Archived users" msgstr "Utilisateurs archivés" #: logs/views.py:261 +#, fuzzy +#| msgid "Archived users" +msgid "Full Archived users" +msgstr "Utilisateurs archivés" + +#: logs/views.py:269 msgid "Not yet active users" msgstr "Utilisateurs pas encore actifs" -#: logs/views.py:269 +#: logs/views.py:277 msgid "Contributing members" msgstr "Adhérents cotisants" -#: logs/views.py:275 +#: logs/views.py:283 msgid "Users benefiting from a connection" msgstr "Utilisateurs bénéficiant d'une connexion" -#: logs/views.py:281 +#: logs/views.py:289 msgid "Banned users" msgstr "Utilisateurs bannis" -#: logs/views.py:287 +#: logs/views.py:295 msgid "Users benefiting from a free connection" msgstr "Utilisateurs bénéficiant d'une connexion gratuite" -#: logs/views.py:293 +#: logs/views.py:301 msgid "Active interfaces (with access to the network)" msgstr "Interfaces actives (ayant accès au réseau)" -#: logs/views.py:303 +#: logs/views.py:311 msgid "Active interfaces assigned IPv4" msgstr "Interfaces actives assignées IPv4" -#: logs/views.py:316 +#: logs/views.py:324 msgid "IP range" msgstr "Plage d'IP" -#: logs/views.py:317 +#: logs/views.py:325 msgid "VLAN" msgstr "VLAN" -#: logs/views.py:318 +#: logs/views.py:326 msgid "Total number of IP addresses" msgstr "Nombre total d'adresses IP" -#: logs/views.py:319 +#: logs/views.py:327 msgid "Number of assigned IP addresses" msgstr "Nombre d'adresses IP non assignées" -#: logs/views.py:320 +#: logs/views.py:328 msgid "Number of IP address assigned to an activated machine" msgstr "Nombre d'adresses IP assignées à une machine activée" -#: logs/views.py:321 +#: logs/views.py:329 msgid "Number of nonassigned IP addresses" msgstr "Nombre d'adresses IP non assignées" -#: logs/views.py:348 +#: logs/views.py:356 msgid "Subscriptions" msgstr "Cotisations" -#: logs/views.py:370 logs/views.py:431 +#: logs/views.py:378 logs/views.py:439 msgid "Machines" msgstr "Machines" -#: logs/views.py:397 +#: logs/views.py:405 msgid "Topology" msgstr "Topologie" -#: logs/views.py:416 +#: logs/views.py:424 msgid "Number of actions" msgstr "Nombre d'actions" -#: logs/views.py:430 logs/views.py:448 logs/views.py:453 logs/views.py:458 -#: logs/views.py:473 +#: logs/views.py:438 logs/views.py:456 logs/views.py:461 logs/views.py:466 +#: logs/views.py:481 msgid "User" msgstr "Utilisateur" -#: logs/views.py:434 +#: logs/views.py:442 msgid "Invoice" msgstr "Facture" -#: logs/views.py:437 +#: logs/views.py:445 msgid "Ban" msgstr "Bannissement" -#: logs/views.py:440 +#: logs/views.py:448 msgid "Whitelist" msgstr "Accès gracieux" -#: logs/views.py:443 +#: logs/views.py:451 msgid "Rights" msgstr "Droits" -#: logs/views.py:447 +#: logs/views.py:455 msgid "School" msgstr "Établissement" -#: logs/views.py:452 +#: logs/views.py:460 msgid "Payment method" msgstr "Moyen de paiement" -#: logs/views.py:457 +#: logs/views.py:465 msgid "Bank" msgstr "Banque" -#: logs/views.py:474 +#: logs/views.py:482 msgid "Action" msgstr "Action" -#: logs/views.py:505 +#: logs/views.py:513 msgid "No model found." msgstr "Aucun modèle trouvé." -#: logs/views.py:511 +#: logs/views.py:519 msgid "Nonexistent entry." msgstr "Entrée inexistante." -#: logs/views.py:518 +#: logs/views.py:526 msgid "You don't have the right to access this menu." msgstr "Vous n'avez pas le droit d'accéder à ce menu." diff --git a/machines/locale/fr/LC_MESSAGES/django.po b/machines/locale/fr/LC_MESSAGES/django.po index 3078604b..a2422759 100644 --- a/machines/locale/fr/LC_MESSAGES/django.po +++ b/machines/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-23 16:35+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -143,47 +143,47 @@ msgstr "Services actuels" msgid "Current VLANs" msgstr "VLANs actuels" -#: machines/models.py:61 +#: machines/models.py:63 msgid "Optional" msgstr "Optionnel" -#: machines/models.py:69 +#: machines/models.py:71 msgid "Can view a machine object" msgstr "Peut voir un objet machine" -#: machines/models.py:71 +#: machines/models.py:73 msgid "Can change the user of a machine" msgstr "Peut changer l'utilisateur d'une machine" -#: machines/models.py:73 +#: machines/models.py:75 msgid "machine" msgstr "machine" -#: machines/models.py:74 +#: machines/models.py:76 msgid "machines" msgstr "machines" -#: machines/models.py:107 +#: machines/models.py:109 msgid "You don't have the right to change the machine's user." msgstr "Vous n'avez pas le droit de changer l'utilisateur de la machine." -#: machines/models.py:116 +#: machines/models.py:118 msgid "You don't have the right to view all the machines." msgstr "Vous n'avez pas le droit de voir toutes les machines." -#: machines/models.py:130 +#: machines/models.py:132 msgid "Nonexistent user." msgstr "Utilisateur inexistant." -#: machines/models.py:138 +#: machines/models.py:140 msgid "You don't have the right to add a machine." msgstr "Vous n'avez pas le droit d'ajouter une machine." -#: machines/models.py:140 +#: machines/models.py:142 msgid "You don't have the right to add a machine to another user." msgstr "Vous n'avez pas le droit d'ajouter une machine à un autre utilisateur." -#: machines/models.py:143 machines/models.py:1212 +#: machines/models.py:145 machines/models.py:1239 #, python-format msgid "" "You reached the maximum number of interfaces that you are allowed to create " @@ -192,79 +192,79 @@ msgstr "" "Vous avez atteint le nombre maximal d'interfaces que vous pouvez créer vous-" "même (%s)." -#: machines/models.py:162 machines/models.py:1237 machines/models.py:1254 -#: machines/models.py:1343 machines/models.py:1360 +#: machines/models.py:164 machines/models.py:1264 machines/models.py:1281 +#: machines/models.py:1370 machines/models.py:1387 msgid "You don't have the right to edit a machine of another user." msgstr "" "Vous n'avez pas le droit de modifier une machine d'un autre utilisateur." -#: machines/models.py:180 +#: machines/models.py:182 msgid "You don't have the right to delete a machine of another user." msgstr "" "Vous n'avez pas le droit de supprimer une machine d'une autre utilisateur." -#: machines/models.py:192 +#: machines/models.py:194 msgid "You don't have the right to view other machines than yours." msgstr "Vous n'avez pas le droit de voir d'autres machines que les vôtres." -#: machines/models.py:204 machines/templates/machines/aff_machines.html:53 +#: machines/models.py:206 machines/templates/machines/aff_machines.html:53 msgid "No name" msgstr "Sans nom" -#: machines/models.py:254 +#: machines/models.py:266 msgid "Can view a machine type object" msgstr "Peut voir un objet type de machine" -#: machines/models.py:255 +#: machines/models.py:267 msgid "Can use all machine types" msgstr "Peut utiliser tous les types de machine" -#: machines/models.py:257 +#: machines/models.py:269 msgid "machine type" msgstr "type de machine" -#: machines/models.py:258 +#: machines/models.py:270 msgid "machine types" msgstr "types de machine" -#: machines/models.py:276 +#: machines/models.py:288 msgid "You don't have the right to use all machine types." msgstr "Vous n'avez pas le droit d'utiliser tous les types de machine." -#: machines/models.py:295 +#: machines/models.py:307 msgid "Network containing the domain's IPv4 range (optional)" msgstr "Réseau contenant la plage IPv4 du domaine (optionnel)" -#: machines/models.py:303 +#: machines/models.py:315 msgid "Netmask for the domain's IPv4 range" msgstr "Masque de sous-réseau pour la plage IPv4 du domaine" -#: machines/models.py:307 +#: machines/models.py:319 msgid "Enable reverse DNS for IPv4" msgstr "Activer DNS inverse pour IPv4" -#: machines/models.py:323 +#: machines/models.py:335 msgid "Enable reverse DNS for IPv6" msgstr "Activer DNS inverse pour IPv6" -#: machines/models.py:339 +#: machines/models.py:351 msgid "Can view an IP type object" msgstr "Peut voir un objet type d'IP" -#: machines/models.py:340 +#: machines/models.py:352 msgid "Can use all IP types" msgstr "Peut utiliser tous les types d'IP" -#: machines/models.py:342 machines/templates/machines/aff_iptype.html:35 +#: machines/models.py:354 machines/templates/machines/aff_iptype.html:35 #: machines/templates/machines/machine.html:108 msgid "IP type" msgstr "type d'IP" -#: machines/models.py:343 +#: machines/models.py:355 msgid "IP types" msgstr "types d'IP" -#: machines/models.py:446 +#: machines/models.py:458 msgid "" "One or several IP addresses from the range are affected, impossible to " "delete the range." @@ -272,21 +272,21 @@ msgstr "" "Une ou plusieurs adresses IP de la plage sont affectées, impossible de " "supprimer la plage." -#: machines/models.py:488 +#: machines/models.py:500 msgid "Range end must be after range start..." msgstr "La fin de la plage doit être après le début..." -#: machines/models.py:491 +#: machines/models.py:503 msgid "The range is too large, you can't create a larger one than a /16." msgstr "" "La plage est trop grande, vous ne pouvez pas en créer une plus grande " "qu'un /16." -#: machines/models.py:496 +#: machines/models.py:508 msgid "The specified range is not disjoint from existing ranges." msgstr "La plage renseignée n'est pas disjointe des plages existantes." -#: machines/models.py:504 +#: machines/models.py:516 msgid "" "If you specify a domain network or netmask, it must contain the domain's IP " "range." @@ -294,47 +294,47 @@ msgstr "" "Si vous renseignez un réseau ou masque de sous-réseau, il doit contenir la " "plage IP du domaine." -#: machines/models.py:537 +#: machines/models.py:549 msgid "v4 multicast management" msgstr "gestion de multidiffusion v4" -#: machines/models.py:541 +#: machines/models.py:553 msgid "v6 multicast management" msgstr "gestion de multidiffusion v6" -#: machines/models.py:546 +#: machines/models.py:558 msgid "Can view a VLAN object" msgstr "Peut voir un objet VLAN" -#: machines/models.py:548 machines/templates/machines/machine.html:160 +#: machines/models.py:560 machines/templates/machines/machine.html:160 msgid "VLAN" msgstr "VLAN" -#: machines/models.py:549 machines/templates/machines/sidebar.html:57 +#: machines/models.py:561 machines/templates/machines/sidebar.html:57 msgid "VLANs" msgstr "VLANs" -#: machines/models.py:562 +#: machines/models.py:574 msgid "MAC-address" msgstr "MAC-address" -#: machines/models.py:585 +#: machines/models.py:597 msgid "Can view a NAS device object" msgstr "Peut voir un objet dispositif NAS" -#: machines/models.py:587 machines/templates/machines/machine.html:164 +#: machines/models.py:599 machines/templates/machines/machine.html:164 msgid "NAS device" msgstr "dispositif NAS" -#: machines/models.py:588 machines/templates/machines/sidebar.html:63 +#: machines/models.py:600 machines/templates/machines/sidebar.html:63 msgid "NAS devices" msgstr "dispositifs NAS" -#: machines/models.py:602 +#: machines/models.py:614 msgid "Contact email address for the zone" msgstr "Adresse mail de contact pour la zone" -#: machines/models.py:606 +#: machines/models.py:618 msgid "" "Seconds before the secondary DNS have to ask the primary DNS serial to " "detect a modification" @@ -342,7 +342,7 @@ msgstr "" "Secondes avant que le DNS secondaire demande au DNS primaire le serial pour " "détecter une modification" -#: machines/models.py:611 +#: machines/models.py:623 msgid "" "Seconds before the secondary DNS ask the serial again in case of a primary " "DNS timeout" @@ -350,7 +350,7 @@ msgstr "" "Secondes avant que le DNS secondaire demande le serial de nouveau dans le " "cas d'un délai d'attente du DNS primaire" -#: machines/models.py:616 +#: machines/models.py:628 msgid "" "Seconds before the secondary DNS stop answering requests in case of primary " "DNS timeout" @@ -358,112 +358,112 @@ msgstr "" "Secondes avant que le DNS secondaire arrête de répondre aux requêtes dans le " "cas d'un délai d'attente du DNS primaire" -#: machines/models.py:621 machines/models.py:878 +#: machines/models.py:633 machines/models.py:890 msgid "Time to Live" msgstr "Temps de vie" -#: machines/models.py:626 +#: machines/models.py:638 msgid "Can view an SOA record object" msgstr "Peut voir un objet enregistrement SOA" -#: machines/models.py:628 machines/templates/machines/aff_extension.html:36 +#: machines/models.py:640 machines/templates/machines/aff_extension.html:36 #: machines/templates/machines/machine.html:120 msgid "SOA record" msgstr "enregistrement SOA" -#: machines/models.py:629 +#: machines/models.py:641 msgid "SOA records" msgstr "enregistrements SOA" -#: machines/models.py:668 +#: machines/models.py:680 msgid "SOA to edit" msgstr "SOA à modifier" -#: machines/models.py:679 +#: machines/models.py:691 msgid "Zone name, must begin with a dot (.example.org)" msgstr "Nom de zone, doit commencer par un point (.example.org)" -#: machines/models.py:687 +#: machines/models.py:699 msgid "A record associated with the zone" msgstr "Enregistrement A associé à la zone" -#: machines/models.py:693 +#: machines/models.py:705 msgid "AAAA record associated with the zone" msgstr "Enregristrement AAAA associé avec la zone" -#: machines/models.py:701 +#: machines/models.py:713 msgid "Should the zone be signed with DNSSEC" msgstr "La zone doit-elle être signée avec DNSSEC" -#: machines/models.py:706 +#: machines/models.py:718 msgid "Can view an extension object" msgstr "Peut voir un objet extension" -#: machines/models.py:707 +#: machines/models.py:719 msgid "Can use all extensions" msgstr "Peut utiliser toutes les extensions" -#: machines/models.py:709 +#: machines/models.py:721 msgid "DNS extension" msgstr "extension DNS" -#: machines/models.py:710 +#: machines/models.py:722 msgid "DNS extensions" msgstr "extensions DNS" -#: machines/models.py:764 +#: machines/models.py:776 msgid "An extension must begin with a dot." msgstr "Une extension doit commencer par un point." -#: machines/models.py:778 +#: machines/models.py:790 msgid "Can view an MX record object" msgstr "Peut voir un objet enregistrement MX" -#: machines/models.py:780 machines/templates/machines/machine.html:124 +#: machines/models.py:792 machines/templates/machines/machine.html:124 msgid "MX record" msgstr "enregistrement MX" -#: machines/models.py:781 +#: machines/models.py:793 msgid "MX records" msgstr "enregistrements MX" -#: machines/models.py:803 +#: machines/models.py:815 msgid "Can view an NS record object" msgstr "Peut voir un objet enregistrement NS" -#: machines/models.py:805 machines/templates/machines/machine.html:128 +#: machines/models.py:817 machines/templates/machines/machine.html:128 msgid "NS record" msgstr "enregistrement NS" -#: machines/models.py:806 +#: machines/models.py:818 msgid "NS records" msgstr "enregistrements NS" -#: machines/models.py:825 +#: machines/models.py:837 msgid "Can view a TXT record object" msgstr "Peut voir un objet enregistrement TXT" -#: machines/models.py:827 machines/templates/machines/machine.html:132 +#: machines/models.py:839 machines/templates/machines/machine.html:132 msgid "TXT record" msgstr "enregistrement TXT" -#: machines/models.py:828 +#: machines/models.py:840 msgid "TXT records" msgstr "enregistrements TXT" -#: machines/models.py:847 +#: machines/models.py:859 msgid "Can view a DNAME record object" msgstr "Peut voir un objet enregistrement DNAME" -#: machines/models.py:849 machines/templates/machines/machine.html:136 +#: machines/models.py:861 machines/templates/machines/machine.html:136 msgid "DNAME record" msgstr "enregistrement DNAME" -#: machines/models.py:850 +#: machines/models.py:862 msgid "DNAME records" msgstr "enregistrements DNAME" -#: machines/models.py:883 +#: machines/models.py:895 msgid "" "Priority of the target server (positive integer value, the lower it is, the " "more the server will be used if available)" @@ -471,7 +471,7 @@ msgstr "" "Priorité du serveur cible (entier positif, plus il est bas, plus le serveur " "sera utilisé si disponible)" -#: machines/models.py:890 +#: machines/models.py:902 msgid "" "Relative weight for records with the same priority (integer value between 0 " "and 65535)" @@ -479,141 +479,153 @@ msgstr "" "Poids relatif des enregistrements avec la même priorité (entier entre 0 et " "65535)" -#: machines/models.py:895 +#: machines/models.py:907 msgid "TCP/UDP port" msgstr "Port TCP/UDP" -#: machines/models.py:900 +#: machines/models.py:912 msgid "Target server" msgstr "Serveur cible" -#: machines/models.py:905 +#: machines/models.py:917 msgid "Can view an SRV record object" msgstr "Peut voir un objet enregistrement SRV" -#: machines/models.py:907 machines/templates/machines/machine.html:140 +#: machines/models.py:919 machines/templates/machines/machine.html:140 msgid "SRV record" msgstr "enregistrement SRV" -#: machines/models.py:908 +#: machines/models.py:920 msgid "SRV records" msgstr "enregistrements SRV" -#: machines/models.py:937 machines/templates/machines/aff_sshfp.html:31 +#: machines/models.py:949 machines/templates/machines/aff_sshfp.html:31 msgid "SSH public key" msgstr "Clé publique SSH" -#: machines/models.py:945 machines/templates/machines/aff_sshfp.html:33 +#: machines/models.py:957 machines/templates/machines/aff_sshfp.html:33 #: machines/templates/machines/aff_vlan.html:35 msgid "Comment" msgstr "Commentaire" -#: machines/models.py:972 +#: machines/models.py:984 msgid "Can view an SSHFP record object" msgstr "Peut voir un objet enregistrement SSHFP" -#: machines/models.py:974 machines/templates/machines/machine.html:144 +#: machines/models.py:986 machines/templates/machines/machine.html:144 msgid "SSHFP record" msgstr "enregistrement SSHFP" -#: machines/models.py:975 +#: machines/models.py:987 msgid "SSHFP records" msgstr "enregistrements SSHFP" -#: machines/models.py:1012 +#: machines/models.py:1024 msgid "Can view an interface object" msgstr "Peut voir un objet interface" -#: machines/models.py:1014 +#: machines/models.py:1026 msgid "Can change the owner of an interface" msgstr "Peut changer l'utilisateur d'une interface" -#: machines/models.py:1016 +#: machines/models.py:1028 msgid "interface" msgstr "interface" -#: machines/models.py:1017 +#: machines/models.py:1029 msgid "interfaces" msgstr "interfaces" -#: machines/models.py:1121 +#: machines/models.py:1133 msgid "The given MAC address is invalid." msgstr "L'adresse MAC indiquée est invalide." -#: machines/models.py:1129 +#: machines/models.py:1141 msgid "There is no IP address available in the slash." msgstr "Il n'y a pas d'adresse IP disponible dans le slash." -#: machines/models.py:1166 +#: machines/models.py:1154 +#, fuzzy +#| msgid "IPv4 range" +msgid "IPv4 unassigning" +msgstr "Plage IPv4" + +#: machines/models.py:1162 +#, fuzzy +#| msgid "IPv4 range" +msgid "IPv4 assigning" +msgstr "Plage IPv4" + +#: machines/models.py:1193 msgid "The selected IP type is invalid." msgstr "Le type d'IP sélectionné est invalide." -#: machines/models.py:1176 +#: machines/models.py:1203 msgid "Mac address already registered in this Machine Type/Subnet" msgstr "" -#: machines/models.py:1183 +#: machines/models.py:1210 msgid "The IPv4 address and the machine type don't match." msgstr "L'adresse IPv4 et le type de machine ne correspondent pas." -#: machines/models.py:1198 +#: machines/models.py:1225 msgid "Nonexistent machine." msgstr "Machine inexistante." -#: machines/models.py:1202 +#: machines/models.py:1229 msgid "You can't add a machine." msgstr "Vous ne pouvez pas ajouter une machine." -#: machines/models.py:1208 +#: machines/models.py:1235 msgid "" "You don't have the right to add an interface to a machine of another user." msgstr "" "Vous n'avez pas le droit d'ajouter une interface à une machine d'un autre " "utilisateur." -#: machines/models.py:1222 +#: machines/models.py:1249 msgid "Permission required to edit the machine." msgstr "Permission requise pour modifier la machine." -#: machines/models.py:1266 machines/models.py:1372 machines/models.py:1582 +#: machines/models.py:1293 machines/models.py:1399 machines/models.py:1609 msgid "You don't have the right to view machines other than yours." msgstr "Vous n'avez pas le droit de voir d'autres machines que les vôtres." -#: machines/models.py:1299 +#: machines/models.py:1326 msgid "Can view an IPv6 addresses list object" msgstr "Peut voir un objet list d'adresses IPv6" -#: machines/models.py:1300 +#: machines/models.py:1327 msgid "Can change the SLAAC value of an IPv6 addresses list" msgstr "Peut modifier la valeur SLAAC d'une liste d'adresses IPv6" -#: machines/models.py:1303 +#: machines/models.py:1330 msgid "IPv6 addresses list" msgstr "Liste d'adresses IPv6" -#: machines/models.py:1304 +#: machines/models.py:1331 msgid "IPv6 addresses lists" msgstr "Listes d'adresses IPv6" -#: machines/models.py:1316 machines/models.py:1530 +#: machines/models.py:1343 machines/models.py:1557 msgid "Nonexistent interface." msgstr "Interface inexistante." -#: machines/models.py:1319 machines/models.py:1537 +#: machines/models.py:1346 machines/models.py:1564 msgid "You don't have the right to add an alias to a machine of another user." msgstr "" "Vous n'avez pas le droit d'ajouter un alias à une machine d'un autre " "utilisateur." -#: machines/models.py:1327 +#: machines/models.py:1354 msgid "Permission required to change the SLAAC value of an IPv6 address" msgstr "Permission requise pour changer la valeur SLAAC d'une adresse IPv6." -#: machines/models.py:1399 +#: machines/models.py:1426 msgid "A SLAAC IP address is already registered." msgstr "Une adresse IP SLAAC est déjà enregistrée." -#: machines/models.py:1407 +#: machines/models.py:1434 msgid "" "The v6 prefix is incorrect and doesn't match the type associated with the " "machine." @@ -621,45 +633,45 @@ msgstr "" "Le préfixe v6 est incorrect et ne correspond pas au type associé à la " "machine." -#: machines/models.py:1433 +#: machines/models.py:1460 msgid "Mandatory and unique, must not contain dots." msgstr "Obligatoire et unique, ne doit pas contenir de points." -#: machines/models.py:1447 +#: machines/models.py:1474 msgid "Can view a domain object" msgstr "Peut voir un objet domaine" -#: machines/models.py:1449 +#: machines/models.py:1476 msgid "domain" msgstr "domaine" -#: machines/models.py:1450 +#: machines/models.py:1477 msgid "domains" msgstr "domaines" -#: machines/models.py:1472 +#: machines/models.py:1499 msgid "You can't create a both A and CNAME record." msgstr "Vous ne pouvez pas créer un enregistrement à la fois A et CNAME." -#: machines/models.py:1475 +#: machines/models.py:1502 msgid "You can't create a CNAME record pointing to itself." msgstr "Vous ne pouvez pas créer un enregistrement CNAME vers lui-même." -#: machines/models.py:1483 +#: machines/models.py:1510 #, python-format msgid "The domain name %s is too long (over 63 characters)." msgstr "Le nom de domaine %s est trop long (plus de 63 caractères)." -#: machines/models.py:1486 +#: machines/models.py:1513 #, python-format msgid "The domain name %s contains forbidden characters." msgstr "Le nom de domaine %s contient des caractères interdits." -#: machines/models.py:1504 +#: machines/models.py:1531 msgid "Invalid extension." msgstr "Extension invalide." -#: machines/models.py:1545 +#: machines/models.py:1572 #, python-format msgid "" "You reached the maximum number of alias that you are allowed to create " @@ -668,160 +680,160 @@ msgstr "" "Vous avez atteint le nombre maximal d'alias que vous pouvez créer vous-même " "(%s)." -#: machines/models.py:1558 +#: machines/models.py:1585 msgid "You don't have the right to edit an alias of a machine of another user." msgstr "" "Vous n'avez pas le droit de modifier un alias d'une machine d'un autre " "utilisateur." -#: machines/models.py:1570 +#: machines/models.py:1597 msgid "" "You don't have the right to delete an alias of a machine of another user." msgstr "" "Vous n'avez pas le droit de supprimer un alias d'une machine d'un autre " "utilisateur." -#: machines/models.py:1598 +#: machines/models.py:1625 msgid "Can view an IPv4 addresses list object" msgstr "Peut voir un object liste d'adresses IPv4" -#: machines/models.py:1600 +#: machines/models.py:1627 msgid "IPv4 addresses list" msgstr "Liste d'adresses IPv4" -#: machines/models.py:1601 +#: machines/models.py:1628 msgid "IPv4 addresses lists" msgstr "Listes d'adresses IPv4" -#: machines/models.py:1612 +#: machines/models.py:1639 msgid "The IPv4 address and the range of the IP type don't match." msgstr "L'adresse IPv4 et la plage du type d'IP ne correspondent pas." -#: machines/models.py:1630 +#: machines/models.py:1657 msgid "DHCP server" msgstr "Serveur DHCP" -#: machines/models.py:1631 +#: machines/models.py:1658 msgid "Switches configuration server" msgstr "Serveur de configuration des commutateurs réseau" -#: machines/models.py:1632 +#: machines/models.py:1659 msgid "Recursive DNS server" msgstr "Serveur DNS récursif" -#: machines/models.py:1633 +#: machines/models.py:1660 msgid "NTP server" msgstr "Serveur NTP" -#: machines/models.py:1634 +#: machines/models.py:1661 msgid "RADIUS server" msgstr "Serveur RADIUS" -#: machines/models.py:1635 +#: machines/models.py:1662 msgid "Log server" msgstr "Serveur log" -#: machines/models.py:1636 +#: machines/models.py:1663 msgid "LDAP master server" msgstr "Serveur LDAP maître" -#: machines/models.py:1637 +#: machines/models.py:1664 msgid "LDAP backup server" msgstr "Serveur LDAP de secours" -#: machines/models.py:1638 +#: machines/models.py:1665 msgid "SMTP server" msgstr "Serveur SMTP" -#: machines/models.py:1639 +#: machines/models.py:1666 msgid "postgreSQL server" msgstr "Serveur postgreSQL" -#: machines/models.py:1640 +#: machines/models.py:1667 msgid "mySQL server" msgstr "Serveur mySQL" -#: machines/models.py:1641 +#: machines/models.py:1668 msgid "SQL client" msgstr "Client SQL" -#: machines/models.py:1642 +#: machines/models.py:1669 msgid "Gateway" msgstr "Passerelle" -#: machines/models.py:1656 +#: machines/models.py:1683 msgid "Can view a role object" msgstr "Peut voir un objet rôle" -#: machines/models.py:1658 +#: machines/models.py:1685 msgid "server role" msgstr "rôle de serveur" -#: machines/models.py:1659 +#: machines/models.py:1686 msgid "server roles" msgstr "rôles de serveur" -#: machines/models.py:1693 +#: machines/models.py:1720 msgid "Minimal time before regeneration of the service." msgstr "Temps minimal avant régénération du service." -#: machines/models.py:1697 +#: machines/models.py:1724 msgid "Maximal time before regeneration of the service." msgstr "Temps maximal avant régénération du service." -#: machines/models.py:1703 +#: machines/models.py:1730 msgid "Can view a service object" msgstr "Peut voir un objet service" -#: machines/models.py:1705 +#: machines/models.py:1732 msgid "service to generate (DHCP, DNS, ...)" msgstr "service à générer (DHCP, DNS, ...)" -#: machines/models.py:1706 +#: machines/models.py:1733 msgid "services to generate (DHCP, DNS, ...)" msgstr "services à générer (DHCP, DNS, ...)" -#: machines/models.py:1752 +#: machines/models.py:1779 msgid "Can view a service server link object" msgstr "Peut voir un objet lien service serveur" -#: machines/models.py:1754 +#: machines/models.py:1781 msgid "link between service and server" msgstr "lien entre service et serveur" -#: machines/models.py:1755 +#: machines/models.py:1782 msgid "links between service and server" msgstr "liens entre service et serveur" -#: machines/models.py:1797 +#: machines/models.py:1824 msgid "Name of the ports configuration" msgstr "Nom de la configuration de ports" -#: machines/models.py:1803 +#: machines/models.py:1830 msgid "Can view a ports opening list object" msgstr "Peut voir un objet liste d'ouverture de ports" -#: machines/models.py:1806 +#: machines/models.py:1833 msgid "ports opening list" msgstr "liste d'ouverture de ports" -#: machines/models.py:1807 +#: machines/models.py:1834 msgid "ports opening lists" msgstr "listes d'ouverture de ports" -#: machines/models.py:1816 +#: machines/models.py:1843 msgid "You don't have the right to delete a ports opening list." msgstr "Vous n'avez pas le droit de supprimer une liste d'ouverture de ports." -#: machines/models.py:1819 +#: machines/models.py:1846 msgid "This ports opening list is used." msgstr "Cette liste d'ouverture de ports est utilisée." -#: machines/models.py:1892 +#: machines/models.py:1919 msgid "ports opening" msgstr "ouverture de ports" -#: machines/models.py:1893 +#: machines/models.py:1920 msgid "ports openings" msgstr "ouvertures de ports" diff --git a/preferences/locale/fr/LC_MESSAGES/django.po b/preferences/locale/fr/LC_MESSAGES/django.po index 3382892f..dc236a62 100644 --- a/preferences/locale/fr/LC_MESSAGES/django.po +++ b/preferences/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-24 15:54+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -147,7 +147,7 @@ msgstr "Adresse (ligne 1)" msgid "Address (line 2)" msgstr "Adresse (ligne 2)" -#: preferences/forms.py:183 preferences/models.py:477 +#: preferences/forms.py:183 preferences/models.py:476 #: preferences/templates/preferences/display_preferences.html:331 msgid "Contact email address" msgstr "Adresse mail de contact" @@ -308,11 +308,11 @@ msgstr "Peut voir les options de machine" msgid "machine options" msgstr "options de machine" -#: preferences/models.py:201 preferences/models.py:599 +#: preferences/models.py:201 preferences/models.py:598 msgid "On the IP range's VLAN of the machine" msgstr "Sur le VLAN de la plage d'IP de la machine" -#: preferences/models.py:202 preferences/models.py:600 +#: preferences/models.py:202 preferences/models.py:599 msgid "Preset in 'VLAN for machines accepted by RADIUS'" msgstr "Prédéfinie dans 'VLAN pour les machines acceptées par RADIUS'" @@ -413,23 +413,23 @@ msgstr "Identifiant du commutateur réseau " msgid "Delay between the email and the membership's end" msgstr "Délai entre le mail et la fin d'adhésion" -#: preferences/models.py:388 +#: preferences/models.py:387 msgid "Message displayed specifically for this reminder" msgstr "Message affiché spécifiquement pour ce rappel" -#: preferences/models.py:393 +#: preferences/models.py:392 msgid "Can view a reminder object" msgstr "Peut voir un objet rappel" -#: preferences/models.py:395 +#: preferences/models.py:394 msgid "reminder" msgstr "rappel" -#: preferences/models.py:396 +#: preferences/models.py:395 msgid "reminders" msgstr "rappels" -#: preferences/models.py:413 +#: preferences/models.py:412 msgid "" "General message displayed on the French version of the website (e.g. in case " "of maintenance)" @@ -437,7 +437,7 @@ msgstr "" "Message général affiché sur la version française du site (ex : en cas de " "maintenance)" -#: preferences/models.py:419 +#: preferences/models.py:418 msgid "" "General message displayed on the English version of the website (e.g. in " "case of maintenance)" @@ -445,140 +445,140 @@ msgstr "" "Message général affiché sur la version anglaise du site (ex : en cas de " "maintenance)" -#: preferences/models.py:442 +#: preferences/models.py:441 msgid "Can view the general options" msgstr "Peut voir les options générales" -#: preferences/models.py:444 +#: preferences/models.py:443 msgid "general options" msgstr "options générales" -#: preferences/models.py:464 +#: preferences/models.py:463 msgid "Can view the service options" msgstr "Peut voir les options de service" -#: preferences/models.py:466 +#: preferences/models.py:465 msgid "service" msgstr "service" -#: preferences/models.py:467 +#: preferences/models.py:466 msgid "services" msgstr "services" -#: preferences/models.py:483 +#: preferences/models.py:482 msgid "Description of the associated email address." msgstr "Description de l'adresse mail associée." -#: preferences/models.py:493 +#: preferences/models.py:492 msgid "Can view a contact email address object" msgstr "Peut voir un objet adresse mail de contact" -#: preferences/models.py:495 +#: preferences/models.py:494 msgid "contact email address" msgstr "adresse mail de contact" -#: preferences/models.py:496 +#: preferences/models.py:495 msgid "contact email addresses" msgstr "adresses mail de contact" -#: preferences/models.py:506 +#: preferences/models.py:505 msgid "Networking organisation school Something" msgstr "Association de réseau de l'école Machin" -#: preferences/models.py:510 +#: preferences/models.py:509 msgid "Threadneedle Street" msgstr "1 rue de la Vrillière" -#: preferences/models.py:511 +#: preferences/models.py:510 msgid "London EC2R 8AH" msgstr "75001 Paris" -#: preferences/models.py:514 +#: preferences/models.py:513 msgid "Organisation" msgstr "Association" -#: preferences/models.py:528 +#: preferences/models.py:527 #: preferences/templates/preferences/display_preferences.html:347 msgid "President of the association" msgstr "Président de l'association" -#: preferences/models.py:529 +#: preferences/models.py:528 msgid "Displayed on subscription vouchers" msgstr "" -#: preferences/models.py:534 +#: preferences/models.py:533 msgid "Can view the organisation options" msgstr "Peut voir les options d'association" -#: preferences/models.py:536 +#: preferences/models.py:535 msgid "organisation options" msgstr "options d'association" -#: preferences/models.py:565 +#: preferences/models.py:564 msgid "Can view the homepage options" msgstr "Peut voir les options de page d'accueil" -#: preferences/models.py:567 +#: preferences/models.py:566 msgid "homepage options" msgstr "options de page d'accueil" -#: preferences/models.py:580 +#: preferences/models.py:579 msgid "Welcome email in French" msgstr "Mail de bienvenue en français" -#: preferences/models.py:581 +#: preferences/models.py:580 msgid "Welcome email in English" msgstr "Mail de bienvenue en anglais" -#: preferences/models.py:585 +#: preferences/models.py:584 msgid "Can view the email message options" msgstr "Peut voir les options de message pour les mails" -#: preferences/models.py:588 +#: preferences/models.py:587 msgid "email message options" msgstr "options de messages pour les mails" -#: preferences/models.py:593 +#: preferences/models.py:592 msgid "RADIUS policy" msgstr "Politique de RADIUS" -#: preferences/models.py:594 +#: preferences/models.py:593 msgid "RADIUS policies" msgstr "Politiques de RADIUS" -#: preferences/models.py:605 +#: preferences/models.py:604 msgid "Reject the machine" msgstr "Rejeter la machine" -#: preferences/models.py:606 +#: preferences/models.py:605 msgid "Place the machine on the VLAN" msgstr "Placer la machine sur le VLAN" -#: preferences/models.py:617 +#: preferences/models.py:616 msgid "Policy for unknown machines" msgstr "Politique pour les machines inconnues" -#: preferences/models.py:625 +#: preferences/models.py:624 msgid "Unknown machines VLAN" msgstr "VLAN pour les machines inconnues" -#: preferences/models.py:626 +#: preferences/models.py:625 msgid "VLAN for unknown machines if not rejected" msgstr "VLAN pour les machines inconnues si non rejeté" -#: preferences/models.py:632 +#: preferences/models.py:631 msgid "Policy for unknown ports" msgstr "Politique pour les ports inconnus" -#: preferences/models.py:640 +#: preferences/models.py:639 msgid "Unknown ports VLAN" msgstr "VLAN pour les ports inconnus" -#: preferences/models.py:641 +#: preferences/models.py:640 msgid "VLAN for unknown ports if not rejected" msgstr "VLAN pour les ports inconnus si non rejeté" -#: preferences/models.py:647 +#: preferences/models.py:646 msgid "" "Policy for machines connecting from unregistered rooms (relevant on ports " "with STRICT RADIUS mode)" @@ -586,67 +586,67 @@ msgstr "" "Politique pour les machines se connectant depuis des chambre non " "enregistrées (pertinent pour les ports avec le mode de RADIUS STRICT)" -#: preferences/models.py:656 +#: preferences/models.py:655 msgid "Unknown rooms VLAN" msgstr "VLAN pour les chambres inconnues" -#: preferences/models.py:657 +#: preferences/models.py:656 msgid "VLAN for unknown rooms if not rejected" msgstr "VLAN pour les chambres inconnues si non rejeté" -#: preferences/models.py:663 +#: preferences/models.py:662 msgid "Policy for non members" msgstr "Politique pour les non adhérents" -#: preferences/models.py:671 +#: preferences/models.py:670 msgid "Non members VLAN" msgstr "VLAN pour les non adhérents" -#: preferences/models.py:672 +#: preferences/models.py:671 msgid "VLAN for non members if not rejected" msgstr "VLAN pour les non adhérents si non rejeté" -#: preferences/models.py:678 +#: preferences/models.py:677 msgid "Policy for banned users" msgstr "Politique pour les utilisateurs bannis" -#: preferences/models.py:686 +#: preferences/models.py:685 msgid "Banned users VLAN" msgstr "VLAN pour les utilisateurs bannis" -#: preferences/models.py:687 +#: preferences/models.py:686 msgid "VLAN for banned users if not rejected" msgstr "VLAN pour les utilisateurs bannis si non rejeté" -#: preferences/models.py:716 +#: preferences/models.py:715 msgid "cotisations options" msgstr "options de cotisation" -#: preferences/models.py:720 +#: preferences/models.py:719 msgid "Template for invoices" msgstr "" -#: preferences/models.py:727 +#: preferences/models.py:726 msgid "Template for subscription voucher" msgstr "" -#: preferences/models.py:733 +#: preferences/models.py:732 msgid "Send voucher by email when the invoice is controlled." msgstr "" -#: preferences/models.py:744 +#: preferences/models.py:743 msgid "template" msgstr "" -#: preferences/models.py:748 +#: preferences/models.py:747 msgid "name" msgstr "" -#: preferences/models.py:753 +#: preferences/models.py:752 msgid "document template" msgstr "" -#: preferences/models.py:754 +#: preferences/models.py:753 msgid "document templates" msgstr "" @@ -820,8 +820,8 @@ msgstr "Préférences générales" #: preferences/templates/preferences/display_preferences.html:410 #: preferences/templates/preferences/display_preferences.html:488 #: preferences/templates/preferences/edit_preferences.html:46 -#: preferences/views.py:186 preferences/views.py:234 preferences/views.py:280 -#: preferences/views.py:329 preferences/views.py:389 preferences/views.py:461 +#: preferences/views.py:193 preferences/views.py:241 preferences/views.py:287 +#: preferences/views.py:336 preferences/views.py:396 preferences/views.py:468 msgid "Edit" msgstr "Modifier" @@ -1082,89 +1082,89 @@ msgstr "URL du compte Facebook" msgid "Editing of preferences" msgstr "Modification des préférences" -#: preferences/views.py:122 +#: preferences/views.py:129 msgid "Unknown object." msgstr "Objet inconnu." -#: preferences/views.py:128 +#: preferences/views.py:135 msgid "You don't have the right to edit this option." msgstr "Vous n'avez pas le droit de modifier cette option." -#: preferences/views.py:145 +#: preferences/views.py:152 msgid "The preferences were edited." msgstr "Les préférences ont été modifiées." -#: preferences/views.py:163 +#: preferences/views.py:170 msgid "The service was added." msgstr "Le service a été ajouté." -#: preferences/views.py:166 +#: preferences/views.py:173 msgid "Add a service" msgstr "Ajouter un service" -#: preferences/views.py:183 +#: preferences/views.py:190 msgid "The service was edited." msgstr "Le service a été modifié." -#: preferences/views.py:197 +#: preferences/views.py:204 msgid "The service was deleted." msgstr "Le service a été supprimé." -#: preferences/views.py:212 +#: preferences/views.py:219 msgid "The reminder was added." msgstr "Le rappel a été ajouté." -#: preferences/views.py:215 +#: preferences/views.py:222 msgid "Add a reminder" msgstr "Ajouter un rappel" -#: preferences/views.py:231 +#: preferences/views.py:238 msgid "The reminder was edited." msgstr "Le rappel a été modifié." -#: preferences/views.py:247 +#: preferences/views.py:254 msgid "The reminder was deleted." msgstr "Le rappel a été supprimé." -#: preferences/views.py:263 +#: preferences/views.py:270 msgid "The RADIUS key was added." msgstr "La clé RADIUS a été ajoutée." -#: preferences/views.py:266 +#: preferences/views.py:273 msgid "Add a RADIUS key" msgstr "Ajouter une clé RADIUS" -#: preferences/views.py:277 +#: preferences/views.py:284 msgid "The RADIUS key was edited." msgstr "La clé RADIUS a été modifiée." -#: preferences/views.py:293 +#: preferences/views.py:300 msgid "The RADIUS key was deleted." msgstr "La clé RADIUS a été supprimée." -#: preferences/views.py:295 +#: preferences/views.py:302 msgid "The RADIUS key is assigned to at least one switch, you can't delete it." msgstr "" "La clé RADIUS est assignée a au moins un commutateur réseau, vous ne pouvez " "pas la supprimer." -#: preferences/views.py:312 +#: preferences/views.py:319 msgid "The switch management credentials were added." msgstr "Les identifiants de gestion de commutateur réseay ont été ajoutés." -#: preferences/views.py:315 +#: preferences/views.py:322 msgid "Add switch management credentials" msgstr "Ajouter des identifiants de gestion de commutateur réseau" -#: preferences/views.py:326 +#: preferences/views.py:333 msgid "The switch management credentials were edited." msgstr "Les identifiants de gestion de commutateur réseau ont été modifiés." -#: preferences/views.py:342 +#: preferences/views.py:349 msgid "The switch management credentials were deleted." msgstr "Les identifiants de gestion de commutateur réseau ont été supprimés." -#: preferences/views.py:344 +#: preferences/views.py:351 msgid "" "The switch management credentials are assigned to at least one switch, you " "can't delete them." @@ -1172,58 +1172,58 @@ msgstr "" "Les identifiants de gestion de commutateur réseau sont assignés à au moins " "un commutateur réseau , vous ne pouvez pas les supprimer." -#: preferences/views.py:365 +#: preferences/views.py:372 msgid "The contact email address was created." msgstr "L'adresse mail de contact a été supprimée." -#: preferences/views.py:369 +#: preferences/views.py:376 msgid "Add a contact email address" msgstr "Ajouter une adresse mail de contact" -#: preferences/views.py:386 +#: preferences/views.py:393 msgid "The contact email address was edited." msgstr "L'adresse mail de contact a été modifiée." -#: preferences/views.py:408 +#: preferences/views.py:415 msgid "The contact email adress was deleted." msgstr "L'adresse mail de contact a été supprimée." -#: preferences/views.py:411 preferences/views.py:496 +#: preferences/views.py:418 preferences/views.py:503 msgid "Delete" msgstr "Supprimer" -#: preferences/views.py:431 +#: preferences/views.py:438 msgid "The document template was created." msgstr "Le modèle de document a été créé." -#: preferences/views.py:436 +#: preferences/views.py:443 msgid "Add" msgstr "Ajouter" -#: preferences/views.py:437 +#: preferences/views.py:444 msgid "New document template" msgstr "Nouveau modèle de document" -#: preferences/views.py:456 +#: preferences/views.py:463 msgid "The document template was edited." msgstr "Le modèle de document a été édité." -#: preferences/views.py:462 +#: preferences/views.py:469 msgid "Edit document template" msgstr "Modifier le modèle de document" -#: preferences/views.py:481 +#: preferences/views.py:488 #, python-format msgid "The document template %(document_template)s was deleted." msgstr "Le modèle de document %(document_template)s a été supprimé." -#: preferences/views.py:488 +#: preferences/views.py:495 #, python-format msgid "" "The document template %(document_template)s can't be " "deleted because it is currently being used." msgstr "" -#: preferences/views.py:497 +#: preferences/views.py:504 msgid "Delete document template" msgstr "Supprimer le modèle de document" diff --git a/re2o/locale/fr/LC_MESSAGES/django.po b/re2o/locale/fr/LC_MESSAGES/django.po index 95c321cc..347d570c 100644 --- a/re2o/locale/fr/LC_MESSAGES/django.po +++ b/re2o/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-03-31 16:09+0002\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -34,11 +34,11 @@ msgstr "" msgid "Nonexistent entry." msgstr "Entrée inexistante." -#: re2o/acl.py:159 re2o/acl.py:224 +#: re2o/acl.py:159 re2o/acl.py:229 msgid "You don't have the right to access this menu." msgstr "Vous n'avez pas le droit d'accéder à ce menu." -#: re2o/acl.py:274 +#: re2o/acl.py:279 msgid "You don't have the right to edit the history." msgstr "Vous n'avez pas le droit de modifier l'historique." @@ -75,11 +75,11 @@ msgstr "Vous n'avez pas le droit de voir tous les objets %s." msgid "You don't have the right to view a %s object." msgstr "Vous n'avez pas le droit de voir un objet %s." -#: re2o/settings.py:156 +#: re2o/settings.py:158 msgid "English" msgstr "Anglais" -#: re2o/settings.py:157 +#: re2o/settings.py:159 msgid "French" msgstr "Français" @@ -264,6 +264,12 @@ msgstr "Tweets de @%(twitter_account_name)s" msgid "Follow @%(twitter_account_name)s" msgstr "Suivre @%(twitter_account_name)s" -#: re2o/views.py:87 +#: re2o/urls.py:57 +#, fuzzy +#| msgid "Home" +msgid "Homepage" +msgstr "Accueil" + +#: re2o/views.py:89 msgid "Unable to get the information." msgstr "Impossible d'obtenir l'information." diff --git a/search/locale/fr/LC_MESSAGES/django.po b/search/locale/fr/LC_MESSAGES/django.po index 21c6d0d8..89303a02 100644 --- a/search/locale/fr/LC_MESSAGES/django.po +++ b/search/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-24 20:10+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -46,44 +46,50 @@ msgstr "Archivés" msgid "Not yet active" msgstr "Pas encore adhéré" -#: search/forms.py:40 +#: search/forms.py:37 +#, fuzzy +#| msgid "Archived" +msgid "Full archived" +msgstr "Archivés" + +#: search/forms.py:41 msgid "Users" msgstr "Utilisateurs" -#: search/forms.py:41 +#: search/forms.py:42 msgid "Machines" msgstr "Machines" -#: search/forms.py:42 +#: search/forms.py:43 msgid "Invoices" msgstr "Factures" -#: search/forms.py:43 +#: search/forms.py:44 msgid "Bans" msgstr "Bannissements" -#: search/forms.py:44 +#: search/forms.py:45 msgid "Whitelists" msgstr "Accès gracieux" -#: search/forms.py:45 +#: search/forms.py:46 msgid "Rooms" msgstr "Chambres" -#: search/forms.py:46 +#: search/forms.py:47 msgid "Ports" msgstr "Ports" -#: search/forms.py:47 +#: search/forms.py:48 msgid "Switches" msgstr "Commutateurs réseau" -#: search/forms.py:60 search/forms.py:72 search/templates/search/search.html:29 +#: search/forms.py:61 search/forms.py:73 search/templates/search/search.html:29 #: search/templates/search/search.html:48 msgid "Search" msgstr "Rechercher" -#: search/forms.py:62 search/forms.py:74 +#: search/forms.py:63 search/forms.py:75 msgid "" "Use « » and «,» to specify distinct words, «\"query\"» for an exact search " "and «\\» to escape a character." @@ -91,19 +97,19 @@ msgstr "" "Utilisez « » et «,» pour spécifier différents mots, «\"query\"» pour une " "recherche exacte et «\\» pour échapper un caractère." -#: search/forms.py:81 +#: search/forms.py:82 msgid "Users filter" msgstr "Filtre utilisateurs" -#: search/forms.py:88 +#: search/forms.py:89 msgid "Display filter" msgstr "Filtre affichage" -#: search/forms.py:96 +#: search/forms.py:97 msgid "Start date" msgstr "Date de début" -#: search/forms.py:100 +#: search/forms.py:101 msgid "End date" msgstr "Date de fin" diff --git a/templates/locale/fr/LC_MESSAGES/django.po b/templates/locale/fr/LC_MESSAGES/django.po index f1c841ed..814fb3ac 100644 --- a/templates/locale/fr/LC_MESSAGES/django.po +++ b/templates/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-03-31 16:09+0002\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -30,11 +30,63 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: templates/admin/base_site.html:65 templates/base.html:281 +msgid "powered by" +msgstr "propulsé par" + +#: templates/admin/base_site.html:69 templates/base.html:289 +msgid "" +"This software is under the terms of the GPLv2 License." +msgstr "" +"Ce logiciel est sous les termes de la licence GPLv2." + +#: templates/admin/custom_index.html:11 +#, python-format +msgid "Welcome to %(name_website)s" +msgstr "" + +#: templates/admin/custom_index.html:17 +msgid "" +"You are on the operator interface. Here you will be able to manage the " +"network and users\n" +" from the top left menu. You can also go read the developer " +"documentation." +msgstr "" + +#: templates/admin/custom_index.html:21 +msgid "" +"To go back to the main site, click \"View site\" button in top right menu." +msgstr "" + +#: templates/admin/custom_index.html:29 +msgid "My account" +msgstr "" + +#: templates/admin/custom_index.html:30 +msgid "My recent actions" +msgstr "" + +#: templates/admin/custom_index.html:34 +msgid "None available" +msgstr "" + +#: templates/admin/custom_index.html:49 +msgid "Unknown content" +msgstr "" + #: templates/base.html:43 templates/errors/404.html:35 msgid "Networking managing website endorsed by FedeRez." msgstr "Site de gestion de réseau soutenu par FedeRez." -#: templates/base.html:70 +#: templates/base.html:70 templates/registration/logged_out.html:11 +#: templates/registration/password_change_done.html:11 +#: templates/registration/password_change_form.html:11 +#: templates/registration/password_reset_complete.html:11 +#: templates/registration/password_reset_confirm.html:11 +#: templates/registration/password_reset_done.html:11 +#: templates/registration/password_reset_form.html:11 msgid "Home" msgstr "Accueil" @@ -58,145 +110,133 @@ msgstr "Gérer les machines" msgid "Manage the subscriptions" msgstr "Gérer les cotisations" -#: templates/base.html:108 +#: templates/base.html:112 msgid "Topology" msgstr "Topologie" -#: templates/base.html:110 +#: templates/base.html:114 msgid "Switches" msgstr "Commutateurs réseau" -#: templates/base.html:111 +#: templates/base.html:115 msgid "Access points" msgstr "Points d'accès sans fil" -#: templates/base.html:112 +#: templates/base.html:116 msgid "Rooms" msgstr "Chambres" -#: templates/base.html:117 +#: templates/base.html:121 msgid "Statistics" msgstr "Statistiques" -#: templates/base.html:122 +#: templates/base.html:126 msgid "Administration" msgstr "Administration" -#: templates/base.html:129 -msgid "More information" -msgstr "Plus d'informations" +#: templates/base.html:133 +msgid "Information and contact" +msgstr "" -#: templates/base.html:131 +#: templates/base.html:135 msgid "About" msgstr "À propos" -#: templates/base.html:132 +#: templates/base.html:136 msgid "Contact" msgstr "Contact" -#: templates/base.html:139 +#: templates/base.html:150 msgid "Sign up" msgstr "S'inscrire" -#: templates/base.html:145 templates/registration/login.html:29 +#: templates/base.html:156 templates/registration/login.html:29 #: templates/registration/login.html:36 msgid "Log in" msgstr "Se connecter" -#: templates/base.html:153 +#: templates/base.html:164 msgid "Search" msgstr "Rechercher" -#: templates/base.html:167 +#: templates/base.html:178 msgid "My profile" msgstr "Mon profil" -#: templates/base.html:168 +#: templates/base.html:179 msgid "Log out" msgstr "Se déconnecter" -#: templates/base.html:203 +#: templates/base.html:214 msgid "Username" msgstr "Pseudo" -#: templates/base.html:207 +#: templates/base.html:218 msgid "Room" msgstr "Chambre" -#: templates/base.html:211 +#: templates/base.html:222 msgid "Internet access" msgstr "Accès Internet" -#: templates/base.html:214 +#: templates/base.html:225 #, python-format msgid "Until %(end_access_date)s" msgstr "Jusqu'au %(end_access_date)s" -#: templates/base.html:216 +#: templates/base.html:227 msgid "Disabled" msgstr "Désactivé" -#: templates/base.html:221 +#: templates/base.html:232 msgid "Membership" msgstr "Adhésion" -#: templates/base.html:224 +#: templates/base.html:235 #, python-format msgid "Until %(end_adhesion_date)s" msgstr "Jusqu'au %(end_adhesion_date)s" -#: templates/base.html:226 +#: templates/base.html:237 msgid "Non member" msgstr "Non adhérent" -#: templates/base.html:234 +#: templates/base.html:245 msgid "View my profile" msgstr "Voir mon profil" -#: templates/base.html:239 +#: templates/base.html:250 msgid "You are not logged in." msgstr "Vous n'êtes pas connecté." -#: templates/base.html:246 +#: templates/base.html:257 #, python-format msgid "%(nb)s active machine" msgid_plural "%(nb)s active machines" msgstr[0] "%(nb)s machine active" msgstr[1] "%(nb)s machines actives" -#: templates/base.html:255 +#: templates/base.html:266 msgid "View my machines" msgstr "Voir mes machines" -#: templates/base.html:268 +#: templates/base.html:279 msgid "Back to top" msgstr "Retour en haut" -#: templates/base.html:270 -msgid "powered by" -msgstr "propulsé par" - -#: templates/base.html:272 +#: templates/base.html:283 msgid "Brought to you with ." msgstr "Codé avec ." -#: templates/base.html:275 +#: templates/base.html:286 msgid "About this website" msgstr "À propos de ce site" -#: templates/base.html:278 -msgid "" -"This software is under the terms of the GPLv2 License." -msgstr "" -"Ce logiciel est sous les termes de la licence GPLv2." - #: templates/buttons/add.html:27 msgid "Add" msgstr "Ajouter" -#: templates/buttons/edit.html:27 +#: templates/buttons/edit.html:27 tickets/templates/tickets/preferences.html:14 msgid "Edit" msgstr "Modifier" @@ -315,6 +355,236 @@ msgstr "Suivant" msgid "Last" msgstr "Dernière page" +#: templates/registration/logged_out.html:16 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "" + +#: templates/registration/logged_out.html:17 +#, fuzzy +#| msgid "Log in" +msgid "Log in again" +msgstr "Se connecter" + #: templates/registration/login.html:40 msgid "Forgotten password?" msgstr "Mot de passe oublié ?" + +#: templates/registration/password_change_done.html:11 +#: templates/registration/password_change_form.html:11 +msgid "Password change" +msgstr "" + +#: templates/registration/password_reset_complete.html:11 +#: templates/registration/password_reset_done.html:11 +#: templates/registration/password_reset_form.html:11 +msgid "Password reset" +msgstr "" + +#: templates/registration/password_reset_confirm.html:11 +#, fuzzy +#| msgid "More information" +msgid "Password reset confirmation" +msgstr "Plus d'informations" + +#: templates/registration/password_reset_email.html:2 +#, python-format +msgid "" +"You're receiving this email because you requested a password reset for your " +"user account at %(site_name)s." +msgstr "" + +#: templates/registration/password_reset_email.html:4 +msgid "Please go to the following page and choose a new password:" +msgstr "" + +#: templates/registration/password_reset_email.html:9 +msgid "Thanks for using our site!" +msgstr "" + +#: templates/registration/password_reset_email.html:11 +#, python-format +msgid "The %(site_name)s team" +msgstr "" + +#: tickets/models.py:27 +msgid "Title of the ticket" +msgstr "" + +#: tickets/models.py:32 +msgid "Description of the ticket" +msgstr "" + +#: tickets/models.py:37 +msgid "An email address to get back to you" +msgstr "" + +#: tickets/models.py:43 tickets/templates/tickets/form_preferences.html:30 +#: tickets/templates/tickets/form_ticket.html:31 +msgid "Ticket" +msgstr "" + +#: tickets/models.py:44 tickets/templates/tickets/aff_ticket.html:30 +#: tickets/templates/tickets/aff_tickets.html:35 +#: tickets/templates/tickets/index.html:29 +#: tickets/templates/tickets/index.html:32 +#: tickets/templates/tickets/navbar.html:2 +#: tickets/templates/tickets/preferences.html:6 +msgid "Tickets" +msgstr "" + +#: tickets/models.py:75 +msgid "You don't have the right to view other tickets than yours." +msgstr "" + +#: tickets/models.py:84 +msgid "You don't have the right to view the list of tickets." +msgstr "" + +#: tickets/preferences/models.py:8 +msgid "" +"Email address to publish the new tickets (leave empty for no publications)" +msgstr "" + +#: tickets/preferences/models.py:14 +msgid "Français" +msgstr "" + +#: tickets/preferences/models.py:15 +msgid "English" +msgstr "" + +#: tickets/preferences/models.py:19 +msgid "Ticket's settings" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:36 +msgid "Solved" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:38 +msgid "Not Solved" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:44 +#, fuzzy +#| msgid "powered by" +msgid "Opened by" +msgstr "propulsé par" + +#: tickets/templates/tickets/aff_ticket.html:50 +msgid "Anonymous User" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:54 +msgid "Response address: " +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:54 +msgid "Response to your ticket" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:59 +msgid "Title:" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:60 +msgid "Description" +msgstr "" + +#: tickets/templates/tickets/aff_ticket.html:79 +msgid "Tous les tickets" +msgstr "" + +#: tickets/templates/tickets/aff_tickets.html:38 +msgid "Not Solved Tickets" +msgstr "" + +#: tickets/templates/tickets/aff_tickets.html:41 +msgid "Last Ticket:" +msgstr "" + +#: tickets/templates/tickets/contact.html:8 +#, python-format +msgid "" +"If you are experiencing issues with the services offered by %(asso_name)s, " +"you can open a ticket that will be taken care of. If you want to contact us " +"on any other topic, please choose one address below." +msgstr "" + +#: tickets/templates/tickets/contact.html:10 +#: tickets/templates/tickets/navbar_logout.html:4 +msgid "Ouvrir un ticket" +msgstr "" + +#: tickets/templates/tickets/form_preferences.html:33 +msgid "Tickets settings modification" +msgstr "" + +#: tickets/templates/tickets/form_ticket.html:39 +msgid "" +"Vous n'êtes pas authentifié. Veuillez fournir une adresse mail afin que nous " +"puissions vous recontacter." +msgstr "" + +#: tickets/templates/tickets/form_ticket.html:44 +msgid "" +"Description de votre problème. Veuillez fournir le plus d'informations " +"possible afin de faciliter la recherche de solution. Voici quelques " +"informations dont nous pourions avoir besoin:" +msgstr "" + +#: tickets/templates/tickets/form_ticket.html:47 +msgid "Le type de votre problème (adhesion, connexion, paiement ou autre)." +msgstr "" + +#: tickets/templates/tickets/form_ticket.html:50 +msgid "" +"Les conditions dans lesquelles vous rencontrez le problème (Wifi/filaire, " +"sur tout les apareils ou sur un seul. Est-ce une nouvelle machine ?" +msgstr "" + +#: tickets/templates/tickets/form_ticket.html:53 +msgid "" +"Les endroits dans lequels le problème survient (chez vous, dans une partie " +"commune, dans un batiment en particulier)." +msgstr "" + +#: tickets/templates/tickets/preferences.html:21 +msgid "Publication email address" +msgstr "" + +#: tickets/templates/tickets/preferences.html:25 +msgid "Pas d'adresse, les tickets ne sont pas annoncés" +msgstr "" + +#: tickets/templates/tickets/preferences.html:29 +msgid "Email language" +msgstr "" + +#: tickets/templates/tickets/profil.html:6 +msgid " Tickets" +msgstr "" + +#: tickets/templates/tickets/profil.html:12 +msgid " Open a Ticket" +msgstr "" + +#: tickets/templates/tickets/profil.html:19 +msgid "No tickets" +msgstr "" + +#: tickets/views.py:83 tickets/views.py:87 +msgid "" +"Your ticket has been succesfully open. We will take care of it as soon as " +"possible." +msgstr "" + +#: tickets/views.py:90 +msgid "" +"You are not authenticated. Please login or provide an email address so we " +"can get back to you." +msgstr "" + +#: tickets/views.py:117 tickets/views.py:163 +msgid "Never" +msgstr "" diff --git a/topologie/locale/fr/LC_MESSAGES/django.po b/topologie/locale/fr/LC_MESSAGES/django.po index a9424d33..23172f31 100644 --- a/topologie/locale/fr/LC_MESSAGES/django.po +++ b/topologie/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-25 14:53+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -34,250 +34,264 @@ msgstr "" msgid "You don't have the right to view this application." msgstr "Vous n'avez pas le droit de voir cette application." -#: topologie/forms.py:181 +#: topologie/forms.py:183 msgid "Start:" msgstr "Début :" -#: topologie/forms.py:182 +#: topologie/forms.py:184 msgid "End:" msgstr "Fin :" -#: topologie/models.py:74 +#: topologie/models.py:75 msgid "Can view a stack object" msgstr "Peut voir un objet pile" -#: topologie/models.py:76 +#: topologie/models.py:77 msgid "switches stack" msgstr "pile de commutateurs réseau" -#: topologie/models.py:77 +#: topologie/models.py:78 msgid "switches stacks" msgstr "piles de commutateurs réseau" -#: topologie/models.py:92 +#: topologie/models.py:93 msgid "The maximum ID is less than the minimum ID." msgstr "L'ID maximum est inférieur l'ID minimum." -#: topologie/models.py:105 +#: topologie/models.py:106 msgid "Details about the AP's location" msgstr "Détails sur l'emplacement du point d'accès sans fil" -#: topologie/models.py:112 +#: topologie/models.py:113 msgid "Can view an access point object" msgstr "Peut voir un objet point d'accès sans fil" -#: topologie/models.py:114 +#: topologie/models.py:115 msgid "access point" msgstr "point d'accès sans fil" -#: topologie/models.py:115 +#: topologie/models.py:116 msgid "access points" msgstr "points d'accès sans fil" -#: topologie/models.py:211 +#: topologie/models.py:212 msgid "Number of ports" msgstr "Nombre de ports" -#: topologie/models.py:228 topologie/templates/topologie/aff_switch.html:48 -#: topologie/templates/topologie/index_p.html:38 topologie/views.py:843 +#: topologie/models.py:229 topologie/templates/topologie/aff_switch.html:48 +#: topologie/templates/topologie/index_p.html:38 topologie/views.py:860 msgid "Switch model" msgstr "Modèle de commutateur réseau" -#: topologie/models.py:241 +#: topologie/models.py:242 msgid "RADIUS key of the switch" msgstr "Clé RADIUS du commutateur réseau" -#: topologie/models.py:248 +#: topologie/models.py:249 msgid "Management credentials for the switch" msgstr "Identifiants de gestion du commutateur réseau" -#: topologie/models.py:252 +#: topologie/models.py:253 msgid "Automatic provision for the switch" msgstr "Provision automatique pour le commutateur réseau" -#: topologie/models.py:259 +#: topologie/models.py:260 msgid "Can view a switch object" msgstr "Peut voir un objet commutateur réseau" -#: topologie/models.py:261 +#: topologie/models.py:262 msgid "switch" msgstr "commutateur réseau" -#: topologie/models.py:262 +#: topologie/models.py:263 msgid "switches" msgstr "commutateurs réseau" -#: topologie/models.py:273 +#: topologie/models.py:274 msgid "The switch ID exceeds the limits allowed by the stack." msgstr "L'ID du commutateur réseau dépasse les bornes autorisées par la pile." -#: topologie/models.py:278 +#: topologie/models.py:279 msgid "The stack member ID can't be void." msgstr "L'ID de membre dans la pile ne peut-être vide." -#: topologie/models.py:286 +#: topologie/models.py:287 msgid "The end port is less than the start port." msgstr "Le port de fin est inférieur au port de début." -#: topologie/models.py:293 +#: topologie/models.py:294 msgid "This switch can't have that many ports." msgstr "Ce commutateur réseau ne peut pas avoir autant de ports." -#: topologie/models.py:295 +#: topologie/models.py:296 msgid "Creation" msgstr "Création" -#: topologie/models.py:406 +#: topologie/models.py:459 msgid "The switch model is modular." msgstr "Le modèle de commutateur réseau est modulaire." -#: topologie/models.py:410 +#: topologie/models.py:463 msgid "The switch is considered as a module." msgstr "Le commutateur réseau est considéré comme un module." -#: topologie/models.py:415 +#: topologie/models.py:468 msgid "Can view a switch model object" msgstr "Peut voir un objet modèle de commutateur réseau" -#: topologie/models.py:417 +#: topologie/models.py:470 msgid "switch model" msgstr "modèle de commutateur réseau" -#: topologie/models.py:418 +#: topologie/models.py:471 msgid "switch models" msgstr "modèles de commutateur réseau" -#: topologie/models.py:431 +#: topologie/models.py:484 msgid "Reference of a module" msgstr "Référence d'un module" -#: topologie/models.py:432 +#: topologie/models.py:485 msgid "Module reference" msgstr "Référence de module" -#: topologie/models.py:438 topologie/models.py:439 +#: topologie/models.py:491 topologie/models.py:492 #: topologie/templates/topologie/aff_modules.html:37 msgid "Comment" msgstr "Commentaire" -#: topologie/models.py:444 +#: topologie/models.py:497 msgid "Can view a switch module object" msgstr "Peut voir un objet module de commutateur réseau" -#: topologie/models.py:446 +#: topologie/models.py:499 msgid "switch module" msgstr "module de commutateur réseau" -#: topologie/models.py:447 +#: topologie/models.py:500 msgid "switch modules" msgstr "modules de commutateur réseau" -#: topologie/models.py:460 +#: topologie/models.py:513 msgid "Slot on switch" msgstr "Emplacement sur le commutateur réseau" -#: topologie/models.py:461 topologie/templates/topologie/aff_modules.html:48 +#: topologie/models.py:514 topologie/templates/topologie/aff_modules.html:48 #: topologie/templates/topologie/aff_modules.html:82 msgid "Slot" msgstr "Emplacement" -#: topologie/models.py:466 +#: topologie/models.py:519 msgid "Can view a link between switch and module object" msgstr "Peut voir un objet lien entre commutateur réseau et module" -#: topologie/models.py:469 +#: topologie/models.py:522 msgid "link between switch and module" msgstr "lien entre commutateur réseau et module" -#: topologie/models.py:470 +#: topologie/models.py:523 msgid "links between switch and module" msgstr "liens entre commutateur réseau et module" -#: topologie/models.py:474 +#: topologie/models.py:527 msgid "On slot " msgstr "Sur l'emplacement " -#: topologie/models.py:474 +#: topologie/models.py:527 msgid " of " msgstr " de " -#: topologie/models.py:484 +#: topologie/models.py:537 msgid "Can view a switch constructor object" msgstr "Peut voir un objet constructeur de commutateur réseau" -#: topologie/models.py:487 +#: topologie/models.py:540 msgid "switch constructor" msgstr "constructeur de commutateur réseau" -#: topologie/models.py:510 +#: topologie/models.py:563 msgid "Can view a switch bay object" msgstr "Peut voir un objet baie de brassage" -#: topologie/models.py:512 +#: topologie/models.py:565 msgid "switch bay" msgstr "baie de brassage" -#: topologie/models.py:513 +#: topologie/models.py:566 msgid "switch bays" msgstr "baies de brassage" -#: topologie/models.py:526 +#: topologie/models.py:581 +#, fuzzy +#| msgid "Can view a port object" +msgid "Can view a dormitory object" +msgstr "Peut voir un objet port" + +#: topologie/models.py:583 +msgid "dormitory" +msgstr "" + +#: topologie/models.py:584 +msgid "dormitories" +msgstr "" + +#: topologie/models.py:614 msgid "Can view a building object" msgstr "Peut voir un objet bâtiment" -#: topologie/models.py:528 +#: topologie/models.py:616 msgid "building" msgstr "bâtiment" -#: topologie/models.py:529 +#: topologie/models.py:617 msgid "buildings" msgstr "bâtiments" -#: topologie/models.py:588 topologie/models.py:589 +#: topologie/models.py:686 topologie/models.py:687 msgid "Port state Active" msgstr "État du port Actif" -#: topologie/models.py:596 +#: topologie/models.py:694 msgid "Can view a port object" msgstr "Peut voir un objet port" -#: topologie/models.py:598 +#: topologie/models.py:696 msgid "port" msgstr "port" -#: topologie/models.py:599 +#: topologie/models.py:697 msgid "ports" msgstr "ports" -#: topologie/models.py:605 +#: topologie/models.py:703 msgid "Uplink: " msgstr "Liaison montante : " -#: topologie/models.py:607 +#: topologie/models.py:705 msgid "Machine: " msgstr "Machine : " -#: topologie/models.py:609 +#: topologie/models.py:707 msgid "Room: " msgstr "Chambre : " -#: topologie/models.py:611 +#: topologie/models.py:709 msgid "Unknown" msgstr "Inconnu" -#: topologie/models.py:678 +#: topologie/models.py:769 msgid "The port can't exist, its number is too great." msgstr "Le port ne peut pas exister, son numéro est trop grand." -#: topologie/models.py:684 +#: topologie/models.py:775 msgid "Room, interface and related port are mutually exclusive." msgstr "Chambre, interface et port relié sont mutuellement exclusifs." -#: topologie/models.py:687 +#: topologie/models.py:778 msgid "A port can't be related to itself." msgstr "Un port ne peut être relié à lui-même." -#: topologie/models.py:691 +#: topologie/models.py:782 msgid "" "The related port is already used, please clear it before creating the " "relation." @@ -285,149 +299,157 @@ msgstr "" "Le port relié est déjà utilisé, veuillez le modifier avant de créer la " "relation." -#: topologie/models.py:712 +#: topologie/models.py:807 msgid "Can view a room object" msgstr "Peut voir un objet chambre" -#: topologie/models.py:714 +#: topologie/models.py:809 msgid "room" msgstr "chambre" -#: topologie/models.py:715 +#: topologie/models.py:810 msgid "rooms" msgstr "chambres" -#: topologie/models.py:726 +#: topologie/models.py:822 msgid "MAC-RADIUS" msgstr "MAC-RADIUS" -#: topologie/models.py:743 topologie/templates/topologie/aff_chambres.html:36 -#: topologie/templates/topologie/aff_port.html:38 topologie/views.py:784 +#: topologie/models.py:839 topologie/templates/topologie/aff_chambres.html:36 +#: topologie/templates/topologie/aff_port.html:38 topologie/views.py:801 msgid "Room" msgstr "Chambre" -#: topologie/models.py:744 topologie/templates/topologie/aff_ap.html:36 +#: topologie/models.py:840 topologie/templates/topologie/aff_ap.html:36 msgid "Access point" msgstr "Point d'accès sans fil" -#: topologie/models.py:745 +#: topologie/models.py:841 msgid "Uplink" msgstr "Liaison montante" -#: topologie/models.py:746 +#: topologie/models.py:842 msgid "Organisation machine" msgstr "Machine d'association" -#: topologie/models.py:747 +#: topologie/models.py:843 msgid "Nothing" msgstr "Rien" -#: topologie/models.py:749 +#: topologie/models.py:845 #: topologie/templates/topologie/aff_port_profile.html:37 #: topologie/templates/topologie/aff_vlanoptions.html:34 msgid "Name" msgstr "Nom" -#: topologie/models.py:756 +#: topologie/models.py:851 msgid "Default profile" msgstr "Profil par défaut" -#: topologie/models.py:764 +#: topologie/models.py:859 +msgid "Profil on dormitory" +msgstr "" + +#: topologie/models.py:867 msgid "VLAN untagged" msgstr "VLAN untagged" -#: topologie/models.py:770 +#: topologie/models.py:873 msgid "VLAN(s) tagged" msgstr "VLAN(s) tagged" -#: topologie/models.py:775 +#: topologie/models.py:878 msgid "Type of RADIUS authentication : inactive, MAC-address or 802.1X" msgstr "Type d'authentification RADIUS : inactive, MAC-address ou 802.1X" -#: topologie/models.py:777 +#: topologie/models.py:880 msgid "RADIUS type" msgstr "Type de RADIUS" -#: topologie/models.py:783 +#: topologie/models.py:886 msgid "In case of MAC-authentication : mode COMMON or STRICT on this port" msgstr "" "Dans le cas d'authentification par adresse MAC : mode COMMON ou STRICT sur " "ce port" -#: topologie/models.py:785 +#: topologie/models.py:888 msgid "RADIUS mode" msgstr "Mode de RADIUS" -#: topologie/models.py:791 +#: topologie/models.py:894 msgid "Port speed limit" msgstr "Limite de vitesse du port" -#: topologie/models.py:796 +#: topologie/models.py:899 msgid "Limit of MAC-address on this port" msgstr "Limite de MAC-address sur ce port" -#: topologie/models.py:797 +#: topologie/models.py:900 msgid "MAC limit" msgstr "Limite MAC" -#: topologie/models.py:801 +#: topologie/models.py:904 msgid "Flow control" msgstr "Contrôle du flux" -#: topologie/models.py:805 +#: topologie/models.py:908 msgid "Protect against rogue DHCP" msgstr "Protège contre les DHCP pirates" -#: topologie/models.py:806 +#: topologie/models.py:909 #: topologie/templates/topologie/aff_vlanoptions.html:36 msgid "DHCP snooping" msgstr "DHCP snooping" -#: topologie/models.py:810 +#: topologie/models.py:913 msgid "Protect against rogue DHCPv6" msgstr "Protège contre les DHCPv6 pirates" -#: topologie/models.py:811 +#: topologie/models.py:914 #: topologie/templates/topologie/aff_vlanoptions.html:37 msgid "DHCPv6 snooping" msgstr "DHCPv6 snooping" -#: topologie/models.py:815 +#: topologie/models.py:918 msgid "Check if IP adress is DHCP assigned" msgstr "Vérifie si l'adresse IP est attribuée par DHCP" -#: topologie/models.py:816 +#: topologie/models.py:919 msgid "ARP protection" msgstr "Protection ARP" -#: topologie/models.py:820 +#: topologie/models.py:923 msgid "Protect against rogue RA" msgstr "Protège contre les RA pirates" -#: topologie/models.py:821 +#: topologie/models.py:924 msgid "RA guard" msgstr "RA guard" -#: topologie/models.py:825 +#: topologie/models.py:928 msgid "Protect against loop" msgstr "Protège contre une boucle" -#: topologie/models.py:826 +#: topologie/models.py:929 msgid "Loop protection" msgstr "Protection contre une boucle" -#: topologie/models.py:831 +#: topologie/models.py:934 msgid "Can view a port profile object" msgstr "Peut voir un objet profil de port" -#: topologie/models.py:833 +#: topologie/models.py:936 msgid "port profile" msgstr "profil de port" -#: topologie/models.py:834 +#: topologie/models.py:937 msgid "port profiles" msgstr "profils de port" +#: topologie/models.py:966 +msgid "A default profile for all dormitory of that type already exists." +msgstr "" + #: topologie/templates/topologie/aff_ap.html:38 msgid "MAC address" msgstr "Adresse MAC" @@ -438,7 +460,7 @@ msgid "IPv4 address" msgstr "Adresse IPv4" #: topologie/templates/topologie/aff_ap.html:42 -#: topologie/templates/topologie/aff_chambres.html:38 +#: topologie/templates/topologie/aff_chambres.html:40 #: topologie/templates/topologie/aff_port.html:46 #: topologie/templates/topologie/aff_stacks.html:36 #: topologie/templates/topologie/aff_switch.html:49 @@ -451,7 +473,9 @@ msgid "Location" msgstr "Emplacement" #: topologie/templates/topologie/aff_building.html:36 -#: topologie/templates/topologie/aff_switch_bay.html:38 topologie/views.py:953 +#: topologie/templates/topologie/aff_chambres.html:37 +#: topologie/templates/topologie/aff_dormitory.html:38 +#: topologie/templates/topologie/aff_switch_bay.html:38 topologie/views.py:973 msgid "Building" msgstr "Bâtiment" @@ -463,10 +487,14 @@ msgstr "Points d'accès sans fil" #: topologie/templates/topologie/aff_constructor_switch.html:36 #: topologie/templates/topologie/aff_model_switch.html:40 -#: topologie/views.py:1013 +#: topologie/views.py:1091 msgid "Switch constructor" msgstr "Constructeur de commutateur réseau" +#: topologie/templates/topologie/aff_dormitory.html:36 topologie/views.py:1031 +msgid "Dormitory" +msgstr "" + #: topologie/templates/topologie/aff_model_switch.html:36 #: topologie/templates/topologie/aff_modules.html:36 #: topologie/templates/topologie/aff_modules.html:81 @@ -513,7 +541,7 @@ msgstr "Port relié" msgid "Port state" msgstr "État du port" -#: topologie/templates/topologie/aff_port.html:45 topologie/views.py:1065 +#: topologie/templates/topologie/aff_port.html:45 topologie/views.py:1143 msgid "Port profile" msgstr "Profil de port" @@ -530,7 +558,9 @@ msgid "Default: " msgstr "Par défaut : " #: topologie/templates/topologie/aff_port_profile.html:38 -msgid "Default for" +#, fuzzy +#| msgid "Default for" +msgid "Default for and place" msgstr "Par défaut pour" #: topologie/templates/topologie/aff_port_profile.html:39 @@ -597,7 +627,7 @@ msgstr "Nom DNS" #: topologie/templates/topologie/aff_switch.html:41 #: topologie/templates/topologie/aff_switch_bay.html:36 -#: topologie/templates/topologie/index_p.html:37 topologie/views.py:898 +#: topologie/templates/topologie/index_p.html:37 topologie/views.py:915 msgid "Switch bay" msgstr "Baie de brassage" @@ -727,6 +757,16 @@ msgstr "Bâtiments" msgid " Add a building" msgstr " Ajouter un bâtiment" +#: topologie/templates/topologie/index_physical_grouping.html:60 +msgid "Dormitories" +msgstr "" + +#: topologie/templates/topologie/index_physical_grouping.html:63 +#, fuzzy +#| msgid " Add a room" +msgid " Add a dormitory" +msgstr " Ajouter une chambre" + #: topologie/templates/topologie/index_portprofile.html:34 #: topologie/templates/topologie/sidebar.html:43 msgid "Port profiles" @@ -769,10 +809,10 @@ msgstr " Aller à la liste des ports" msgid "Specific settings for the switch" msgstr "Réglages spécifiques pour le commutateur réseau" -#: topologie/templates/topologie/switch.html:46 topologie/views.py:441 -#: topologie/views.py:745 topologie/views.py:800 topologie/views.py:859 -#: topologie/views.py:914 topologie/views.py:969 topologie/views.py:1027 -#: topologie/views.py:1081 +#: topologie/templates/topologie/switch.html:46 topologie/views.py:458 +#: topologie/views.py:762 topologie/views.py:817 topologie/views.py:876 +#: topologie/views.py:932 topologie/views.py:990 topologie/views.py:1047 +#: topologie/views.py:1105 topologie/views.py:1159 msgid "Create" msgstr "Créer" @@ -790,61 +830,61 @@ msgstr "Réglages généraux pour la machine liée à l'objet %(device)s" msgid "Create or edit" msgstr "Créer ou modifier" -#: topologie/views.py:347 +#: topologie/views.py:364 msgid "The VLAN was edited." msgstr "Le VLAN a été modifié." -#: topologie/views.py:350 topologie/views.py:403 topologie/views.py:457 -#: topologie/views.py:762 topologie/views.py:821 topologie/views.py:876 -#: topologie/views.py:931 topologie/views.py:990 topologie/views.py:1045 -#: topologie/views.py:1098 topologie/views.py:1152 +#: topologie/views.py:367 topologie/views.py:420 topologie/views.py:474 +#: topologie/views.py:779 topologie/views.py:838 topologie/views.py:893 +#: topologie/views.py:950 topologie/views.py:1008 topologie/views.py:1068 +#: topologie/views.py:1123 topologie/views.py:1176 topologie/views.py:1230 msgid "Edit" msgstr "Modifier" -#: topologie/views.py:363 topologie/views.py:554 +#: topologie/views.py:380 topologie/views.py:571 msgid "Nonexistent switch." msgstr "Commutateur réseau inexistant." -#: topologie/views.py:371 +#: topologie/views.py:388 msgid "The port was added." msgstr "Le port a été ajouté." -#: topologie/views.py:373 +#: topologie/views.py:390 msgid "The port already exists." msgstr "Le port existe déjà." -#: topologie/views.py:379 topologie/views.py:1135 +#: topologie/views.py:396 topologie/views.py:1213 msgid "Add" msgstr "Ajouter" -#: topologie/views.py:394 +#: topologie/views.py:411 msgid "The port was edited." msgstr "Le port a été modifié." -#: topologie/views.py:417 +#: topologie/views.py:434 msgid "The port was deleted." msgstr "Le port a été supprimé." -#: topologie/views.py:421 +#: topologie/views.py:438 #, python-format msgid "The port %s is used by another object, impossible to delete it." msgstr "Le port %s est utilisé par un autre objet, impossible de le supprimer." -#: topologie/views.py:438 +#: topologie/views.py:455 msgid "The stack was created." msgstr "La pile a été créée." -#: topologie/views.py:470 +#: topologie/views.py:487 msgid "The stack was deleted." msgstr "La pile a été supprimée." -#: topologie/views.py:474 +#: topologie/views.py:491 #, python-format msgid "The stack %s is used by another object, impossible to deleted it." msgstr "" "La pile %s est utilisée par un autre objet, impossible de la supprimer." -#: topologie/views.py:516 topologie/views.py:651 topologie/views.py:706 +#: topologie/views.py:533 topologie/views.py:668 topologie/views.py:723 msgid "" "The organisation's user doesn't exist yet, please create or link it in the " "preferences." @@ -852,113 +892,137 @@ msgstr "" "L'utilisateur de l'association n'existe pas encore, veuillez le créer ou le " "relier dans les préférences." -#: topologie/views.py:531 +#: topologie/views.py:548 msgid "The switch was created." msgstr "Le commutateur réseau a été créé." -#: topologie/views.py:568 +#: topologie/views.py:585 msgid "The ports were created." msgstr "Les ports ont été créés." -#: topologie/views.py:612 +#: topologie/views.py:629 msgid "The switch was edited." msgstr "Le commutateur réseau a été modifié." -#: topologie/views.py:666 +#: topologie/views.py:683 msgid "The access point was created." msgstr "Le point d'accès sans fil a été créé." -#: topologie/views.py:719 +#: topologie/views.py:736 msgid "The access point was edited." msgstr "Le point d'accès sans fil a été modifié." -#: topologie/views.py:742 +#: topologie/views.py:759 msgid "The room was created." msgstr "La chambre a été créée." -#: topologie/views.py:759 +#: topologie/views.py:776 msgid "The room was edited." msgstr "La chambre a été modifiée." -#: topologie/views.py:775 +#: topologie/views.py:792 msgid "The room was deleted." msgstr "La chambre a été supprimée." -#: topologie/views.py:779 +#: topologie/views.py:796 #, python-format msgid "The room %s is used by another object, impossible to deleted it." msgstr "" "La chambre %s est utilisée par un autre objet, impossible de la supprimer." -#: topologie/views.py:797 +#: topologie/views.py:814 msgid "The switch model was created." msgstr "Le modèle de commutateur réseau a été créé." -#: topologie/views.py:818 +#: topologie/views.py:835 msgid "The switch model was edited." msgstr "Le modèle de commutateur réseau a été modifié." -#: topologie/views.py:834 +#: topologie/views.py:851 msgid "The switch model was deleted." msgstr "Le modèle de commutateur réseau a été supprimé." -#: topologie/views.py:838 +#: topologie/views.py:855 #, python-format msgid "The switch model %s is used by another object, impossible to delete it." msgstr "" "Le modèle de commutateur réseau %s est utilisé par un autre objet, " "impossible de le supprimer." -#: topologie/views.py:856 +#: topologie/views.py:873 msgid "The switch bay was created." msgstr "La baie de brassage a été créée." -#: topologie/views.py:873 +#: topologie/views.py:890 msgid "The switch bay was edited." msgstr "La baie de brassage a été modifiée." -#: topologie/views.py:889 +#: topologie/views.py:906 msgid "The switch bay was deleted." msgstr "La baie de brassage a été supprimée." -#: topologie/views.py:893 +#: topologie/views.py:910 #, python-format msgid "The switch bay %s is used by another object, impossible to delete it." msgstr "" "La baie de brassage %s est utilisée par un autre objet, impossible de la " "supprimer." -#: topologie/views.py:911 +#: topologie/views.py:929 msgid "The building was created." msgstr "Le bâtiment a été créé." -#: topologie/views.py:928 +#: topologie/views.py:947 msgid "The building was edited." msgstr "Le bâtiment a été modifié." -#: topologie/views.py:944 +#: topologie/views.py:964 msgid "The building was deleted." msgstr "Le bâtiment a été supprimé." -#: topologie/views.py:948 +#: topologie/views.py:968 #, python-format msgid "The building %s is used by another object, impossible to delete it." msgstr "" "Le bâtiment %s est utilisé par un autre objet, impossible de le supprimer." -#: topologie/views.py:966 +#: topologie/views.py:987 +#, fuzzy +#| msgid "The room was created." +msgid "The dormitory was created." +msgstr "La chambre a été créée." + +#: topologie/views.py:1005 +#, fuzzy +#| msgid "The port was edited." +msgid "The dormitory was edited." +msgstr "Le port a été modifié." + +#: topologie/views.py:1022 +#, fuzzy +#| msgid "The port was deleted." +msgid "The dormitory was deleted." +msgstr "Le port a été supprimé." + +#: topologie/views.py:1026 +#, fuzzy, python-format +#| msgid "The port %s is used by another object, impossible to delete it." +msgid "The dormitory %s is used by another object, impossible to delete it." +msgstr "Le port %s est utilisé par un autre objet, impossible de le supprimer." + +#: topologie/views.py:1044 msgid "The switch constructor was created." msgstr "Le constructeur de commutateur réseau a été créé." -#: topologie/views.py:987 +#: topologie/views.py:1065 msgid "The switch constructor was edited." msgstr "Le constructeur de commutateur réseau a été modifié." -#: topologie/views.py:1003 +#: topologie/views.py:1081 msgid "The switch constructor was deleted." msgstr "Le constructeur de commutateur réseau a été supprimé." -#: topologie/views.py:1007 +#: topologie/views.py:1085 #, python-format msgid "" "The switch constructor %s is used by another object, impossible to delete it." @@ -966,49 +1030,49 @@ msgstr "" "Le constructeur de commutateur réseau %s est utilisé par un autre objet, " "impossible de le supprimer." -#: topologie/views.py:1024 +#: topologie/views.py:1102 msgid "The port profile was created." msgstr "Le profil de port a été créé." -#: topologie/views.py:1042 +#: topologie/views.py:1120 msgid "The port profile was edited." msgstr "Le profil de port a été modifié." -#: topologie/views.py:1059 +#: topologie/views.py:1137 msgid "The port profile was deleted." msgstr "Le profil de port a été supprimé." -#: topologie/views.py:1062 +#: topologie/views.py:1140 msgid "Impossible to delete the port profile." msgstr "Impossible de supprimer le profil de port." -#: topologie/views.py:1078 +#: topologie/views.py:1156 msgid "The module was created." msgstr "Le module a été créé." -#: topologie/views.py:1095 topologie/views.py:1149 +#: topologie/views.py:1173 topologie/views.py:1227 msgid "The module was edited." msgstr "Le module a été modifié." -#: topologie/views.py:1111 topologie/views.py:1165 +#: topologie/views.py:1189 topologie/views.py:1243 msgid "The module was deleted." msgstr "Le module a été supprimé." -#: topologie/views.py:1115 topologie/views.py:1169 +#: topologie/views.py:1193 topologie/views.py:1247 #, python-format msgid "The module %s is used by another object, impossible to deleted it." msgstr "" "Le module %s est utilisé par un autre objet, impossible de le supprimer." -#: topologie/views.py:1120 topologie/views.py:1174 +#: topologie/views.py:1198 topologie/views.py:1252 msgid "Module" msgstr "Module" -#: topologie/views.py:1132 +#: topologie/views.py:1210 msgid "The module was added." msgstr "Le module a été ajouté." -#: topologie/views.py:1291 +#: topologie/views.py:1398 msgid "" "The default Django template isn't used. This can lead to rendering errors. " "Check the parameters." diff --git a/users/forms.py b/users/forms.py index 7bb68046..16ab4652 100644 --- a/users/forms.py +++ b/users/forms.py @@ -38,6 +38,7 @@ from django.forms import ModelForm, Form from django.contrib.auth.forms import ReadOnlyPasswordHashField from django.core.validators import MinLengthValidator from django.utils import timezone +from django.utils.functional import lazy from django.contrib.auth.models import Group, Permission from django.utils.translation import ugettext_lazy as _ from django.utils.safestring import mark_safe @@ -390,13 +391,6 @@ class AdherentCreationForm(AdherentForm): # Checkbox for GTU gtu_check = forms.BooleanField(required=True) - gtu_check.label = mark_safe( - "{} {}{}".format( - _("I commit to accept the"), - GeneralOption.get_cached_value('GTU').url, - _("General Terms of Use"), _(".") - ) - ) class Meta: model = Adherent @@ -414,6 +408,15 @@ class AdherentCreationForm(AdherentForm): def __init__(self, *args, **kwargs): super(AdherentCreationForm, self).__init__(*args, **kwargs) + self.fields['gtu_check'].label = mark_safe( + "%s %s." % ( + _("I commit to accept the"), + GeneralOption.get_cached_value('GTU').url, + _("General Terms of Use") + ) + ) + + class AdherentEditForm(AdherentForm): """Formulaire d'édition d'un user. diff --git a/users/locale/fr/LC_MESSAGES/django.po b/users/locale/fr/LC_MESSAGES/django.po index edc80bf8..023857d0 100644 --- a/users/locale/fr/LC_MESSAGES/django.po +++ b/users/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-02-12 08:58+0100\n" +"POT-Creation-Date: 2019-09-05 19:48+0200\n" "PO-Revision-Date: 2018-06-27 23:35+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -35,124 +35,128 @@ msgstr "" msgid "You don't have the right to view this application." msgstr "Vous n'avez pas le droit de voir cette application." -#: users/forms.py:76 +#: users/forms.py:80 msgid "Current password" msgstr "Mot de passe actuel" -#: users/forms.py:81 users/forms.py:507 users/forms.py:534 +#: users/forms.py:85 users/forms.py:521 users/forms.py:548 msgid "New password" msgstr "Nouveau mot de passe" -#: users/forms.py:87 +#: users/forms.py:91 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: users/forms.py:104 +#: users/forms.py:108 msgid "The new passwords don't match." msgstr "Les nouveaux mots de passe ne correspondent pas." -#: users/forms.py:113 +#: users/forms.py:117 msgid "The current password is incorrect." msgstr "Le mot de passe actuel est incorrect." -#: users/forms.py:132 users/forms.py:185 users/models.py:1597 +#: users/forms.py:136 users/forms.py:189 users/models.py:1667 msgid "Password" msgstr "Mot de passe" -#: users/forms.py:138 users/forms.py:191 +#: users/forms.py:142 users/forms.py:195 msgid "Password confirmation" msgstr "Confirmation du mot de passe" -#: users/forms.py:143 users/forms.py:234 +#: users/forms.py:147 users/forms.py:238 msgid "Is admin" msgstr "Est admin" -#: users/forms.py:153 +#: users/forms.py:157 msgid "You can't use an internal address as your external address." msgstr "" "Vous ne pouvez pas utiliser une adresse interne pour votre adresse externe." -#: users/forms.py:166 users/forms.py:215 +#: users/forms.py:170 users/forms.py:219 msgid "The passwords don't match." msgstr "Les mots de passe ne correspondent pas." -#: users/forms.py:243 +#: users/forms.py:247 #, python-format msgid "User is admin: %s" msgstr "L'utilisateur est admin : %s" -#: users/forms.py:291 users/templates/users/aff_clubs.html:38 +#: users/forms.py:295 users/templates/users/aff_clubs.html:38 #: users/templates/users/aff_listright.html:63 #: users/templates/users/aff_listright.html:168 #: users/templates/users/aff_users.html:39 -#: users/templates/users/profil.html:177 users/templates/users/profil.html:332 -#: users/templates/users/profil.html:351 +#: users/templates/users/profil.html:178 users/templates/users/profil.html:335 +#: users/templates/users/profil.html:354 msgid "Username" msgstr "Pseudo" -#: users/forms.py:306 +#: users/forms.py:305 +msgid "Make a full archive operation ? (WARNING : CRITICAL OPERATION IF TRUE)" +msgstr "" + +#: users/forms.py:315 msgid "Impossible to archive users whose end access date is in the future." msgstr "" "Impossible d'archiver des utilisateurs dont la date de fin de connexion est " "dans le futur." -#: users/forms.py:318 users/templates/users/profil.html:166 -#: users/templates/users/profil.html:331 users/templates/users/profil.html:350 +#: users/forms.py:327 users/templates/users/profil.html:167 +#: users/templates/users/profil.html:334 users/templates/users/profil.html:353 msgid "First name" msgstr "Prénom" -#: users/forms.py:319 users/templates/users/aff_users.html:37 -#: users/templates/users/profil.html:172 users/templates/users/profil.html:330 -#: users/templates/users/profil.html:349 +#: users/forms.py:328 users/templates/users/aff_users.html:37 +#: users/templates/users/profil.html:173 users/templates/users/profil.html:333 +#: users/templates/users/profil.html:352 msgid "Surname" msgstr "Nom" -#: users/forms.py:320 users/forms.py:442 users/models.py:1598 +#: users/forms.py:329 users/forms.py:456 users/models.py:1668 #: users/templates/users/aff_emailaddress.html:36 -#: users/templates/users/profil.html:182 +#: users/templates/users/profil.html:183 msgid "Email address" msgstr "Adresse mail" -#: users/forms.py:321 users/forms.py:440 users/forms.py:590 +#: users/forms.py:330 users/forms.py:454 users/forms.py:604 #: users/templates/users/aff_schools.html:37 -#: users/templates/users/profil.html:200 +#: users/templates/users/profil.html:201 msgid "School" msgstr "Établissement" -#: users/forms.py:322 users/forms.py:441 users/models.py:1251 +#: users/forms.py:331 users/forms.py:455 users/models.py:1321 #: users/templates/users/aff_serviceusers.html:34 -#: users/templates/users/profil.html:205 +#: users/templates/users/profil.html:206 msgid "Comment" msgstr "Commentaire" -#: users/forms.py:324 users/forms.py:444 +#: users/forms.py:333 users/forms.py:458 #: users/templates/users/aff_clubs.html:40 #: users/templates/users/aff_users.html:41 -#: users/templates/users/profil.html:187 +#: users/templates/users/profil.html:188 msgid "Room" msgstr "Chambre" -#: users/forms.py:325 users/forms.py:445 +#: users/forms.py:334 users/forms.py:459 msgid "No room" msgstr "Pas de chambre" -#: users/forms.py:326 users/forms.py:446 +#: users/forms.py:335 users/forms.py:460 msgid "Select a school" msgstr "Sélectionnez un établissement" -#: users/forms.py:342 +#: users/forms.py:351 msgid "Force the move?" msgstr "Forcer le déménagement ?" -#: users/forms.py:352 users/forms.py:730 +#: users/forms.py:361 users/forms.py:744 msgid "You can't use a {} address." msgstr "Vous ne pouvez pas utiliser une adresse {}." -#: users/forms.py:361 users/forms.py:470 +#: users/forms.py:370 users/forms.py:484 msgid "A valid telephone number is required." msgstr "Un numéro de téléphone valide est requis." -#: users/forms.py:379 +#: users/forms.py:388 msgid "" "If you already have an account, please use it. If your lost access to it, " "please consider using the forgotten password button on the login page or " @@ -163,110 +167,114 @@ msgstr "" "passe oublié est à votre disposition. Si vous avez oublié votre login, " "contactez le support." -#: users/forms.py:384 +#: users/forms.py:393 msgid "I certify that I have not had an account before" msgstr "Je certifie sur l'honneur ne pas déjà avoir de compte" -#: users/forms.py:413 +#: users/forms.py:397 +msgid "I commit to accept the" +msgstr "J'accepte les" + +#: users/forms.py:427 msgid "Leave empty if you don't have any GPG key." msgstr "Laissez vide si vous n'avez pas de clé GPG." -#: users/forms.py:415 +#: users/forms.py:429 msgid "Default shell" msgstr "Interface en ligne de commande par défaut" -#: users/forms.py:439 users/templates/users/aff_clubs.html:36 +#: users/forms.py:453 users/templates/users/aff_clubs.html:36 #: users/templates/users/aff_serviceusers.html:32 msgid "Name" msgstr "Nom" -#: users/forms.py:447 +#: users/forms.py:461 msgid "Use a mailing list" msgstr "Utiliser une liste de diffusion" -#: users/forms.py:578 users/templates/users/aff_listright.html:38 +#: users/forms.py:592 users/templates/users/aff_listright.html:38 msgid "Superuser" msgstr "Superutilisateur" -#: users/forms.py:602 +#: users/forms.py:616 msgid "Shell name" msgstr "Nom de l'interface en ligne de commande" -#: users/forms.py:621 +#: users/forms.py:635 msgid "Name of the group of rights" msgstr "Nom du groupe de droits" -#: users/forms.py:632 +#: users/forms.py:646 msgid "GID. Warning: this field must not be edited after creation." msgstr "GID. Attention : ce champ ne doit pas être modifié après création." -#: users/forms.py:640 +#: users/forms.py:654 msgid "Current groups of rights" msgstr "Groupes de droits actuels" -#: users/forms.py:657 +#: users/forms.py:671 msgid "Current schools" msgstr "Établissements actuels" -#: users/forms.py:675 users/forms.py:689 users/templates/users/aff_bans.html:41 +#: users/forms.py:689 users/forms.py:703 users/templates/users/aff_bans.html:41 #: users/templates/users/aff_whitelists.html:41 msgid "End date" msgstr "Date de fin" -#: users/forms.py:703 users/models.py:1795 +#: users/forms.py:717 users/models.py:1865 msgid "Local part of the email address" msgstr "Partie locale de l'adresse mail" -#: users/forms.py:704 +#: users/forms.py:718 msgid "Can't contain @" msgstr "Ne peut pas contenir @" -#: users/forms.py:719 +#: users/forms.py:733 msgid "Main email address" msgstr "Adresse mail principale" -#: users/forms.py:721 +#: users/forms.py:735 msgid "Redirect local emails" msgstr "Rediriger les mails locaux" -#: users/forms.py:723 +#: users/forms.py:737 msgid "Use local emails" msgstr "Utiliser les mails locaux" -#: users/forms.py:763 +#: users/forms.py:777 msgid "This room is my room" msgstr "Il s'agit bien de ma chambre" -#: users/forms.py:767 +#: users/forms.py:781 msgid "This new connected device is mine" msgstr "Ce nouvel appareil connecté m'appartient" -#: users/models.py:106 +#: users/models.py:105 #, python-format msgid "The username '%(label)s' contains forbidden characters." msgstr "Le pseudo '%(label)s' contient des caractères interdits." -#: users/models.py:148 +#: users/models.py:147 msgid "Users must have an username." msgstr "Les utilisateurs doivent avoir un pseudo." -#: users/models.py:151 +#: users/models.py:150 msgid "Username should only contain [a-z0-9-]." msgstr "Le pseudo devrait seulement contenir [a-z0-9-]" #: users/models.py:192 users/templates/users/aff_clubs.html:55 #: users/templates/users/aff_users.html:57 -#: users/templates/users/profil.html:249 +#: users/templates/users/profil.html:250 msgid "Active" msgstr "Actif" #: users/models.py:193 users/templates/users/aff_clubs.html:57 #: users/templates/users/aff_users.html:59 -#: users/templates/users/profil.html:251 users/templates/users/profil.html:265 +#: users/templates/users/profil.html:252 users/templates/users/profil.html:268 msgid "Disabled" msgstr "Désactivé" -#: users/models.py:194 users/templates/users/profil.html:253 +#: users/models.py:194 users/templates/users/profil.html:254 msgid "Archived" msgstr "Archivé" @@ -274,108 +282,114 @@ msgstr "Archivé" msgid "Not yet active" msgstr "Pas encore adhéré" -#: users/models.py:202 users/models.py:1242 +#: users/models.py:196 users/templates/users/profil.html:258 +#, fuzzy +#| msgid "Archived" +msgid "Full Archived" +msgstr "Archivé" + +#: users/models.py:203 users/models.py:1312 msgid "Must only contain letters, numerals or dashes." msgstr "Doit seulement contenir des lettres, chiffres ou tirets." -#: users/models.py:208 +#: users/models.py:209 msgid "External email address allowing us to contact you." msgstr "Adresse mail externe nous permettant de vous contacter." -#: users/models.py:212 +#: users/models.py:213 msgid "" "Enable redirection of the local email messages to the main email address." msgstr "" "Activer la redirection des mails locaux vers l'adresse mail principale." -#: users/models.py:217 +#: users/models.py:218 msgid "Enable the local email account." msgstr "Activer le compte mail local" -#: users/models.py:232 +#: users/models.py:233 msgid "Comment, school year" msgstr "Commentaire, promotion" -#: users/models.py:258 +#: users/models.py:259 msgid "Can change the password of a user" msgstr "Peut changer le mot de passe d'un utilisateur" -#: users/models.py:259 +#: users/models.py:260 msgid "Can edit the state of a user" msgstr "Peut changer l'état d'un utilisateur" -#: users/models.py:260 +#: users/models.py:261 msgid "Can force the move" msgstr "Peut forcer le déménagement" -#: users/models.py:261 +#: users/models.py:262 msgid "Can edit the shell of a user" msgstr "Peut modifier l'interface en ligne de commande d'un utilisateur" -#: users/models.py:263 +#: users/models.py:264 msgid "Can edit the groups of rights of a user (critical permission)" msgstr "" "Peut modifier les groupes de droits d'un utilisateur (permission critique)" -#: users/models.py:266 +#: users/models.py:267 msgid "Can edit all users, including those with rights." msgstr "" "Peut modifier tous les utilisateurs, y compris ceux possédant des droits." -#: users/models.py:268 +#: users/models.py:269 msgid "Can view a user object" msgstr "Peut voir un objet utilisateur" -#: users/models.py:270 +#: users/models.py:271 msgid "user (member or club)" msgstr "utilisateur (adhérent ou club)" -#: users/models.py:271 +#: users/models.py:272 msgid "users (members or clubs)" msgstr "utilisateurs (adhérents ou clubs)" -#: users/models.py:289 users/models.py:313 +#: users/models.py:290 users/models.py:314 msgid "Unknown type." msgstr "Type inconnu." -#: users/models.py:309 users/templates/users/aff_listright.html:75 +#: users/models.py:310 users/templates/users/aff_listright.html:75 #: users/templates/users/aff_listright.html:180 msgid "Member" msgstr "Adhérent" -#: users/models.py:311 +#: users/models.py:312 msgid "Club" msgstr "Club" -#: users/models.py:536 +#: users/models.py:554 users/models.py:568 msgid "IPv4 assigning" msgstr "Attribution de l'IPv4" -#: users/models.py:545 +#: users/models.py:561 msgid "IPv4 unassigning" msgstr "Désattribution de l'IPv4" -#: users/models.py:701 +#: users/models.py:770 msgid "Maximum number of registered machines reached." msgstr "Nombre maximum de machines enregistrées atteint." -#: users/models.py:703 +#: users/models.py:772 msgid "Re2o doesn't know wich machine type to assign." msgstr "Re2o ne sait pas quel type de machine attribuer." -#: users/models.py:726 users/templates/users/user_autocapture.html:64 +#: users/models.py:795 users/templates/users/user_autocapture.html:64 msgid "OK" msgstr "OK" -#: users/models.py:799 users/models.py:836 +#: users/models.py:869 users/models.py:906 msgid "You don't have the right to edit this club." msgstr "Vous n'avez pas le droit de modifier ce club." -#: users/models.py:807 +#: users/models.py:877 msgid "User with critical rights, can't be edited." msgstr "Utilisateur avec des droits critiques, ne peut être modifié." -#: users/models.py:810 +#: users/models.py:880 msgid "" "Impossible to edit the organisation's user without the 'change_all_users' " "right." @@ -383,60 +397,60 @@ msgstr "" "Impossible de modifier l'utilisateur de l'association sans le droit " "'change_all_users'." -#: users/models.py:818 users/models.py:847 +#: users/models.py:888 users/models.py:917 msgid "You don't have the right to edit another user." msgstr "Vous n'avez pas le droit de modifier un autre utilisateur." -#: users/models.py:865 +#: users/models.py:935 msgid "Permission required to change the room." msgstr "Permission requise pour changer la chambre." -#: users/models.py:879 +#: users/models.py:949 msgid "Permission required to change the state." msgstr "Permission requise pour changer l'état." -#: users/models.py:891 +#: users/models.py:961 msgid "Permission required to change the shell." msgstr "Permission requise pour changer l'interface en ligne de commande." -#: users/models.py:905 users/models.py:918 +#: users/models.py:975 users/models.py:988 msgid "Local email accounts must be enabled." msgstr "Les comptes mail locaux doivent être activés." -#: users/models.py:931 +#: users/models.py:1001 msgid "Permission required to force the move." msgstr "Permission requise pour forcer le déménagement." -#: users/models.py:944 +#: users/models.py:1014 msgid "Permission required to edit the user's groups of rights." msgstr "" "Permission requise pour modifier les groupes de droits de l'utilisateur." -#: users/models.py:956 +#: users/models.py:1026 msgid "'superuser' right required to edit the superuser flag." msgstr "Droit 'superuser' requis pour modifier le signalement superuser." -#: users/models.py:974 +#: users/models.py:1044 msgid "You don't have the right to view this club." msgstr "Vous n'avez pas le droit de voir ce club." -#: users/models.py:980 +#: users/models.py:1050 msgid "You don't have the right to view another user." msgstr "Vous n'avez pas le droit de voir un autre utilisateur." -#: users/models.py:993 users/models.py:1174 +#: users/models.py:1063 users/models.py:1244 msgid "You don't have the right to view the list of users." msgstr "Vous n'avez pas le droit de voir la liste des utilisateurs." -#: users/models.py:1006 +#: users/models.py:1076 msgid "You don't have the right to delete this user." msgstr "Vous n'avez pas le droit de supprimer cet utilisateur." -#: users/models.py:1027 +#: users/models.py:1097 msgid "This username is already used." msgstr "Ce pseudo est déjà utilisé." -#: users/models.py:1029 +#: users/models.py:1099 msgid "" "There is neither a local email address nor an external email address for " "this user." @@ -444,7 +458,7 @@ msgstr "" "Il n'y a pas d'adresse mail locale ni d'adresse mail externe pour cet " "utilisateur." -#: users/models.py:1033 +#: users/models.py:1103 msgid "" "You can't redirect your local emails if no external email address has been " "set." @@ -452,179 +466,179 @@ msgstr "" "Vous ne pouvez pas rediriger vos mails locaux si aucune adresse mail externe " "n'a été définie." -#: users/models.py:1059 +#: users/models.py:1129 msgid "member" msgstr "adhérent" -#: users/models.py:1060 +#: users/models.py:1130 msgid "members" msgstr "adhérents" -#: users/models.py:1071 +#: users/models.py:1141 msgid "A GPG fingerprint must contain 40 hexadecimal characters" msgstr "Une empreinte GPG doit contenir 40 caractères hexadécimaux" -#: users/models.py:1101 +#: users/models.py:1171 msgid "You don't have the right to create a user." msgstr "Vous n'avez pas le droit de créer un utilisateur." -#: users/models.py:1137 +#: users/models.py:1207 msgid "club" msgstr "club" -#: users/models.py:1138 +#: users/models.py:1208 msgid "clubs" msgstr "clubs" -#: users/models.py:1156 +#: users/models.py:1226 msgid "You don't have the right to create a club." msgstr "Vous n'avez pas le droit de créer un club." -#: users/models.py:1261 +#: users/models.py:1331 msgid "Can view a service user object" msgstr "Peut voir un objet utilisateur service" -#: users/models.py:1263 +#: users/models.py:1333 msgid "service user" msgstr "utilisateur service" -#: users/models.py:1264 +#: users/models.py:1334 msgid "service users" msgstr "utilisateurs service" -#: users/models.py:1268 +#: users/models.py:1338 #, python-brace-format msgid "Service user <{name}>" msgstr "Utilisateur service <{name}>" -#: users/models.py:1330 +#: users/models.py:1400 msgid "Can view a school object" msgstr "Peut voir un objet établissement" -#: users/models.py:1332 +#: users/models.py:1402 msgid "school" msgstr "établissement" -#: users/models.py:1333 +#: users/models.py:1403 msgid "schools" msgstr "établissements" -#: users/models.py:1351 +#: users/models.py:1421 msgid "UNIX groups can only contain lower case letters." msgstr "Les groupes UNIX peuvent seulement contenir des lettres minuscules." -#: users/models.py:1357 +#: users/models.py:1427 msgid "Description" msgstr "Description" -#: users/models.py:1364 +#: users/models.py:1434 msgid "Can view a group of rights object" msgstr "Peut voir un objet groupe de droits" -#: users/models.py:1366 +#: users/models.py:1436 msgid "group of rights" msgstr "groupe de droits" -#: users/models.py:1367 +#: users/models.py:1437 msgid "groups of rights" msgstr "groupes de droits" -#: users/models.py:1414 +#: users/models.py:1484 msgid "Can view a shell object" msgstr "Peut voir un objet interface en ligne de commande" -#: users/models.py:1416 +#: users/models.py:1486 msgid "shell" msgstr "interface en ligne de commande" -#: users/models.py:1417 +#: users/models.py:1487 msgid "shells" msgstr "interfaces en ligne de commande" -#: users/models.py:1436 +#: users/models.py:1506 msgid "HARD (no access)" msgstr "HARD (pas d'accès)" -#: users/models.py:1437 +#: users/models.py:1507 msgid "SOFT (local access only)" msgstr "SOFT (accès local uniquement)" -#: users/models.py:1438 +#: users/models.py:1508 msgid "RESTRICTED (speed limitation)" msgstr "RESTRICTED (limitation de vitesse)" -#: users/models.py:1449 +#: users/models.py:1519 msgid "Can view a ban object" msgstr "Peut voir un objet bannissement" -#: users/models.py:1451 +#: users/models.py:1521 msgid "ban" msgstr "bannissement" -#: users/models.py:1452 +#: users/models.py:1522 msgid "bans" msgstr "bannissements" -#: users/models.py:1486 +#: users/models.py:1556 msgid "You don't have the right to view bans other than yours." msgstr "" "Vous n'avez pas le droit de voir des bannissements autres que les vôtres." -#: users/models.py:1534 +#: users/models.py:1604 msgid "Can view a whitelist object" msgstr "Peut voir un objet accès gracieux" -#: users/models.py:1536 +#: users/models.py:1606 msgid "whitelist (free of charge access)" msgstr "Accès gracieux" -#: users/models.py:1537 +#: users/models.py:1607 msgid "whitelists (free of charge access)" msgstr "Accès gracieux" -#: users/models.py:1553 +#: users/models.py:1623 msgid "You don't have the right to view whitelists other than yours." msgstr "" "Vous n'avez pas le droit de voir des accès gracieux autres que les vôtres." -#: users/models.py:1790 +#: users/models.py:1860 msgid "User of the local email account" msgstr "Utilisateur du compte mail local" -#: users/models.py:1800 +#: users/models.py:1870 msgid "Can view a local email account object" msgstr "Peut voir un objet compte mail local" -#: users/models.py:1802 +#: users/models.py:1872 msgid "local email account" msgstr "compte mail local" -#: users/models.py:1803 +#: users/models.py:1873 msgid "local email accounts" msgstr "comptes mail locaux" -#: users/models.py:1827 users/models.py:1850 users/models.py:1872 -#: users/models.py:1894 +#: users/models.py:1897 users/models.py:1920 users/models.py:1942 +#: users/models.py:1964 msgid "The local email accounts are not enabled." msgstr "Les comptes mail locaux ne sont pas activés." -#: users/models.py:1829 +#: users/models.py:1899 msgid "You don't have the right to add a local email account to another user." msgstr "" "Vous n'avez pas le droit d'ajouter un compte mail local à un autre " "utilisateur." -#: users/models.py:1832 +#: users/models.py:1902 msgid "You reached the limit of {} local email accounts." msgstr "Vous avez atteint la limite de {} comptes mail locaux." -#: users/models.py:1853 users/models.py:1897 +#: users/models.py:1923 users/models.py:1967 msgid "You don't have the right to edit another user's local email account." msgstr "" "Vous n'avez pas le droit de modifier le compte mail local d'un autre " "utilisateur." -#: users/models.py:1867 +#: users/models.py:1937 msgid "" "You can't delete a local email account whose local part is the same as the " "username." @@ -632,13 +646,13 @@ msgstr "" "Vous ne pouvez pas supprimer un compte mail local dont la partie locale est " "la même que le pseudo." -#: users/models.py:1875 +#: users/models.py:1945 msgid "You don't have the right to delete another user's local email account" msgstr "" "Vous n'avez pas le droit de supprimer le compte mail local d'un autre " "utilisateur." -#: users/models.py:1889 +#: users/models.py:1959 msgid "" "You can't edit a local email account whose local part is the same as the " "username." @@ -646,7 +660,7 @@ msgstr "" "Vous ne pouvez pas modifier un compte mail local dont la partie locale est " "la même que le pseudo." -#: users/models.py:1903 +#: users/models.py:1973 msgid "The local part must not contain @ or +." msgstr "La partie locale ne doit pas contenir @ ou +." @@ -672,7 +686,7 @@ msgstr "Fin de cotisation le" #: users/templates/users/aff_clubs.html:43 #: users/templates/users/aff_users.html:44 -#: users/templates/users/profil.html:260 +#: users/templates/users/profil.html:263 msgid "Internet access" msgstr "Accès Internet" @@ -683,7 +697,7 @@ msgstr "Profil" #: users/templates/users/aff_clubs.html:53 #: users/templates/users/aff_users.html:54 -#: users/templates/users/profil.html:224 +#: users/templates/users/profil.html:225 msgid "Not a member" msgstr "Non adhérent" @@ -781,7 +795,7 @@ msgid "Role" msgstr "Rôle" #: users/templates/users/aff_shell.html:32 -#: users/templates/users/profil.html:301 +#: users/templates/users/profil.html:304 msgid "Shell" msgstr "Interface en ligne de commande" @@ -808,7 +822,7 @@ msgid "Confirm" msgstr "Confirmer" #: users/templates/users/index_ban.html:32 -#: users/templates/users/profil.html:428 users/templates/users/sidebar.html:58 +#: users/templates/users/profil.html:431 users/templates/users/sidebar.html:58 msgid "Bans" msgstr "Bannissements" @@ -879,7 +893,7 @@ msgid " Add a shell" msgstr " Ajouter une interface en ligne de commande" #: users/templates/users/index_whitelist.html:32 -#: users/templates/users/profil.html:453 users/templates/users/sidebar.html:64 +#: users/templates/users/profil.html:456 users/templates/users/sidebar.html:64 msgid "Whitelists" msgstr "Accès gracieux" @@ -959,176 +973,176 @@ msgstr " Machines" msgid " Add a machine" msgstr " Ajouter une machine" -#: users/templates/users/profil.html:109 users/templates/users/profil.html:387 +#: users/templates/users/profil.html:109 users/templates/users/profil.html:390 msgid "No machine" msgstr "Pas de machine" -#: users/templates/users/profil.html:127 +#: users/templates/users/profil.html:128 msgid " Detailed information" msgstr " Informations détaillées" -#: users/templates/users/profil.html:134 +#: users/templates/users/profil.html:135 msgid "Edit" msgstr "Modifier" -#: users/templates/users/profil.html:138 users/views.py:286 users/views.py:1084 +#: users/templates/users/profil.html:139 users/views.py:290 users/views.py:1094 msgid "Change the password" msgstr "Changer le mot de passe" -#: users/templates/users/profil.html:143 +#: users/templates/users/profil.html:144 msgid "Change the state" msgstr "Changer l'état" -#: users/templates/users/profil.html:149 users/views.py:264 +#: users/templates/users/profil.html:150 users/views.py:268 msgid "Edit the groups" msgstr "Modifier les groupes" -#: users/templates/users/profil.html:159 +#: users/templates/users/profil.html:160 msgid "Mailing" msgstr "Envoi de mails" -#: users/templates/users/profil.html:163 +#: users/templates/users/profil.html:164 msgid "Mailing disabled" msgstr "Envoi de mails désactivé" -#: users/templates/users/profil.html:195 +#: users/templates/users/profil.html:196 msgid "Telephone number" msgstr "Numéro de téléphone" -#: users/templates/users/profil.html:210 +#: users/templates/users/profil.html:211 msgid "Registration date" msgstr "Date d'inscription" -#: users/templates/users/profil.html:215 +#: users/templates/users/profil.html:216 msgid "Last login" msgstr "Dernière connexion" -#: users/templates/users/profil.html:220 +#: users/templates/users/profil.html:221 msgid "End of membership" msgstr "Fin d'adhésion" -#: users/templates/users/profil.html:229 +#: users/templates/users/profil.html:230 msgid "Whitelist" msgstr "Accès gracieux" -#: users/templates/users/profil.html:233 users/templates/users/profil.html:274 +#: users/templates/users/profil.html:234 users/templates/users/profil.html:277 msgid "None" msgstr "Aucun" -#: users/templates/users/profil.html:238 +#: users/templates/users/profil.html:239 msgid "Ban" msgstr "Bannissement" -#: users/templates/users/profil.html:242 +#: users/templates/users/profil.html:243 msgid "Not banned" msgstr "Non banni" -#: users/templates/users/profil.html:247 +#: users/templates/users/profil.html:248 msgid "State" msgstr "État" -#: users/templates/users/profil.html:255 +#: users/templates/users/profil.html:256 msgid "Not yet member" msgstr "Pas encore adhérent" -#: users/templates/users/profil.html:263 +#: users/templates/users/profil.html:266 #, python-format msgid "Active (until %(end_access)s)" msgstr "Actif (jusqu'au %(end_access)s)" -#: users/templates/users/profil.html:270 users/templates/users/sidebar.html:82 +#: users/templates/users/profil.html:273 users/templates/users/sidebar.html:82 msgid "Groups of rights" msgstr "Groupes de droits" -#: users/templates/users/profil.html:279 +#: users/templates/users/profil.html:282 msgid "Balance" msgstr "Solde" -#: users/templates/users/profil.html:286 +#: users/templates/users/profil.html:289 msgid "Refill" msgstr "Recharger" -#: users/templates/users/profil.html:294 +#: users/templates/users/profil.html:297 msgid "GPG fingerprint" msgstr "Empreinte GPG" -#: users/templates/users/profil.html:313 +#: users/templates/users/profil.html:316 msgid " Manage the club" msgstr " Gérer le club" -#: users/templates/users/profil.html:321 +#: users/templates/users/profil.html:324 msgid "Manage the admins and members" msgstr "Gérer les admins et les membres" -#: users/templates/users/profil.html:325 +#: users/templates/users/profil.html:328 msgid "Club admins" msgstr "Admins du clubs" -#: users/templates/users/profil.html:344 +#: users/templates/users/profil.html:347 msgid "Members" msgstr "Adhérents" -#: users/templates/users/profil.html:372 +#: users/templates/users/profil.html:375 msgid "Machines" msgstr "Machines" -#: users/templates/users/profil.html:380 +#: users/templates/users/profil.html:383 msgid "Add a machine" msgstr "Ajouter une machine" -#: users/templates/users/profil.html:397 +#: users/templates/users/profil.html:400 msgid "Subscriptions" msgstr "Cotisations" -#: users/templates/users/profil.html:405 +#: users/templates/users/profil.html:408 msgid "Add a subscription" msgstr "Ajouter une cotisation" -#: users/templates/users/profil.html:410 +#: users/templates/users/profil.html:413 msgid "Edit the balance" msgstr "Modifier le solde" -#: users/templates/users/profil.html:419 +#: users/templates/users/profil.html:422 msgid "No invoice" msgstr "Pas de facture" -#: users/templates/users/profil.html:436 users/views.py:388 +#: users/templates/users/profil.html:439 users/views.py:392 msgid "Add a ban" msgstr "Ajouter un bannissement" -#: users/templates/users/profil.html:444 +#: users/templates/users/profil.html:447 msgid "No ban" msgstr "Pas de bannissement" -#: users/templates/users/profil.html:461 +#: users/templates/users/profil.html:464 msgid "Grant a whitelist" msgstr "Donner un accès gracieux" -#: users/templates/users/profil.html:469 +#: users/templates/users/profil.html:472 msgid "No whitelist" msgstr "Pas d'accès gracieux" -#: users/templates/users/profil.html:477 +#: users/templates/users/profil.html:480 msgid " Email settings" msgstr " Paramètres mail" -#: users/templates/users/profil.html:484 +#: users/templates/users/profil.html:487 msgid " Edit email settings" msgstr " Modifier les paramètres mail" -#: users/templates/users/profil.html:493 users/templates/users/profil.html:519 +#: users/templates/users/profil.html:496 users/templates/users/profil.html:522 msgid "Contact email address" msgstr "Adresse mail de contact" -#: users/templates/users/profil.html:497 +#: users/templates/users/profil.html:500 msgid "Enable the local email account" msgstr "Activer le compte mail local" -#: users/templates/users/profil.html:499 +#: users/templates/users/profil.html:502 msgid "Enable the local email redirection" msgstr "Activer la redirection mail locale" -#: users/templates/users/profil.html:503 +#: users/templates/users/profil.html:506 msgid "" "The contact email address is the email address where we send emails to " "contact you. If you would like to use your external email address for that, " @@ -1140,7 +1154,7 @@ msgstr "" "cela, vous pouvez soit désactiver votre adresse mail locale soit activer la " "redirection des mails locaux." -#: users/templates/users/profil.html:508 +#: users/templates/users/profil.html:511 msgid " Add an email address" msgstr " Ajouter une adresse mail" @@ -1203,182 +1217,182 @@ msgstr "Connecté avec l'appareil :" msgid "MAC address %(mac)s" msgstr "Adresse MAC %(mac)s" -#: users/views.py:126 +#: users/views.py:130 #, python-format msgid "The user %s was created, an email to set the password was sent." msgstr "" "L'utilisateur %s a été créé, un mail pour initialiser le mot de passe a été " "envoyé." -#: users/views.py:138 +#: users/views.py:142 msgid "Commit" msgstr "Valider" -#: users/views.py:155 +#: users/views.py:159 #, python-format msgid "The club %s was created, an email to set the password was sent." msgstr "" "Le club %s a été créé, un mail pour initialiser le mot de passe a été envoyé." -#: users/views.py:162 +#: users/views.py:166 msgid "Create a club" msgstr "Créer un club" -#: users/views.py:180 +#: users/views.py:184 msgid "The club was edited." msgstr "Le club a été modifié." -#: users/views.py:189 +#: users/views.py:193 msgid "Edit the admins and members" msgstr "Modifier les admins et les membres" -#: users/views.py:217 +#: users/views.py:221 msgid "The user was edited." msgstr "L'utilisateur a été modifié." -#: users/views.py:223 +#: users/views.py:227 msgid "Edit the user" msgstr "Modifier l'utilisateur" -#: users/views.py:237 +#: users/views.py:241 msgid "The state was edited." msgstr "L'état a été modifié." -#: users/views.py:243 +#: users/views.py:247 msgid "Edit the state" msgstr "Modifier l'état" -#: users/views.py:258 +#: users/views.py:262 msgid "The groups were edited." msgstr "Les groupes ont été modifiés." -#: users/views.py:280 users/views.py:1081 +#: users/views.py:284 users/views.py:1091 msgid "The password was changed." msgstr "Le mot de passe a été changé." -#: users/views.py:298 +#: users/views.py:302 #, python-format msgid "%s was removed from the group." msgstr "%s a été retiré du groupe." -#: users/views.py:308 +#: users/views.py:312 #, python-format msgid "%s is no longer superuser." msgstr "%s n'est plus superutilisateur." -#: users/views.py:321 +#: users/views.py:325 msgid "The service user was created." msgstr "L'utilisateur service a été créé." -#: users/views.py:325 +#: users/views.py:329 msgid "Create a service user" msgstr "Créer un utilisateur service" -#: users/views.py:342 +#: users/views.py:346 msgid "The service user was edited." msgstr "L'utilisateur service a été modifié." -#: users/views.py:345 +#: users/views.py:349 msgid "Edit a service user" msgstr "Modifier un utilisateur service" -#: users/views.py:357 +#: users/views.py:361 msgid "The service user was deleted." msgstr "L'utilisateur service a été supprimé." -#: users/views.py:377 +#: users/views.py:381 msgid "The ban was added." msgstr "Le bannissement a été ajouté." -#: users/views.py:385 +#: users/views.py:389 msgid "Warning: this user already has an active ban." msgstr "Attention : cet utilisateur a déjà un bannissement actif." -#: users/views.py:404 +#: users/views.py:408 msgid "The ban was edited." msgstr "Le bannissement a été modifié." -#: users/views.py:407 +#: users/views.py:411 msgid "Edit a ban" msgstr "Modifier un bannissement" -#: users/views.py:419 +#: users/views.py:423 msgid "The ban was deleted." msgstr "Le bannissement a été supprimé." -#: users/views.py:446 +#: users/views.py:450 msgid "The whitelist was added." msgstr "L'accès gracieux a été ajouté." -#: users/views.py:454 +#: users/views.py:458 msgid "Warning: this user already has an active whitelist." msgstr "Attention : cet utilisateur a déjà un accès gracieux actif." -#: users/views.py:457 +#: users/views.py:461 msgid "Add a whitelist" msgstr "Ajouter un accès gracieux" -#: users/views.py:477 +#: users/views.py:481 msgid "The whitelist was edited." msgstr "L'accès gracieux a été ajouté." -#: users/views.py:480 +#: users/views.py:484 msgid "Edit a whitelist" msgstr "Modifier un accès gracieux" -#: users/views.py:492 +#: users/views.py:496 msgid "The whitelist was deleted." msgstr "L'accès gracieux a été supprimé." -#: users/views.py:516 +#: users/views.py:520 msgid "The local email account was created." msgstr "Le compte mail local a été créé." -#: users/views.py:524 +#: users/views.py:528 msgid "Add a local email account" msgstr "Ajouter un compte mail local" -#: users/views.py:541 +#: users/views.py:545 msgid "The local email account was edited." msgstr "Le compte mail local a été modifié." -#: users/views.py:549 +#: users/views.py:553 msgid "Edit a local email account" msgstr "Modifier un compte mail local" -#: users/views.py:561 +#: users/views.py:565 msgid "The local email account was deleted." msgstr "Le compte mail local a été supprimé." -#: users/views.py:585 +#: users/views.py:589 msgid "The email settings were edited." msgstr "Les paramètres mail ont été modifiés." -#: users/views.py:594 +#: users/views.py:598 msgid "Edit the email settings" msgstr "Modifier les paramètres mail" -#: users/views.py:608 +#: users/views.py:612 msgid "The school was added." msgstr "L'établissement a été ajouté." -#: users/views.py:611 +#: users/views.py:615 msgid "Add a school" msgstr "Ajouter un établissement" -#: users/views.py:626 +#: users/views.py:630 msgid "The school was edited." msgstr "L'établissement a été modifié." -#: users/views.py:629 +#: users/views.py:633 msgid "Edit a school" msgstr "Modifier un établissement" -#: users/views.py:648 +#: users/views.py:652 msgid "The school was deleted." msgstr "L'établissement a été supprimé." -#: users/views.py:652 +#: users/views.py:656 #, python-format msgid "" "The school %s is assigned to at least one user, impossible to delete it." @@ -1386,51 +1400,51 @@ msgstr "" "L'établissement %s est assigné à au moins un utilisateur, impossible de le " "supprimer." -#: users/views.py:656 users/views.py:768 +#: users/views.py:660 users/views.py:772 msgid "Delete" msgstr "Supprimer" -#: users/views.py:669 +#: users/views.py:673 msgid "The shell was added." msgstr "L'interface en ligne de commande a été ajoutée." -#: users/views.py:672 +#: users/views.py:676 msgid "Add a shell" msgstr "Ajouter une interface en ligne de commande" -#: users/views.py:686 +#: users/views.py:690 msgid "The shell was edited." msgstr "L'interface en ligne de commande a été modifiée." -#: users/views.py:689 +#: users/views.py:693 msgid "Edit a shell" msgstr "Modifier une interface en ligne de commande" -#: users/views.py:701 +#: users/views.py:705 msgid "The shell was deleted." msgstr "L'interface en ligne de commande a été supprimée." -#: users/views.py:718 +#: users/views.py:722 msgid "The group of rights was added." msgstr "Le groupe de droits a été ajouté." -#: users/views.py:721 +#: users/views.py:725 msgid "Add a group of rights" msgstr "Ajouter un groupe de droits" -#: users/views.py:739 +#: users/views.py:743 msgid "The group of rights was edited." msgstr "Le groupe de droits a été modifié." -#: users/views.py:742 +#: users/views.py:746 msgid "Edit a group of rights" msgstr "Modifier un groupe de droits" -#: users/views.py:759 +#: users/views.py:763 msgid "The group of rights was deleted." msgstr "Le groupe de droits a été supprimé." -#: users/views.py:764 +#: users/views.py:768 #, python-format msgid "" "The group of rights %s is assigned to at least one user, impossible to " @@ -1439,40 +1453,36 @@ msgstr "" "Le groupe de droits %s est assigné à au moins un utilisateur, impossible de " "le supprimer." -#: users/views.py:792 -msgid "Archiving" -msgstr "Archivage" - -#: users/views.py:793 +#: users/views.py:797 #, python-format msgid "%s users were archived." msgstr "%s utilisateurs ont été archivés." -#: users/views.py:1043 +#: users/views.py:1053 msgid "The user doesn't exist." msgstr "L'utilisateur n'existe pas." -#: users/views.py:1045 users/views.py:1053 +#: users/views.py:1055 users/views.py:1063 msgid "Reset" msgstr "Réinitialiser" -#: users/views.py:1050 +#: users/views.py:1060 msgid "An email to reset the password was sent." msgstr "Un mail pour réinitialiser le mot de passe a été envoyé." -#: users/views.py:1067 +#: users/views.py:1077 msgid "Error: please contact an admin." msgstr "Erreur : veuillez contacter un admin." -#: users/views.py:1079 +#: users/views.py:1089 msgid "Password reset" msgstr "Réinitialisation du mot de passe" -#: users/views.py:1096 +#: users/views.py:1106 msgid "Incorrect URL, or already registered device." msgstr "URL incorrect, ou appareil déjà enregistré." -#: users/views.py:1104 +#: users/views.py:1114 msgid "" "Successful registration! Please disconnect and reconnect your Ethernet cable " "to get Internet access." @@ -1480,7 +1490,7 @@ msgstr "" "Enregistrement réussi ! Veuillez débrancher et rebrancher votre câble " "Ethernet pour avoir accès à Internet." -#: users/views.py:1148 users/views.py:1172 users/views.py:1187 +#: users/views.py:1158 users/views.py:1182 users/views.py:1197 msgid "The mailing list doesn't exist." msgstr "La liste de diffusion n'existe pas." @@ -1499,3 +1509,11 @@ msgstr "Précédent" #: users/widgets.py:46 msgid "Wk" msgstr "Wk" + +#, fuzzy +#~| msgid "Summary of the General Terms of Use" +#~ msgid "General Terms of Use" +#~ msgstr "Résumé des Conditions Générales d'Utilisation" + +#~ msgid "Archiving" +#~ msgstr "Archivage"