diff --git a/users/forms.py b/users/forms.py index d4110dcd..6fcfea81 100644 --- a/users/forms.py +++ b/users/forms.py @@ -381,7 +381,7 @@ class AdherentCreationForm(AdherentForm): + "using the forgotten password button on the "\ + "login page or contacting support.") former_user_check = forms.BooleanField(required=True, help_text=former_user_check_info) - former_user_check.label = _("I certifie that I have not had an account before") + former_user_check.label = _("I certify that I have not had an account before") # Checkbox for GTU gtu_check = forms.BooleanField(required=True) @@ -439,7 +439,7 @@ class ClubForm(FormRevMixin, FieldPermissionFormMixin, ModelForm): self.fields['surname'].label = _("Name") self.fields['school'].label = _("School") self.fields['comment'].label = _("Comment") - self.fields['email'].label = _("Email Address") + self.fields['email'].label = _("Email address") if 'room' in self.fields: self.fields['room'].label = _("Room") self.fields['room'].empty_label = _("No room") diff --git a/users/locale/fr/LC_MESSAGES/django.po b/users/locale/fr/LC_MESSAGES/django.po index 7db3099a..965a1a8a 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: 2018-10-03 02:50+0200\n" +"POT-Creation-Date: 2019-01-09 00:27+0100\n" "PO-Revision-Date: 2018-06-27 23:35+0200\n" "Last-Translator: Laouen Fernet \n" "Language-Team: \n" @@ -35,116 +35,117 @@ msgstr "" msgid "You don't have the right to view this application." msgstr "Vous n'avez pas le droit de voir cette application." -#: forms.py:75 +#: forms.py:76 msgid "Current password" msgstr "Mot de passe actuel" -#: forms.py:80 forms.py:492 +#: forms.py:81 forms.py:507 forms.py:534 msgid "New password" msgstr "Nouveau mot de passe" -#: forms.py:86 +#: forms.py:87 msgid "New password confirmation" msgstr "Confirmation du nouveau mot de passe" -#: forms.py:103 +#: forms.py:104 msgid "The new passwords don't match." msgstr "Les nouveaux mots de passe ne correspondent pas." -#: forms.py:112 +#: forms.py:113 msgid "The current password is incorrect." msgstr "Le mot de passe actuel est incorrect." -#: forms.py:130 forms.py:183 models.py:1580 +#: forms.py:132 forms.py:185 models.py:1597 msgid "Password" msgstr "Mot de passe" -#: forms.py:136 forms.py:189 +#: forms.py:138 forms.py:191 msgid "Password confirmation" msgstr "Confirmation du mot de passe" -#: forms.py:141 forms.py:232 +#: forms.py:143 forms.py:234 msgid "Is admin" msgstr "Est admin" -#: forms.py:151 +#: forms.py:153 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." -#: forms.py:164 forms.py:213 +#: forms.py:166 forms.py:215 msgid "The passwords don't match." msgstr "Les mots de passe ne correspondent pas." -#: forms.py:241 +#: forms.py:243 #, python-format msgid "User is admin: %s" msgstr "L'utilisateur est admin : %s" -#: forms.py:289 templates/users/aff_clubs.html:38 +#: forms.py:291 templates/users/aff_clubs.html:38 #: templates/users/aff_listright.html:63 templates/users/aff_listright.html:168 -#: templates/users/aff_users.html:39 templates/users/profil.html:169 -#: templates/users/profil.html:286 templates/users/profil.html:305 +#: templates/users/aff_users.html:39 templates/users/profil.html:177 +#: templates/users/profil.html:331 templates/users/profil.html:350 msgid "Username" msgstr "Pseudo" -#: forms.py:304 +#: forms.py:306 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." -#: forms.py:316 templates/users/profil.html:285 templates/users/profil.html:304 +#: forms.py:318 templates/users/profil.html:166 templates/users/profil.html:330 +#: templates/users/profil.html:349 msgid "First name" msgstr "Prénom" -#: forms.py:317 templates/users/aff_users.html:37 -#: templates/users/profil.html:165 templates/users/profil.html:284 -#: templates/users/profil.html:303 +#: forms.py:319 templates/users/aff_users.html:37 +#: templates/users/profil.html:172 templates/users/profil.html:329 +#: templates/users/profil.html:348 msgid "Surname" msgstr "Nom" -#: forms.py:318 models.py:1581 templates/users/aff_emailaddress.html:36 -#: templates/users/profil.html:171 +#: forms.py:320 forms.py:442 models.py:1598 +#: templates/users/aff_emailaddress.html:36 templates/users/profil.html:182 msgid "Email address" msgstr "Adresse mail" -#: forms.py:319 forms.py:430 forms.py:561 templates/users/aff_schools.html:37 -#: templates/users/profil.html:181 +#: forms.py:321 forms.py:440 forms.py:590 templates/users/aff_schools.html:37 +#: templates/users/profil.html:200 msgid "School" msgstr "Établissement" -#: forms.py:320 forms.py:431 models.py:1234 -#: templates/users/aff_serviceusers.html:34 templates/users/profil.html:183 +#: forms.py:322 forms.py:441 models.py:1251 +#: templates/users/aff_serviceusers.html:34 templates/users/profil.html:205 msgid "Comment" msgstr "Commentaire" -#: forms.py:322 forms.py:433 templates/users/aff_clubs.html:40 -#: templates/users/aff_users.html:41 templates/users/profil.html:175 +#: forms.py:324 forms.py:444 templates/users/aff_clubs.html:40 +#: templates/users/aff_users.html:41 templates/users/profil.html:187 msgid "Room" msgstr "Chambre" -#: forms.py:323 forms.py:434 +#: forms.py:325 forms.py:445 msgid "No room" msgstr "Pas de chambre" -#: forms.py:324 forms.py:435 +#: forms.py:326 forms.py:446 msgid "Select a school" msgstr "Sélectionnez un établissement" -#: forms.py:331 forms.py:701 -msgid "You can't use a {} address." -msgstr "Vous ne pouvez pas utiliser une adresse {}." - -#: forms.py:354 forms.py:456 -msgid "A valid telephone number is required." -msgstr "Un numéro de téléphone valide est requis." - -#: forms.py:359 +#: forms.py:342 msgid "Force the move?" msgstr "Forcer le déménagement ?" -#: forms.py:377 +#: forms.py:352 forms.py:730 +msgid "You can't use a {} address." +msgstr "Vous ne pouvez pas utiliser une adresse {}." + +#: forms.py:361 forms.py:470 +msgid "A valid telephone number is required." +msgstr "Un numéro de téléphone valide est requis." + +#: forms.py:379 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 " @@ -155,207 +156,218 @@ msgstr "" "passe oublié est à votre disposition. Si vous avez oublié votre login, " "contactez le support." -#: forms.py:382 -msgid "I certifie that I have not had an account before" +#: forms.py:384 +msgid "I certify that I have not had an account before" msgstr "Je certifie sur l'honneur ne pas déjà avoir de compte" -#: forms.py:387 -msgid "I commit to accept the" -msgstr "J'accepte les conditions générales" - -#: forms.py:387 -msgid "General Terms of Use" -msgstr "Conditions Générales d'Utilisation" - -#: forms.py:387 -msgid "." -msgstr "." - -#: forms.py:397 +#: forms.py:413 msgid "Leave empty if you don't have any GPG key." msgstr "Laissez vide si vous n'avez pas de clé GPG." -#: forms.py:399 +#: forms.py:415 msgid "Default shell" -msgstr "Interface système par défaut" +msgstr "Interface en ligne de commande par défaut" -#: forms.py:429 templates/users/aff_clubs.html:36 +#: forms.py:439 templates/users/aff_clubs.html:36 #: templates/users/aff_serviceusers.html:32 msgid "Name" msgstr "Nom" -#: forms.py:436 +#: forms.py:447 msgid "Use a mailing list" msgstr "Utiliser une liste de diffusion" -#: forms.py:549 templates/users/aff_listright.html:38 +#: forms.py:578 templates/users/aff_listright.html:38 msgid "Superuser" msgstr "Superutilisateur" -#: forms.py:573 +#: forms.py:602 msgid "Shell name" -msgstr "Nom de l'interface système" +msgstr "Nom de l'interface en ligne de commande" -#: forms.py:592 +#: forms.py:621 msgid "Name of the group of rights" msgstr "Nom du groupe de droits" -#: forms.py:603 +#: forms.py:632 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." -#: forms.py:611 +#: forms.py:640 msgid "Current groups of rights" msgstr "Groupes de droits actuels" -#: forms.py:628 +#: forms.py:657 msgid "Current schools" msgstr "Établissements actuels" -#: forms.py:646 forms.py:660 templates/users/aff_bans.html:41 +#: forms.py:675 forms.py:689 templates/users/aff_bans.html:41 #: templates/users/aff_whitelists.html:41 msgid "End date" msgstr "Date de fin" -#: forms.py:674 models.py:1778 +#: forms.py:703 models.py:1795 msgid "Local part of the email address" msgstr "Partie locale de l'adresse mail" -#: forms.py:675 +#: forms.py:704 msgid "Can't contain @" msgstr "Ne peut pas contenir @" -#: forms.py:690 +#: forms.py:719 msgid "Main email address" msgstr "Adresse mail principale" -#: forms.py:692 +#: forms.py:721 msgid "Redirect local emails" msgstr "Rediriger les mails locaux" -#: forms.py:694 +#: forms.py:723 msgid "Use local emails" msgstr "Utiliser les mails locaux" -#: forms.py:734 +#: forms.py:763 msgid "This room is my room" msgstr "Il s'agit bien de ma chambre" -#: forms.py:738 +#: forms.py:767 msgid "This new connected device is mine" msgstr "Ce nouvel appareil connecté m'appartient" -#: models.py:105 +#: models.py:106 #, python-format msgid "The username '%(label)s' contains forbidden characters." msgstr "Le pseudo '%(label)s' contient des caractères interdits." -#: models.py:147 +#: models.py:148 msgid "Users must have an username." msgstr "Les utilisateurs doivent avoir un pseudo." -#: models.py:150 +#: models.py:151 msgid "Username should only contain [a-z0-9-]." msgstr "Le pseudo devrait seulement contenir [a-z0-9-]" -#: models.py:201 models.py:1225 +#: models.py:192 templates/users/aff_clubs.html:55 +#: templates/users/aff_users.html:57 templates/users/profil.html:249 +msgid "Active" +msgstr "Actif" + +#: models.py:193 templates/users/aff_clubs.html:57 +#: templates/users/aff_users.html:59 templates/users/profil.html:251 +#: templates/users/profil.html:265 +msgid "Disabled" +msgstr "Désactivé" + +#: models.py:194 templates/users/profil.html:253 +msgid "Archived" +msgstr "Archivé" + +#: models.py:195 +msgid "Not yet active" +msgstr "Pas encore adhéré" + +#: models.py:202 models.py:1242 msgid "Must only contain letters, numerals or dashes." msgstr "Doit seulement contenir des lettres, chiffres ou tirets." -#: models.py:207 +#: models.py:208 msgid "External email address allowing us to contact you." msgstr "Adresse mail externe nous permettant de vous contacter." -#: models.py:211 +#: models.py:212 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." -#: models.py:216 +#: models.py:217 msgid "Enable the local email account." msgstr "Activer le compte mail local" -#: models.py:231 +#: models.py:232 msgid "Comment, school year" msgstr "Commentaire, promotion" -#: models.py:257 +#: models.py:258 msgid "Can change the password of a user" msgstr "Peut changer le mot de passe d'un utilisateur" -#: models.py:258 +#: models.py:259 msgid "Can edit the state of a user" msgstr "Peut changer l'état d'un utilisateur" -#: models.py:259 +#: models.py:260 msgid "Can force the move" msgstr "Peut forcer le déménagement" -#: models.py:260 +#: models.py:261 msgid "Can edit the shell of a user" -msgstr "Peut modifier l'interface système d'un utilisateur" +msgstr "Peut modifier l'interface en ligne de commande d'un utilisateur" -#: models.py:262 +#: models.py:263 msgid "Can edit the groups of rights of a user (critical permission)" msgstr "" "Peut modifier les groupes de droits d'un utilisateur (permission critique)" -#: models.py:265 +#: models.py:266 msgid "Can edit all users, including those with rights." msgstr "" "Peut modifier tous les utilisateurs, y compris ceux possédant des droits." -#: models.py:267 +#: models.py:268 msgid "Can view a user object" msgstr "Peut voir un objet utilisateur" -#: models.py:269 +#: models.py:270 msgid "user (member or club)" msgstr "utilisateur (adhérent ou club)" -#: models.py:270 +#: models.py:271 msgid "users (members or clubs)" msgstr "utilisateurs (adhérents ou clubs)" -#: models.py:288 models.py:312 +#: models.py:289 models.py:313 msgid "Unknown type." msgstr "Type inconnu." -#: models.py:308 templates/users/aff_listright.html:75 +#: models.py:309 templates/users/aff_listright.html:75 #: templates/users/aff_listright.html:180 msgid "Member" msgstr "Adhérent" -#: models.py:310 +#: models.py:311 msgid "Club" msgstr "Club" -#: models.py:534 +#: models.py:536 msgid "IPv4 assigning" msgstr "Attribution de l'IPv4" -#: models.py:543 +#: models.py:545 msgid "IPv4 unassigning" msgstr "Désattribution de l'IPv4" -#: models.py:693 +#: models.py:701 msgid "Maximum number of registered machines reached." msgstr "Nombre maximum de machines enregistrées atteint." -#: models.py:695 +#: models.py:703 msgid "Re2o doesn't know wich machine type to assign." msgstr "Re2o ne sait pas quel type de machine attribuer." -#: models.py:791 models.py:828 +#: models.py:726 templates/users/user_autocapture.html:64 +msgid "OK" +msgstr "OK" + +#: models.py:799 models.py:836 msgid "You don't have the right to edit this club." msgstr "Vous n'avez pas le droit de modifier ce club." -#: models.py:799 +#: models.py:807 msgid "User with critical rights, can't be edited." msgstr "Utilisateur avec des droits critiques, ne peut être modifié." -#: models.py:802 +#: models.py:810 msgid "" "Impossible to edit the organisation's user without the 'change_all_users' " "right." @@ -363,52 +375,60 @@ msgstr "" "Impossible de modifier l'utilisateur de l'association sans le droit " "'change_all_users'." -#: models.py:810 models.py:839 +#: models.py:818 models.py:847 msgid "You don't have the right to edit another user." msgstr "Vous n'avez pas le droit de modifier un autre utilisateur." -#: models.py:858 models.py:871 +#: models.py:865 +msgid "Permission required to change the room." +msgstr "Permission requise pour changer la chambre." + +#: models.py:879 msgid "Permission required to change the state." msgstr "Permission requise pour changer l'état." -#: models.py:883 +#: models.py:891 msgid "Permission required to change the shell." -msgstr "Permission requise pour changer l'interface système." +msgstr "Permission requise pour changer l'interface en ligne de commande." -#: models.py:897 models.py:910 +#: models.py:905 models.py:918 msgid "Local email accounts must be enabled." msgstr "Les comptes mail locaux doivent être activés." -#: models.py:923 +#: models.py:931 msgid "Permission required to force the move." msgstr "Permission requise pour forcer le déménagement." -#: models.py:936 +#: models.py:944 msgid "Permission required to edit the user's groups of rights." msgstr "" "Permission requise pour modifier les groupes de droits de l'utilisateur." -#: models.py:948 +#: models.py:956 msgid "'superuser' right required to edit the superuser flag." msgstr "Droit 'superuser' requis pour modifier le signalement superuser." -#: models.py:966 +#: models.py:974 msgid "You don't have the right to view this club." msgstr "Vous n'avez pas le droit de voir ce club." -#: models.py:972 +#: models.py:980 msgid "You don't have the right to view another user." msgstr "Vous n'avez pas le droit de voir un autre utilisateur." -#: models.py:985 models.py:1157 +#: models.py:993 models.py:1174 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." -#: models.py:998 +#: models.py:1006 msgid "You don't have the right to delete this user." msgstr "Vous n'avez pas le droit de supprimer cet utilisateur." -#: models.py:1023 +#: models.py:1027 +msgid "This username is already used." +msgstr "Ce pseudo est déjà utilisé." + +#: models.py:1029 msgid "" "There is neither a local email address nor an external email address for " "this user." @@ -416,7 +436,7 @@ msgstr "" "Il n'y a pas d'adresse mail locale ni d'adresse mail externe pour cet " "utilisateur." -#: models.py:1030 +#: models.py:1033 msgid "" "You can't redirect your local emails if no external email address has been " "set." @@ -424,178 +444,178 @@ msgstr "" "Vous ne pouvez pas rediriger vos mails locaux si aucune adresse mail externe " "n'a été définie." -#: models.py:1055 -msgid "A GPG fingerprint must contain 40 hexadecimal characters." -msgstr "Une empreinte GPG doit contenir 40 caractères hexadécimaux." - -#: models.py:1061 +#: models.py:1059 msgid "member" msgstr "adhérent" -#: models.py:1062 +#: models.py:1060 msgid "members" msgstr "adhérents" -#: models.py:1091 +#: models.py:1071 +msgid "A GPG fingerprint must contain 40 hexadecimal characters" +msgstr "Une empreinte GPG doit contenir 40 caractères hexadécimaux" + +#: models.py:1101 msgid "You don't have the right to create a user." msgstr "Vous n'avez pas le droit de créer un utilisateur." -#: models.py:1120 +#: models.py:1137 msgid "club" msgstr "club" -#: models.py:1121 +#: models.py:1138 msgid "clubs" msgstr "clubs" -#: models.py:1139 +#: models.py:1156 msgid "You don't have the right to create a club." msgstr "Vous n'avez pas le droit de créer un club." -#: models.py:1244 +#: models.py:1261 msgid "Can view a service user object" msgstr "Peut voir un objet utilisateur service" -#: models.py:1246 +#: models.py:1263 msgid "service user" msgstr "utilisateur service" -#: models.py:1247 +#: models.py:1264 msgid "service users" msgstr "utilisateurs service" -#: models.py:1251 +#: models.py:1268 #, python-brace-format msgid "Service user <{name}>" msgstr "Utilisateur service <{name}>" -#: models.py:1313 +#: models.py:1330 msgid "Can view a school object" msgstr "Peut voir un objet établissement" -#: models.py:1315 +#: models.py:1332 msgid "school" msgstr "établissement" -#: models.py:1316 +#: models.py:1333 msgid "schools" msgstr "établissements" -#: models.py:1334 +#: models.py:1351 msgid "UNIX groups can only contain lower case letters." msgstr "Les groupes UNIX peuvent seulement contenir des lettres minuscules." -#: models.py:1340 +#: models.py:1357 msgid "Description" msgstr "Description" -#: models.py:1347 +#: models.py:1364 msgid "Can view a group of rights object" msgstr "Peut voir un objet groupe de droits" -#: models.py:1349 +#: models.py:1366 msgid "group of rights" msgstr "groupe de droits" -#: models.py:1350 +#: models.py:1367 msgid "groups of rights" msgstr "groupes de droits" -#: models.py:1397 +#: models.py:1414 msgid "Can view a shell object" -msgstr "Peut voir un objet interface système" +msgstr "Peut voir un objet interface en ligne de commande" -#: models.py:1399 +#: models.py:1416 msgid "shell" -msgstr "interface système" +msgstr "interface en ligne de commande" -#: models.py:1400 +#: models.py:1417 msgid "shells" -msgstr "interfaces système" +msgstr "interfaces en ligne de commande" -#: models.py:1419 +#: models.py:1436 msgid "HARD (no access)" msgstr "HARD (pas d'accès)" -#: models.py:1420 +#: models.py:1437 msgid "SOFT (local access only)" msgstr "SOFT (accès local uniquement)" -#: models.py:1421 +#: models.py:1438 msgid "RESTRICTED (speed limitation)" msgstr "RESTRICTED (limitation de vitesse)" -#: models.py:1432 +#: models.py:1449 msgid "Can view a ban object" msgstr "Peut voir un objet bannissement" -#: models.py:1434 +#: models.py:1451 msgid "ban" msgstr "bannissement" -#: models.py:1435 +#: models.py:1452 msgid "bans" msgstr "bannissements" -#: models.py:1469 +#: models.py:1486 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." -#: models.py:1517 +#: models.py:1534 msgid "Can view a whitelist object" msgstr "Peut voir un objet accès gracieux" -#: models.py:1519 +#: models.py:1536 msgid "whitelist (free of charge access)" msgstr "Accès gracieux" -#: models.py:1520 +#: models.py:1537 msgid "whitelists (free of charge access)" msgstr "Accès gracieux" -#: models.py:1536 +#: models.py:1553 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." -#: models.py:1773 +#: models.py:1790 msgid "User of the local email account" msgstr "Utilisateur du compte mail local" -#: models.py:1783 +#: models.py:1800 msgid "Can view a local email account object" msgstr "Peut voir un objet compte mail local" -#: models.py:1785 +#: models.py:1802 msgid "local email account" msgstr "compte mail local" -#: models.py:1786 +#: models.py:1803 msgid "local email accounts" msgstr "comptes mail locaux" -#: models.py:1810 models.py:1833 models.py:1855 models.py:1877 +#: models.py:1827 models.py:1850 models.py:1872 models.py:1894 msgid "The local email accounts are not enabled." msgstr "Les comptes mail locaux ne sont pas activés." -#: models.py:1812 +#: models.py:1829 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." -#: models.py:1815 +#: models.py:1832 msgid "You reached the limit of {} local email accounts." msgstr "Vous avez atteint la limite de {} comptes mail locaux." -#: models.py:1836 models.py:1880 +#: models.py:1853 models.py:1897 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." -#: models.py:1850 +#: models.py:1867 msgid "" "You can't delete a local email account whose local part is the same as the " "username." @@ -603,13 +623,13 @@ msgstr "" "Vous ne pouvez pas supprimer un compte mail local dont la partie locale est " "la même que le pseudo." -#: models.py:1858 +#: models.py:1875 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." -#: models.py:1872 +#: models.py:1889 msgid "" "You can't edit a local email account whose local part is the same as the " "username." @@ -617,9 +637,9 @@ msgstr "" "Vous ne pouvez pas modifier un compte mail local dont la partie locale est " "la même que le pseudo." -#: models.py:1886 -msgid "The local part must not contain @." -msgstr "La partie locale ne doit pas contenir @." +#: models.py:1903 +msgid "The local part must not contain @ or +." +msgstr "La partie locale ne doit pas contenir @ ou +." #: templates/users/aff_bans.html:36 templates/users/aff_whitelists.html:36 msgid "User" @@ -638,43 +658,38 @@ msgid "End of subscription on" msgstr "Fin de cotisation le" #: templates/users/aff_clubs.html:43 templates/users/aff_users.html:44 -#: templates/users/profil.html:225 +#: templates/users/profil.html:260 msgid "Internet access" msgstr "Accès Internet" #: templates/users/aff_clubs.html:44 templates/users/aff_users.html:45 -#: templates/users/profil.html:32 +#: templates/users/profil.html:31 msgid "Profile" msgstr "Profil" #: templates/users/aff_clubs.html:53 templates/users/aff_users.html:54 -#: templates/users/profil.html:197 +#: templates/users/profil.html:224 msgid "Not a member" msgstr "Non adhérent" -#: templates/users/aff_clubs.html:55 templates/users/aff_users.html:57 -#: templates/users/profil.html:214 -msgid "Active" -msgstr "Actif" - -#: templates/users/aff_clubs.html:57 templates/users/aff_users.html:59 -#: templates/users/profil.html:216 templates/users/profil.html:229 -msgid "Disabled" -msgstr "Désactivé" - #: templates/users/aff_listright.html:40 msgid "Django's specific pre-defined right that supersed any other rights." msgstr "" "Droit prédéfini spécifique à Django qui outrepasse tous les autres droits." #: templates/users/aff_listright.html:44 -msgid "Total: All permissions" -msgstr "Total: Toutes les permissions" +msgid "Total: all permissions" +msgstr "Total: toutes les permissions" -#: templates/users/aff_listright.html:56 +#: templates/users/aff_listright.html:49 templates/users/aff_listright.html:56 msgid "Users in Superuser" msgstr "Utilisateurs dans Superuser" +#: templates/users/aff_listright.html:53 templates/users/aff_listright.html:154 +#: widgets.py:35 +msgid "Close" +msgstr "Fermer" + #: templates/users/aff_listright.html:64 templates/users/aff_listright.html:169 msgid "Membership" msgstr "Adhésion" @@ -693,7 +708,7 @@ msgstr "Dernière action" #: templates/users/aff_listright.html:77 templates/users/aff_listright.html:182 msgid "No membership records" -msgstr "Aucune adhésion" +msgstr "Aucune adhésion enregistrée" #: templates/users/aff_listright.html:80 templates/users/aff_listright.html:185 #, python-format @@ -716,6 +731,19 @@ msgid_plural "Total: %(perm_count)s permissions" msgstr[0] "Total: %(perm_count)s permission" msgstr[1] "Total: %(perm_count)s permissions" +#: templates/users/aff_listright.html:150 templates/users/index.html:29 +#: templates/users/index.html:32 templates/users/index_ban.html:29 +#: templates/users/index_clubs.html:29 +#: templates/users/index_emailaddress.html:29 +#: templates/users/index_listright.html:30 templates/users/index_rights.html:29 +#: templates/users/index_schools.html:30 +#: templates/users/index_serviceusers.html:30 +#: templates/users/index_shell.html:30 templates/users/index_whitelist.html:29 +#: templates/users/plugin_out.html:31 templates/users/sidebar.html:52 +#: templates/users/user.html:30 templates/users/user_autocapture.html:30 +msgid "Users" +msgstr "Utilisateurs" + #: templates/users/aff_listright.html:158 #, python-format msgid "Users in %(right_name)s" @@ -725,17 +753,17 @@ msgstr "Utilisateurs dans %(right_name)s" msgid "Role" msgstr "Rôle" -#: templates/users/aff_shell.html:32 templates/users/profil.html:255 +#: templates/users/aff_shell.html:32 templates/users/profil.html:301 msgid "Shell" -msgstr "Interface système" +msgstr "Interface en ligne de commande" -#: templates/users/aff_users.html:35 templates/users/profil.html:162 +#: templates/users/aff_users.html:35 msgid "Firt name" msgstr "Prénom" #: templates/users/delete.html:29 -msgid "Deletion of objects" -msgstr "Suppression d'objets" +msgid "Deletion of users" +msgstr "Suppression d'utilisateurs" #: templates/users/delete.html:35 #, python-format @@ -750,19 +778,7 @@ msgstr "" msgid "Confirm" msgstr "Confirmer" -#: templates/users/index.html:29 templates/users/index.html:32 -#: templates/users/index_ban.html:29 templates/users/index_clubs.html:29 -#: templates/users/index_emailaddress.html:29 -#: templates/users/index_listright.html:30 templates/users/index_rights.html:29 -#: templates/users/index_schools.html:30 -#: templates/users/index_serviceusers.html:30 -#: templates/users/index_shell.html:30 templates/users/index_whitelist.html:29 -#: templates/users/plugin_out.html:31 templates/users/sidebar.html:52 -#: templates/users/user.html:30 templates/users/user_autocapture.html:30 -msgid "Users" -msgstr "Utilisateurs" - -#: templates/users/index_ban.html:32 templates/users/profil.html:380 +#: templates/users/index_ban.html:32 templates/users/profil.html:427 #: templates/users/sidebar.html:58 msgid "Bans" msgstr "Bannissements" @@ -796,8 +812,8 @@ msgid "List of schools" msgstr "Liste des établissements" #: templates/users/index_schools.html:34 -msgid "List of schools for created users." -msgstr "Liste des établissement pour les utilisateurs créés." +msgid "List of schools for created users" +msgstr "Liste des établissements pour les utilisateurs créés" #: templates/users/index_schools.html:36 msgid " Add a school" @@ -827,13 +843,13 @@ msgstr " Ajouter un utilisateur" #: templates/users/index_shell.html:33 msgid "List of shells" -msgstr "Liste des interaces système" +msgstr "Liste des interfaces en ligne de commande" #: templates/users/index_shell.html:35 msgid " Add a shell" -msgstr " Ajouter une interface système" +msgstr " Ajouter une interface en ligne de commande" -#: templates/users/index_whitelist.html:32 templates/users/profil.html:405 +#: templates/users/index_whitelist.html:32 templates/users/profil.html:452 #: templates/users/sidebar.html:64 msgid "Whitelists" msgstr "Accès gracieux" @@ -850,7 +866,7 @@ msgstr "Rechercher" #, python-format msgid "The following users will be archived (%(to_archive_list|length)s):" msgstr "" -"Les utilisateus suivants vont être archivés (%(to_archive_list|length)s :" +"Les utilisateus suivants vont être archivés (%(to_archive_list|length)s) :" #: templates/users/plugin_out.html:35 msgid "" @@ -861,44 +877,44 @@ msgstr "" "débrancher et rebrancher votre câble Ethernet pour bénéficier d'une " "connexion filaire." -#: templates/users/profil.html:37 +#: templates/users/profil.html:36 #, python-format msgid "Welcome %(name)s %(surname)s" msgstr "Bienvenue %(name)s %(surname)s" -#: templates/users/profil.html:39 +#: templates/users/profil.html:38 #, python-format msgid "Profile of %(name)s %(surname)s" msgstr "Profil de %(name)s %(surname)s" -#: templates/users/profil.html:47 +#: templates/users/profil.html:46 msgid "Your account has been banned" msgstr "Votre compte a été banni" -#: templates/users/profil.html:49 +#: templates/users/profil.html:48 #, python-format -msgid "End of the ban: %(end_ban)s" -msgstr "Fin du bannissement : %(end_ban)s" +msgid "End of the ban: %(end_ban_date)s" +msgstr "Fin du bannissement : %(end_ban_date)s" -#: templates/users/profil.html:54 +#: templates/users/profil.html:53 msgid "No connection" msgstr "Pas de connexion" -#: templates/users/profil.html:58 +#: templates/users/profil.html:57 msgid "Pay for a connection" msgstr "Payer une connexion" -#: templates/users/profil.html:61 +#: templates/users/profil.html:60 msgid "Ask for someone with the appropriate rights to pay for a connection." msgstr "" "Demandez à quelqu'un ayant les droits appropriés de payer une connexion." -#: templates/users/profil.html:67 +#: templates/users/profil.html:66 #, python-format -msgid "Connection (until %(end_connection)s )" -msgstr "Connexion (jusqu'au %(end_connection)s)" +msgid "Connection (until %(end_connection_date)s )" +msgstr "Connexion (jusqu'au %(end_connection_date)s)" -#: templates/users/profil.html:71 +#: templates/users/profil.html:70 msgid "Extend the connection period" msgstr "Étendre la durée de connexion" @@ -906,190 +922,184 @@ msgstr "Étendre la durée de connexion" msgid "Refill the balance" msgstr "Recharger le solde" -#: templates/users/profil.html:96 +#: templates/users/profil.html:97 msgid " Machines" msgstr " Machines" -#: templates/users/profil.html:100 templates/users/profil.html:109 +#: templates/users/profil.html:101 templates/users/profil.html:113 msgid " Add a machine" msgstr " Ajouter une machine" -#: templates/users/profil.html:106 templates/users/profil.html:340 +#: templates/users/profil.html:109 templates/users/profil.html:386 msgid "No machine" msgstr "Pas de machine" -#: templates/users/profil.html:122 +#: templates/users/profil.html:127 msgid " Detailed information" msgstr " Informations détaillées" -#: templates/users/profil.html:129 +#: templates/users/profil.html:134 msgid "Edit" msgstr "Modifier" -#: templates/users/profil.html:133 views.py:284 views.py:1081 +#: templates/users/profil.html:138 views.py:286 views.py:1084 msgid "Change the password" msgstr "Changer le mot de passe" -#: templates/users/profil.html:138 +#: templates/users/profil.html:143 msgid "Change the state" msgstr "Changer l'état" -#: templates/users/profil.html:144 views.py:262 +#: templates/users/profil.html:149 views.py:264 msgid "Edit the groups" msgstr "Modifier les groupes" -#: templates/users/profil.html:155 +#: templates/users/profil.html:159 msgid "Mailing" msgstr "Envoi de mails" -#: templates/users/profil.html:159 +#: templates/users/profil.html:163 msgid "Mailing disabled" msgstr "Envoi de mails désactivé" -#: templates/users/profil.html:177 +#: templates/users/profil.html:195 msgid "Telephone number" msgstr "Numéro de téléphone" -#: templates/users/profil.html:187 +#: templates/users/profil.html:210 msgid "Registration date" msgstr "Date d'inscription" -#: templates/users/profil.html:189 +#: templates/users/profil.html:215 msgid "Last login" msgstr "Dernière connexion" -#: templates/users/profil.html:193 +#: templates/users/profil.html:220 msgid "End of membership" msgstr "Fin d'adhésion" -#: templates/users/profil.html:199 +#: templates/users/profil.html:229 msgid "Whitelist" msgstr "Accès gracieux" -#: templates/users/profil.html:203 templates/users/profil.html:235 +#: templates/users/profil.html:233 templates/users/profil.html:274 msgid "None" msgstr "Aucun" -#: templates/users/profil.html:206 +#: templates/users/profil.html:238 msgid "Ban" msgstr "Bannissement" -#: templates/users/profil.html:210 +#: templates/users/profil.html:242 msgid "Not banned" msgstr "Non banni" -#: templates/users/profil.html:212 +#: templates/users/profil.html:247 msgid "State" msgstr "État" -#: templates/users/profil.html:218 -msgid "Archived" -msgstr "Archivé" +#: templates/users/profil.html:255 +msgid "Not yet member" +msgstr "Pas encore adhérent" -#: templates/users/profil.html:220 -#, fuzzy -#| msgid "Not a member" -msgid "Not yet Member" -msgstr "Non adhérent" - -#: templates/users/profil.html:227 +#: templates/users/profil.html:263 #, python-format msgid "Active (until %(end_access)s)" msgstr "Actif (jusqu'au %(end_access)s)" -#: templates/users/profil.html:231 templates/users/sidebar.html:82 +#: templates/users/profil.html:270 templates/users/sidebar.html:82 msgid "Groups of rights" msgstr "Groupes de droits" -#: templates/users/profil.html:239 +#: templates/users/profil.html:279 msgid "Balance" msgstr "Solde" -#: templates/users/profil.html:244 +#: templates/users/profil.html:286 msgid "Refill" msgstr "Recharger" -#: templates/users/profil.html:249 +#: templates/users/profil.html:294 msgid "GPG fingerprint" msgstr "Empreinte GPG" -#: templates/users/profil.html:268 +#: templates/users/profil.html:313 msgid " Manage the club" msgstr " Gérer le club" -#: templates/users/profil.html:275 +#: templates/users/profil.html:320 msgid "Manage the admins and members" msgstr "Gérer les admins et les membres" -#: templates/users/profil.html:279 +#: templates/users/profil.html:324 msgid "Club admins" msgstr "Admins du clubs" -#: templates/users/profil.html:298 +#: templates/users/profil.html:343 msgid "Members" msgstr "Adhérents" -#: templates/users/profil.html:325 +#: templates/users/profil.html:371 msgid "Machines" msgstr "Machines" -#: templates/users/profil.html:333 +#: templates/users/profil.html:379 msgid "Add a machine" msgstr "Ajouter une machine" -#: templates/users/profil.html:349 +#: templates/users/profil.html:396 msgid "Subscriptions" msgstr "Cotisations" -#: templates/users/profil.html:357 -msgid "Add as subscription" +#: templates/users/profil.html:404 +msgid "Add a subscription" msgstr "Ajouter une cotisation" -#: templates/users/profil.html:362 +#: templates/users/profil.html:409 msgid "Edit the balance" msgstr "Modifier le solde" -#: templates/users/profil.html:371 +#: templates/users/profil.html:418 msgid "No invoice" msgstr "Pas de facture" -#: templates/users/profil.html:388 views.py:386 +#: templates/users/profil.html:435 views.py:388 msgid "Add a ban" msgstr "Ajouter un bannissement" -#: templates/users/profil.html:396 +#: templates/users/profil.html:443 msgid "No ban" msgstr "Pas de bannissement" -#: templates/users/profil.html:413 +#: templates/users/profil.html:460 msgid "Grant a whitelist" msgstr "Donner un accès gracieux" -#: templates/users/profil.html:421 +#: templates/users/profil.html:468 msgid "No whitelist" msgstr "Pas d'accès gracieux" -#: templates/users/profil.html:429 +#: templates/users/profil.html:476 msgid " Email settings" msgstr " Paramètres mail" -#: templates/users/profil.html:436 +#: templates/users/profil.html:483 msgid " Edit email settings" msgstr " Modifier les paramètres mail" -#: templates/users/profil.html:445 templates/users/profil.html:471 +#: templates/users/profil.html:492 templates/users/profil.html:518 msgid "Contact email address" msgstr "Adresse mail de contact" -#: templates/users/profil.html:449 +#: templates/users/profil.html:496 msgid "Enable the local email account" msgstr "Activer le compte mail local" -#: templates/users/profil.html:451 +#: templates/users/profil.html:498 msgid "Enable the local email redirection" msgstr "Activer la redirection mail locale" -#: templates/users/profil.html:455 +#: templates/users/profil.html:502 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, " @@ -1101,7 +1111,7 @@ msgstr "" "cela, vous pouvez soit désactiver votre adresse mail locale soit activer la " "redirection des mails locaux." -#: templates/users/profil.html:460 +#: templates/users/profil.html:507 msgid " Add an email address" msgstr " Ajouter une adresse mail" @@ -1110,10 +1120,8 @@ msgid "Create a club or organisation" msgstr "Créer un club ou une association" #: templates/users/sidebar.html:39 -#, fuzzy -#| msgid "Create a club" msgid "Create a user" -msgstr "Créer un club" +msgstr "Créer un utilisateur" #: templates/users/sidebar.html:46 msgid "Clubs and organisations" @@ -1125,7 +1133,7 @@ msgstr "Établissements" #: templates/users/sidebar.html:76 msgid "Shells" -msgstr "Interfaces système" +msgstr "Interfaces en ligne de commande" #: templates/users/sidebar.html:88 msgid "Service users" @@ -1144,298 +1152,298 @@ msgid "Device and room register form" msgstr "Enregistrement de votre chambre et machine fixe" #: templates/users/user_autocapture.html:44 -msgid "Connected from :" -msgstr "Connecté depuis" +msgid "Connected from:" +msgstr "Connecté depuis :" #: templates/users/user_autocapture.html:46 -#, fuzzy -msgid "Room " -msgstr "Chambre" +#, python-format +msgid "Room %(room)s" +msgstr "Chambre %(room)s" #: templates/users/user_autocapture.html:47 -msgid "Port " -msgstr "Port " +#, python-format +msgid "Port %(port)s" +msgstr "Port %(port)s" #: templates/users/user_autocapture.html:54 -msgid "Connected with device :" -msgstr "Connecté avec l'appareil suivant :" +msgid "Connected with device:" +msgstr "Connecté avec l'appareil :" #: templates/users/user_autocapture.html:56 -#, fuzzy -#| msgid "Email address" -msgid "Mac address " -msgstr "Adresse mail" +#, python-format +msgid "MAC address %(mac)s" +msgstr "Adresse MAC %(mac)s" -#: views.py:124 +#: views.py:126 #, 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é." -#: views.py:136 +#: views.py:138 msgid "Commit" msgstr "Valider" -#: views.py:153 +#: views.py:155 #, 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é." -#: views.py:160 +#: views.py:162 msgid "Create a club" msgstr "Créer un club" -#: views.py:178 +#: views.py:180 msgid "The club was edited." msgstr "Le club a été modifié." -#: views.py:187 +#: views.py:189 msgid "Edit the admins and members" msgstr "Modifier les admins et les membres" -#: views.py:215 +#: views.py:217 msgid "The user was edited." msgstr "L'utilisateur a été modifié." -#: views.py:221 +#: views.py:223 msgid "Edit the user" msgstr "Modifier l'utilisateur" -#: views.py:235 +#: views.py:237 msgid "The state was edited." msgstr "L'état a été modifié." -#: views.py:241 +#: views.py:243 msgid "Edit the state" msgstr "Modifier l'état" -#: views.py:256 +#: views.py:258 msgid "The groups were edited." msgstr "Les groupes ont été modifiés." -#: views.py:278 views.py:1078 +#: views.py:280 views.py:1081 msgid "The password was changed." msgstr "Le mot de passe a été changé." -#: views.py:296 +#: views.py:298 #, python-format msgid "%s was removed from the group." msgstr "%s a été retiré du groupe." -#: views.py:306 +#: views.py:308 #, python-format msgid "%s is no longer superuser." msgstr "%s n'est plus superutilisateur." -#: views.py:319 +#: views.py:321 msgid "The service user was created." msgstr "L'utilisateur service a été créé." -#: views.py:323 +#: views.py:325 msgid "Create a service user" msgstr "Créer un utilisateur service" -#: views.py:340 +#: views.py:342 msgid "The service user was edited." msgstr "L'utilisateur service a été modifié." -#: views.py:343 +#: views.py:345 msgid "Edit a service user" msgstr "Modifier un utilisateur service" -#: views.py:355 +#: views.py:357 msgid "The service user was deleted." msgstr "L'utilisateur service a été supprimé." -#: views.py:375 +#: views.py:377 msgid "The ban was added." msgstr "Le bannissement a été ajouté." -#: views.py:383 +#: views.py:385 msgid "Warning: this user already has an active ban." msgstr "Attention : cet utilisateur a déjà un bannissement actif." -#: views.py:402 +#: views.py:404 msgid "The ban was edited." msgstr "Le bannissement a été modifié." -#: views.py:405 +#: views.py:407 msgid "Edit a ban" msgstr "Modifier un bannissement" -#: views.py:417 +#: views.py:419 msgid "The ban was deleted." msgstr "Le bannissement a été supprimé." -#: views.py:444 +#: views.py:446 msgid "The whitelist was added." msgstr "L'accès gracieux a été ajouté." -#: views.py:452 +#: views.py:454 msgid "Warning: this user already has an active whitelist." msgstr "Attention : cet utilisateur a déjà un accès gracieux actif." -#: views.py:455 +#: views.py:457 msgid "Add a whitelist" msgstr "Ajouter un accès gracieux" -#: views.py:475 +#: views.py:477 msgid "The whitelist was edited." msgstr "L'accès gracieux a été ajouté." -#: views.py:478 +#: views.py:480 msgid "Edit a whitelist" msgstr "Modifier un accès gracieux" -#: views.py:490 +#: views.py:492 msgid "The whitelist was deleted." msgstr "L'accès gracieux a été supprimé." -#: views.py:514 +#: views.py:516 msgid "The local email account was created." msgstr "Le compte mail local a été créé." -#: views.py:522 +#: views.py:524 msgid "Add a local email account" msgstr "Ajouter un compte mail local" -#: views.py:539 +#: views.py:541 msgid "The local email account was edited." msgstr "Le compte mail local a été modifié." -#: views.py:547 +#: views.py:549 msgid "Edit a local email account" msgstr "Modifier un compte mail local" -#: views.py:559 +#: views.py:561 msgid "The local email account was deleted." msgstr "Le compte mail local a été supprimé." -#: views.py:583 +#: views.py:585 msgid "The email settings were edited." msgstr "Les paramètres mail ont été modifiés." -#: views.py:592 +#: views.py:594 msgid "Edit the email settings" msgstr "Modifier les paramètres mail" -#: views.py:606 +#: views.py:608 msgid "The school was added." msgstr "L'établissement a été ajouté." -#: views.py:609 +#: views.py:611 msgid "Add a school" msgstr "Ajouter un établissement" -#: views.py:624 +#: views.py:626 msgid "The school was edited." msgstr "L'établissement a été modifié." -#: views.py:627 +#: views.py:629 msgid "Edit a school" msgstr "Modifier un établissement" -#: views.py:646 +#: views.py:648 msgid "The school was deleted." msgstr "L'établissement a été supprimé." -#: views.py:650 +#: views.py:652 #, python-format msgid "" "The school %s is assigned to at least one user, impossible to delete it." msgstr "" -"L'établissement %s est affecté à au moins un utilisateur, impossible de le " +"L'établissement %s est assigné à au moins un utilisateur, impossible de le " "supprimer." -#: views.py:654 views.py:766 +#: views.py:656 views.py:768 msgid "Delete" msgstr "Supprimer" -#: views.py:667 +#: views.py:669 msgid "The shell was added." -msgstr "L'interface système a été ajoutée." +msgstr "L'interface en ligne de commande a été ajoutée." -#: views.py:670 +#: views.py:672 msgid "Add a shell" -msgstr "Ajouter une interface système" +msgstr "Ajouter une interface en ligne de commande" -#: views.py:684 +#: views.py:686 msgid "The shell was edited." -msgstr "L'interface système a été modifiée." +msgstr "L'interface en ligne de commande a été modifiée." -#: views.py:687 +#: views.py:689 msgid "Edit a shell" -msgstr "Modifier une interface système" +msgstr "Modifier une interface en ligne de commande" -#: views.py:699 +#: views.py:701 msgid "The shell was deleted." -msgstr "L'interface système a été supprimée." +msgstr "L'interface en ligne de commande a été supprimée." -#: views.py:716 +#: views.py:718 msgid "The group of rights was added." msgstr "Le groupe de droits a été ajouté." -#: views.py:719 +#: views.py:721 msgid "Add a group of rights" msgstr "Ajouter un groupe de droits" -#: views.py:737 +#: views.py:739 msgid "The group of rights was edited." msgstr "Le groupe de droits a été modifié." -#: views.py:740 +#: views.py:742 msgid "Edit a group of rights" msgstr "Modifier un groupe de droits" -#: views.py:757 +#: views.py:759 msgid "The group of rights was deleted." msgstr "Le groupe de droits a été supprimé." -#: views.py:762 +#: views.py:764 #, python-format msgid "" "The group of rights %s is assigned to at least one user, impossible to " "delete it." msgstr "" -"Le groupe de droits %s est affecté à au moins un utilisateur, impossible de " +"Le groupe de droits %s est assigné à au moins un utilisateur, impossible de " "le supprimer." -#: views.py:790 +#: views.py:792 msgid "Archiving" msgstr "Archivage" -#: views.py:791 +#: views.py:793 #, python-format msgid "%s users were archived." msgstr "%s utilisateurs ont été archivés." -#: views.py:1040 +#: views.py:1043 msgid "The user doesn't exist." msgstr "L'utilisateur n'existe pas." -#: views.py:1042 views.py:1050 +#: views.py:1045 views.py:1053 msgid "Reset" msgstr "Réinitialiser" -#: views.py:1047 +#: views.py:1050 msgid "An email to reset the password was sent." msgstr "Un mail pour réinitialiser le mot de passe a été envoyé." -#: views.py:1064 +#: views.py:1067 msgid "Error: please contact an admin." msgstr "Erreur : veuillez contacter un admin." -#: views.py:1076 +#: views.py:1079 msgid "Password reset" msgstr "Réinitialisation du mot de passe" -#: views.py:1093 -msgid "Incorrect URL, or already registered device" -msgstr "URL incorrect, ou appareil déjà enregistré" +#: views.py:1096 +msgid "Incorrect URL, or already registered device." +msgstr "URL incorrect, ou appareil déjà enregistré." -#: views.py:1101 +#: views.py:1104 msgid "" "Successful registration! Please disconnect and reconnect your Ethernet cable " "to get Internet access." @@ -1443,14 +1451,10 @@ msgstr "" "Enregistrement réussi ! Veuillez débrancher et rebrancher votre câble " "Ethernet pour avoir accès à Internet." -#: views.py:1145 views.py:1169 views.py:1184 +#: views.py:1148 views.py:1172 views.py:1187 msgid "The mailing list doesn't exist." msgstr "La liste de diffusion n'existe pas." -#: widgets.py:35 -msgid "Close" -msgstr "Fermer" - #: widgets.py:36 msgid "Today" msgstr "Aujourd'hui" @@ -1466,24 +1470,3 @@ msgstr "Précédent" #: widgets.py:46 msgid "Wk" msgstr "Wk" - -#~ msgid "" -#~ "New connection from room %s. Is it yours? If that is the case, type OK." -#~ msgstr "" -#~ "Nouvelle connexion depuis la chambre %s. Est-ce la vôtre ? Si c'est le " -#~ "cas, tapez OK." - -#~ msgid "" -#~ "New connection from new device. Register it? Say Yes to get Internet " -#~ "access from it (MAC Address : %s)." -#~ msgstr "" -#~ "Nouvelle connexion depuis un nouvel appareil. L'enregistrer ? Dites Oui " -#~ "pour avoir accès à Internet depuis cet appareil (adresse MAC : %s)." - -#~ msgid "Register device or room" -#~ msgstr "Enregistrer un appareil ou une chambre" - -#~ msgid "By clicking 'Create or edit', the user commits to respect the " -#~ msgstr "" -#~ "En cliquant sur 'Créer ou modifier', l 'utilisateur s'engage à respecter " -#~ "les" diff --git a/users/migrations/0080_auto_20190108_1726.py b/users/migrations/0080_auto_20190108_1726.py new file mode 100644 index 00000000..f3f872bc --- /dev/null +++ b/users/migrations/0080_auto_20190108_1726.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2019-01-08 23:26 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0079_auto_20181228_2039'), + ] + + operations = [ + migrations.AlterField( + model_name='user', + name='state', + field=models.IntegerField(choices=[(0, 'Active'), (1, 'Disabled'), (2, 'Archived'), (3, 'Not yet active')], default=3), + ), + ] diff --git a/users/models.py b/users/models.py index a2798207..c1d0789a 100755 --- a/users/models.py +++ b/users/models.py @@ -189,10 +189,10 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, STATE_ARCHIVE = 2 STATE_NOT_YET_ACTIVE = 3 STATES = ( - (0, 'STATE_ACTIVE'), - (1, 'STATE_DISABLED'), - (2, 'STATE_ARCHIVE'), - (3, 'STATE_NOT_YET_ACTIVE'), + (0, _("Active")), + (1, _("Disabled")), + (2, _("Archived")), + (3, _("Not yet active")), ) surname = models.CharField(max_length=255) @@ -356,7 +356,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, """ Renvoie le nom complet de l'user formaté nom/prénom""" name = self.name if name: - return '%s %s' % (name, self.surname) + return "%s %s" % (name, self.surname) else: return self.surname @@ -510,7 +510,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, )['total'] or 0 somme_credit = Vente.objects.filter( facture__in=Facture.objects.filter(user=self, valid=True), - name="solde" + name='solde' ).aggregate( total=models.Sum( models.F('prix')*models.F('number'), @@ -681,7 +681,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, ), 'expire_in': str( GeneralOption.get_cached_value('req_expire_hrs') - ) + ' heures', + ) + ' hours', } send_mail( 'Changement de mot de passe du %(name)s / Password renewal for ' @@ -723,7 +723,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, self.notif_auto_newmachine(interface_cible) except Exception as error: return False, traceback.format_exc() - return interface_cible, "Ok" + return interface_cible, _("OK") def notif_auto_newmachine(self, interface): """Notification mail lorsque une machine est automatiquement @@ -1024,7 +1024,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser, if (EMailAddress.objects .filter(local_part=self.pseudo.lower()).exclude(user_id=self.id) ): - raise ValidationError("This pseudo is already in use.") + raise ValidationError(_("This username is already used.")) if not self.local_email_enabled and not self.email and not (self.state == self.STATE_ARCHIVE): raise ValidationError(_("There is neither a local email address nor an external" " email address for this user.") @@ -1068,7 +1068,7 @@ class Adherent(User): if self.gpg_fingerprint: gpg_fingerprint = self.gpg_fingerprint.replace(' ', '').upper() if not re.match("^[0-9A-F]{40}$", gpg_fingerprint): - raise ValidationError(_("A gpg fingerprint must contain 40 hexadecimal carracters")) + raise ValidationError(_("A GPG fingerprint must contain 40 hexadecimal characters")) self.gpg_fingerprint = gpg_fingerprint @classmethod @@ -1461,7 +1461,7 @@ class Ban(RevMixin, AclMixin, models.Model): 'asso_name': AssoOption.get_cached_value('name'), }) send_mail( - 'Deconnexion disciplinaire', + 'Déconnexion disciplinaire / Disciplinary disconnection', template.render(context), GeneralOption.get_cached_value('email_from'), [self.user.email], diff --git a/users/templates/users/aff_bans.html b/users/templates/users/aff_bans.html index 1284bea8..30256747 100644 --- a/users/templates/users/aff_bans.html +++ b/users/templates/users/aff_bans.html @@ -27,19 +27,19 @@ with this program; if not, write to the Free Software Foundation, Inc., {% load i18n %} {% if ban_list.paginator %} -{% include "pagination.html" with list=ban_list %} + {% include 'pagination.html' with list=ban_list %} {% endif %} {% trans "User" as tr_user %} - + {% trans "Start date" as tr_start %} - + {% trans "End date" as tr_end %} - + @@ -49,7 +49,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% else %} {% endif %} - + @@ -67,6 +67,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% include "buttons/sort.html" with prefix='ban' col="user" text=tr_user %}{% include 'buttons/sort.html' with prefix='ban' col="user" text=tr_user %} {% trans "Reason" %}{% include "buttons/sort.html" with prefix='ban' col="start" text=tr_start %}{% include 'buttons/sort.html' with prefix='ban' col="start" text=tr_start %}{% include "buttons/sort.html" with prefix='ban' col="end" text=tr_end %}{% include 'buttons/sort.html' with prefix='ban' col="end" text=tr_end %}
{{ ban.user }} {{ ban.user }} {{ ban.raison }} {{ ban.date_start }} {{ ban.date_end }}
{% if ban_list.paginator %} -{% include "pagination.html" with list=ban_list %} + {% include 'pagination.html' with list=ban_list %} {% endif %} diff --git a/users/templates/users/aff_clubs.html b/users/templates/users/aff_clubs.html index 1903a445..080dc031 100644 --- a/users/templates/users/aff_clubs.html +++ b/users/templates/users/aff_clubs.html @@ -25,7 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% load i18n %} {% if clubs_list.paginator %} -{% include "pagination.html" with list=clubs_list %} + {% include 'pagination.html' with list=clubs_list %} {% endif %} {% load acl %} @@ -34,11 +34,11 @@ with this program; if not, write to the Free Software Foundation, Inc., {% trans "Name" as tr_name %} - {% include "buttons/sort.html" with prefix='club' col="surname" text=tr_name %} + {% include 'buttons/sort.html' with prefix='club' col="surname" text=tr_name %} {% trans "Username" as tr_username %} - {% include "buttons/sort.html" with prefix='club' col="pseudo" text=tr_username %} + {% include 'buttons/sort.html' with prefix='club' col="pseudo" text=tr_username %} {% trans "Room" as tr_room %} - {% include "buttons/sort.html" with prefix='club' col="room" text=tr_room %} + {% include 'buttons/sort.html' with prefix='club' col="room" text=tr_room %} {% trans "End of subscription on" %} {% trans "Internet access" %} {% trans "Profile" %} @@ -58,7 +58,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% endif %} - + @@ -68,6 +68,6 @@ with this program; if not, write to the Free Software Foundation, Inc., {% if clubs_list.paginator %} -{% include "pagination.html" with list=clubs_list %} + {% include 'pagination.html' with list=clubs_list %} {% endif %} diff --git a/users/templates/users/aff_emailaddress.html b/users/templates/users/aff_emailaddress.html index 25048d6c..f5d5dd1d 100644 --- a/users/templates/users/aff_emailaddress.html +++ b/users/templates/users/aff_emailaddress.html @@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., {% load logs_extra %} {% if emailaddress_list.paginator %} -{% include "pagination.html" with list=emailaddress_list %} + {% include 'pagination.html' with list=emailaddress_list %} {% endif %} @@ -53,6 +53,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% if emailaddress_list.paginator %} -{% include "pagination.html" with list=emailaddress_list %} + {% include 'pagination.html' with list=emailaddress_list %} {% endif %} diff --git a/users/templates/users/aff_listright.html b/users/templates/users/aff_listright.html index cf78e295..8a069529 100644 --- a/users/templates/users/aff_listright.html +++ b/users/templates/users/aff_listright.html @@ -30,7 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,

@@ -41,16 +41,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,

-

{% trans "Total: All permissions" %}

+

{% trans "Total: all permissions" %}

-