"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
++<<<<<<< HEAD
+#: models/ae.py:46 models/core.py:206 models/crfpa.py:108 models/crfpa.py:149
+#: models/pro.py:101 models/pro.py:140
+msgid "user"
+msgstr "utilisateur"
+
+#: models/ae.py:47 models/core.py:131 models/core.py:241 models/core.py:487
+#: models/core.py:530 models/core.py:572 models/crfpa.py:64
++=======
+ #: teleforma/admin.py:42 teleforma/exam/models.py:147
+ #: teleforma/exam/models.py:264 teleforma/models/ae.py:49
+ #: teleforma/models/core.py:164 teleforma/models/core.py:218
+ #: teleforma/models/core.py:400 teleforma/models/core.py:413
+ #: teleforma/models/core.py:898 teleforma/models/core.py:979
+ #: teleforma/models/crfpa.py:82 teleforma/models/crfpa.py:176
+ #: teleforma/models/crfpa.py:511 teleforma/models/crfpa.py:667
+ #: teleforma/webclass/models.py:156 teleforma/webclass/models.py:428
++>>>>>>> feature/dj4.2
msgid "period"
msgstr "période"
- #: models/ae.py:49 models/crfpa.py:117
- msgid "platform only"
- msgstr "plateforme seulement"
+ #: teleforma/admin.py:105
+ msgid "Group"
+ msgstr "Groupe"
++<<<<<<< HEAD
+#: models/ae.py:51 models/core.py:208
+msgid "courses"
+msgstr "matières"
++=======
+ #: teleforma/admin.py:114
+ msgid "balance"
+ msgstr "balance"
++>>>>>>> feature/dj4.2
- #: models/ae.py:62
- msgid "AE student"
- msgstr "Etudiant AE"
+ #: teleforma/admin.py:318
+ #, fuzzy
+ #| msgid "date added"
+ msgid "date de début"
+ msgstr "date d'ajout"
++<<<<<<< HEAD
+#: models/ae.py:63
+msgid "AE students"
+msgstr "Etudiants AE"
+
+#: models/core.py:74
+msgid "Private"
+msgstr "Privé"
++=======
+ #: teleforma/exam/models.py:86 teleforma/exam/models.py:491
+ msgid "rejected"
+ msgstr "rejetée"
++>>>>>>> feature/dj4.2
- #: models/core.py:75
- msgid "Draft"
- msgstr "Brouillon"
+ #: teleforma/exam/models.py:86
+ msgid "draft"
+ msgstr "brouillon"
- #: models/core.py:76
- msgid "Public"
- msgstr "Publié"
+ #: teleforma/exam/models.py:86
+ msgid "submitted"
+ msgstr "soumise"
- #: models/core.py:91 models/core.py:103 models/core.py:123 models/core.py:135
- #: models/core.py:225 models/core.py:465 models/crfpa.py:47 models/crfpa.py:63
- msgid "name"
- msgstr "nom"
+ #: teleforma/exam/models.py:87 teleforma/models/core.py:88
+ msgid "pending"
+ msgstr "en attente"
- #: models/core.py:92 models/core.py:104 models/core.py:124 models/core.py:136
- #: models/core.py:150 models/core.py:226 models/core.py:380 models/core.py:446
- #: models/core.py:466 models/crfpa.py:48 models/pro.py:124
- msgid "description"
- msgstr "description"
+ #: teleforma/exam/models.py:87 teleforma/exam/models.py:475
+ msgid "marked"
+ msgstr "corrigée"
++<<<<<<< HEAD
+#: models/core.py:99 models/core.py:106 models/core.py:231 models/pro.py:123
+msgid "organization"
+msgstr "organisation"
++=======
+ #: teleforma/exam/models.py:87
+ msgid "read"
+ msgstr "lu"
++>>>>>>> feature/dj4.2
- #: models/core.py:107
- msgid "Master domain"
- msgstr ""
+ #: teleforma/exam/models.py:88
+ msgid "backup"
+ msgstr "sauvegardé"
++<<<<<<< HEAD
+#: models/core.py:118 models/core.py:126 models/core.py:152 models/core.py:246
+msgid "department"
+msgstr "département"
++=======
+ #: teleforma/exam/models.py:88
+ msgid "stat"
+ msgstr "stat"
++>>>>>>> feature/dj4.2
- #: models/core.py:143 models/core.py:244 models/core.py:484 models/core.py:570
- msgid "course type"
- msgstr "type de matière"
+ #: teleforma/exam/models.py:90
+ msgid "unreadable"
+ msgstr "illisible"
- #: models/core.py:149 models/core.py:445 models/pro.py:46 models/pro.py:83
- msgid "title"
- msgstr "titre"
+ #: teleforma/exam/models.py:91
+ msgid "bad orientation"
+ msgstr "mauvaise orientation"
- #: models/core.py:151 models/core.py:450 models/crfpa.py:62
- msgid "code"
- msgstr "cote"
+ #: teleforma/exam/models.py:92
+ msgid "bad framing"
+ msgstr "mauvais cadrage"
++<<<<<<< HEAD
+#: models/core.py:156
+msgid "tweeter title"
+msgstr ""
++=======
+ #: teleforma/exam/models.py:93
+ msgid "incomplete"
+ msgstr "incomplet"
++>>>>>>> feature/dj4.2
- #: models/core.py:153 models/core.py:449 models/pro.py:68
- msgid "date modified"
- msgstr "date de modification"
+ #: teleforma/exam/models.py:94
+ msgid "wrong course"
+ msgstr "mauvaise matière"
- #: models/core.py:154 models/core.py:467
- msgid "number"
- msgstr ""
+ #: teleforma/exam/models.py:95
+ msgid "duplicate"
+ msgstr "doublon"
-
- #: models/core.py:192 models/core.py:243 models/core.py:482 models/core.py:568
- #: models/pro.py:45
++<<<<<<< HEAD
+#: models/core.py:159 models/crfpa.py:67
+msgid "synthesis note"
+msgstr "note de synthèse"
+
+#: models/core.py:160 models/crfpa.py:70
+msgid "obligations"
+msgstr "obligations"
+
+#: models/core.py:161 models/crfpa.py:91
+msgid "magistral"
+msgstr "magistral"
++=======
+ #: teleforma/exam/models.py:96
+ msgid "other"
+ msgstr "autre"
+
+ #: teleforma/exam/models.py:97
+ msgid "wrong format"
+ msgstr "mauvais format"
+
+ #: teleforma/exam/models.py:98
+ msgid "unreadable file"
+ msgstr "fichier illisible"
++>>>>>>> feature/dj4.2
+
+ #: teleforma/exam/models.py:99
+ msgid "no file"
+ msgstr "pas de fichier"
+
+ #: teleforma/exam/models.py:100
+ msgid "error retrieving file"
+ msgstr "erreur de lecture de fichier"
+
+ #: teleforma/exam/models.py:101
+ msgid "file too large"
+ msgstr "fichier trop gros"
+
+ #: teleforma/exam/models.py:143 teleforma/exam/models.py:263
+ #: teleforma/models/core.py:327 teleforma/models/core.py:416
+ #: teleforma/models/core.py:804 teleforma/models/core.py:975
+ #: teleforma/models/crfpa.py:665 teleforma/models/pro.py:50
+ #: teleforma/webclass/models.py:158 teleforma/webclass/models.py:430
msgid "course"
msgstr "matière"
++<<<<<<< HEAD
+#: models/core.py:225 models/core.py:252
+msgid "professor"
+msgstr "professeur"
+
+#: models/core.py:240 models/core.py:256
+msgid "room"
+msgstr "salle"
+
+#: models/core.py:245
+msgid "public_id"
+msgstr "public id"
+
+#: models/core.py:254
++=======
+ #: teleforma/exam/models.py:145 teleforma/exam/models.py:272
+ msgid "corrector"
+ msgstr "correcteur"
+
+ #: teleforma/exam/models.py:149 teleforma/exam/models.py:266
+ #: teleforma/models/core.py:421 teleforma/models/core.py:811
+ #: teleforma/webclass/models.py:169 teleforma/webclass/models.py:437
++>>>>>>> feature/dj4.2
msgid "session"
- msgstr "session"
+ msgstr "séance"
- msgid "date added"
- msgstr "date d'ajout"
-
- #: models/core.py:451
- msgid "published"
- msgstr "publié"
++<<<<<<< HEAD
+#: models/core.py:258
+msgid "comment"
+msgstr "commentaire"
+
+#: models/core.py:259
+msgid "begin date"
+msgstr "date de début"
+
+#: models/core.py:260
+msgid "end date"
+msgstr "date de fin"
+
+#: models/core.py:254 models/core.py:496 models/core.py:533 models/core.py:577
+msgid "readers"
+msgstr ""
+
+#: models/core.py:369 models/core.py:397 models/core.py:485 models/core.py:566
+msgid "conference"
+msgstr "conférence"
+
+#: models/core.py:384
+msgid "host"
+msgstr ""
+
+#: models/core.py:385
+msgid "port"
+msgstr ""
+
+#: models/core.py:379 models/core.py:489 models/core.py:576
+msgid "type"
+msgstr "type"
+
+#: models/core.py:388
+msgid "source password"
+msgstr ""
+
+#: models/core.py:389
+msgid "admin password"
+msgstr ""
+
+#: models/core.py:396 models/core.py:407
+msgid "streaming server"
+msgstr "serveur de diffusion"
+
+#: models/core.py:408
+msgid "Streaming type"
+msgstr "Type de flux"
+
+#: models/core.py:410
+msgid "streaming"
+msgstr "diffusion"
+
+#: models/core.py:439
+msgid "live stream"
+msgstr "stream en direct"
+
+#: models/core.py:447
+msgid "credits"
+msgstr "crédits"
+
+#: models/core.py:448 models/pro.py:67
++=======
+ #: teleforma/exam/models.py:150
+ msgid "value"
+ msgstr "valeur"
- #: models/core.py:452
- msgid "mime type"
- msgstr "Type mime"
-
- #: models/core.py:453 models/pro.py:86
- msgid "weight"
- msgstr ""
-
- #: models/core.py:474
- msgid "document type"
- msgstr "type de document"
-
- #: models/core.py:491 models/crfpa.py:111
- msgid "iej"
- msgstr "iej"
-
- #: models/core.py:493
- msgid "annal"
- msgstr "annale"
-
- #: models/core.py:494
- msgid "year"
- msgstr "année"
-
- #: models/core.py:495 models/core.py:532
- msgid "file"
- msgstr "fichier"
-
- #: models/crfpa.py:55 models/crfpa.py:56 templates/teleforma/annals.html:31
- #: templates/telemeta/profile_detail.html:64 templates/telemeta/users.html:28
- #: templates/telemeta/inc/user_list.html:21
- msgid "IEJ"
- msgstr "IEJ"
-
- #: models/crfpa.py:73 models/crfpa.py:119
- msgid "procedure"
- msgstr "procédure"
+ #: teleforma/exam/models.py:151 teleforma/exam/templates/exam/quotas.html:48
+ msgid "date start"
+ msgstr "date de début"
- #: models/crfpa.py:76 models/crfpa.py:122
- msgid "written speciality"
- msgstr "spécialité écrit"
+ #: teleforma/exam/models.py:152 teleforma/exam/templates/exam/quotas.html:49
+ msgid "date end"
+ msgstr "date de fin"
- #: models/crfpa.py:79 models/crfpa.py:125
- msgid "oral speciality"
- msgstr "spécialité orale"
+ #: teleforma/exam/models.py:154 teleforma/exam/models.py:268
+ #: teleforma/models/core.py:682 teleforma/models/core.py:809
+ #: teleforma/models/core.py:982
+ msgid "type"
+ msgstr "type"
- #: models/crfpa.py:82 models/crfpa.py:127
- msgid "oral 1"
+ #: teleforma/exam/models.py:157
+ msgid "Quota"
msgstr ""
- #: models/crfpa.py:85 models/crfpa.py:129
- msgid "oral 2"
+ #: teleforma/exam/models.py:158 teleforma/exam/templates/exam/quotas.html:11
+ #: teleforma/templates/teleforma/base.html:131
+ msgid "Quotas"
msgstr ""
- #: models/crfpa.py:88 models/crfpa.py:131
- msgid "options"
- msgstr "options"
+ #: teleforma/exam/models.py:213 teleforma/models/core.py:764
+ #: teleforma/models/pro.py:74
++>>>>>>> feature/dj4.2
+ msgid "date added"
+ msgstr "date d'ajout"
- #: models/crfpa.py:93
- msgid "cost"
- msgstr "coût"
+ #: teleforma/exam/models.py:215 teleforma/models/core.py:263
+ #: teleforma/models/core.py:766 teleforma/models/crfpa.py:549
+ #: teleforma/models/pro.py:75
+ msgid "date modified"
+ msgstr "date de modification"
- #: models/crfpa.py:103
- msgid "training"
- msgstr "formation"
+ #: teleforma/exam/models.py:216
+ msgid "UUID"
+ msgstr ""
- #: models/crfpa.py:115
- msgid "trainings"
- msgstr "formations"
+ #: teleforma/exam/models.py:218
+ msgid "MIME type"
+ msgstr "Type MIME"
- #: models/crfpa.py:142
- msgid "CRFPA Profile"
- msgstr "Profil CRFPA"
+ #: teleforma/exam/models.py:219
+ msgid "sha1"
+ msgstr ""
- #: models/crfpa.py:150 templates/telemeta/profile_detail.html:77
- msgid "Address"
- msgstr "Adresse"
+ #: teleforma/exam/models.py:236
+ msgid "script"
+ msgstr "copie"
- #: models/crfpa.py:151
- msgid "Postal code"
- msgstr "Code postal"
+ #: teleforma/exam/models.py:238
+ msgid "Page file"
+ msgstr "Fichier de page"
- #: models/crfpa.py:152
- msgid "City"
- msgstr "Ville"
+ #: teleforma/exam/models.py:240
+ msgid "Image file"
+ msgstr "Fichier image"
- #: models/crfpa.py:153
- msgid "Country"
- msgstr "Pays"
+ #: teleforma/exam/models.py:241 teleforma/models/pro.py:55
+ #: teleforma/models/pro.py:92
+ msgid "rank"
+ msgstr "rang"
+
+ #: teleforma/exam/models.py:244
+ msgid "Page"
+ msgstr "Page"
+
+ #: teleforma/exam/models.py:245
+ msgid "Pages"
+ msgstr "Pages"
+
+ #: teleforma/exam/models.py:250 teleforma/models/appointment.py:32
+ #: teleforma/models/appointment.py:291 teleforma/models/core.py:143
+ #: teleforma/models/core.py:157 teleforma/models/core.py:180
+ #: teleforma/models/core.py:224 teleforma/models/core.py:334
+ #: teleforma/models/core.py:385 teleforma/models/core.py:782
+ #: teleforma/models/core.py:1144 teleforma/models/crfpa.py:61
+ #: teleforma/models/crfpa.py:78 teleforma/models/messages.py:22
+ msgid "name"
+ msgstr "nom"
- #: models/crfpa.py:154 templates/telemeta/profile_detail.html:86
- msgid "Language"
- msgstr "Langue"
+ #: teleforma/exam/models.py:253
+ msgid "ScriptType"
+ msgstr "Type de copie"
- #: models/crfpa.py:155 templates/telemeta/profile_detail.html:78
- msgid "Telephone"
- msgstr "Téléphone"
+ #: teleforma/exam/models.py:254
+ msgid "ScriptTypes"
+ msgstr "Types de copies"
- #: models/crfpa.py:156
- msgid "Expiration_date"
- msgstr "Date d'expiration"
+ #: teleforma/exam/models.py:270
+ msgid "author"
+ msgstr "auteur"
- #: models/crfpa.py:157
- msgid "Password initialized"
- msgstr "Mot de passe initialisé"
+ #: teleforma/exam/models.py:274
+ msgid "PDF file"
+ msgstr "Fichier PDF"
- #: models/crfpa.py:161
- msgid "profile"
- msgstr "profil"
+ #: teleforma/exam/models.py:275
+ msgid "Box UUID"
+ msgstr ""
- #: models/pro.py:47
- msgid "price"
- msgstr "prix"
+ #: teleforma/exam/models.py:276
+ msgid "score"
+ msgstr "note"
+
+ #: teleforma/exam/models.py:278 teleforma/models/pro.py:136
+ msgid "comments"
+ msgstr "commentaires"
- #: models/pro.py:48 models/pro.py:88 models/pro.py:104
+ #: teleforma/exam/models.py:280 teleforma/models/core.py:404
+ #: teleforma/models/core.py:432 teleforma/models/core.py:939
+ #: teleforma/models/pro.py:54 teleforma/models/pro.py:97
+ #: teleforma/models/pro.py:115 teleforma/webclass/models.py:172
msgid "status"
msgstr "status"
- #: models/pro.py:49 models/pro.py:85
- msgid "rank"
- msgstr ""
+ #: teleforma/exam/models.py:282
+ msgid "reason"
+ msgstr "raison"
+
+ #: teleforma/exam/models.py:284
+ msgid "date submitted"
+ msgstr "date de soumission"
+
+ #: teleforma/exam/models.py:285
+ msgid "date marked"
+ msgstr "date de correction"
+
+ #: teleforma/exam/models.py:287
+ msgid "date rejected"
+ msgstr "date de rejet"
+
+ #: teleforma/exam/models.py:288
+ msgid "URL"
+ msgstr ""
+
+ #: teleforma/exam/models.py:294 teleforma/exam/models.py:297
+ #: teleforma/exam/templates/exam/inc/script_list.html:13
+ #: teleforma/exam/templates/exam/quotas.html:30
+ #: teleforma/exam/templates/exam/quotas.html:47
+ #: teleforma/exam/templates/exam/scripts.html:82
+ #: teleforma/templates/teleforma/course.html:53
+ #: teleforma/templates/teleforma/course_conference.html:62
+ #: teleforma/templates/teleforma/course_conference.html:109
+ #: teleforma/templates/teleforma/course_conference_audio.html:67
+ #: teleforma/templates/teleforma/course_media.html:81
+ #: teleforma/templates/teleforma/course_media.html:158
+ #: teleforma/templates/teleforma/course_media_transcoded.html:44
+ #: teleforma/templates/teleforma/course_media_transcoded.html:94
+ #: teleforma/templates/teleforma/course_media_video_embed.html:33
+ #: teleforma/templates/teleforma/inc/conference_list.html:27
+ #: teleforma/templates/teleforma/inc/media_list.html:37
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:34
+ #: teleforma/webclass/templates/webclass/webclass_record.html:20
+ msgid "Session"
+ msgstr "Séance"
+
+ #: teleforma/exam/models.py:316 teleforma/exam/models.py:474
+ #: teleforma/exam/models.py:490
+ msgid "Script"
+ msgstr "Copie"
+
+ #: teleforma/exam/models.py:317 teleforma/exam/templates/exam/scripts.html:20
+ #: teleforma/templates/teleforma/base.html:112
+ #: teleforma/templates/teleforma/base.html:117
+ #: teleforma/templates/telemeta/base.html:119
+ #: teleforma/templates/telemeta/base.html:124
+ msgid "Scripts"
+ msgstr "Copies"
+
+ #: teleforma/exam/templates/exam/inc/script_list.html:12
+ #: teleforma/exam/templates/exam/quotas.html:23
+ #: teleforma/exam/templates/exam/quotas.html:46
+ #: teleforma/exam/templates/exam/scripts.html:75
+ #: teleforma/models/appointment.py:35 teleforma/models/crfpa.py:514
+ #: teleforma/templates/teleforma/course_conference.html:108
+ #: teleforma/templates/teleforma/course_media.html:157
+ #: teleforma/templates/teleforma/course_media_transcoded.html:93
+ #: teleforma/templates/teleforma/course_media_video_embed.html:32
+ msgid "Course"
+ msgstr "Matière"
- #: models/pro.py:50
- msgid "public concerned"
- msgstr ""
+ #: teleforma/exam/templates/exam/inc/script_list.html:14
+ #: teleforma/exam/templates/exam/scripts.html:89
+ #: teleforma/templates/teleforma/lists.html:70
+ #: teleforma/templates/telemeta/inc/module_revisions.html:18
+ msgid "Type"
+ msgstr "Type"
- #: models/pro.py:53
- msgid "document 1"
- msgstr "document 1"
+ #: teleforma/exam/templates/exam/inc/script_list.html:15
+ #: teleforma/templates/teleforma/inc/user_list.html:19
+ #: teleforma/templates/teleforma/profile_detail.html:64
+ msgid "Last Name"
+ msgstr "Nom"
- #: models/pro.py:56
- msgid "media"
- msgstr "médias"
+ #: teleforma/exam/templates/exam/inc/script_list.html:16
+ #: teleforma/templates/teleforma/inc/user_list.html:20
+ #: teleforma/templates/teleforma/profile_detail.html:63
+ msgid "First Name"
+ msgstr "Prénom"
+
+ #: teleforma/exam/templates/exam/inc/script_list.html:17
+ msgid "Submission date"
+ msgstr "Date de soumission"
+
+ #: teleforma/exam/templates/exam/inc/script_list.html:18
+ msgid "Mark date"
+ msgstr "Date de correction"
+
+ #: teleforma/exam/templates/exam/inc/script_list.html:19
+ #: teleforma/exam/templates/exam/quotas.html:16
+ #: teleforma/exam/templates/exam/quotas.html:44
+ #: teleforma/exam/templates/exam/scripts.html:67
+ msgid "Corrector"
+ msgstr "Correcteur"
+
+ #: teleforma/exam/templates/exam/inc/script_list.html:20
+ #: teleforma/exam/templates/exam/script_detail.html:61
+ #: teleforma/exam/templates/exam/script_detail2.html:41
+ #: teleforma/templates/quiz/progress.html:60
+ #: teleforma/templates/quiz/sitting_detail.html:15
+ #: teleforma/templates/quiz/sitting_list.html:16
+ msgid "Score"
+ msgstr "Note"
+
+ #: teleforma/exam/templates/exam/mass_score_form.html:138
+ #: teleforma/exam/templates/exam/score_form.html:81
+ #: teleforma/exam/templates/exam/script_form.html:90
+ #: teleforma/templates/registration/registration_form.html:130
+ msgid "Submit"
+ msgstr "Soumettre"
+
+ #: teleforma/exam/templates/exam/messages/script_fix.txt:9
+ #: teleforma/exam/templates/exam/messages/script_marked.txt:9
+ #: teleforma/exam/templates/exam/messages/script_rejected.txt:7
+ #: teleforma/templates/postman/email_user_init.txt:23
+ #: teleforma/templates/registration/password_reset_email.html:12
+ msgid "Best regards"
+ msgstr "Cordialement"
- #: models/pro.py:59
- msgid "document 2"
- msgstr "document 2"
+ #: teleforma/exam/templates/exam/messages/script_fix.txt:10
+ #: teleforma/exam/templates/exam/messages/script_marked.txt:10
+ #: teleforma/exam/templates/exam/messages/script_rejected.txt:8
+ #: teleforma/templates/postman/email_user.txt:28
+ #: teleforma/templates/postman/email_user_init.txt:24
+ #: teleforma/templates/postman/email_visitor.txt:16
+ #: teleforma/templates/registration/password_reset_email.html:13
+ msgid "The site administrator"
+ msgstr "L'administrateur du site"
- #: models/pro.py:62
- msgid "corrected document"
- msgstr "document corrigé"
+ #: teleforma/exam/templates/exam/messages/script_fix.txt:10
+ #: teleforma/exam/templates/exam/messages/script_marked.txt:10
+ #: teleforma/exam/templates/exam/messages/script_rejected.txt:8
+ #: teleforma/templates/postman/email_user_init.txt:24
+ #: teleforma/templates/registration/password_reset_email.html:13
+ msgid "of the"
+ msgstr "du"
- #: models/pro.py:64
- msgid "suscribers"
- msgstr "inscrits"
+ #: teleforma/exam/templates/exam/messages/script_fix.txt:13
+ #: teleforma/exam/templates/exam/messages/script_marked.txt:13
+ #: teleforma/exam/templates/exam/messages/script_rejected.txt:11
+ #: teleforma/templates/postman/email_user_init.txt:26
+ #: teleforma/templates/postman/email_visitor.txt:18
+ msgid ""
+ "Note: This message is issued by an automated system.\n"
+ "Do not reply, this would not be taken into account."
+ msgstr ""
+ "NB: Ce message est émis par un automate. Ne faites pas de réponse, elle ne "
+ "serait pas prise en compte."
- #: models/pro.py:69
- msgid "approximative duration"
- msgstr "durée approximative"
+ #: teleforma/exam/templates/exam/quotas.html:45
+ msgid "Period"
+ msgstr "Période"
- #: models/pro.py:70
- msgid "keywords"
- msgstr "mots clés"
+ #: teleforma/exam/templates/exam/quotas.html:50
+ #: teleforma/exam/templates/exam/scripts.html:24
+ #: teleforma/templates/teleforma/courses.html:42
+ msgid "Pending"
+ msgstr "En attente"
- #: models/pro.py:77
- msgid "Seminar"
- msgstr "Sémimaire"
+ #: teleforma/exam/templates/exam/quotas.html:51
+ #: teleforma/exam/templates/exam/scripts.html:25
+ msgid "Marked"
+ msgstr "Corrigées"
- #: models/pro.py:82 models/pro.py:139
- msgid "seminar"
- msgstr "séminaire"
+ #: teleforma/exam/templates/exam/quotas.html:52
+ msgid "Value"
+ msgstr "Valeur"
- #: models/pro.py:84 models/pro.py:102
- msgid "question"
- msgstr "question"
+ #: teleforma/exam/templates/exam/quotas.html:53
+ msgid "Level"
+ msgstr "Niveau"
- #: models/pro.py:87
- msgid "minimum numbers of characters"
- msgstr "nombre de caractère minimum"
+ #: teleforma/exam/templates/exam/score_form.html:31
+ #: teleforma/exam/templates/exam/scores.html:32
+ msgid "New score"
+ msgstr "Nouvelle note"
- #: models/pro.py:96
- msgid "Question"
- msgstr "Questions"
+ #: teleforma/exam/templates/exam/scores.html:19
+ #: teleforma/templates/teleforma/annals.html:14
+ #: teleforma/templates/teleforma/profile_detail.html:16
+ msgid "My courses"
+ msgstr "Mes matières"
- #: models/pro.py:101 models/pro.py:102 models/pro.py:103
- msgid "answer"
- msgstr "réponse"
+ #: teleforma/exam/templates/exam/scores.html:48
+ #: teleforma/templates/teleforma/base.html:143
+ #: teleforma/templates/teleforma/base.html:145
+ #: teleforma/templates/telemeta/base.html:140
+ #: teleforma/templates/telemeta/base.html:142
+ msgid "Scores"
+ msgstr "Notes"
- #: models/pro.py:105
- msgid "validated"
- msgstr "validé"
+ #: teleforma/exam/templates/exam/script_detail.html:55
+ #: teleforma/templates/teleforma/profile_detail.html:36
+ msgid "Send a message"
+ msgstr "Envoyer un message"
- #: models/pro.py:117
- msgid "Answer"
- msgstr "Réponse"
+ #: teleforma/exam/templates/exam/script_detail.html:58
+ #: teleforma/exam/templates/exam/script_detail2.html:38
+ msgid "Topic"
+ msgstr "Sujet"
- #: models/pro.py:125
- msgid "comments"
- msgstr "commentaires"
+ #: teleforma/exam/templates/exam/script_detail.html:62
+ #: teleforma/exam/templates/exam/script_detail.html:82
+ #: teleforma/exam/templates/exam/script_detail2.html:42
+ #: teleforma/exam/templates/exam/script_detail2.html:59
+ msgid "Comments"
+ msgstr "Commentaire"
- #: models/pro.py:126 models/pro.py:142
- msgid "testimonial_template"
+ #: teleforma/exam/templates/exam/script_detail.html:68
+ #: teleforma/exam/templates/exam/script_detail2.html:45
+ #: teleforma/exam/templates/exam/scripts.html:26
+ #: teleforma/templates/postman/view.html:33
+ msgid "Rejected"
+ msgstr "Rejeté"
+
+ #: teleforma/exam/templates/exam/script_detail.html:71
+ #: teleforma/exam/templates/exam/script_detail2.html:48
+ msgid "Scoring"
+ msgstr "Noter"
+
+ #: teleforma/exam/templates/exam/script_detail.html:72
+ #: teleforma/exam/templates/exam/script_detail.html:113
+ #: teleforma/exam/templates/exam/script_detail.html:131
+ #: teleforma/exam/templates/exam/script_detail2.html:49
+ #: teleforma/exam/templates/exam/script_detail2.html:90
+ #: teleforma/exam/templates/exam/script_detail2.html:108
+ msgid "Reject"
+ msgstr "Rejeter"
+
+ #: teleforma/exam/templates/exam/script_detail.html:74
+ #: teleforma/exam/templates/exam/script_detail2.html:51
+ msgid "Submitted"
+ msgstr "Soumise"
+
+ #: teleforma/exam/templates/exam/script_detail.html:86
+ #: teleforma/exam/templates/exam/script_detail2.html:63
+ msgid "Mark"
+ msgstr "Note"
+
+ #: teleforma/exam/templates/exam/script_detail.html:108
+ #: teleforma/exam/templates/exam/script_detail2.html:85
+ #: teleforma/templates/postman/base_write.html:111
+ msgid "Send"
+ msgstr "Envoyer"
+
+ #: teleforma/exam/templates/exam/script_detail.html:136
+ #: teleforma/exam/templates/exam/script_detail2.html:113
+ #: teleforma/templates/teleforma/base.html:159
+ #: teleforma/templates/teleforma/base.html:171
+ #: teleforma/templates/teleforma/help.html:10
+ #: teleforma/templates/telemeta/base.html:155
+ #: teleforma/templates/telemeta/base.html:165
+ msgid "Help"
+ msgstr "Aide"
+
+ #: teleforma/exam/templates/exam/script_detail2.html:43
+ msgid "Imprimer"
msgstr ""
- #: models/pro.py:127
- msgid "template"
- msgstr "modèle"
+ #: teleforma/exam/templates/exam/script_form.html:31
+ #: teleforma/exam/templates/exam/scripts.html:35
+ msgid "New script"
+ msgstr "Nouvelle copie"
- #: models/pro.py:134
- msgid "Testimonial template"
- msgstr "Modèle d'attestation"
+ #: teleforma/exam/templates/exam/script_form.html:34
+ msgid "Blank script"
+ msgstr "Copie vierge"
- #: models/pro.py:140 models/pro.py:141 models/pro.py:143
- msgid "testimonial"
- msgstr "attestation"
+ #: teleforma/exam/templates/exam/scripts.html:5
+ msgid "Answers"
+ msgstr "Réponses"
- #: models/pro.py:148
- msgid "Testimonial"
- msgstr "Attestation"
+ #: teleforma/exam/templates/exam/scripts.html:97
+ msgid "E-learning uniquement"
+ msgstr ""
- #: templates/404.html:10
- msgid "Page not found"
- msgstr "Page non trouvée"
+ #: teleforma/exam/templates/exam/scripts.html:112
+ msgid "No scripts"
+ msgstr "Aucune copie"
- #: templates/500.html:10
- msgid "Server error"
- msgstr "Erreur du serveur"
+ #: teleforma/exam/views.py:354
+ msgid "Pending scripts"
+ msgstr "Copies en attente"
- #: templates/admin/base.html:21 templates/telemeta/base.html:99
- msgid "Home"
- msgstr "Accueil"
+ #: teleforma/exam/views.py:365
+ msgid "Treated scripts"
+ msgstr "Copie traitées"
- #: templates/postman/archives.html:3
- #, fuzzy
- msgid "Archived Messages"
- msgstr "Messages"
+ #: teleforma/exam/views.py:374
+ msgid "Rejected scripts"
+ msgstr "Copies rejetées"
- #: templates/postman/archives.html:7
+ #: teleforma/exam/views.py:393
msgid ""
- "Messages in this folder will never be removed. You can use this folder for "
- "long term storage."
+ "Error: you have already submitted a script for this session, the same course "
+ "and the same type!"
msgstr ""
+ "Erreur : vous avez déjà soumis une copie du même type pour la même matière "
+ "et la même séance."
- #: templates/postman/base.html:10
- msgid "Folders"
- msgstr "Dossiers"
+ #: teleforma/exam/views.py:398
+ msgid ""
+ "You have successfully submitted your script. It will be processed in the "
+ "next hours."
+ msgstr ""
+ "Vous avez correctement soumis votre copie. Elle sera traitée dans les "
+ "prochaines heures puis corrigée."
- #: templates/postman/base.html:15
- msgid "Inbox"
+ #: teleforma/exam/views.py:403
+ msgid ""
+ "There was a problem with your submission. Please try again, later if "
+ "possible."
msgstr ""
+ "Il y a une une erreur lors de votre soumission de copie. Merci de vérifier "
+ "votre fichier ou de réessayer plus tard."
- #: templates/postman/base.html:16 templates/postman/sent.html:3
- #, fuzzy
- msgid "Sent Messages"
- msgstr "Messages"
+ #: teleforma/exam/views.py:486
+ msgid "You must add your score to access to the statistics."
+ msgstr "Vous devez ajouter votre note pour accéder aux statistiques."
- #: templates/postman/base.html:17 templates/telemeta/base.html:114
- msgid "Archives"
- msgstr ""
+ #: teleforma/exam/views.py:565
+ msgid "all courses"
+ msgstr "toutes les matières"
- #: templates/postman/base.html:18
- msgid "Trash"
- msgstr ""
+ #: teleforma/fields.py:114 teleforma/templates/teleforma/course_media.html:181
+ #: teleforma/templates/teleforma/inc/media_list.html:47
+ msgid "Duration"
+ msgstr "Durée"
- #: templates/postman/base.html:23
- msgid "New message"
- msgstr "Nouveau message"
+ #: teleforma/fields.py:119
+ msgid "Enter a valid duration in HH:MM[:ss] format."
+ msgstr "Entrez une durée valide au format HH:MM[:ss]"
- #: templates/postman/base_folder.html:12
- msgid "by conversation"
- msgstr ""
+ #: teleforma/forms.py:63 teleforma/forms.py:222 teleforma/models/crfpa.py:455
+ #: teleforma/templates/registration/registration_corrector_pdf.html:43
+ #: teleforma/templates/registration/registration_pdf.html:48
+ #: teleforma/templates/teleforma/profile_detail.html:79
+ msgid "Address"
+ msgstr "Adresse"
- #: templates/postman/base_folder.html:13
- #, fuzzy
- msgid "by message"
- msgstr "Messages"
+ #: teleforma/forms.py:65 teleforma/forms.py:224 teleforma/models/crfpa.py:457
+ msgid "Address detail"
+ msgstr "Adresse (detail)"
- #: templates/postman/base_folder.html:18
- msgid "Sorry, this page number is invalid."
- msgstr ""
+ #: teleforma/forms.py:66 teleforma/forms.py:225 teleforma/models/crfpa.py:459
+ msgid "Postal code"
+ msgstr "Code postal"
- #: templates/postman/base_folder.html:31
- #: templates/teleforma/course_conference_record.html:100
- #: templates/telemeta/lists.html:75
- msgid "Action"
- msgstr ""
+ #: teleforma/forms.py:67 teleforma/forms.py:226 teleforma/models/crfpa.py:460
+ msgid "City"
+ msgstr "Ville"
- #: templates/postman/base_folder.html:32
- msgid "Sender"
- msgstr ""
+ #: teleforma/forms.py:68 teleforma/forms.py:227 teleforma/models/crfpa.py:461
+ msgid "Country"
+ msgstr "Pays"
- #: templates/postman/base_folder.html:33 templates/postman/reply.html:4
- msgid "Recipient"
- msgstr ""
+ #: teleforma/forms.py:69 teleforma/forms.py:228 teleforma/models/crfpa.py:463
+ #: teleforma/templates/registration/registration_corrector_pdf.html:47
+ #: teleforma/templates/registration/registration_pdf.html:52
+ #: teleforma/templates/teleforma/profile_detail.html:82
+ msgid "Telephone"
+ msgstr "Téléphone"
- #: templates/postman/base_folder.html:34
- msgid "Subject"
- msgstr ""
+ #: teleforma/forms.py:70 teleforma/forms.py:229
+ #: teleforma/templates/registration/registration_corrector_pdf.html:59
+ #: teleforma/templates/registration/registration_pdf.html:64
+ msgid "Birthday"
+ msgstr "Date de naissance"
- #: templates/postman/base_folder.html:35
- #: templates/telemeta/inc/module_revisions.html:16
- msgid "Date"
- msgstr "Date"
+ #: teleforma/forms.py:74
+ #: teleforma/templates/registration/registration_pdf.html:69
+ msgid "Studying level"
+ msgstr "Niveau d'étude"
- #: templates/postman/base_folder.html:53
- msgid "g:i A,M j,n/j/y"
- msgstr ""
+ #: teleforma/forms.py:93 teleforma/templates/teleforma/inc/user_list.html:23
+ #: teleforma/templates/teleforma/profile_detail.html:71
+ msgid "Procedure"
+ msgstr "Procédure"
- #: templates/postman/base_folder.html:61 templates/postman/view.html:39
- #: templates/telemeta/lists.html:58
- msgid "Delete"
+ #: teleforma/forms.py:103
+ msgid "Code promo"
msgstr ""
- #: templates/postman/base_folder.html:64 templates/postman/view.html:43
- msgid "Archive"
+ #: teleforma/forms.py:106
+ msgid "Échéancier de paiement"
msgstr ""
- #: templates/postman/base_folder.html:67
- msgid "Undelete"
+ #: teleforma/forms.py:317
+ msgid "Recipients"
+ msgstr "Destinataires"
+
+ #: teleforma/forms.py:317 teleforma/templates/postman/base_folder.html:50
+ #: teleforma/templates/postman/reply.html:4
+ msgid "Recipient"
msgstr ""
- #: templates/postman/base_folder.html:73
- #, fuzzy
- msgid "No messages."
- msgstr "Messages"
+ #: teleforma/models/ae.py:48 teleforma/models/chat.py:20
+ #: teleforma/models/core.py:349 teleforma/models/core.py:867
+ #: teleforma/models/crfpa.py:143 teleforma/models/crfpa.py:454
+ #: teleforma/models/crfpa.py:510 teleforma/models/notification.py:34
+ #: teleforma/models/pro.py:110 teleforma/models/pro.py:152
+ msgid "user"
+ msgstr "utilisateur"
- #: templates/postman/base_write.html:13
- msgid "to an administrator"
- msgstr "à un administrateur"
+ #: teleforma/models/ae.py:51
+ msgid "platform only"
+ msgstr "plateforme seulement"
- #: templates/postman/base_write.html:21
- msgid "to a professor"
- msgstr "à un professeur"
+ #: teleforma/models/ae.py:53 teleforma/models/core.py:335
+ #: teleforma/models/core.py:351
+ msgid "courses"
+ msgstr "matières"
- #: templates/postman/base_write.html:38
- #: templates/teleforma/inc/chat_room.html:13
- msgid "Send"
+ #: teleforma/models/ae.py:64
+ msgid "AE student"
+ msgstr "Etudiant AE"
+
+ #: teleforma/models/appointment.py:42
+ msgid "activer la prise de rendez-vous"
msgstr ""
- #: templates/postman/email_user.txt:1 templates/postman/email_user_init.txt:1
- msgid "Hello"
- msgstr "Bonjour"
+ #: teleforma/models/chat.py:52
+ msgid "A new live conference has started : "
+ msgstr "Une nouvelle conférence en direct a commencé : "
- #: templates/postman/email_user.txt:3 templates/postman/email_visitor.txt:3
- #, python-format
- msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'."
- msgstr ""
+ #: teleforma/models/core.py:88
+ msgid "broken"
+ msgstr "cassé"
- #: templates/postman/email_user.txt:5 templates/postman/email_visitor.txt:5
- msgid "Your message has been rejected by the moderator"
- msgstr ""
+ #: teleforma/models/core.py:88
+ msgid "processing"
+ msgstr "en cours"
- #: templates/postman/email_user.txt:5 templates/postman/email_visitor.txt:5
- msgid ", for the following reason:"
+ #: teleforma/models/core.py:89
+ msgid "done"
+ msgstr "fait"
+
+ #: teleforma/models/core.py:89
+ msgid "ready"
+ msgstr "prêt"
+
+ #: teleforma/models/core.py:106
+ msgid "Hidden"
+ msgstr "Caché"
+
+ #: teleforma/models/core.py:107
+ msgid "Private"
+ msgstr "Privé"
+
+ #: teleforma/models/core.py:108 teleforma/webclass/models.py:32
+ msgid "Draft"
+ msgstr "Brouillon"
+
+ #: teleforma/models/core.py:109 teleforma/webclass/models.py:33
+ msgid "Public"
+ msgstr "Publié"
+
+ #: teleforma/models/core.py:145 teleforma/models/core.py:159
+ #: teleforma/models/core.py:182 teleforma/models/core.py:226
+ #: teleforma/models/core.py:259 teleforma/models/core.py:387
+ #: teleforma/models/core.py:684 teleforma/models/core.py:761
+ #: teleforma/models/core.py:784 teleforma/models/crfpa.py:63
+ #: teleforma/models/crfpa.py:80 teleforma/models/crfpa.py:572
+ #: teleforma/models/crfpa.py:587 teleforma/models/crfpa.py:602
+ #: teleforma/models/pro.py:135
+ msgid "description"
+ msgstr "description"
+
+ #: teleforma/models/core.py:152 teleforma/models/core.py:161
+ #: teleforma/models/core.py:384 teleforma/models/pro.py:134
+ msgid "organization"
+ msgstr "organisation"
+
+ #: teleforma/models/core.py:162
+ msgid "Master domain"
msgstr ""
- #: templates/postman/email_user.txt:9 templates/postman/email_visitor.txt:10
- #, python-format
- msgid "On %(date)s, you sent a message to the user '%(sender)s'."
+ #: teleforma/models/core.py:175 teleforma/models/core.py:186
+ #: teleforma/models/core.py:256 teleforma/models/core.py:354
+ #: teleforma/models/core.py:411 teleforma/webclass/models.py:154
+ msgid "department"
+ msgstr "département"
+
+ #: teleforma/models/core.py:184 teleforma/models/crfpa.py:84
+ msgid "parent"
msgstr ""
- #: templates/postman/email_user.txt:10
- msgid "Your correspondent has given you an answer."
+ #: teleforma/models/core.py:188 teleforma/models/core.py:426
+ msgid "begin date"
+ msgstr "date de début"
+
+ #: teleforma/models/core.py:189 teleforma/models/core.py:427
+ msgid "end date"
+ msgstr "date de fin"
+
+ #: teleforma/models/core.py:191
+ msgid "date d'init de mot de passe"
msgstr ""
- #: templates/postman/email_user.txt:11
- #, python-format
- msgid "You have received a copy of a response from the user '%(sender)s'."
+ #: teleforma/models/core.py:193
+ msgid "message pour internaute"
msgstr ""
- #: templates/postman/email_user.txt:13
- #, python-format
- msgid "You have received a message from the user '%(sender)s'."
+ #: teleforma/models/core.py:195
+ msgid "message pour presentielle"
msgstr ""
- #: templates/postman/email_user.txt:14
- msgid ""
- "You can read and respond to this message from your e-learning desk following "
- "this link:"
+ #: teleforma/models/core.py:196
+ msgid "is open"
msgstr ""
- "Vous pouvez lire et répondre à ce message depuis votre bureau e-learning en "
- "suivant ce lien :"
- #: templates/postman/email_user.txt:19 templates/postman/email_visitor.txt:14
- msgid "Thank you again for your interest in our services."
+ #: teleforma/models/core.py:198
+ msgid "date de fin d'examens"
msgstr ""
- #: templates/postman/email_user.txt:20
- #: templates/postman/email_user_init.txt:20
- #: templates/postman/email_visitor.txt:16
- msgid "The site administrator"
+ #: teleforma/models/core.py:200
+ msgid "nombre maximal de copies"
msgstr ""
- #: templates/postman/email_user.txt:20
- msgid "of"
- msgstr "de"
+ #: teleforma/models/core.py:234 teleforma/models/core.py:418
+ #: teleforma/models/core.py:806 teleforma/models/core.py:977
+ msgid "course type"
+ msgstr "type de matière"
- #: templates/postman/email_user.txt:22
- #: templates/postman/email_user_init.txt:23
- #: templates/postman/email_visitor.txt:18
- msgid ""
- "Note: This message is issued by an automated system.\n"
- "Do not reply, this would not be taken into account."
- msgstr ""
+ #: teleforma/models/core.py:257 teleforma/models/core.py:759
+ #: teleforma/models/pro.py:51 teleforma/models/pro.py:90
+ msgid "title"
+ msgstr "titre"
- #: templates/postman/email_user_init.txt:19
- msgid "Best regards"
- msgstr "Cordialement"
+ #: teleforma/models/core.py:260 teleforma/models/core.py:767
+ #: teleforma/models/crfpa.py:77
+ msgid "code"
+ msgstr "cote"
- #: templates/postman/email_user_init.txt:20
- msgid "of the"
- msgstr "du"
+ #: teleforma/models/core.py:261
+ msgid "tweeter title"
+ msgstr "titre tweeter"
- #: templates/postman/email_user_subject.txt:1
- #: templates/postman/email_visitor_subject.txt:1
- #, python-format
- msgid "Message \"%(subject)s\" on the site %(sitename)s"
- msgstr ""
+ #: teleforma/models/core.py:264 teleforma/models/core.py:785
+ msgid "number"
+ msgstr "nombre"
- #: templates/postman/email_user_subject_init.txt:1
- #, python-format
- msgid "%(organization)s : initialization of your e-learning account"
- msgstr "%(organization)s : initialisation de votre compte e-learning"
+ #: teleforma/models/core.py:265 teleforma/models/crfpa.py:85
+ msgid "synthesis note"
+ msgstr "note de synthèse"
- #: templates/postman/email_visitor.txt:1
- msgid "Dear visitor,"
- msgstr ""
+ #: teleforma/models/core.py:266 teleforma/models/crfpa.py:88
+ msgid "obligations"
+ msgstr "obligations"
- #: templates/postman/email_visitor.txt:8
- msgid "As a reminder, please find below the content of your message."
+ #: teleforma/models/core.py:267 teleforma/models/crfpa.py:110
+ msgid "magistral"
+ msgstr "magistral"
+
+ #: teleforma/models/core.py:268 teleforma/models/crfpa.py:91
+ #: teleforma/models/crfpa.py:156
+ msgid "procedure"
+ msgstr "procédure"
+
+ #: teleforma/models/core.py:269
+ msgid "written_speciality"
+ msgstr "spécialité écrit"
+
+ #: teleforma/models/core.py:270
+ msgid "oral_speciality"
+ msgstr "spécialité orale"
+
+ #: teleforma/models/core.py:271
+ msgid "oral_1"
msgstr ""
- #: templates/postman/email_visitor.txt:11
- msgid "Please find below the answer from your correspondent."
+ #: teleforma/models/core.py:272
+ msgid "oral_2"
msgstr ""
- #: templates/postman/email_visitor.txt:15
- msgid "For more comfort, we encourage you to open an account on the site."
+ #: teleforma/models/core.py:273
+ msgid "copies d'examen"
msgstr ""
- #: templates/postman/inbox.html:3
- #, fuzzy
- msgid "Received Messages"
- msgstr "Messages"
+ #: teleforma/models/core.py:343
+ msgid "course group"
+ msgstr "groupe de matière"
- #: templates/postman/inbox.html:6
- msgid "Received"
+ #: teleforma/models/core.py:377 teleforma/models/core.py:419
+ #: teleforma/webclass/models.py:216
+ msgid "professor"
+ msgstr "professeur"
+
+ #: teleforma/models/core.py:394 teleforma/models/core.py:423
+ msgid "room"
+ msgstr "salle"
+
+ #: teleforma/models/core.py:398 teleforma/models/core.py:648
+ #: teleforma/models/core.py:702 teleforma/models/core.py:973
+ msgid "conference"
+ msgstr "conférence"
+
+ #: teleforma/models/core.py:402 teleforma/models/core.py:428
+ msgid "publishing date"
+ msgstr "date de publication"
+
+ #: teleforma/models/core.py:405 teleforma/models/core.py:436
+ msgid "notified"
+ msgstr "notifié"
+
+ #: teleforma/models/core.py:410
+ msgid "public_id"
+ msgstr "public id"
+
+ #: teleforma/models/core.py:425 teleforma/webclass/models.py:173
+ msgid "comment"
+ msgstr "commentaire"
+
+ #: teleforma/models/core.py:429 teleforma/models/core.py:819
+ #: teleforma/models/core.py:902 teleforma/models/core.py:983
+ msgid "readers"
msgstr ""
- #: templates/postman/reply.html:3 templates/postman/view.html:47
- #: templates/postman/view.html.py:50 templates/postman/view.html:53
- msgid "Reply"
+ #: teleforma/models/core.py:433 teleforma/models/core.py:708
+ msgid "streaming"
+ msgstr "diffusion"
+
+ #: teleforma/models/core.py:434 teleforma/models/core.py:1149
+ #: teleforma/models/core.py:1150
+ msgid "web class group"
msgstr ""
- #: templates/postman/sent.html:6
- msgid "Sent"
+ #: teleforma/models/core.py:678
+ msgid "protocol"
msgstr ""
- #: templates/postman/trash.html:3
- #, fuzzy
- msgid "Deleted Messages"
- msgstr "Messages"
+ #: teleforma/models/core.py:679
+ msgid "host"
+ msgstr "hôte"
- #: templates/postman/trash.html:10
- msgid ""
- "Messages in this folder can be removed from time to time. For long term "
- "storage, use instead the archive folder."
+ #: teleforma/models/core.py:680
+ msgid "port"
+ msgstr "port"
+
+ #: teleforma/models/core.py:681
+ msgid "path"
msgstr ""
- #: templates/postman/view.html:9
- msgid "Conversation"
+ #: teleforma/models/core.py:685
+ msgid "source password"
msgstr ""
- #: templates/postman/view.html:9 templates/telemeta/inc/user_list.html:72
- #, fuzzy
- msgid "Message"
- msgstr "Messages"
+ #: teleforma/models/core.py:687
+ msgid "admin password"
+ msgstr ""
+
+ #: teleforma/models/core.py:694 teleforma/models/core.py:705
+ msgid "streaming server"
+ msgstr "serveur de diffusion"
+
+ #: teleforma/models/core.py:706
+ msgid "Streaming type"
+ msgstr "Type de flux"
+
+ #: teleforma/models/core.py:753
+ msgid "live stream"
+ msgstr "stream en direct"
+
+ #: teleforma/models/core.py:762
+ msgid "credits"
+ msgstr "crédits"
+
+ #: teleforma/models/core.py:768
+ msgid "published"
+ msgstr "publié"
+
+ #: teleforma/models/core.py:769
+ msgid "mime type"
+ msgstr "Type mime"
+
+ #: teleforma/models/core.py:771 teleforma/models/pro.py:94
+ msgid "weight"
+ msgstr "poids"
+
+ #: teleforma/models/core.py:795
+ msgid "document type"
+ msgstr "type de document"
+
+ #: teleforma/models/core.py:807
+ msgid "periods"
+ msgstr "périodes"
+
+ #: teleforma/models/core.py:813 teleforma/models/crfpa.py:148
+ #: teleforma/webclass/models.py:160
+ msgid "iej"
+ msgstr "iej"
+
+ #: teleforma/models/core.py:815
+ msgid "annal"
+ msgstr "annale"
- #: templates/postman/view.html:25
+ #: teleforma/models/core.py:816
+ msgid "year"
+ msgstr "année"
+
+ #: teleforma/models/core.py:817 teleforma/models/core.py:869
+ #: teleforma/models/core.py:900 teleforma/models/core.py:941
+ #: teleforma/models/core.py:986
+ msgid "file"
+ msgstr "fichier"
+
+ #: teleforma/models/core.py:865
#, fuzzy
- msgid "Rejected"
- msgstr "rejeté"
+ #| msgid "document 1"
+ msgid "document"
+ msgstr "document 1"
- #: templates/postman/view.html:25
- msgid ":"
- msgstr ""
+ #: teleforma/models/core.py:935
+ msgid "item"
+ msgstr "item"
- #: templates/postman/view.html:36
- msgid "Back"
- msgstr ""
+ #: teleforma/models/core.py:936
+ msgid "mime_type"
+ msgstr "type mime"
- #: templates/postman/write.html:3 templates/telemeta/inc/user_list.html:28
- msgid "Write"
+ #: teleforma/models/core.py:937
+ msgid "date"
msgstr ""
- #: templates/teleforma/annals.html:6 templates/teleforma/annals.html.py:54
- #: templates/telemeta/base.html:109 templates/telemeta/base.html.py:119
- msgid "Annals"
- msgstr "Annales"
+ #: teleforma/models/core.py:988
+ msgid "poster file"
+ msgstr "fichier poster"
- #: templates/teleforma/annals.html:15
- #: templates/telemeta/profile_detail.html:16
- msgid "My courses"
- msgstr "Mes matières"
+ #: teleforma/models/core.py:1145 teleforma/models/crfpa.py:70
+ #: teleforma/models/crfpa.py:71
+ #: teleforma/templates/registration/registration_pdf.html:73
+ #: teleforma/templates/teleforma/annals.html:30
+ #: teleforma/templates/teleforma/inc/user_list.html:21
+ #: teleforma/templates/teleforma/profile_detail.html:68
+ #: teleforma/templates/teleforma/users.html:27
+ msgid "IEJ"
+ msgstr "IEJ"
- #: templates/teleforma/annals.html:49
- #: templates/teleforma/inc/document_list.html:36
- msgid "No document"
- msgstr "Aucun document"
+ #: teleforma/models/crfpa.py:95 teleforma/models/crfpa.py:159
+ #: teleforma/models/crfpa.py:162
+ msgid "written speciality"
+ msgstr "spécialité écrit"
- #: templates/teleforma/annals.html:70
- #: templates/teleforma/inc/conference_list.html:18
- #: templates/teleforma/inc/document_list.html:20
- msgid "View"
- msgstr "Voir"
+ #: teleforma/models/crfpa.py:98 teleforma/models/crfpa.py:165
+ msgid "oral speciality"
+ msgstr "spécialité orale"
- #: templates/teleforma/annals.html:74 templates/teleforma/course_media.html:64
- #: templates/teleforma/inc/document_list.html:22
- #: templates/teleforma/inc/media_list.html:56
- msgid "Download"
- msgstr "Télécharger"
+ #: teleforma/models/crfpa.py:101
+ msgid "oral 1"
+ msgstr ""
- #: templates/teleforma/course.html:14
- #: templates/teleforma/inc/document_list.html:7
- msgid "Documents"
- msgstr "Supports écrits"
+ #: teleforma/models/crfpa.py:104
+ msgid "oral 2"
+ msgstr ""
- #: templates/teleforma/course.html:17 templates/teleforma/course.html.py:33
- #: templates/teleforma/course_conference_audio.html:66
- #: templates/teleforma/course_document.html:73
- #: templates/teleforma/inc/conference_list.html:25
- #: templates/teleforma/inc/media_list.html:36 templates/telemeta/lists.html:69
- #: templates/telemeta/search_criteria.html:97
- #: templates/telemeta/inc/module_revisions.html:17
- msgid "Title"
- msgstr "Titre"
+ #: teleforma/models/crfpa.py:107 teleforma/models/crfpa.py:174
+ msgid "options"
+ msgstr "options"
- #: templates/teleforma/course.html:18 templates/teleforma/course.html.py:34
- msgid "Description"
- msgstr "Description"
+ #: teleforma/models/crfpa.py:112
+ msgid "cost"
+ msgstr "coût"
- #: templates/teleforma/course.html:19 templates/teleforma/course.html.py:35
- #: templates/teleforma/course.html:52
- #: templates/teleforma/course_media.html:147
- #: templates/telemeta/profile_detail.html:81
- msgid "Date added"
- msgstr "Date d'ajout"
+ #: teleforma/models/crfpa.py:114
+ msgid "e-learning cost with fascicle"
+ msgstr ""
- #: templates/teleforma/course.html:30
- msgid "Medias"
- msgstr "Médias"
+ #: teleforma/models/crfpa.py:116
+ msgid "e-learning cost without fascicle"
+ msgstr ""
- #: templates/teleforma/course.html:47
- msgid "Conferences"
- msgstr "Conférences"
+ #: teleforma/models/crfpa.py:117
+ msgid "available"
+ msgstr ""
- #: templates/teleforma/course.html:50
- #: templates/teleforma/course_conference.html:40
- #: templates/teleforma/course_conference.html:71
- #: templates/teleforma/course_conference_audio.html:68
- #: templates/teleforma/course_media.html:86
- #: templates/teleforma/course_media.html:136
- #: templates/teleforma/inc/conference_list.html:26
- #: templates/teleforma/inc/media_list.html:37
- msgid "Session"
- msgstr "Session"
-
- #: templates/teleforma/course.html:51
- #: templates/teleforma/course_conference.html:72
- #: templates/teleforma/course_conference_audio.html:67
- #: templates/teleforma/course_media.html:138
- #: templates/teleforma/inc/conference_list.html:27
- #: templates/teleforma/inc/media_list.html:39
- #: templates/telemeta/inc/user_list.html:48
- msgid "Professor"
- msgstr "Professeur"
+ #: teleforma/models/crfpa.py:118 teleforma/models/crfpa.py:178
+ msgid "e-learning platform only"
+ msgstr "formation e-learning uniquement"
- #: templates/teleforma/course_conference.html:27
- #: templates/teleforma/course_conference_audio.html:25
- msgid "S T O P"
- msgstr "S T O P"
+ #: teleforma/models/crfpa.py:136 teleforma/models/crfpa.py:153
+ msgid "training"
+ msgstr "formation"
- #: templates/teleforma/course_conference.html:37
- #: templates/teleforma/course_media.html:76
- msgid "Audio"
+ #: teleforma/models/crfpa.py:150
+ msgid "trainings"
+ msgstr "formations"
+
+ #: teleforma/models/crfpa.py:168
+ msgid "oral de langue (option)"
msgstr ""
- #: templates/teleforma/course_conference.html:70
- #: templates/teleforma/course_media.html:135
- msgid "Course"
- msgstr "Matière"
+ #: teleforma/models/crfpa.py:171
+ msgid "oral 2 (option)"
+ msgstr ""
- #: templates/teleforma/course_conference.html:75
- #: templates/teleforma/course_media.html:141
- #: templates/teleforma/inc/media_list.html:43
- msgid "Comment"
- msgstr "Commentaire"
+ #: teleforma/models/crfpa.py:180
+ msgid "application fees"
+ msgstr "frais de dossier"
- #: templates/teleforma/course_conference.html:76
- #: templates/teleforma/course_media.html:142
- msgid "Begin date"
- msgstr "Date de début"
+ #: teleforma/models/crfpa.py:183
+ msgid "subscription fees"
+ msgstr "frais d'inscription"
- #: templates/teleforma/course_conference.html:77
- #: templates/teleforma/course_media.html:143
- msgid "End date"
- msgstr "Date de fin"
+ #: teleforma/models/crfpa.py:184
+ msgid "promo code"
+ msgstr ""
- #: templates/teleforma/course_conference.html:78
- #: templates/teleforma/course_conference_audio.html:72
- msgid "Live"
- msgstr "Direct"
+ #: teleforma/models/crfpa.py:186 teleforma/models/crfpa.py:520
+ msgid "registration date"
+ msgstr "date de pré-inscription"
- #: templates/teleforma/course_conference.html:78
- #: templatetags/teleforma_tags.py:132
- msgid "Yes"
- msgstr "Oui"
+ #: teleforma/models/crfpa.py:188
+ msgid "subscription date"
+ msgstr "date d'inscription"
- #: templates/teleforma/course_conference.html:79
- #: templates/teleforma/course_conference_audio.html:69
- #: templates/teleforma/course_media.html:144
- msgid "Room"
- msgstr "Salle"
+ #: teleforma/models/crfpa.py:189
+ msgid "subscribed"
+ msgstr "inscrit"
- #: templates/teleforma/course_conference.html:81
- #: templates/teleforma/course_media.html:150
- msgid "Conference ID"
- msgstr "ID Conférence"
+ #: teleforma/models/crfpa.py:190
+ msgid "confirmation sent"
+ msgstr "confirmation envoyée"
- #: templates/teleforma/course_conference_audio.html:36
- #: templates/teleforma/course_media.html:79
- msgid "Video"
+ #: teleforma/models/crfpa.py:192
+ msgid "studying level"
+ msgstr "niveau d'étude"
+
+ #: teleforma/models/crfpa.py:195
+ msgid "balance de paiement"
msgstr ""
- #: templates/teleforma/course_conference_audio.html:70
- #: templates/teleforma/inc/conference_list.html:28
- #: templates/teleforma/inc/media_list.html:41
- msgid "Begin"
- msgstr "Début"
+ #: teleforma/models/crfpa.py:199
+ msgid "envoi des fascicules"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:202
+ #, fuzzy
+ #| msgid "department"
+ msgid "type de paiement"
+ msgstr "département"
+
+ #: teleforma/models/crfpa.py:205
+ msgid "échéancier de paiement"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:209
+ #, fuzzy
+ #| msgid "comment"
+ msgid "commentaire"
+ msgstr "commentaire"
+
+ #: teleforma/models/crfpa.py:214
+ msgid "échances générées"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:414
+ msgid "Student"
+ msgstr "Etudiant"
+
+ #: teleforma/models/crfpa.py:415
+ msgid "Students"
+ msgstr "Etudiants"
+
+ #: teleforma/models/crfpa.py:462
+ #: teleforma/templates/teleforma/profile_detail.html:96
+ msgid "Language"
+ msgstr "Langue"
+
+ #: teleforma/models/crfpa.py:465
+ msgid "Expiration_date"
+ msgstr "Date d'expiration"
+
+ #: teleforma/models/crfpa.py:466
+ msgid "Password initialized"
+ msgstr "Mot de passe initialisé"
+
+ #: teleforma/models/crfpa.py:467
+ #: teleforma/templates/teleforma/profile_detail.html:85
+ msgid "WiFi login"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:468
+ msgid "WiFi pass"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:470
+ msgid "birthday"
+ msgstr "date de naissance"
+
+ #: teleforma/models/crfpa.py:480
+ #, fuzzy
+ #| msgid "original code"
+ msgid "origin"
+ msgstr "cote originale"
+
+ #: teleforma/models/crfpa.py:487
+ msgid "profile"
+ msgstr "profil"
+
+ #: teleforma/models/crfpa.py:533
+ #, fuzzy
+ #| msgid "Corrector"
+ msgid "Correcteur"
+ msgstr "Correcteur"
+
+ #: teleforma/models/crfpa.py:534
+ #, fuzzy
+ #| msgid "Correctors"
+ msgid "Correcteurs"
+ msgstr "Correcteurs"
+
+ #: teleforma/models/crfpa.py:542 teleforma/models/crfpa.py:569
+ #: teleforma/models/crfpa.py:584 teleforma/models/crfpa.py:599
+ msgid "student"
+ msgstr "étudiant"
+
+ #: teleforma/models/crfpa.py:543 teleforma/models/crfpa.py:570
+ #: teleforma/models/crfpa.py:585 teleforma/models/crfpa.py:600
+ msgid "amount"
+ msgstr "montant"
+
+ #: teleforma/models/crfpa.py:544
+ msgid "month"
+ msgstr "mois"
+
+ #: teleforma/models/crfpa.py:546
+ msgid "payment type"
+ msgstr "type de paiement"
+
+ #: teleforma/models/crfpa.py:548 teleforma/models/crfpa.py:670
+ msgid "date created"
+ msgstr "date de création"
+
+ #: teleforma/models/crfpa.py:560
+ msgid "Payment"
+ msgstr "Paiement"
+
+ #: teleforma/models/crfpa.py:561
+ msgid "Payments"
+ msgstr "Paiements"
+
+ #: teleforma/models/crfpa.py:576
+ msgid "Discount"
+ msgstr "Réduction"
+
+ #: teleforma/models/crfpa.py:577
+ msgid "Discounts"
+ msgstr "Réductions"
+
+ #: teleforma/models/crfpa.py:591 teleforma/models/crfpa.py:592
+ msgid "Optional fees"
+ msgstr "Frais optionnels"
+
+ #: teleforma/models/crfpa.py:606
+ msgid "Payback"
+ msgstr "Remboursement"
+
+ #: teleforma/models/crfpa.py:607
+ msgid "Paybacks"
+ msgstr ""
+
+ #: teleforma/models/crfpa.py:615 teleforma/models/crfpa.py:663
+ #: teleforma/templates/quiz/quiz_list.html:12
+ #: teleforma/templates/teleforma/course.html:19
+ #: teleforma/templates/teleforma/course.html:36
+ #: teleforma/templates/teleforma/course_conference_audio.html:65
+ #: teleforma/templates/teleforma/course_document.html:66
+ #: teleforma/templates/teleforma/inc/conference_list.html:26
+ #: teleforma/templates/teleforma/inc/media_list.html:36
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:33
+ #: teleforma/templates/teleforma/lists.html:69
+ #: teleforma/templates/teleforma/search_criteria.html:96
+ #: teleforma/templates/telemeta/inc/module_revisions.html:17
+ msgid "Title"
+ msgstr "Titre"
+
+ #: teleforma/models/messages.py:23
+ msgid "students"
+ msgstr "étudiants"
+
+ #: teleforma/models/messages.py:28
+ msgid "Student group"
+ msgstr "Groupes étudiant"
+
+ #: teleforma/models/messages.py:38
+ msgid "group"
+ msgstr "group"
+
+ #: teleforma/models/messages.py:41
+ msgid "sender"
+ msgstr "expéditeur"
+
+ #: teleforma/models/messages.py:43
+ msgid "subject"
+ msgstr "sujet"
+
+ #: teleforma/models/messages.py:44
+ msgid "message"
+ msgstr "message"
+
+ #: teleforma/models/messages.py:45
+ msgid "to send"
+ msgstr "à envoyer"
+
+ #: teleforma/models/messages.py:46
+ msgid "sent"
+ msgstr "envoyé"
+
+ #: teleforma/models/messages.py:47
+ msgid "date sent"
+ msgstr "date d'envoi"
+
+ #: teleforma/models/messages.py:51 teleforma/templates/teleforma/users.html:54
+ msgid "Grouped message"
+ msgstr "Message groupé"
+
+ #: teleforma/models/pro.py:52
+ msgid "price"
+ msgstr "prix"
+
+ #: teleforma/models/pro.py:57
+ msgid "public concerned"
+ msgstr ""
+
+ #: teleforma/models/pro.py:60
+ msgid "document 1"
+ msgstr "document 1"
+
+ #: teleforma/models/pro.py:63
+ msgid "media"
+ msgstr "médias"
+
+ #: teleforma/models/pro.py:66
+ msgid "document 2"
+ msgstr "document 2"
+
+ #: teleforma/models/pro.py:69
+ msgid "corrected document"
+ msgstr "document corrigé"
+
+ #: teleforma/models/pro.py:71
+ msgid "suscribers"
+ msgstr "inscrits"
+
+ #: teleforma/models/pro.py:76
+ msgid "approximative duration"
+ msgstr "durée approximative"
+
+ #: teleforma/models/pro.py:77
+ msgid "keywords"
+ msgstr "mots clés"
+
+ #: teleforma/models/pro.py:84
+ msgid "Seminar"
+ msgstr "Sémimaire"
+
+ #: teleforma/models/pro.py:89 teleforma/models/pro.py:150
+ msgid "seminar"
+ msgstr "séminaire"
+
+ #: teleforma/models/pro.py:91 teleforma/models/pro.py:112
+ msgid "question"
+ msgstr "question"
+
+ #: teleforma/models/pro.py:95
+ msgid "minimum numbers of characters"
+ msgstr "nombre de caractère minimum"
+
+ #: teleforma/models/pro.py:104 teleforma/templates/quiz/question.html:47
+ #: teleforma/templates/quiz/sitting_detail.html:21
+ msgid "Question"
+ msgstr "Questions"
+
+ #: teleforma/models/pro.py:110 teleforma/models/pro.py:112
+ #: teleforma/models/pro.py:113
+ msgid "answer"
+ msgstr "réponse"
+
+ #: teleforma/models/pro.py:116
+ msgid "validated"
+ msgstr "validé"
+
+ #: teleforma/models/pro.py:128
+ msgid "Answer"
+ msgstr "Réponse"
+
+ #: teleforma/models/pro.py:137 teleforma/models/pro.py:154
+ msgid "testimonial_template"
+ msgstr ""
+
+ #: teleforma/models/pro.py:138
+ msgid "template"
+ msgstr "modèle"
+
+ #: teleforma/models/pro.py:145
+ msgid "Testimonial template"
+ msgstr "Modèle d'attestation"
+
+ #: teleforma/models/pro.py:152 teleforma/models/pro.py:153
+ #: teleforma/models/pro.py:155
+ msgid "testimonial"
+ msgstr "attestation"
+
+ #: teleforma/models/pro.py:160
+ msgid "Testimonial"
+ msgstr "Attestation"
+
+ #: teleforma/templates/404.html:9
+ msgid "Page not found"
+ msgstr "Page non trouvée"
+
+ #: teleforma/templates/500.html:9
+ msgid "Server error"
+ msgstr "Erreur du serveur"
+
++<<<<<<< HEAD
++#: templates/admin/base.html:21 templates/telemeta/base.html:99
++msgid "Home"
++msgstr "Accueil"
++
++#: templates/postman/archives.html:3
++#, fuzzy
++=======
+ #: teleforma/templates/postman/archives.html:3
++>>>>>>> feature/dj4.2
+ msgid "Archived Messages"
+ msgstr "Messages archivés"
+
+ #: teleforma/templates/postman/archives.html:7
+ msgid ""
+ "Messages in this folder will never be removed. You can use this folder for "
+ "long term storage."
+ msgstr ""
+
+ #: teleforma/templates/postman/base.html:10
+ msgid "Folders"
+ msgstr "Dossiers"
+
+ #: teleforma/templates/postman/base.html:15
+ msgid "Inbox"
+ msgstr ""
+
+ #: teleforma/templates/postman/base.html:16
+ #: teleforma/templates/postman/sent.html:3
+ msgid "Sent Messages"
+ msgstr "Messages envoyés"
+
++<<<<<<< HEAD
++#: templates/postman/base.html:17 templates/telemeta/base.html:114
++=======
+ #: teleforma/templates/postman/base.html:17
++>>>>>>> feature/dj4.2
+ msgid "Archives"
+ msgstr ""
+
+ #: teleforma/templates/postman/base.html:18
+ msgid "Trash"
+ msgstr ""
+
+ #: teleforma/templates/postman/base.html:23
+ msgid "New message"
+ msgstr "Nouveau message"
+
+ #: teleforma/templates/postman/base_folder.html:18
+ msgid "by conversation"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:19
+ msgid "by message"
+ msgstr "par messages"
+
+ #: teleforma/templates/postman/base_folder.html:26
+ msgid "Sorry, this page number is invalid."
+ msgstr ""
+
++<<<<<<< HEAD
++#: templates/postman/base_folder.html:31
++#: templates/teleforma/course_conference_record.html:100
++#: templates/telemeta/lists.html:75
++=======
+ #: teleforma/templates/postman/base_folder.html:48
+ #: teleforma/templates/teleforma/course_conference_record.html:62
+ #: teleforma/templates/teleforma/lists.html:75
++>>>>>>> feature/dj4.2
+ msgid "Action"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:49
+ msgid "Sender"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:51
+ msgid "Subject"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:52
+ #: teleforma/templates/telemeta/inc/module_revisions.html:16
+ msgid "Date"
+ msgstr "Date"
+
+ #: teleforma/templates/postman/base_folder.html:70
+ msgid "g:i A,M j,n/j/y"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:78
+ #: teleforma/templates/postman/view.html:47
+ #: teleforma/templates/teleforma/lists.html:58
+ msgid "Delete"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:81
+ #: teleforma/templates/postman/view.html:51
+ msgid "Archive"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:84
+ msgid "Undelete"
+ msgstr ""
+
+ #: teleforma/templates/postman/base_folder.html:90
+ msgid "No messages."
+ msgstr "Aucun message"
+
+ #: teleforma/templates/postman/base_write.html:14
+ msgid ""
+ "Vous pouvez ici échanger des messages avec les professeurs et les "
+ "administrateurs."
+ msgstr ""
+
+ #: teleforma/templates/postman/base_write.html:16
+ msgid ""
+ "Pour les questions concernant l'organisation des cours, le planning, les "
+ "documents de cours ou les copies, adressez-vous à <b>Admin-CRFPA</b>."
+ msgstr ""
+
+ #: teleforma/templates/postman/base_write.html:18
+ msgid ""
+ "Pour les questions concernant uniquement l'accès à la plateforme et aux "
+ "médias vidéo ou audio, lire d'abord"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:1
+ #: teleforma/templates/postman/email_user_init.txt:1
+ #: teleforma/templates/registration/password_reset_email.html:1
+ msgid "Hello"
+ msgstr "Bonjour"
+
+ #: teleforma/templates/postman/email_user.txt:3
+ #: teleforma/templates/postman/email_visitor.txt:3
+ #, python-format
+ msgid "On %(date)s, you asked to send a message to the user '%(recipient)s'."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:5
+ #: teleforma/templates/postman/email_visitor.txt:5
+ msgid "Your message has been rejected by the moderator"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:5
+ #: teleforma/templates/postman/email_visitor.txt:5
+ msgid ", for the following reason:"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:9
+ #: teleforma/templates/postman/email_visitor.txt:10
+ #, python-format
+ msgid "On %(date)s, you sent a message to the user '%(sender)s'."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:10
+ msgid "Your correspondent has given you an answer."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:14
+ #, python-format
+ msgid "You have received a copy of a response from the user '%(sender)s' :"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:17
+ #, python-format
+ msgid "You have received a message from the user '%(sender)s': "
+ msgstr "Vous avez reçu un message de l'utilisateur '%(sender)s' : "
+
+ #: teleforma/templates/postman/email_user.txt:27
+ #: teleforma/templates/postman/email_visitor.txt:14
+ msgid "Thank you again for your interest in our services."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user.txt:28
+ #: teleforma/templates/quiz/question.html:47
+ msgid "of"
+ msgstr "de"
+
+ #: teleforma/templates/postman/email_user_subject.txt:1
+ #: teleforma/templates/postman/email_visitor_subject.txt:1
+ #, python-format
+ msgid "Message \"%(subject)s\" on the site %(sitename)s"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_user_subject_init.txt:1
+ #, python-format
+ msgid "%(organization)s : initialization of your e-learning account"
+ msgstr "%(organization)s : initialisation de votre compte e-learning"
+
+ #: teleforma/templates/postman/email_visitor.txt:1
+ msgid "Dear visitor,"
+ msgstr ""
+
+ #: teleforma/templates/postman/email_visitor.txt:8
+ msgid "As a reminder, please find below the content of your message."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_visitor.txt:11
+ msgid "Please find below the answer from your correspondent."
+ msgstr ""
+
+ #: teleforma/templates/postman/email_visitor.txt:15
+ msgid "For more comfort, we encourage you to open an account on the site."
+ msgstr ""
+
+ #: teleforma/templates/postman/inbox.html:3
+ msgid "Received Messages"
+ msgstr "Messages reçus"
+
+ #: teleforma/templates/postman/inbox.html:6
+ msgid "Received"
+ msgstr ""
+
+ #: teleforma/templates/postman/reply.html:3
+ #: teleforma/templates/postman/view.html:56
+ #: teleforma/templates/postman/view.html:59
+ msgid "Reply"
+ msgstr ""
+
+ #: teleforma/templates/postman/sent.html:6
+ msgid "Sent"
+ msgstr ""
+
+ #: teleforma/templates/postman/trash.html:3
+ msgid "Deleted Messages"
+ msgstr "Messages supprimés"
+
+ #: teleforma/templates/postman/trash.html:10
+ msgid ""
+ "Messages in this folder can be removed from time to time. For long term "
+ "storage, use instead the archive folder."
+ msgstr ""
+
+ #: teleforma/templates/postman/view.html:9
+ msgid "Conversation"
+ msgstr ""
+
+ #: teleforma/templates/postman/view.html:9
+ #: teleforma/templates/teleforma/inc/user_list.html:72
+ #, fuzzy
+ msgid "Message"
+ msgstr "Messages"
+
+ #: teleforma/templates/postman/view.html:33
+ msgid ":"
+ msgstr ""
+
+ #: teleforma/templates/postman/view.html:44
+ msgid "Back"
+ msgstr ""
+
+ #: teleforma/templates/postman/write.html:3
+ #: teleforma/templates/teleforma/inc/user_list.html:28
+ msgid "Write"
+ msgstr ""
+
++<<<<<<< HEAD
++#: templates/teleforma/annals.html:6 templates/teleforma/annals.html.py:54
++#: templates/telemeta/base.html:109 templates/telemeta/base.html.py:119
++msgid "Annals"
++msgstr "Annales"
++=======
+ #: teleforma/templates/quiz/category_list.html:3
+ #: teleforma/templates/quiz/quiz_list.html:3
+ #: teleforma/templates/quiz/sitting_list.html:3
+ msgid "All Quizzes"
+ msgstr ""
++>>>>>>> feature/dj4.2
+
+ #: teleforma/templates/quiz/category_list.html:6
+ msgid "Category list"
+ msgstr "Liste de catégories"
+
+ #: teleforma/templates/quiz/correct_answer.html:6
+ msgid "You answered the above question incorrectly"
+ msgstr ""
+
+ #: teleforma/templates/quiz/correct_answer.html:16
+ msgid "This is the correct answer"
+ msgstr ""
+
+ #: teleforma/templates/quiz/correct_answer.html:23
+ msgid "This was your answer."
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:6
+ msgid "Progress Page"
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:7
+ #, fuzzy
+ #| msgid "User Profile"
+ msgid "User Progress Page"
+ msgstr "Profil utilisateur"
+
+ #: teleforma/templates/quiz/progress.html:13
+ msgid "Question Category Scores"
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:19
+ #: teleforma/templates/quiz/quiz_detail.html:9
+ #: teleforma/templates/quiz/quiz_list.html:13
+ #: teleforma/templates/quiz/sitting_detail.html:10
+ msgid "Category"
+ msgstr "Catégorie"
+
+ #: teleforma/templates/quiz/progress.html:20
+ msgid "Correctly answererd"
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:21
+ msgid "Incorrect"
+ msgstr "Incorrect"
+
+ #: teleforma/templates/quiz/progress.html:50
+ msgid "Previous exam papers"
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:52
+ msgid "Below are the results of exams that you have sat."
+ msgstr ""
+
+ #: teleforma/templates/quiz/progress.html:59
+ #, fuzzy
+ #| msgid "Title"
+ msgid "Quiz Title"
+ msgstr "Titre"
+
+ #: teleforma/templates/quiz/progress.html:61
+ msgid "Possible Score"
+ msgstr ""
+
+ #: teleforma/templates/quiz/question.html:13
+ #: teleforma/templates/quiz/result.html:13
+ msgid "The previous question"
+ msgstr ""
+
+ #: teleforma/templates/quiz/question.html:32
+ #: teleforma/templates/quiz/result.html:21
+ #: teleforma/templates/quiz/result.html:80
+ #, fuzzy
+ #| msgid "Enumeration"
+ msgid "Explanation"
+ msgstr "Enumération"
+
+ #: teleforma/templates/quiz/question.html:52
+ #, fuzzy
+ #| msgid "Question"
+ msgid "Question category"
+ msgstr "Questions"
+
++<<<<<<< HEAD
++#: templates/teleforma/course_conference_record.html:61
++#: templates/teleforma/courses.html:107
++msgid "Status"
++msgstr "Status"
++
++#: templates/teleforma/course_conference_record.html:72
++#: templates/teleforma/courses.html:42
++msgid "New conference"
++msgstr "Nouvelle conférence"
++
++#: templates/teleforma/course_conference_record.html:101
++msgid "Record and stream"
++msgstr "Enregistrer et diffuser"
++
++#: templates/teleforma/course_media.html:28
++#: templates/teleforma/course_media.html:82
++#: templates/teleforma/inc/media_list.html:50
++msgid " published"
++msgstr " publié"
++
++#: templates/teleforma/course_media.html:35
++#: templates/teleforma/course_media.html:82
++#: templates/teleforma/inc/media_list.html:52
++msgid " rejected"
++msgstr " rejeté"
++
++#: templates/teleforma/course_media.html:146
++msgid "Mime type"
++msgstr "Type mime"
++
++#: templates/teleforma/course_media.html:148
++msgid "Date modified"
++msgstr "Date de modification"
++
++#: templates/teleforma/course_media.html:149
++msgid "Media ID"
++msgstr "ID Média"
++
++#: templates/teleforma/courses.html:49
++msgid "My notes"
++msgstr "Mes notes"
++
++#: templates/teleforma/courses.html:59
++msgid "New note"
++msgstr "Nouvelle note"
++
++#: templates/teleforma/help.html:11 templates/telemeta/base.html:124
++#: templates/telemeta/base.html.py:137
++msgid "Help"
++msgstr "Aide"
++
++#: templates/teleforma/inc/conference_list.html:8
++msgid "Live conferences"
++msgstr "Conférences en direct"
++
++#: templates/teleforma/inc/conference_list.html:19
++#: templates/teleforma/inc/media_list.html:23
++#: templates/teleforma/inc/media_list.html:29
++msgid "Click here"
++msgstr "Cliquez ici"
++
++#: templates/teleforma/inc/media_list.html:8
++msgid "Passed conferences"
++msgstr "Conférences en différé"
++
++#: templates/teleforma/inc/media_list.html:17
++msgid "Play"
++msgstr "Lire"
++
++#: templates/telemeta/base.html:87 templates/telemeta/base.html.py:95
++msgid "Desk"
++msgstr "Bureau"
++
++#: templates/telemeta/base.html:104
++msgid "Messaging"
++msgstr "Messagerie"
++
++#: templates/telemeta/base.html:107 templates/telemeta/users.html:6
++#: templates/telemeta/users.html.py:69
++msgid "Users"
++msgstr ""
++
++#: templates/telemeta/base.html:116 templates/telemeta/search_criteria.html:69
++msgid "Search"
++msgstr ""
++
++#: templates/telemeta/base.html:117
++msgid "Collections"
++msgstr ""
++
++#: templates/telemeta/base.html:118
++msgid "Items"
++msgstr ""
++
++#: templates/telemeta/base.html:122
++msgid "Admin"
++msgstr ""
++
++#: templates/telemeta/base.html:134
++msgid "Profile"
++msgstr "Profil"
++
++#: templates/telemeta/base.html:136
++msgid "Lists"
++msgstr ""
++
++#: templates/telemeta/base.html:139
++msgid "Sign out"
++msgstr ""
++
++#: templates/telemeta/base.html:181
++msgid "Powered by"
++msgstr ""
++
++#: templates/telemeta/base.html:191
++msgid "Legal notices"
++=======
+ #: teleforma/templates/quiz/question.html:74
+ msgid "Check"
+ msgstr ""
+
+ #: teleforma/templates/quiz/quiz_detail.html:11
+ msgid "You will only get one attempt at this quiz"
+ msgstr ""
+
+ #: teleforma/templates/quiz/quiz_detail.html:16
+ msgid "Start quiz"
+ msgstr "Démarrer le quiz"
+
+ #: teleforma/templates/quiz/quiz_list.html:6
+ msgid "List of quizzes"
+ msgstr ""
+
+ #: teleforma/templates/quiz/quiz_list.html:14
+ msgid "Exam"
+ msgstr ""
+
+ #: teleforma/templates/quiz/quiz_list.html:15
+ msgid "Single attempt"
+ msgstr ""
+
+ #: teleforma/templates/quiz/quiz_list.html:31
+ #: teleforma/templates/quiz/sitting_list.html:42
+ #, fuzzy
+ #| msgid "location details"
+ msgid "View details"
+ msgstr "précisions lieu"
+
+ #: teleforma/templates/quiz/quiz_list.html:41
+ msgid "There are no available quizzes"
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:7
+ #, fuzzy
+ #| msgid "Search Results"
+ msgid "Exam Results for"
+ msgstr "Résultats de recherche"
+
+ #: teleforma/templates/quiz/result.html:32
+ #, fuzzy
+ #| msgid "Search Results"
+ msgid "Exam results"
+ msgstr "Résultats de recherche"
+
+ #: teleforma/templates/quiz/result.html:34
+ #, fuzzy
+ #| msgid "title"
+ msgid "Exam title"
+ msgstr "titre"
+
+ #: teleforma/templates/quiz/result.html:38
+ #, fuzzy
+ #| msgid "Your answer was"
+ msgid "You answered"
+ msgstr "Votre réponse est"
+
+ #: teleforma/templates/quiz/result.html:38
+ msgid "questions correctly out of"
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:38
+ msgid "giving you"
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:38
+ msgid "percent correct"
++>>>>>>> feature/dj4.2
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:59
+ msgid "Your session score is"
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:59
+ msgid "out of a possible"
+ msgstr ""
+
+ #: teleforma/templates/quiz/result.html:77
+ #, fuzzy
+ #| msgid "Your answer was"
+ msgid "Your answer"
+ msgstr "Votre réponse est"
+
+ #: teleforma/templates/quiz/single_complete.html:13
+ msgid "You have already sat this exam and only one sitting is permitted"
+ msgstr ""
+
+ #: teleforma/templates/quiz/single_complete.html:15
+ msgid "This exam is only accessible to signed in users"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_detail.html:5
+ msgid "Result of"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_detail.html:5
+ #, fuzzy
+ #| msgid "format"
+ msgid "for"
+ msgstr "format"
+
+ #: teleforma/templates/quiz/sitting_detail.html:9
+ #, fuzzy
+ #| msgid "title"
+ msgid "Quiz title"
+ msgstr "titre"
+
+ #: teleforma/templates/quiz/sitting_detail.html:13
+ #: teleforma/templates/quiz/sitting_list.html:13
+ #: teleforma/templates/telemeta/inc/module_revisions.html:19
+ msgid "User"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_detail.html:14
+ #: teleforma/templates/quiz/sitting_list.html:15
+ #, fuzzy
+ #| msgid "incomplete"
+ msgid "Completed"
+ msgstr "incomplet"
+
+ #: teleforma/templates/quiz/sitting_detail.html:22
+ #, fuzzy
+ #| msgid "answer"
+ msgid "User answer"
+ msgstr "réponse"
+
+ #: teleforma/templates/quiz/sitting_detail.html:41
+ #, fuzzy
+ #| msgid "corrector"
+ msgid "incorrect"
+ msgstr "correcteur"
+
+ #: teleforma/templates/quiz/sitting_detail.html:43
+ #, fuzzy
+ #| msgid "Corrector"
+ msgid "Correct"
+ msgstr "Correcteur"
+
+ #: teleforma/templates/quiz/sitting_detail.html:49
+ msgid "Toggle whether correct"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_list.html:6
+ msgid "List of complete exams"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_list.html:14
+ msgid "Quiz"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_list.html:28
+ msgid "Filter"
+ msgstr ""
+
+ #: teleforma/templates/quiz/sitting_list.html:52
+ msgid "There are no matching quizzes"
+ msgstr ""
+
+ #: teleforma/templates/quiz/view_quiz_category.html:3
+ #, fuzzy
+ #| msgid "item related media"
+ msgid "Quizzes related to"
+ msgstr "média associés à l'item"
+
+ #: teleforma/templates/quiz/view_quiz_category.html:6
+ msgid "Quizzes in the"
+ msgstr ""
+
+ #: teleforma/templates/quiz/view_quiz_category.html:6
+ msgid "category"
+ msgstr "catégorie"
+
+ #: teleforma/templates/quiz/view_quiz_category.html:20
+ msgid "There are no quizzes"
+ msgstr ""
+
+ #: teleforma/templates/registration/activate.html:3
+ #: teleforma/templates/registration/activation_complete.html:3
+ msgid "Activation complete"
+ msgstr "Activation effectuée"
+
+ #: teleforma/templates/registration/activate.html:3
+ msgid "Activation problem"
+ msgstr "Problème d'activation"
+
+ #: teleforma/templates/registration/activate.html:7
+ #, python-format
+ msgid ""
+ "\n"
+ "Thanks %(account)s, activation complete!\n"
+ "You may now <a href='%(auth_login_url)s'>login</a> using the username and "
+ "password you set at registration.\n"
+ msgstr ""
+
+ #: teleforma/templates/registration/activate.html:12
+ msgid ""
+ "Oops – it seems that your activation key is invalid. Please check the "
+ "url again."
+ msgstr ""
+
+ #: teleforma/templates/registration/activation_complete.html:6
+ #, python-format
+ msgid ""
+ "\n"
+ "Thanks, activation complete! You may now <a "
+ "href='%(auth_login_url)s'>login</a> using the username and password you set "
+ "at registration.\n"
+ msgstr ""
+
+ #: teleforma/templates/registration/activation_email.html:8
+ #, python-format
+ msgid ""
+ "<body>\n"
+ "<h3>Account registration for %(sitename)s</h3>\n"
+ "<p>\n"
+ "You (or someone pretending to be you) have asked to register an account at\n"
+ "<b>%(sitename)s</b>.<br/>\n"
+ "If this wasn't you, please ignore this email and your address will be "
+ "removed\n"
+ "from our records.\n"
+ "</p>\n"
+ "<p>\n"
+ "To activate this account, please click the following link within the next\n"
+ "<b>%(expiration_days)s</b> days:<br/>\n"
+ "<a href=\"https://%(sitedomain)s%(activation_key_url)s\">https://"
+ "%(sitedomain)s%(activation_key_url)s</a>\n"
+ "</p>\n"
+ "<p>\n"
+ "Sincerely,<br/>\n"
+ "%(sitename)s Management\n"
+ "</p>\n"
+ "</body>\n"
+ msgstr ""
+
+ #: teleforma/templates/registration/activation_email.txt:3
+ #, python-format
+ msgid ""
+ "\n"
+ "You (or someone pretending to be you) have asked to register an account at\n"
+ "%(sitename)s. If this wasn't you, please ignore this email\n"
+ "and your address will be removed from our records.\n"
+ "\n"
+ "To activate this account, please click the following link within the next\n"
+ "%(expiration_days)s days:\n"
+ "\n"
+ "http://%(siteurl)s%(activation_key_url)s\n"
+ "\n"
+ "Sincerely,\n"
+ "%(sitename)s Management\n"
+ msgstr ""
+
+ #: teleforma/templates/registration/activation_email_subject.txt:1
+ #, python-format
+ msgid "Account registration for %(sitename)s"
+ msgstr ""
+
+ #: teleforma/templates/registration/logged_out.html:6
+ msgid "Thanks for spending some quality time with the Web site today."
+ msgstr ""
+
+ #: teleforma/templates/registration/logged_out.html:8
+ msgid "Log in again"
+ msgstr "Se reconnecter"
+
+ #: teleforma/templates/registration/logout.html:3
+ msgid "Logged out"
+ msgstr ""
+
+ #: teleforma/templates/registration/logout.html:5
+ msgid "Successfully logged out!"
+ msgstr ""
+
+ #: teleforma/templates/registration/password_change_done.html:3
+ msgid "Documentation"
+ msgstr "Documentation associée"
+
+ #: teleforma/templates/registration/password_change_done.html:3
+ #: teleforma/templates/teleforma/profile_detail.html:49
+ msgid "Change password"
+ msgstr ""
+
+ #: teleforma/templates/registration/password_change_done.html:3
+ msgid "Log out"
+ msgstr "Déconnexion"
+
+ #: teleforma/templates/registration/password_change_done.html:5
+ msgid "Password change successful"
+ msgstr "Mot de passe modifié avec succès"
+
+ #: teleforma/templates/registration/password_change_done.html:9
+ msgid "Your password was changed."
+ msgstr "Votre mot de passe a été modifié."
+
+ #: teleforma/templates/registration/password_change_form.html:3
+ msgid "Password change"
+ msgstr "Modification de mot de passe"
+
+ #: teleforma/templates/registration/password_change_form.html:11
+ msgid "Please correct the error below."
+ msgid_plural "Please correct the errors below."
+ msgstr[0] "Veuillez corriger l'erreur ci-dessous."
+ msgstr[1] "Veuillez corriger les erreurs ci-dessous."
+
+ #: teleforma/templates/registration/password_change_form.html:15
+ msgid ""
+ "Please enter your old password, for security's sake, and then enter your new "
+ "password twice so we can verify you typed it in correctly."
+ msgstr ""
+ "Veuillez saisir votre ancien mot de passe pour des raisons de sécurité."
+
+ #: teleforma/templates/registration/password_change_form.html:21
+ msgid "Old password"
+ msgstr "Ancien mot de passe"
+
+ #: teleforma/templates/registration/password_change_form.html:26
+ msgid "New password"
+ msgstr "Nouveau mot de passe"
+
+ #: teleforma/templates/registration/password_change_form.html:31
+ msgid "Password (again)"
+ msgstr "Mot de passe (encore)"
+
+ #: teleforma/templates/registration/password_change_form.html:39
+ #: teleforma/templates/registration/password_reset_confirm.html:20
+ msgid "Change my password"
+ msgstr "Changer mon mot de passe"
+
+ #: teleforma/templates/registration/password_reset_complete.html:4
+ #, fuzzy
+ msgid "Password reset complete"
+ msgstr "Réinitialisation du mot de passe effectuée"
+
+ #: teleforma/templates/registration/password_reset_complete.html:7
+ msgid "Your password has been set. You may go ahead and log in now."
+ msgstr ""
+ "Votre mot de passe a été rédéfini. Vous pouvez désormais vous connecter."
+
+ #: teleforma/templates/registration/password_reset_complete.html:10
+ msgid "Log in"
+ msgstr "Se connecter"
+
+ #: teleforma/templates/registration/password_reset_confirm.html:4
+ #: teleforma/templates/registration/password_reset_form.html:4
+ msgid "Password reset"
+ msgstr "Réinitialisation du mot de passe"
+
+ #: teleforma/templates/registration/password_reset_confirm.html:8
+ msgid ""
+ "Please enter your new password twice so we can verify you typed it in "
+ "correctly."
+ msgstr "Veuillez saisir votre nouveau mot de passe une seconde fois."
+
+ #: teleforma/templates/registration/password_reset_confirm.html:14
+ msgid "New password:"
+ msgstr "Nouveau mot de passe"
+
+ #: teleforma/templates/registration/password_reset_confirm.html:16
+ msgid "Confirm password:"
+ msgstr "Confirmez votre mot de passe:"
+
+ #: teleforma/templates/registration/password_reset_confirm.html:24
+ msgid "Password reset unsuccessful"
+ msgstr "Echec de la réinitialisation de mot de passe"
+
+ #: teleforma/templates/registration/password_reset_confirm.html:25
+ msgid ""
+ "The password reset link was invalid, possibly because it has already been "
+ "used. Please request a new password reset."
+ msgstr ""
+ "Le lien de réinitialisation de mot de passe est invalide. Probablement parce "
+ "qu'il a déja été utilisé. Veuillez faire une nouvelle demande de changement "
+ "de mot de passe."
+
+ #: teleforma/templates/registration/password_reset_done.html:4
+ msgid "Password reset successful"
+ msgstr "Demande de réinitialisation de mot de passe envoyée"
+
+ #: teleforma/templates/registration/password_reset_done.html:7
+ msgid ""
+ "We've e-mailed you instructions for setting your password to the e-mail "
+ "address you submitted. You should be receiving it shortly."
+ msgstr ""
+ "Nous vous avons envoyé des instructions sur l'adresse mail que vous nous "
+ "avez indiqué pour définir un nouveau mot de passe. Vous devriez le recevoir "
+ "dans les prochaines minutes."
+
+ #: teleforma/templates/registration/password_reset_email.html:3
+ msgid "You're receiving this e-mail because you requested a password reset"
+ msgstr ""
+ "Vous recevez cet e-mail car vous avez fait une demande de réinitialisation "
+ "du mot de passe"
+
+ #: teleforma/templates/registration/password_reset_email.html:7
+ msgid "Please go to the following page and choose a new password:"
+ msgstr "Veuillez suivre ce lien et choisir un nouveau mot de passe:"
+
+ #: teleforma/templates/registration/password_reset_form.html:12
+ msgid "Reset my password"
+ msgstr "Réinitialiser mon mot de passe"
+
+ #: teleforma/templates/registration/registration_complete.html:5
+ #: teleforma/templates/registration/registration_corrector_complete.html:5
+ #: teleforma/templates/registration/registration_corrector_pdf.html:13
+ #: teleforma/templates/registration/registration_pdf.html:13
+ #: teleforma/views/crfpa.py:831 teleforma/views/crfpa.py:1005
+ #: teleforma/views/crfpa.py:1019
+ msgid "Registration"
+ msgstr "Inscription"
+
+ #: teleforma/templates/registration/registration_complete.html:18
+ #: teleforma/templates/teleforma/annals.html:72
+ #: teleforma/templates/teleforma/course_media_transcoded.html:25
+ #: teleforma/templates/teleforma/inc/document_list.html:22
+ #: teleforma/templates/teleforma/inc/media_list.html:67
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:53
+ msgid "Download"
+ msgstr "Télécharger"
+
+ #: teleforma/templates/registration/registration_corrector_pdf.html:35
+ #: teleforma/templates/registration/registration_pdf.html:40
+ msgid "First name"
+ msgstr "Prénom"
+
+ #: teleforma/templates/registration/registration_corrector_pdf.html:39
+ #: teleforma/templates/registration/registration_pdf.html:44
+ msgid "Last name"
+ msgstr "Nom"
+
+ #: teleforma/templates/registration/registration_corrector_pdf.html:51
+ #: teleforma/templates/registration/registration_pdf.html:56
+ msgid "E-mail"
+ msgstr ""
+
+ #: teleforma/templates/registration/registration_corrector_pdf.html:55
+ #: teleforma/templates/registration/registration_pdf.html:60
+ #: teleforma/templates/teleforma/profile_detail.html:65
+ msgid "Username"
+ msgstr "Nom d'utilisateur"
+
+ #: teleforma/templates/registration/registration_corrector_pdf.html:84
+ #: teleforma/templates/registration/registration_pdf.html:105
+ msgid "Registration date"
+ msgstr "Date de pré-inscription"
+
+ #: teleforma/templates/registration/registration_form.html:32
+ msgid "Pre-registration"
+ msgstr "Pré-inscription"
+
+ #: teleforma/templates/registration/registration_pdf.html:35
+ msgid "Training registration"
+ msgstr "Fiche d'inscription"
+
+ #: teleforma/templates/registration/registration_pdf.html:35
+ #: teleforma/templates/registration/registration_pdf.html:77
+ msgid "Training"
+ msgstr "Formation"
+
+ #: teleforma/templates/registration/registration_pdf.html:81
+ msgid "Training type"
+ msgstr "Type de formation"
+
+ #: teleforma/templates/registration/registration_pdf.html:85
+ msgid "Envoi postal des fascicules de cours"
+ msgstr ""
+
+ #: teleforma/templates/registration/registration_pdf.html:89
+ msgid "Matière de procédure"
+ msgstr ""
+
+ #: teleforma/templates/registration/registration_pdf.html:93
+ msgid "Matière juridique de spécialité"
+ msgstr ""
+
+ #: teleforma/templates/registration/registration_pdf.html:98
+ msgid "Matière d'oral de langue"
+ msgstr ""
+
+ #: teleforma/templates/registration/registration_pdf.html:109
+ msgid "PROMO code"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/annals.html:5
+ #: teleforma/templates/teleforma/annals.html:52
+ #: teleforma/templates/teleforma/base.html:104
+ #: teleforma/templates/telemeta/base.html:116
+ msgid "Annals"
+ msgstr "Annales"
+
+ #: teleforma/templates/teleforma/annals.html:48
+ #: teleforma/templates/teleforma/inc/document_list.html:34
+ msgid "No document"
+ msgstr "Aucun document"
+
+ #: teleforma/templates/teleforma/annals.html:68
+ #: teleforma/templates/teleforma/inc/conference_list.html:19
+ #: teleforma/templates/teleforma/inc/document_list.html:20
+ #: teleforma/webclass/templates/webclass/webclass_record.html:5
+ msgid "View"
+ msgstr "Voir"
+
+ #: teleforma/templates/teleforma/base.html:81
+ #: teleforma/templates/teleforma/base.html:90
+ #: teleforma/templates/telemeta/base.html:95
+ #: teleforma/templates/telemeta/base.html:104
+ msgid "Desk"
+ msgstr "Bureau"
+
+ #: teleforma/templates/teleforma/base.html:95
+ #: teleforma/templates/telemeta/base.html:109
+ msgid "Home"
+ msgstr "Accueil"
+
+ #: teleforma/templates/teleforma/base.html:100
+ #: teleforma/templates/telemeta/base.html:114
+ msgid "Messaging"
+ msgstr "Messagerie"
+
+ #: teleforma/templates/teleforma/base.html:157
+ #: teleforma/templates/telemeta/base.html:153
+ msgid "Admin"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/base.html:168
+ #: teleforma/templates/teleforma/base.html:177
+ #: teleforma/templates/telemeta/base.html:162
+ #: teleforma/templates/telemeta/base.html:171
+ msgid "Profile"
+ msgstr "Profil"
+
+ #: teleforma/templates/teleforma/base.html:173
+ #: teleforma/templates/teleforma/base.html:179
+ #: teleforma/templates/telemeta/base.html:167
+ #: teleforma/templates/telemeta/base.html:172
+ msgid "Sign out"
+ msgstr "Se déconnecter"
+
+ #: teleforma/templates/teleforma/base.html:237
+ #: teleforma/templates/telemeta/base.html:222
+ msgid "Powered by"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/base.html:248
+ #: teleforma/templates/telemeta/base.html:232
+ msgid "Legal notices"
+ msgstr "Mentions légales"
+
+ #: teleforma/templates/teleforma/course.html:16
+ #: teleforma/templates/teleforma/inc/document_list.html:9
+ msgid "Documents"
+ msgstr "Supports écrits"
+
+ #: teleforma/templates/teleforma/course.html:20
+ #: teleforma/templates/teleforma/course.html:37
+ msgid "Description"
+ msgstr "Description"
+
+ #: teleforma/templates/teleforma/course.html:21
+ #: teleforma/templates/teleforma/course.html:38
+ #: teleforma/templates/teleforma/course.html:55
+ #: teleforma/templates/teleforma/course_media.html:188
+ #: teleforma/templates/teleforma/course_media_transcoded.html:105
+ #: teleforma/templates/teleforma/profile_detail.html:89
+ msgid "Date added"
+ msgstr "Date d'ajout"
+
+ #: teleforma/templates/teleforma/course.html:33
+ msgid "Medias"
+ msgstr "Médias"
+
+ #: teleforma/templates/teleforma/course.html:50
+ msgid "Conferences"
+ msgstr "Conférences"
+
+ #: teleforma/templates/teleforma/course.html:54
+ #: teleforma/templates/teleforma/course_conference.html:110
+ #: teleforma/templates/teleforma/course_conference_audio.html:66
+ #: teleforma/templates/teleforma/course_media.html:161
+ #: teleforma/templates/teleforma/course_media_transcoded.html:96
+ #: teleforma/templates/teleforma/course_media_video_embed.html:35
+ #: teleforma/templates/teleforma/inc/conference_list.html:29
+ #: teleforma/templates/teleforma/inc/media_list.html:39
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:36
+ #: teleforma/templates/teleforma/inc/user_list.html:48
+ #: teleforma/webclass/templates/webclass/webclass_record.html:14
+ msgid "Professor"
+ msgstr "Professeur"
+
+ #: teleforma/templates/teleforma/course_conference.html:50
+ #: teleforma/templates/teleforma/course_conference_audio.html:24
+ msgid "S T O P"
+ msgstr "S T O P"
+
+ #: teleforma/templates/teleforma/course_conference.html:60
+ #: teleforma/templates/teleforma/course_media.html:71
+ #: teleforma/templates/teleforma/course_media_transcoded.html:37
+ msgid "Audio"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/course_conference.html:113
+ #: teleforma/templates/teleforma/course_media.html:165
+ #: teleforma/templates/teleforma/course_media_transcoded.html:99
+ #: teleforma/templates/teleforma/course_media_video_embed.html:37
+ #: teleforma/templates/teleforma/inc/media_list.html:50
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:40
+ msgid "Comment"
+ msgstr "Commentaire"
+
+ #: teleforma/templates/teleforma/course_conference.html:114
+ #: teleforma/templates/teleforma/course_media.html:175
+ #: teleforma/templates/teleforma/course_media.html:186
+ #: teleforma/templates/teleforma/course_media_transcoded.html:100
+ #: teleforma/templates/teleforma/course_media_video_embed.html:38
+ #: teleforma/templates/teleforma/inc/media_list.html:42
+ msgid "Begin date"
+ msgstr "Date de début"
+
+ #: teleforma/templates/teleforma/course_conference.html:115
+ #: teleforma/templates/teleforma/course_media.html:187
+ #: teleforma/templates/teleforma/course_media_transcoded.html:101
+ #: teleforma/templates/teleforma/course_media_video_embed.html:39
+ msgid "End date"
+ msgstr "Date de fin"
+
+ #: teleforma/templates/teleforma/course_conference.html:116
+ #: teleforma/templates/teleforma/course_conference_audio.html:71
+ msgid "Live"
+ msgstr "Direct"
+
+ #: teleforma/templates/teleforma/course_conference.html:116
+ #: teleforma/templatetags/teleforma_tags.py:149
+ msgid "Yes"
+ msgstr "Oui"
+
+ #: teleforma/templates/teleforma/course_conference.html:117
+ #: teleforma/templates/teleforma/course_conference_audio.html:68
+ #: teleforma/templates/teleforma/course_media.html:169
+ #: teleforma/templates/teleforma/course_media_transcoded.html:102
+ #: teleforma/templates/teleforma/course_media_video_embed.html:40
+ msgid "Room"
+ msgstr "Salle"
+
+ #: teleforma/templates/teleforma/course_conference.html:119
+ #: teleforma/templates/teleforma/course_media.html:192
+ #: teleforma/templates/teleforma/course_media_transcoded.html:108
+ msgid "Conference ID"
+ msgstr "ID Conférence"
+
+ #: teleforma/templates/teleforma/course_conference_audio.html:35
+ #: teleforma/templates/teleforma/course_media.html:74
+ #: teleforma/templates/teleforma/course_media_transcoded.html:40
+ msgid "Video"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/course_conference_audio.html:69
+ #: teleforma/templates/teleforma/inc/conference_list.html:31
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:38
+ #: teleforma/webclass/templates/webclass/webclass_record.html:17
+ msgid "Begin"
+ msgstr "Début"
+
+ #: teleforma/templates/teleforma/course_conference_audio.html:70
+ msgid "End"
+ msgstr "Fin"
+
+ #: teleforma/templates/teleforma/course_conference_record.html:23
+ #: teleforma/templates/teleforma/courses.html:198
+ msgid "Status"
+ msgstr "Status"
+
+ #: teleforma/templates/teleforma/course_conference_record.html:34
+ #: teleforma/templates/teleforma/courses.html:35
+ msgid "New conference"
+ msgstr "Nouvelle conférence"
+
+ #: teleforma/templates/teleforma/course_conference_record.html:63
+ msgid "Record and stream"
+ msgstr "Enregistrer et diffuser"
+
+ #: teleforma/templates/teleforma/course_media.html:21
+ #: teleforma/templates/teleforma/course_media.html:77
+ #: teleforma/templates/teleforma/inc/media_list.html:59
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:47
+ msgid " published"
+ msgstr " publié"
+
+ #: teleforma/templates/teleforma/course_media.html:28
+ #: teleforma/templates/teleforma/course_media.html:77
+ #: teleforma/templates/teleforma/inc/media_list.html:61
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:49
+ msgid " rejected"
+ msgstr " rejeté"
+
+ #: teleforma/templates/teleforma/course_media.html:177
+ #: teleforma/templates/teleforma/course_media.html:190
+ #: teleforma/templates/teleforma/inc/media_list.html:44
+ msgid "Publishing date"
+ msgstr "Date de publication"
+
+ #: teleforma/templates/teleforma/course_media.html:185
+ #: teleforma/templates/teleforma/course_media_transcoded.html:104
+ msgid "Mime type"
+ msgstr "Type mime"
+
+ #: teleforma/templates/teleforma/course_media.html:189
+ #: teleforma/templates/teleforma/course_media_transcoded.html:106
+ msgid "Date modified"
+ msgstr "Date de modification"
+
+ #: teleforma/templates/teleforma/course_media.html:191
+ #: teleforma/templates/teleforma/course_media_transcoded.html:107
+ msgid "Media ID"
+ msgstr "ID Média"
+
+ #: teleforma/templates/teleforma/course_media.html:193
+ #: teleforma/templates/teleforma/course_media_transcoded.html:109
+ msgid "Web class group"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/courses.html:91
+ #: teleforma/templates/teleforma/inc/media_list.html:18
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:17
+ msgid "Play"
+ msgstr "Lire"
+
+ #: teleforma/templates/teleforma/courses.html:95
+ #: teleforma/templates/teleforma/courses.html:99
+ #: teleforma/templates/teleforma/inc/conference_list.html:20
+ #: teleforma/templates/teleforma/inc/media_list.html:22
+ #: teleforma/templates/teleforma/inc/media_list.html:26
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:21
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:25
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:27
+ #: teleforma/webclass/templates/webclass/webclass_record.html:6
+ msgid "Click here"
+ msgstr "Cliquez ici"
+
+ #: teleforma/templates/teleforma/home.html:25
+ #: teleforma/templates/telemeta/home.html:26
+ msgid "Connexion"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/conference_list.html:9
+ msgid "Live conferences"
+ msgstr "Conférences en direct"
+
+ #: teleforma/templates/teleforma/inc/media_list.html:10
+ msgid "Conférences en différé"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/media_list_pending.html:8
+ msgid "Passed conferences"
+ msgstr "Conférences en différé"
+
+ #: teleforma/templates/teleforma/inc/module_searches.html:11
+ msgid "Criteria"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/user_list.html:22
+ #: teleforma/templates/teleforma/profile_detail.html:69
+ #: teleforma/templates/teleforma/users.html:14
+ msgid "Trainings"
+ msgstr "Formations"
+
+ #: teleforma/templates/teleforma/inc/user_list.html:24
+ #: teleforma/templates/teleforma/profile_detail.html:72
+ msgid "Written spe"
+ msgstr "Ecrit Spé"
+
+ #: teleforma/templates/teleforma/inc/user_list.html:25
+ msgid "Oral spe"
+ msgstr "Oral Spé"
+
+ #: teleforma/templates/teleforma/inc/user_list.html:26
+ msgid "Oral 1"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/user_list.html:27
+ msgid "Oral 2"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/user_list.html:56
+ msgid "Administrator"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/inc/user_list.html:64
+ msgid "Unknown"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/lists.html:47
+ msgid "My playlists"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/lists.html:49
+ msgid "Add"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/lists.html:55
+ msgid "Edit"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/lists.html:71
+ msgid "Code"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/lists.html:72
+ msgid "Recordist"
+ msgstr "Opérateur d'enregistrement"
+
+ #: teleforma/templates/teleforma/lists.html:73
+ msgid "Recording period"
+ msgstr "période d'enregistrement"
+
+ #: teleforma/templates/teleforma/lists.html:74
+ #: teleforma/templates/teleforma/search_criteria.html:148
+ msgid "Sound"
+ msgstr "Sonore"
+
+ #: teleforma/templates/teleforma/lists.html:92
+ #: teleforma/templates/telemeta/inc/module_revisions.html:40
+ msgid "deleted"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/login.html:19
+ msgid "Your username and password didn't match. Please try again."
+ msgstr "Votre login et mot de passe ne correspondent pas. Veuillez réessayer."
+
+ #: teleforma/templates/teleforma/login.html:29
+ msgid "Password forgotten"
+ msgstr "Mot de passe oublié ?"
+
+ #: teleforma/templates/teleforma/login.html:30
+ msgid "Sign in"
+ msgstr "Connexion"
+
+ #: teleforma/templates/teleforma/profile_detail.html:6
+ msgid "User Profile"
+ msgstr "Profil utilisateur"
+
+ #: teleforma/templates/teleforma/profile_detail.html:16
+ msgid "His courses"
+ msgstr "Ses matières"
+
+ #: teleforma/templates/teleforma/profile_detail.html:44
+ #: teleforma/views/profile.py:75
+ msgid "User profile"
+ msgstr "Profil utilisateur"
+
+ #: teleforma/templates/teleforma/profile_detail.html:51
+ msgid "Login as"
+ msgstr "Se connecter en tant que"
+
+ #: teleforma/templates/teleforma/profile_detail.html:70
+ msgid "Platform only"
+ msgstr "Plateforme seulement"
+
+ #: teleforma/templates/teleforma/profile_detail.html:74
+ msgid "Options"
+ msgstr "Options"
+
+ #: teleforma/templates/teleforma/profile_detail.html:78
+ msgid "Email"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/profile_detail.html:86
+ msgid "WiFi password"
+ msgstr "Mot de passe WiFi"
+
+ #: teleforma/templates/teleforma/profile_detail.html:91
+ msgid "Expiration date"
+ msgstr "Date d'expiration"
+
+ #: teleforma/templates/teleforma/profile_detail.html:93
+ msgid "Last login"
+ msgstr "Dernière connexion"
+
+ #: teleforma/templates/teleforma/profile_detail.html:104
+ msgid "Apply"
+ msgstr "Appliquer"
+
+ #: teleforma/templates/teleforma/search_criteria.html:4
+ #: teleforma/templates/teleforma/search_criteria.html:75
+ msgid "Advanced Search"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/search_criteria.html:68
+ msgid "Search"
+ msgstr "Recherche"
+
+ #: teleforma/templates/teleforma/search_criteria.html:112
+ msgid "Year of recording"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/search_criteria.html:119
+ #: teleforma/templates/teleforma/search_criteria.html:138
+ msgid "to"
+ msgstr "à"
+
+ #: teleforma/templates/teleforma/search_criteria.html:131
+ #, fuzzy
+ msgid "Year of publication"
+ msgstr "obligation"
+
+ #: teleforma/templates/teleforma/users.html:5
+ #: teleforma/templates/teleforma/users.html:68
+ msgid "Users"
+ msgstr ""
+
+ #: teleforma/templates/teleforma/users.html:40
+ msgid "Courses"
+ msgstr "Matières"
+
+ #: teleforma/templates/teleforma/users.html:73
+ msgid "No users"
+ msgstr "Pas d'utilisateurs"
+
+ #: teleforma/templates/telemeta/base.html:164
+ msgid "Lists"
+ msgstr ""
+
+ #: teleforma/templatetags/teleforma_tags.py:65
+ msgid "General tweeter"
+ msgstr "Tweeter général"
+
+ #: teleforma/templatetags/teleforma_tags.py:66
+ msgid "Local tweeter"
+ msgstr "Tweeter local"
+
+ #: teleforma/templatetags/teleforma_tags.py:143
+ msgid "me"
+ msgstr "moi"
+
+ #: teleforma/templatetags/teleforma_tags.py:151
+ msgid "No"
+ msgstr "Non"
+
++<<<<<<< HEAD
++#: views/core.py:147
++msgid "Access not allowed."
++msgstr "Accès non autorisé."
++
++#: views/core.py:148
++=======
+ #: teleforma/views/core.py:188
+ msgid "Access not allowed."
+ msgstr "Accès non autorisé."
+
+ #: teleforma/views/core.py:190 teleforma/views/profile.py:77
++>>>>>>> feature/dj4.2
+ msgid ""
+ "Please login or contact the website administator to get a private access."
+ msgstr ""
+ "Merci de vous connecter ou bien contactez l'administateur du site pour "
+ "obtenir un accès privé."
+
++<<<<<<< HEAD
++#: views/core.py:201
++=======
+ #: teleforma/views/core.py:369
++>>>>>>> feature/dj4.2
+ msgid ""
+ "You do NOT have access to this resource and then have been redirected to "
+ "your desk."
+ msgstr ""
+ "Vous n'avez pas accès à cette ressource et avez été redirigé vers votre "
+ "bureau."
+
+ #: teleforma/views/password.py:104
+ #, fuzzy
+ #| msgid "New password"
+ msgid "Enter new password"
+ msgstr "Nouveau mot de passe"
+
+ #: teleforma/views/profile.py:74
+ msgid "Access not allowed"
+ msgstr "Accès non autorisé"
+
+ #: teleforma/webclass/models.py:137
+ msgid "BBB server"
+ msgstr ""
+
+ #: teleforma/webclass/models.py:138
+ msgid "BBB servers"
+ msgstr ""
+
+ #: teleforma/webclass/models.py:180 teleforma/webclass/models.py:181
+ msgid "webclass"
+ msgstr ""
+
+ #: teleforma/webclass/models.py:218
+ msgid "participants"
+ msgstr ""
+
+ #: teleforma/webclass/models.py:230
+ msgid "webclass slot"
+ msgstr ""
+
+ #~ msgid ""
+ #~ "You can read and respond to this message from your e-learning desk "
+ #~ "following this link:"
+ #~ msgstr ""
+ #~ "Vous pouvez lire et répondre à ce message depuis votre bureau e-learning "
+ #~ "en suivant ce lien :"
+
+ #, python-format
+ #~ msgid "for your user account at %(site_name)s"
+ #~ msgstr "de votre compte utilisateur du site %(site_name)s"
+
+ #~ msgid "Your username, in case you've forgotten:"
+ #~ msgstr "Votre login, au cas où vous l'auriez oublié:"
+
+ #~ msgid ""
+ #~ "Forgotten your password? Enter your e-mail address below, and we'll e-"
+ #~ "mail instructions for setting a new one."
+ #~ msgstr ""
+ #~ "Vous avez oubliez votre mot de passe ? Veuillez saisir votre adresse e-"
+ #~ "mail et nous vous enverrons un email avec les instructions pour définir "
+ #~ "un nouveau mot de passe."
+
+ #~ msgid "E-mail address:"
+ #~ msgstr "Adresse e-mail:"
+
+ #~ msgid "credit card"
+ #~ msgstr "carte de crédit"
+
+ #~ msgid "collected"
+ #~ msgstr "encaissé"
+
+ #~ msgid "to an administrator"
+ #~ msgstr "à un administrateur"
+
+ #~ msgid "to a professor"
+ #~ msgstr "à un professeur"
+
+ #, fuzzy
+ #~ msgid "Login"
+ #~ msgstr "Se connecter en tant que"
+
+ #, fuzzy
+ #~ msgid "login"
+ #~ msgstr "Se connecter en tant que"
+
+ #, fuzzy
+ #~ msgid "Password changed"
+ #~ msgstr "Mot de passe initialisé"
+
+ #~ msgid "Confirm password reset"
+ #~ msgstr "Confirmation de la réinitialisation du mot de passe"
+
+ #~ msgid "My notes"
+ #~ msgstr "Mes notes"
+
+ #~ msgid "New note"
+ #~ msgstr "Nouvelle note"
+
+ #, fuzzy
+ #~| msgid "Grouped message"
+ #~ msgid "Group messages"
+ #~ msgstr "Message groupé"
+
+ #~ msgid "Testimonials"
+ #~ msgstr "Attestations"
+
+ #, fuzzy
+ #~ msgid "No testimonial"
+ #~ msgstr "attestation"
+
+ #, fuzzy
+ #~ msgid "General"
+ #~ msgstr "Tweeter général"
+
+ #~ msgid "Save and download the registration form"
+ #~ msgstr "Enregistrer et télécharger le formulaire"
+
+ #~ msgid "CRFPA Profile"
+ #~ msgstr "Profil CRFPA"
+
+ #~ msgid "Validate"
+ #~ msgstr "Validée"
+
+ #~ msgid "Treated"
+ #~ msgstr "Traitées"
+
+ #, fuzzy
+ #~ msgid "Score : "
+ #~ msgstr "Note"
+
+ #~ msgid " marked"
+ #~ msgstr " corrigée"
+
+ #~ msgid " pending"
+ #~ msgstr " en attente"
+
++<<<<<<< HEAD
++#~ msgid "Training"
++#~ msgstr "Formation"
++=======
+ #~ msgid "AE students"
+ #~ msgstr "Etudiants AE"
++>>>>>>> feature/dj4.2
+
+ #~ msgid "CRFPA student"
+ #~ msgstr "Etudiant CRFPA"
+
+ #~ msgid "is live"
+ #~ msgstr "en direct"
+
+ #~ msgid "STOP"
+ #~ msgstr "STOP"
+
+ #~ msgid "to an IEJ"
+ #~ msgstr "à un IEJ"
+
+ #~ msgid "obligation"
+ #~ msgstr "obligation"
+
+ #~ msgid "procedures"
+ #~ msgstr "procédures"
+
+ #~ msgid "oral specialities"
+ #~ msgstr "spécialités orales"
+
+ #~ msgid "written specialities"
+ #~ msgstr "spécialités écrites"
+
+ #~ msgid "Differed"
+ #~ msgstr "Différé"
+
+ #~ msgid "speciality"
+ #~ msgstr "spécialité"
+
+ #, fuzzy
+ #~ msgid "Join date"
+ #~ msgstr "date de début"
+
+ #, fuzzy
+ #~ msgid "Department"
+ #~ msgstr "département"
+
+ #~ msgid "All trainings"
+ #~ msgstr "Toutes les formations"
+
+ #~ msgid "Date begin"
+ #~ msgstr "Date de début"
+
+ #~ msgid "Modify profile"
+ #~ msgstr "Modifier le profil"
+
+ #~ msgid "All"
+ #~ msgstr "Tous"
+
+ #, fuzzy
+ #~ msgid "Last modification"
+ #~ msgstr "date de modification"
+
+ #~ msgid "course types"
+ #~ msgstr "types de matières"
+
+ #~ msgid "archive format"
+ #~ msgstr "format du support"
+
+ #~ msgid "secondary edition"
+ #~ msgstr "réédition"
+
+ #~ msgid "mode of acquisition"
+ #~ msgstr "mode d'acquisition"
+
+ #~ msgid "record author"
+ #~ msgstr "rédacteur fiche"
+
+ #~ msgid "record writer"
+ #~ msgstr "saisie fiche"
+
+ #~ msgid "legal rights"
+ #~ msgstr "droit d'utilisation"
+
+ #~ msgid "recording context"
+ #~ msgstr "contexte d'enregistrement"
+
+ #~ msgid "A/D conversion"
+ #~ msgstr "Conversion A/N"
+
+ #~ msgid "vernacular style"
+ #~ msgstr "style vernaculaire"
+
+ #~ msgid "generic style"
+ #~ msgstr "style générique"
+
+ #~ msgid "keyword"
+ #~ msgstr "Mot-clé"
+
+ #~ msgid "publisher / status"
+ #~ msgstr "éditeur / statut"
+
+ #~ msgid "publisher"
+ #~ msgstr "éditeur"
+
+ #~ msgid "population / social group"
+ #~ msgstr "population / groupe social"
+
+ #~ msgid "tape wheel diameter (cm)"
+ #~ msgstr "diamètre de bobine (cm)"
+
+ #~ msgid "tape length (cm)"
+ #~ msgstr "longueur de bande (cm)"
+
+ #~ msgid "tape width (inch)"
+ #~ msgstr "largeur de bande (pouce)"
+
+ #~ msgid "tape speed (cm/s)"
+ #~ msgstr "vitesse de bande (cm/s)"
+
+ #~ msgid "tape vendor"
+ #~ msgstr "marque de bande"
+
+ #~ msgid "number of channels"
+ #~ msgstr "Nombre de pistes"
+
+ #~ msgid "rights"
+ #~ msgstr "droits"
+
+ #~ msgid "topic"
+ #~ msgstr "discipline"
+
+ #~ msgid "physical format"
+ #~ msgstr "nature du support original"
+
+ #~ msgid "original number"
+ #~ msgstr "numéro de support"
+
+ #~ msgid "original status"
+ #~ msgstr "statut de l'original"
+
+ #~ msgid "technical properties / conservation state"
+ #~ msgstr "état de conservation"
+
+ #~ msgid "comments / notes"
+ #~ msgstr "commentaires / notes"
+
+ #~ msgid "original location"
+ #~ msgstr "lieu d'archivage"
+
+ #~ msgid "audio quality"
+ #~ msgstr "qualité audio"
+
+ #~ msgid "recording system"
+ #~ msgstr "système d'enregistrement"
+
+ #~ msgid "tape thickness (um)"
+ #~ msgstr "épaisseur de bande (um)"
+
+ #~ msgid "tape reference"
+ #~ msgstr "référence de bande"
+
+ #~ msgid "sticker presence"
+ #~ msgstr "présence de collants"
+
+ #~ msgid "instrument aliases"
+ #~ msgstr "instrument aliases"
+
+ #~ msgid "instrument"
+ #~ msgstr "instrument"
+
+ #~ msgid "parent instrument"
+ #~ msgstr "instrument parent"
+
+ #~ msgid "alias"
+ #~ msgstr "alias"
+
+ #~ msgid "equivalent ISO 639-2 identifier (bibliographic)"
+ #~ msgstr "identifiant ISO 639-2 équivalent (bibliographique)"
+
+ #~ msgid "equivalent ISO 639-2 identifier (terminologic)"
+ #~ msgstr "identifiant ISO 639-2 équivalent (terminologique)"
+
+ #~ msgid "equivalent ISO 639-1 identifier"
+ #~ msgstr "identifiant ISO 639-1 équivalent"
+
+ #~ msgid "scope"
+ #~ msgstr "cadre"
+
+ #~ msgid "languages"
+ #~ msgstr "langues"
+
+ #~ msgid "country"
+ #~ msgstr "état/nation"
+
+ #~ msgid "continent"
+ #~ msgstr "continent"
+
+ #~ msgid "complete type"
+ #~ msgstr "type complet"
+
+ #~ msgid "current location"
+ #~ msgstr "lieu actuel"
+
+ #~ msgid "authoritative"
+ #~ msgstr "officiel"
+
+ #~ msgid "location"
+ #~ msgstr "lieu"
+
+ #~ msgid "locations"
+ #~ msgstr "lieux"
+
+ #~ msgid "location types"
+ #~ msgstr "types de lieux"
+
+ #~ msgid "location aliases"
+ #~ msgstr "lieux alias"
+
+ #~ msgid "ancestor location"
+ #~ msgstr "lieu ancêtre"
+
+ #~ msgid "location relations"
+ #~ msgstr "lieux relations"
+
+ #~ msgid "none"
+ #~ msgstr "accès réservé"
+
+ #~ msgid "metadata"
+ #~ msgstr "métadonnées"
+
+ #~ msgid "mixed"
+ #~ msgstr "mixte"
+
+ #~ msgid "full"
+ #~ msgstr "complet"
+
+ #~ msgid "Metadata only"
+ #~ msgstr "Métadonnées uniquement"
+
+ #~ msgid "Sound and metadata"
+ #~ msgstr "Son et métadonnées"
+
+ #~ msgid "Private data"
+ #~ msgstr "Données privées"
+
+ #~ msgid "public access"
+ #~ msgstr "accès public"
+
+ #~ msgid "reference"
+ #~ msgstr "référence"
+
+ #~ msgid "original title / translation"
+ #~ msgstr "titre original / traduction"
+
+ #~ msgid "depositor / contributor"
+ #~ msgstr "déposant / contributeur"
+
+ #~ msgid "recording year (from)"
+ #~ msgstr "année d'enregistrement (depuis)"
+
+ #~ msgid "recording year (until)"
+ #~ msgstr "année d'enregistrement (jusqu'à)"
+
+ #~ msgid "year published"
+ #~ msgstr "année de parution"
+
+ #~ msgid "recordist"
+ #~ msgstr "collecteur"
+
+ #~ msgid "publisher collection"
+ #~ msgstr "collection éditeur"
+
+ #~ msgid "publisher serial number"
+ #~ msgstr "numéro dans la série"
+
+ #~ msgid "author of published notice"
+ #~ msgstr "auteur de la notice éditée"
+
+ #~ msgid "bibliographic references"
+ #~ msgstr "références bibliographiques"
+
+ #~ msgid "access status"
+ #~ msgstr "statut d'accès"
+
+ #~ msgid "automatic access after a rolling period"
+ #~ msgstr "Accès automatique après la data glissante"
+
+ #~ msgid "CNRS depositor"
+ #~ msgstr "déposant CNRS"
+
+ #~ msgid "related documentation"
+ #~ msgstr "documentation associée"
+
+ #~ msgid "copies"
+ #~ msgstr "autres exemplaires"
+
+ #~ msgid "archiver notes"
+ #~ msgstr "notes de l'archiviste"
+
+ #~ msgid "items finished"
+ #~ msgstr "fiches items faites"
+
+ #~ msgid "recordist identical to depositor"
+ #~ msgstr "collecteur identique au déposant"
+
+ #~ msgid "conservation site"
+ #~ msgstr "lieu de conservation"
+
+ #~ msgid "old code"
+ #~ msgstr "ancienne cote"
+
+ #~ msgid "number of components (medium / piece)"
+ #~ msgstr "nb de composants (support / pièce)"
+
+ #~ msgid "digitization"
+ #~ msgstr "numérisation"
+
+ #~ msgid "a_informer_07_03"
+ #~ msgstr "a_informer_07_03"
+
+ #~ msgid "states / nations"
+ #~ msgstr "états / nations"
+
+ #~ msgid "populations / social groups"
+ #~ msgstr "populations / groupes sociaux"
+
+ #~ msgid "computed duration"
+ #~ msgstr "durée calculée"
+
+ #~ msgid "collection"
+ #~ msgstr "collection"
+
+ #~ msgid "collection related media"
+ #~ msgstr "média associés à la collection"
+
+ #~ msgid "recording date (from)"
+ #~ msgstr "date d'enregistrement (depuis)"
+
+ #~ msgid "recording date (until)"
+ #~ msgstr "date d'enregistrement (jusqu'à)"
+
+ #~ msgid "summary"
+ #~ msgstr "résumé"
+
+ #~ msgid "remarks"
+ #~ msgstr "remarques"
+
+ #~ msgid "cultural area"
+ #~ msgstr "aire culturelle"
+
+ #~ msgid "language"
+ #~ msgstr "langue"
+
+ #~ msgid "ISO language"
+ #~ msgstr "Langue ISO"
+
+ #~ msgid "comments / ethnographic context"
+ #~ msgstr "commentaires / contexte ethnographique"
+
+ #~ msgid "moda_execut"
+ #~ msgstr "moda_execut"
+
+ #~ msgid "author / compositor"
+ #~ msgstr "auteur / compositeur"
+
+ #~ msgid "contributor"
+ #~ msgstr "intervenant"
+
+ #~ msgid "depositor"
+ #~ msgstr "déposant"
+
+ #~ msgid "item number"
+ #~ msgstr "n° de l'item"
+
+ #~ msgid "digitalist"
+ #~ msgstr "opérateur de numérisation"
+
+ #~ msgid "collector"
+ #~ msgstr "collecteur"
+
+ #~ msgid "collector selection"
+ #~ msgstr "sélection collecteur"
+
+ #~ msgid "collector as in collection"
+ #~ msgstr "collecteur identique à la collection"
+
+ #~ msgid "digitization date"
+ #~ msgstr "date de numérisation"
+
+ #~ msgid "creator reference"
+ #~ msgstr "référence"
+
+ #~ msgid "published references"
+ #~ msgstr "références éditées"
+
+ #~ msgid "copy of"
+ #~ msgstr "copie de"
+
+ #~ msgid "instruments"
+ #~ msgstr "instruments"
+
+ #~ msgid "composition"
+ #~ msgstr "Voix / Instruments"
+
+ #~ msgid "vernacular name"
+ #~ msgstr "nom vernaculaire"
+
+ #~ msgid "interprets"
+ #~ msgstr "interprètes"
+
+ #~ msgid "unit"
+ #~ msgstr "unité"
+
+ #~ msgid "start"
+ #~ msgstr "début"
+
+ #~ msgid "end"
+ #~ msgstr "fin"
+
+ #~ msgid "item part"
+ #~ msgstr "partie"
+
+ #~ msgid "playlist"
+ #~ msgstr "liste de lecture"
+
+ #~ msgid "resource_type"
+ #~ msgstr "type de ressource"
+
+ #~ msgid "resource_id"
+ #~ msgstr "ressource"
+
+ #~ msgid "time (s)"
+ #~ msgstr "temps (s)"
+
+ #~ msgid "transcoded"
+ #~ msgstr "transcodé"
+
+ #~ msgid "collections"
+ #~ msgstr "collections"
+
+ #~ msgid "corpus"
+ #~ msgstr "corpus"
+
+ #~ msgid "fonds"
+ #~ msgstr "fonds"
+
+ #~ msgid "corpus related media"
+ #~ msgstr "média associés"
+
+ #~ msgid "fonds related media"
+ #~ msgstr "média associés"
+
+ #~ msgid "element type"
+ #~ msgstr "type d'élément"
+
+ #~ msgid "element identifier"
+ #~ msgstr "identifiant de l'élément"
+
+ #~ msgid "modification type"
+ #~ msgstr "type de modification"
+
+ #~ msgid "time"
+ #~ msgstr "heure"
+
+ #~ msgid "Attachment"
+ #~ msgstr "Rattachement"
+
+ #~ msgid "Function"
+ #~ msgstr "Fonction"
+
+ #~ msgid "key"
+ #~ msgstr "clé"
+
+ #~ msgid "criteria"
+ #~ msgstr "critères"
+
+ #~ msgid "Telemeta administration"
+ #~ msgstr "Administration Telemeta"
+
+ #~ msgid "Enumerations"
+ #~ msgstr "Énumérations"
+
+ #~ msgid "No enumerations"
+ #~ msgstr "Aucune énumération"
+
+ #~ msgid "Welcome"
+ #~ msgstr "Bienvenue"
+
+ #~ msgid "Collections"
+ #~ msgstr "Collections"
+
+ #~ msgid "Items"
+ #~ msgstr "Items"
+
+ #~ msgid "Geo Navigator"
+ #~ msgstr "Géo-Navigateur"
+
+ #~ msgid "Advanced search"
+ #~ msgstr "Recherche avancée"
+
+ #~ msgid "Instruments"
+ #~ msgstr "Instruments"
+
+ #~ msgid "By"
+ #~ msgstr "Par"
+
+ #~ msgid ""
+ #~ "Usage of the archives in the respect of cultural heritage of the original "
+ #~ "communities."
+ #~ msgstr ""
+ #~ "Usage des archives réservé dans le respect du patrimoine culturel des "
+ #~ "communautés d'origine."
+
+ #~ msgid "Save"
+ #~ msgstr "Enregistrer"
+
+ #~ msgid "Collection"
+ #~ msgstr "Collection"
+
+ #~ msgid "Copy"
+ #~ msgstr "Copier"
+
+ #~ msgid "Add item"
+ #~ msgstr "Ajouter item"
+
+ #~ msgid "Add to playlist"
+ #~ msgstr "Ajouter à la liste"
+
+ #~ msgid "Listen to this collection"
+ #~ msgstr "Écouter la collection"
+
+ #~ msgid "Geographic and cultural informations"
+ #~ msgstr "Indications géographiques et culturelles"
+
+ #~ msgid "Bibliographic references"
+ #~ msgstr "Références bibliographiques"
+
+ #~ msgid "Archiving data"
+ #~ msgstr "Données d'archivage"
+
+ #~ msgid "Related documentation"
+ #~ msgstr "Documentation associée"
+
+ #~ msgid "Technical data"
+ #~ msgstr "Données techniques"
+
+ #~ msgid "Media type"
+ #~ msgstr "Type de media"
+
+ #~ msgid "Number of items"
+ #~ msgstr "Nombre d'items"
- #: templates/teleforma/course_conference_audio.html:71
- msgid "End"
- msgstr "Fin"
+ #~ msgid "Normal View"
+ #~ msgstr "Vue normale"
- #: templates/teleforma/course_conference_record.html:61
- #: templates/teleforma/courses.html:107
- msgid "Status"
- msgstr "Status"
+ #~ msgid "No such collection"
+ #~ msgstr "Aucune collection de ce type"
- #: templates/teleforma/course_conference_record.html:72
- #: templates/teleforma/courses.html:42
- msgid "New conference"
- msgstr "Nouvelle conférence"
+ #~ msgid "Related media"
+ #~ msgstr "Média associés"
- #: templates/teleforma/course_conference_record.html:101
- msgid "Record and stream"
- msgstr "Enregistrer et diffuser"
+ #~ msgid "related media"
+ #~ msgstr "média associés"
- #: templates/teleforma/course_media.html:28
- #: templates/teleforma/course_media.html:82
- #: templates/teleforma/inc/media_list.html:50
- msgid " published"
- msgstr " publié"
+ #~ msgid "Media Collections"
+ #~ msgstr "Collections"
- #: templates/teleforma/course_media.html:35
- #: templates/teleforma/course_media.html:82
- #: templates/teleforma/inc/media_list.html:52
- msgid " rejected"
- msgstr " rejeté"
+ #~ msgid "Unpublished"
+ #~ msgstr "Inédites"
- #: templates/teleforma/course_media.html:146
- msgid "Mime type"
- msgstr "Type mime"
+ #~ msgid "Published"
+ #~ msgstr "Éditées"
- #: templates/teleforma/course_media.html:148
- msgid "Date modified"
- msgstr "Date de modification"
+ #~ msgid "Sounds"
+ #~ msgstr "Sonores"
- #: templates/teleforma/course_media.html:149
- msgid "Media ID"
- msgstr "ID Média"
+ #~ msgid "Media"
+ #~ msgstr "Média"
- #: templates/teleforma/courses.html:49
- msgid "My notes"
- msgstr "Mes notes"
+ #~ msgid "in"
+ #~ msgstr "dans"
- #: templates/teleforma/courses.html:59
- msgid "New note"
- msgstr "Nouvelle note"
+ #~ msgid "Populations / Social groups"
+ #~ msgstr "Populations / Groupes sociaux"
- #: templates/teleforma/help.html:11 templates/telemeta/base.html:124
- #: templates/telemeta/base.html.py:137
- msgid "Help"
- msgstr "Aide"
+ #~ msgid "Add entry"
+ #~ msgstr "Ajouter une entrée"
- #: templates/teleforma/inc/conference_list.html:8
- msgid "Live conferences"
- msgstr "Conférences en direct"
+ #~ msgid "This enumeration is empty"
+ #~ msgstr "Cette énumération est vide"
- #: templates/teleforma/inc/conference_list.html:19
- #: templates/teleforma/inc/media_list.html:23
- #: templates/teleforma/inc/media_list.html:29
- msgid "Click here"
- msgstr "Cliquez ici"
+ #~ msgid "Modify an entry"
+ #~ msgstr "Modification d'une entrée"
- #: templates/teleforma/inc/media_list.html:8
- msgid "Passed conferences"
- msgstr "Conférences en différé"
+ #~ msgid "Replace by"
+ #~ msgstr "Remplacer par"
- #: templates/teleforma/inc/media_list.html:17
- msgid "Play"
- msgstr "Lire"
+ #~ msgid "delete value after replacing"
+ #~ msgstr "effacer la valeur après remplacement"
- #: templates/telemeta/base.html:87 templates/telemeta/base.html.py:95
- msgid "Desk"
- msgstr "Bureau"
+ #~ msgid "Replace"
+ #~ msgstr "Remplacement"
- #: templates/telemeta/base.html:104
- msgid "Messaging"
- msgstr "Messagerie"
+ #~ msgid "Geographic Navigator"
+ #~ msgstr "Navigateur géographique"
- #: templates/telemeta/base.html:107 templates/telemeta/users.html:6
- #: templates/telemeta/users.html.py:69
- msgid "Users"
- msgstr ""
+ #~ msgid "Map"
+ #~ msgstr "Carte"
- #: templates/telemeta/base.html:116 templates/telemeta/search_criteria.html:69
- msgid "Search"
- msgstr ""
+ #~ msgid "List"
+ #~ msgstr "Liste"
- #: templates/telemeta/base.html:117
- msgid "Collections"
- msgstr ""
+ #~ msgid "World"
+ #~ msgstr "Monde"
- #: templates/telemeta/base.html:118
- msgid "Items"
- msgstr ""
+ #~ msgid "Number of collections"
+ #~ msgstr "Nombre de collections"
- #: templates/telemeta/base.html:122
- msgid "Admin"
- msgstr ""
+ #~ msgid "1 collection"
+ #~ msgid_plural "%(counter)s collections"
+ #~ msgstr[0] "1 collection"
+ #~ msgstr[1] "%(counter)s collections"
- #: templates/telemeta/base.html:134
- msgid "Profile"
- msgstr "Profil"
+ #~ msgid "1 item"
+ #~ msgid_plural "%(counter)s items "
+ #~ msgstr[0] "1 item"
+ #~ msgstr[1] "%(counter)s items "
- #: templates/telemeta/base.html:136
- msgid "Lists"
- msgstr ""
+ #~ msgid "Musical selection"
+ #~ msgstr "Sélection musicale"
- #: templates/telemeta/base.html:139
- msgid "Sign out"
- msgstr ""
+ #~ msgid "Open the geographic navigator"
+ #~ msgstr "Accéder au navigateur géographique"
- #: templates/telemeta/base.html:181
- msgid "Powered by"
- msgstr ""
+ #~ msgid "Partners"
+ #~ msgstr "Partenaires"
- #: templates/telemeta/base.html:191
- msgid "Legal notices"
- msgstr ""
+ #~ msgid "Name"
+ #~ msgstr "Nom"
- #: templates/telemeta/home.html:26
- msgid "Connexion"
- msgstr ""
+ #~ msgid "This instrument list is empty"
+ #~ msgstr "Cette énumération est vide"
- #: templates/telemeta/lists.html:47
- msgid "My playlists"
- msgstr ""
+ #~ msgid "Item"
+ #~ msgstr "Item"
- #: templates/telemeta/lists.html:49
- msgid "Add"
- msgstr ""
+ #~ msgid "Collection access status"
+ #~ msgstr "Statut d'accès de la collection"
- #: templates/telemeta/lists.html:55
- msgid "Edit"
- msgstr ""
+ #~ msgid "Context access status"
+ #~ msgstr "Statut d'accès selon le profil"
- #: templates/telemeta/lists.html:70
- #: templates/telemeta/inc/module_revisions.html:18
- msgid "Type"
- msgstr ""
+ #~ msgid "Item access status"
+ #~ msgstr "Statut d'accès de l'item"
- #: templates/telemeta/lists.html:71
- msgid "Code"
- msgstr ""
+ #~ msgid "Previous"
+ #~ msgstr "Précédent"
- #: templates/telemeta/lists.html:72
- msgid "Recordist"
- msgstr "Opérateur d'enregistrement"
+ #~ msgid "Next"
+ #~ msgstr "Suivant"
- #: templates/telemeta/lists.html:73
- msgid "Recording period"
- msgstr "période d'enregistrement"
+ #~ msgid "Analysis"
+ #~ msgstr "Analyse"
- #: templates/telemeta/lists.html:74
- #: templates/telemeta/search_criteria.html:149
- msgid "Sound"
- msgstr "Sonore"
+ #~ msgid "Markers"
+ #~ msgstr "Marqueurs"
- #: templates/telemeta/lists.html:92
- #: templates/telemeta/inc/module_revisions.html:40
- msgid "deleted"
- msgstr ""
+ #~ msgid "Property"
+ #~ msgstr "Propriété"
- #: templates/telemeta/login.html:19
- msgid "Your username and password didn't match. Please try again."
- msgstr ""
+ #~ msgid "Unit"
+ #~ msgstr "Unité"
- #: templates/telemeta/login.html:29
- msgid "Password forgotten"
- msgstr ""
+ #~ msgid "Download:"
+ #~ msgstr "Téléchargement:"
- #: templates/telemeta/login.html:30
- msgid "Sign in"
- msgstr ""
+ #~ msgid "You don't have access to the media of this item."
+ #~ msgstr "Vous n'avez pas accès aux médias de cet item."
- #: templates/telemeta/profile_detail.html:6
- msgid "User Profile"
- msgstr "Profil utilisateur"
+ #~ msgid "Please contact the administrators to get more rights."
+ #~ msgstr "Contactez les administrateurs du site pour obtenir plus de droits."
- #: templates/telemeta/profile_detail.html:16
- msgid "His courses"
- msgstr "Ses matières"
+ #~ msgid "Recording date"
+ #~ msgstr "Date d'enregistrement"
- #: templates/telemeta/profile_detail.html:36
- msgid "Send a message"
- msgstr "Envoyer un message"
+ #~ msgid "Location"
+ #~ msgstr "Lieu"
- #: templates/telemeta/profile_detail.html:44
- msgid "User profile"
- msgstr "Profil utilisateur"
+ #~ msgid "Language ISO"
+ #~ msgstr "Langue ISO"
- #: templates/telemeta/profile_detail.html:49
- msgid "Change password"
- msgstr ""
+ #~ msgid "Ethnographic context"
+ #~ msgstr "Contexte ethnographique"
- #: templates/telemeta/profile_detail.html:51
- msgid "Login as"
- msgstr "Se connecter en tant que"
+ #~ msgid "Musical informations"
+ #~ msgstr "Informations sur la musique"
- #: templates/telemeta/profile_detail.html:59
- #: templates/telemeta/inc/user_list.html:20
- msgid "First Name"
- msgstr ""
+ #~ msgid "Published references"
+ #~ msgstr "Références éditées"
- #: templates/telemeta/profile_detail.html:60
- #: templates/telemeta/inc/user_list.html:19
- msgid "Last Name"
- msgstr ""
+ #~ msgid "Remarks"
+ #~ msgstr "Remarques"
- #: templates/telemeta/profile_detail.html:61
- msgid "Username"
- msgstr "Nom d'utilisateur"
+ #~ msgid "No such item"
+ #~ msgstr "Item introuvable"
- #: templates/telemeta/profile_detail.html:65 templates/telemeta/users.html:15
- #: templates/telemeta/inc/user_list.html:22
- msgid "Trainings"
- msgstr "Formations"
+ #~ msgid "Keywords"
+ #~ msgstr "Mots-clés"
- #: templates/telemeta/profile_detail.html:66
- msgid "Platform only"
- msgstr "Plateforme seulement"
+ #~ msgid "Performance"
+ #~ msgstr "Composition"
- #: templates/telemeta/profile_detail.html:67
- #: templates/telemeta/inc/user_list.html:23
- msgid "Procedure"
- msgstr "Procédure"
+ #~ msgid "performance"
+ #~ msgstr "composition"
- #: templates/telemeta/profile_detail.html:68
- #: templates/telemeta/inc/user_list.html:24
- msgid "Oral spe"
- msgstr "Oral Spé"
+ #~ msgid "Keyword"
+ #~ msgstr "Mot-clé"
- #: templates/telemeta/profile_detail.html:69
- #: templates/telemeta/inc/user_list.html:25
- msgid "Written spe"
- msgstr "Ecrit Spé"
+ #~ msgid "Media Items"
+ #~ msgstr "Items"
- #: templates/telemeta/profile_detail.html:70
- #: templates/telemeta/inc/user_list.html:26
- msgid "Oral 1"
- msgstr ""
+ #~ msgid "Playlists"
+ #~ msgstr "Listes de lecture"
- #: templates/telemeta/profile_detail.html:71
- #: templates/telemeta/inc/user_list.html:27
- msgid "Oral 2"
- msgstr ""
+ #~ msgid "Is staff"
+ #~ msgstr "Statut équipe"
- #: templates/telemeta/profile_detail.html:72
- msgid "Options"
- msgstr "Options"
+ #~ msgid "Is superuser"
+ #~ msgstr "Statut super-utilisateur"
- #: templates/telemeta/profile_detail.html:76
- msgid "Email"
- msgstr ""
+ #~ msgid "New"
+ #~ msgstr "Nouveau"
- #: templates/telemeta/profile_detail.html:82
- #, fuzzy
- msgid "Expiration date"
- msgstr "Date d'expiration"
+ #~ msgid "No such resource"
+ #~ msgstr "Aucune ressource de ce type"
- #: templates/telemeta/profile_detail.html:83
- msgid "Last login"
- msgstr ""
+ #~ msgid "Search pattern"
+ #~ msgstr "Mots clés"
- #: templates/telemeta/profile_detail.html:94
- msgid "Apply"
- msgstr ""
+ #~ msgid ""
+ #~ "%(resource.children_type|capitalize)s %(first_on_page)s to "
+ #~ "%(last_on_page)s on %(hits)s"
+ #~ msgstr ""
+ #~ "%(resource.children_type|capitalize)s %(first_on_page)s à "
+ #~ "%(last_on_page)s sur %(hits)s"
- #: templates/telemeta/profile_detail.html:104
- msgid "Password reset"
- msgstr "Réinitialisation du mot de passe"
+ #~ msgid "Reference"
+ #~ msgstr "Référence"
- #: templates/telemeta/search_criteria.html:5
- #: templates/telemeta/search_criteria.html:76
- msgid "Advanced Search"
- msgstr ""
+ #~ msgid "No resource"
+ #~ msgstr "Aucune ressource"
- #: templates/telemeta/search_criteria.html:113
- msgid "Year of recording"
- msgstr ""
+ #~ msgid "Collections %(first_on_page)s to %(last_on_page)s on %(hits)s"
+ #~ msgstr "Collections %(first_on_page)s à %(last_on_page)s sur %(hits)s"
- #: templates/telemeta/search_criteria.html:120
- #: templates/telemeta/search_criteria.html:139
- msgid "to"
- msgstr "à"
+ #~ msgid "No collection"
+ #~ msgstr "Aucune collection"
- #: templates/telemeta/search_criteria.html:132
- #, fuzzy
- msgid "Year of publication"
- msgstr "obligation"
+ #~ msgid "Preview"
+ #~ msgstr "Prévisualisation"
- #: templates/telemeta/users.html:41
- msgid "Courses"
- msgstr "Matières"
+ #~ msgid "Credits"
+ #~ msgstr "Crédits"
- #: templates/telemeta/users.html:55
- msgid "Grouped message"
- msgstr "Message groupé"
+ #~ msgid "Dublin Core Metadata"
+ #~ msgstr "Métadonnées Dublin Core"
- #: templates/telemeta/users.html:74
- msgid "No users"
- msgstr "Pas d'utilisateurs"
+ #~ msgid "Items %(first_on_page)s to %(last_on_page)s on %(hits)s"
+ #~ msgstr "Items %(first_on_page)s à %(last_on_page)s sur %(hits)s"
- #: templates/telemeta/inc/module_revisions.html:19
- msgid "User"
- msgstr ""
+ #~ msgid "Country/Continent"
+ #~ msgstr "Etat/Continent"
- #: templates/telemeta/inc/module_searches.html:12
- msgid "Criteria"
- msgstr ""
+ #~ msgid "No item"
+ #~ msgstr "Aucun item"
- #: templates/telemeta/inc/user_list.html:56
- msgid "Administrator"
- msgstr ""
+ #~ msgid " from %(first_on_page)s to %(last_on_page)s on %(hits)s"
+ #~ msgstr " de %(first_on_page)s à %(last_on_page)s sur %(hits)s"
- #: templates/telemeta/inc/user_list.html:64
- msgid "Unknown"
- msgstr ""
+ #~ msgid "Groups"
+ #~ msgstr "Groupes"
- #: templatetags/teleforma_tags.py:61
- msgid "General tweeter"
- msgstr "Tweeter général"
+ #~ msgid "%(count)d item"
+ #~ msgid_plural "%(count)d items"
+ #~ msgstr[0] "%(count)d item"
+ #~ msgstr[1] "%(count)d items"
- #: templatetags/teleforma_tags.py:62
- msgid "Local tweeter"
- msgstr "Tweeter local"
+ #~ msgid "%(count)d collection"
+ #~ msgid_plural "%(count)d collections"
+ #~ msgstr[0] "%(count)d collection"
+ #~ msgstr[1] "%(count)d collections"
- #: templatetags/teleforma_tags.py:127
- msgid "me"
- msgstr "moi"
+ #~ msgid "My last changes"
+ #~ msgstr "Mes dernières modifications"
- #: templatetags/teleforma_tags.py:134
- msgid "No"
- msgstr "Non"
+ #~ msgid "All last changes"
+ #~ msgstr "Toutes les dernières modifications"
- #: views/core.py:147
- msgid "Access not allowed."
- msgstr "Accès non autorisé."
+ #~ msgid "My searches"
+ #~ msgstr "Mes recherches"
- #: views/core.py:148
- msgid ""
- "Please login or contact the website administator to get a private access."
- msgstr ""
- "Merci de vous connecter ou bien contactez l'administateur du site pour "
- "obtenir un accès privé."
+ #~ msgid "Children"
+ #~ msgstr "Enfants"
- #: views/core.py:201
- msgid ""
- "You do NOT have access to this resource and then have been redirected to "
- "your desk."
- msgstr ""
- "Vous n'avez pas accès à cette ressource et avez été redirigé vers votre "
- "bureau."
+ #~ msgid "pattern"
+ #~ msgstr "mots clés"
- #: views/core.py:495
- msgid "A new live conference has started : "
- msgstr "Une nouvelle conférence en direct a commencé : "
+ #~ msgid "Last changes"
+ #~ msgstr "Dernières modifications"
- #~ msgid "Training"
- #~ msgstr "Formation"
+ #~ msgid "General informations"
+ #~ msgstr "Informations générales"
- #~ msgid "CRFPA student"
- #~ msgstr "Etudiant CRFPA"
+ #~ msgid "attachment"
+ #~ msgstr "rattachement"
- #~ msgid "amount"
- #~ msgstr "montant"
+ #, fuzzy
+ #~ msgid "lieux types"
+ #~ msgstr "lieux types"
- #~ msgid "payment"
- #~ msgstr "paiement"
+ #~ msgid "domain"
+ #~ msgstr "discipline"
- #~ msgid "Reject"
- #~ msgstr "Rejeter"
+ #, fuzzy
+ #~ msgid "channel number"
+ #~ msgstr "n° de l'item"
- #~ msgid "is live"
- #~ msgstr "en direct"
+ #~ msgid "original format"
+ #~ msgstr "support original"
- #~ msgid "STOP"
- #~ msgstr "STOP"
+ #, fuzzy
+ #~ msgid "Password initialization"
+ #~ msgstr "Mot de passe (encore)"
- #~ msgid "to an IEJ"
- #~ msgstr "à un IEJ"
+ #~ msgid "support number"
+ #~ msgstr "n° du support"
- #~ msgid "Duration"
- #~ msgstr "Durée"
+ #~ msgid "General administration"
+ #~ msgstr "Administration générale"
- #~ msgid "Messages"
- #~ msgstr "Messages"
+ #~ msgid "link"
+ #~ msgstr "lien"
- #~ msgid "obligation"
- #~ msgstr "obligation"
+ #~ msgid "related"
+ #~ msgstr "associés"
- #~ msgid "procedures"
- #~ msgstr "procédures"
+ #~ msgid "File"
+ #~ msgstr "Fichier"
- #~ msgid "oral specialities"
- #~ msgstr "spécialités orales"
+ #~ msgid "Comments / ethnographic context"
+ #~ msgstr "Commentaires / contexte ethnographique"
- #~ msgid "written specialities"
- #~ msgstr "spécialités écrites"
+ #~ msgid "Account"
+ #~ msgstr "Compte"
- #~ msgid "Differed"
- #~ msgstr "Différé"
+ #~ msgid "username"
+ #~ msgstr "nom d'utilisateur"
- #~ msgid "category"
- #~ msgstr "catégorie"
+ #~ msgid "level"
+ #~ msgstr "niveau"
- #~ msgid "categories"
- #~ msgstr "catégories"
+ #~ msgid "first name"
+ #~ msgstr "prénom"
- #~ msgid "speciality"
- #~ msgstr "spécialité"
+ #~ msgid "last name"
+ #~ msgstr "nom de famille"
- #, fuzzy
- #~ msgid "Join date"
- #~ msgstr "date de début"
+ #~ msgid "phone"
+ #~ msgstr "téléphone"
#, fuzzy
- #~ msgid "Department"
- #~ msgstr "département"
+ #~ msgid "email"
+ #~ msgstr "Courriel"
- #~ msgid "All trainings"
- #~ msgstr "Toutes les formations"
+ #~ msgid "Conservation site"
+ #~ msgstr "Lieu de conservation"
- #~ msgid "Date begin"
- #~ msgstr "Date de début"
+ #~ msgid "Locations"
+ #~ msgstr "Lieux"
- #~ msgid "Modify profile"
- #~ msgstr "Modifier le profil"
+ #~ msgid "resource type"
+ #~ msgstr "type de ressource"
- #~ msgid "All"
- #~ msgstr "Tous"
+ #~ msgid "Visit the Telemeta open source project at"
+ #~ msgstr "Visitez le projet libre Telemeta"
- #, fuzzy
- #~ msgid "Last modification"
- #~ msgstr "date de modification"
+ #~ msgid "Marker"
+ #~ msgstr "Marqueur"
- #~ msgid "course types"
- #~ msgstr "types de matières"
+ #~ msgid "item added to the selected playlist"
+ #~ msgstr "item ajouté à la liste de lecture sélectionnée"
#
# Authors: Guillaume Pellerin <yomguy@parisson.com>
- import mimetypes
import datetime
- import random
- import urllib
- import urllib2
- import json
-
- from jsonrpc import jsonrpc_method
+ import os
+ import requests
+ from html import escape
+ from io import BytesIO
+ import logging
- from django.utils.decorators import method_decorator
- from django.contrib.auth import authenticate, login, get_backends
- from django.template import RequestContext, loader
- from django import template
- from django.http import HttpResponse, HttpResponseRedirect
- from django.http import Http404
- from django.shortcuts import render_to_response, redirect, get_object_or_404
- from django.views.generic import *
- from django.views.generic.base import *
from django.conf import settings
- from django.contrib import auth
from django.contrib import messages
from django.contrib.auth.decorators import login_required, permission_required
- from django.core.context_processors import csrf
- from django.forms.models import modelformset_factory, inlineformset_factory
from django.contrib.auth.models import User
- from django.utils.translation import ugettext
- from django.utils.translation import ugettext_lazy as _
- from django.contrib.auth.forms import UserChangeForm
- from django.core.exceptions import ObjectDoesNotExist
- from django.contrib.syndication.views import Feed
- from django.core.paginator import Paginator
- from django.contrib.auth.decorators import login_required
from django.contrib.contenttypes.models import ContentType
- from django.core.urlresolvers import reverse, reverse_lazy
- from jsonrpc.proxy import ServiceProxy
-
- from teleforma.models import *
- from teleforma.forms import *
- from telemeta.views import *
- import jqchat.models
- from xlwt import Workbook
+ from django.http import Http404, HttpResponse, HttpResponseRedirect
+ from django.http.response import StreamingHttpResponse
+ from django.shortcuts import redirect
+ from django.shortcuts import get_object_or_404
+ from django.contrib.sites.shortcuts import get_current_site
+ from django.template import loader
+ from django.urls import reverse
+ from django.utils.decorators import method_decorator
+ from django.utils.translation import gettext, gettext_lazy as _
+ from django.views.decorators.csrf import csrf_exempt
+ from django.views.generic.base import TemplateResponseMixin, TemplateView, View
+ from django.views.generic.detail import DetailView
+from django.views.generic.edit import FormView
+ from django.views.generic.list import ListView
+ from django.core.cache import cache
- try:
- from telecaster.models import *
- from telecaster.tools import *
- except:
- pass
+ from jsonrpc import jsonrpc_method
+ from jsonrpc.proxy import ServiceProxy
+ from rest_framework.permissions import IsAuthenticated
+ from rest_framework.response import Response
+ from rest_framework.views import APIView
+
+ from teleforma.models.crfpa import Home, Student, Training
+ from teleforma.models.notification import Notification, notify
+ from teleforma.utils import guess_mimetypes
+ from ..decorators import access_required
+ from ..models.appointment import Appointment, AppointmentPeriod
+ from ..models.chat import ChatMessage
+ from ..models.core import (Conference, ConferencePublication, Course, CourseType, Department,
+ Document, DocumentType, Media, MediaTranscoded,
+ Organization, Period, Professor, WebClassGroup,
+ StreamingServer, LiveStream,
+ get_user_role)
+ from ..webclass.models import Webclass, WebclassRecord
+ from .pages import get_page_content
++from ..forms import ConferenceForm
+
+ import weasyprint
+
+ logger = logging.getLogger('teleforma')
-
def format_courses(courses, course=None, queryset=None, types=None):
if queryset:
for c in queryset:
@jsonrpc_method('teleforma.get_period_list')
def get_period_list(request, department_name):
- department = Department.objects.get(name=department.name)
- return [period.name for period in Period.objects.filter(department=department)]
- department = Department.objects.get(name=department_name)
+ return [period.name for period in Period.objects.filter(department=department, is_open=True)]
+ def pull(request, organization_name):
+ from teleforma.models import Organization, Department
+ organization = Organization.objects.get(name=organization_name)
+ departments = Department.objects.filter(organization=organization)
+ periods_new = []
+
+ for department in departments:
+ url = 'https://' + department.domain + '/json/'
+ s = ServiceProxy(url)
+ remote_list = s.teleforma.get_period_list(department.name)
+ if remote_list['result']:
+ for period_name in remote_list['result']:
+ period, c = Period.objects.get_or_create(
+ name=period_name,
+ department=department)
+ periods_new.append(period)
+ print(period)
+
+ # cleanup
+ for period in Period.objects.all():
+ if not period in periods_new:
+ period.delete()
+
class CourseAccessMixin(PeriodAccessMixin):
def get_context_data(self, **kwargs):
context = super(CourseListView, self).get_context_data(**kwargs)
- context['notes'] = Note.objects.filter(author=self.request.user)
- context['room'] = get_room(name='site', period=context['period'].name)
- context['doc_types'] = DocumentType.objects.all()
context['list_view'] = True
- context['courses'] = sorted(context['all_courses'], key=lambda k: k['date'], reverse=True)[:1]
-
+ courses = [course['course'] for course in context['all_courses']]
+
+ # get last published media / document
+ last_published = []
+ last_media = Media.objects.filter(
+ period=self.period, is_published=True, course__in=courses).order_by("-date_added").first()
+ if last_media:
+ last_published.append(last_media)
+ last_document = Document.objects.filter(
+ periods=self.period, is_published=True, course__in=courses).order_by("-date_added").first()
+ if last_document:
+ last_published.append(last_document)
+ if last_published:
+ last_published = sorted(
+ last_published, key=lambda k: k.date_added, reverse=True)[0]
+ # get course with the latest published media / document
+ for course in context['all_courses']:
+ if course['course'].id == last_published.course.id:
+ break
+ context['courses'] = [course]
+ else:
+ # get course with the latest "date"
+ context['courses'] = sorted(
+ context['all_courses'], key=lambda k: k['date'], reverse=True)[:1]
+
user = self.request.user
is_student = user.student.all().count()
+ # appointments_open = False
+ appointments = []
+ if is_student:
+ available_courses = [course['course']
+ for course in context['all_courses']]
+ for appointment in AppointmentPeriod.objects.filter(periods=context['period'], course__in=available_courses):
+ if appointment.is_open:
+ found = False
+ for existing in appointments:
+ if existing.course == appointment.course:
+ found = True
+ if not found:
+ appointments.append(appointment)
+ context['appointments'] = appointments
+ # check if user appointment is next
+ user_appointment = Appointment.objects.filter(
+ student=user, slot__mode='distance', slot__appointment_period__periods=context['period'])
+ if user_appointment:
+ user_appointment = user_appointment[0]
+ now = datetime.datetime.now()
+ # now = datetime.datetime(2020, 10, 29, 9, 00)
+ if user_appointment.real_date - datetime.timedelta(hours=1) < now < user_appointment.real_date + datetime.timedelta(hours=1):
+ context['current_appointement'] = user_appointment
+
+ homes = Home.objects.filter(enabled=True).order_by('-modified_at')
+ for home in homes:
+ if home.is_for_period(context['period']):
+ context['home_title'] = home.visible_title
+ context['home_text'] = home.text
+ context['home_video'] = home.video
+ break
+
+ if is_student:
+ student = user.student.all()[0]
+ slots = []
+ to_subscribe = []
+ student_courses = [course['course']
+ for course in get_courses(user)]
+ for webclass in Webclass.published.filter(period=self.period, iej=student.iej, course__in=student_courses):
+ # if webclass.course not in student_courses:
+ # continue
+ if student.platform_only and not webclass.allow_elearning:
+ continue
+ if not student.platform_only and not webclass.allow_presentiel:
+ continue
+ if not webclass.is_not_over():
+ continue
+ slot = webclass.get_slot(user)
+ if slot and slot.status in ('almost', 'ingoing'):
+ slots.append(slot)
+ if not slot:
+ to_subscribe.append(webclass)
+ context['webclass_slots'] = slots
+ context['webclass_to_subscribe'] = to_subscribe
+ context['restricted'] = student.restricted
+
return context
@method_decorator(login_required)
@jsonrpc_method('teleforma.get_course_type_list')
def get_course_type_list(request):
+ from teleforma.models import CourseType
return [course_type.to_dict() for course_type in CourseType.objects.all()]
- def pull(request, organization_name, department_name):
+ def pull(request, organization_name):
+ from teleforma.models import Organization, Department
organization = Organization.objects.get(name=organization_name)
- department = Department.objects.get(
- name=department_name, organization=organization)
- url = 'http://' + department.domain + '/json/'
- s = ServiceProxy(url)
+ departments = Department.objects.filter(organization=organization)
+ courses_new = []
+ course_types_new = []
- remote_list = s.teleforma.get_course_list(
- organization_name, department.name)
- for course_dict in remote_list['result']:
- course = Course.objects.filter(code=course_dict['code'])
- if not course:
- course = Course()
- else:
- course = course[0]
- course.from_dict(course_dict)
-
- remote_list = s.teleforma.get_course_type_list()
- if remote_list['result']:
- for course_type_dict in remote_list['result']:
- course_type = CourseType.objects.filter(
- name=course_type_dict['name'])
- if not course_type:
- course_type = CourseType()
- else:
- course_type = course_type[0]
- course_type.from_dict(course_type_dict)
+ for department in departments:
+ url = 'https://' + department.domain + '/json/'
+ s = ServiceProxy(url)
+
+ remote_list = s.teleforma.get_course_list(organization_name, department.name)
+ if remote_list['result']:
+ for course_dict in remote_list['result']:
+ course, c = Course.objects.get_or_create(
+ code=course_dict['code'],
+ department=department,
+ )
+ course.from_dict(course_dict)
+ courses_new.append(course)
+ print(course)
+
+ remote_list = s.teleforma.get_course_type_list()
+ print(remote_list)
+ if remote_list['result']:
+ for course_type_dict in remote_list['result']:
+ course_type, c = CourseType.objects.get_or_create(name=course_type_dict['name'])
+ course_type.from_dict(course_type_dict)
+ course_types_new.append(course_type)
+ print(url)
+ print(course_type)
+
+ # cleanup
+ for course in Course.objects.all():
+ if not course in courses_new:
+ course.delete()
+ for course_type in CourseType.objects.all():
+ if not course_type in course_types_new:
+ course_type.delete()
-
@jsonrpc_method('teleforma.get_dep_courses')
def get_dep_courses(request, id):
department = Department.objects.get(id=id)
courses = []
for c in context['all_courses']:
if c['course'] == course:
- courses = format_courses(courses, course=course, types=c['types'])
+ courses = format_courses(
+ courses, course=course, types=c['types'])
context['courses'] = courses
# context['notes'] = course.notes.all().filter(author=self.request.user)
- content_type = ContentType.objects.get(app_label="teleforma", model="course")
- context['room'] = get_room(name=course.code, period=context['period'].name,
- content_type=content_type,
- id=course.id)
- context['doc_types'] = DocumentType.objects.all()
+ content_type = ContentType.objects.get(
+ app_label="teleforma", model="course")
+
+ # webclass
+ webclass = None
+ webclass_slot = None
+ student = self.request.user.student.all()
+ if student:
+ student = student[0]
+
+ if student:
+ try:
+ webclass = Webclass.published.filter(
+ period=self.period, course=course, iej=student.iej)[0]
+ except IndexError:
+ pass
+ if webclass:
+ if student.platform_only and not webclass.allow_elearning:
+ webclass = None
+ elif not student.platform_only and not webclass.allow_presentiel:
+ webclass = None
+ else:
+ webclass_slot = webclass.get_slot(self.request.user)
+ context['webclass'] = webclass
+ context['webclass_slot'] = webclass_slot
+ context['webclass_not_over'] = webclass and webclass.is_not_over()
+
+ records = {}
+ period = context['period']
+ try:
+ records = WebclassRecord.get_records(period, course)
+ except Exception as e:
+ print(e)
+ context['webclass_error'] = True
+ context['webclass_records'] = records.get(WebclassRecord.WEBCLASS)
+ context['webclass_corrections_records'] = records.get(WebclassRecord.CORRECTION, [])
return context
- @method_decorator(login_required)
+ @method_decorator(access_required)
def dispatch(self, *args, **kwargs):
-
++
+ # redirect to a retractation page if the student has paid in the 14 last days
+ student = None
+ # import pdb;pdb.set_trace()
+ try:
+ student = self.request.user.student.get()
+ except Student.DoesNotExist:
+ pass
+ if student and student.total_fees and not student.stop_retractation:
+ if student.total_fees:
+ two_week_ago = None
+ two_week_ago = datetime.datetime.now() - datetime.timedelta(days=14)
+ old_payments = student.payments.filter(date_paid__lt=two_week_ago).count()
+ if old_payments:
+ student.stop_retractation = True
+ student.stop_retractation_date = datetime.datetime.now()
+ student.save()
+ else:
+ payment_in_retractation_period = student.payments.filter(date_paid__gte=two_week_ago).count()
+ if payment_in_retractation_period:
+ return HttpResponseRedirect(reverse('teleforma-desk-period-course-retractation', kwargs={'period_id': kwargs['period_id'], 'pk': kwargs['pk']}))
-
++
return super(CourseView, self).dispatch(*args, **kwargs)
@jsonrpc_method('teleforma.get_course_media_urls')
@jsonrpc_method('teleforma.stop_conference')
def stop(request, public_id):
- conference = Conference.objects.get(public_id=public_id)
- conference.date_end = datetime.datetime.now()
- conference.save()
- for stream in conference.livestream.all():
- stream.delete()
- if 'telecaster' in settings.INSTALLED_APPS:
- for station in conference.station.all():
- station.started = False
- station.save()
- station.stop()
- try:
- url = 'https://' + conference.department.domain + '/json/'
- s = ServiceProxy(url)
- s.teleforma.stop_conference(conference.public_id)
- except:
- pass
+ conference = Conference.objects.get(public_id=public_id)
+ conference.stop()
- @method_decorator(login_required)
+ @jsonrpc_method('teleforma.create_conference')
+ def create(request, conf_dict):
+ if isinstance(conf_dict, dict):
+ conferences = Conference.objects.filter(public_id=conf_dict['id'])
+ if not conferences:
+ conference = Conference()
+ conference.from_json_dict(conf_dict)
+ conference.save()
+ if conference.streaming:
+ for stream in conf_dict['streams']:
+ host = getattr(
+ settings, "TELECASTER_LIVE_STREAMING_SERVER", stream['host'])
+ protocol = getattr(
+ settings, "TELECASTER_LIVE_STREAMING_PROTOCOL", 'http')
+ server_type = stream['server_type']
+ stream_type = stream['stream_type']
+
+ if server_type == 'icecast':
+ port = getattr(
+ settings, "TELECASTER_LIVE_ICECAST_STREAMING_PORT", '8000')
+ path = getattr(
+ settings, "TELECASTER_LIVE_ICECAST_STREAMING_PATH", '/')
+ elif server_type == 'stream-m':
+ port = getattr(
+ settings, "TELECASTER_LIVE_STREAM_M_STREAMING_PORT", '8080')
+ path = getattr(
+ settings, "TELECASTER_LIVE_STREAM_M_STREAMING_PATH", '/')
+ server, c = StreamingServer.objects.get_or_create(
+ protocol=protocol,
+ host=host,
+ port=port,
+ path=path,
+ type=server_type)
+ stream = LiveStream(conference=conference, server=server,
+ stream_type=stream_type, streaming=True)
+ stream.save()
+
+ if not conference.web_class_group and settings.TELECASTER_LIVE_TWEETER:
+ try:
+ site = get_current_site(request)
+ live_message(site, conference)
+ except:
+ pass
+ else:
+ raise 'Error : input must be a conference dictionnary'
+
+ @method_decorator(access_required)
def dispatch(self, *args, **kwargs):
return super(ConferenceView, self).dispatch(*args, **kwargs)
s.teleforma.create_conference(conference.to_json_dict())
- def live_message(conference):
- from jqchat.models import Message
- user, c = User.objects.get_or_create(username='bot')
- content_type = ContentType.objects.get(app_label="teleforma", model="course")
- room = get_room(name=conference.course.code, period=conference.period.name,
- content_type=content_type,
- id=conference.course.id)
- text = _("A new live conference has started : ")
- text += 'https://' + Site.objects.all()[0].domain + reverse('teleforma-conference-detail',
- kwargs={'period_id': conference.period.id, 'pk': conference.id})
- message = Message.objects.create_message(user, room, text)
+ @method_decorator(csrf_exempt, name='dispatch')
+ class ChatMessageView(APIView):
+ permission_classes = [IsAuthenticated]
+
+ # deprecated
+ def get(self, request):
+ """
+ Get last 100 messages, in json
+ You need to provide a room_name in request
+ """
+ messages = [message.to_dict() for message in ChatMessage.objects.filter(
+ room_name=request.GET['room_name']).order_by('-created')[:100]]
+ messages = messages[::-1]
+ return Response(messages)
- def post(self, request):
- """
- Send a chat message
- You can pass either :
- - a conference id
- - a room name and a message
- """
- room_name = request.POST.get('room_name')
- message = request.POST.get('message')
- if not room_name:
- conference = Conference.objects.get(
- id=request.POST.get('conference_id'))
- ChatMessage.live_conference_message(conference=conference)
+
+class ConferenceRecordView(FormView):
+ "Conference record form : telecaster module required"
+
+ model = Conference
+ form_class = ConferenceForm
+ template_name='teleforma/course_conference_record.html'
+ hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers']
+
+ def get_context_data(self, **kwargs):
+ context = super(ConferenceRecordView, self).get_context_data(**kwargs)
+ context['mime_type'] = 'video/webm'
+ status = Status()
+ status.update()
+ context['hidden_fields'] = self.hidden_fields
+ context['room'] = get_room(name='monitor')
+ return context
+
+ def get_success_url(self):
+ return reverse('teleforma-conference-detail', kwargs={'period_id': self.conference.period.id,
+ 'pk':self.conference.id})
+
+ def form_valid(self, form):
+ form.save()
+ uuid = get_random_hash()
+ conference = form.instance
+ conference.date_begin = datetime.datetime.now()
+ conference.public_id = uuid
+ conference.save()
+ self.conference = conference
+ status = Status()
+ status.get_hosts()
+
+ if conference.streaming:
+ stations = settings.TELECASTER_CONF
+ else:
+ stations = settings.TELECASTER_CONF_NO_STREAMING
+
+ for station in stations:
+ type = station['type']
+ conf = station['conf']
+ port = station['port']
+ server_type = station['server_type']
+ server, c = StreamingServer.objects.get_or_create(host=status.ip, port=port, type=server_type)
+ station = Station(conference=conference, public_id=uuid)
+ station.setup(conf)
+ try:
+ station.start()
+ except:
+ continue
+ station.save()
+ stream = LiveStream(conference=conference, server=server,
+ stream_type=type, streaming=True)
+ stream.save()
+ if server_type == 'stream-m':
+ try:
+ self.snapshot('http://localhost:8080/snapshot/monitor', station.output_dir)
+ except:
+ pass
+ if conference.streaming:
+ try:
+ live_message(self.conference)
+ except:
+ pass
+
+ try:
+ self.push()
+ except:
+ pass
+
+ return super(ConferenceRecordView, self).form_valid(form)
+
+ def snapshot(self, url, dir):
+ width = 160
+ height = 90
+ img = urllib.urlopen(url)
+ path = dir + os.sep + 'preview.webp'
+ f = open(path, 'w')
+ f.write(img.read())
+ f.close()
+ command = 'dwebp "' + path + '" -o "' + dir + os.sep + 'preview.png" &'
+ os.system(command)
+
+ @method_decorator(login_required)
+ def dispatch(self, *args, **kwargs):
+ return super(ConferenceRecordView, self).dispatch(*args, **kwargs)
+
+ @jsonrpc_method('teleforma.create_conference')
+ def create(request, conf_dict):
+ if isinstance(conf_dict, dict):
+ conferences = Conference.objects.filter(public_id=conf_dict['id'])
+ if not conferences:
+ conference = Conference()
+ conference.from_json_dict(conf_dict)
+ conference.save()
+
+ for stream in conf_dict['streams']:
+ host = stream['host']
+ port = stream['port']
+ server_type = stream['server_type']
+ stream_type = stream['stream_type']
+ site = Site.objects.all()[0]
+ server, c = StreamingServer.objects.get_or_create(host=site,
+ port=port,
+ type=server_type)
+ stream = LiveStream(conference=conference, server=server,
+ stream_type=stream_type, streaming=True)
+ stream.save()
+ try:
+ live_message(conference)
+ except:
+ pass
else:
- raise 'Error : input must be a conference dictionnary'
+ ChatMessage.add_message(room_name, message, system=True)
+ return Response({'status': 'ok'})
+ def push(self):
+ url = 'https://' + self.conference.department.domain + '/json/'
+ s = ServiceProxy(url)
+ s.teleforma.create_conference(self.conference.to_json_dict())
+
+ class NotificationView(APIView):
+ permission_classes = [IsAuthenticated]
+
+ def post(self, request):
+ """
+ Update a notification (set as read)
+ """
+ id = request.data.get('id')
+ viewed = request.data.get('viewed')
+ notif = Notification.objects.get(pk=id)
+ notif.viewed = viewed
+ notif.save()
+ return Response({'status': 'ok'})
+
+
+ class LiveConferenceNotify(APIView):
+
+ def post(self, request):
+ """
+ notify users a new live conference is starting
+ """
+ conference_id = request.data.get('id')
+ if not conference_id:
+ raise Exception('No conference id in request')
+ conference = Conference.objects.get(pk=int(conference_id))
+ students = Student.objects.filter(period=conference.period, platform_only=True)
+ text = f"""Une conférence live "{conference.course.title}" commence"""
+ url = reverse('teleforma-conference-detail', kwargs={'period_id': conference.period.id, 'pk': conference.id})
+
+ # notify students
+ for student in students:
+ try:
+ if student.user:
+ courses = get_courses(student.user, period=conference.period)
+ for course in courses:
+ if conference.course == course['course'] and \
+ conference.course_type in course['types']:
+ notify(student.user, text, url)
+ logger.info("Student notified: " + student.user.username)
+ except Exception as e:
+ logger.warning("Student NOT notified: " + str(student.id))
+ logger.warning(e)
+ continue
+
+ # notify staff
+ for user in User.objects.filter(is_staff=True):
+ notify(user, text, url)
+
+ return Response({'status': 'ok'})
+
+
class ProfessorListView(View):
@jsonrpc_method('teleforma.get_professor_list')
return [p.to_json_dict() for p in professors]
def pull(request, host=None):
- if host:
- url = 'http://' + host + '/json/'
- else:
- url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/'
- s = ServiceProxy(url)
-
- remote_list = s.teleforma.get_professor_list()
- for professor_dict in remote_list['result']:
- user, c = User.objects.get_or_create(
- username=professor_dict['username'])
- user.first_name = professor_dict['first_name']
- user.last_name = professor_dict['last_name']
- user.email = professor_dict['email']
- user.save()
+ from teleforma.models import Organization, Department
+ departments = Department.objects.all()
+ professors = Professor.objects.all()
+ professors_new = []
- professor, c = Professor.objects.get_or_create(user=user)
- for course_code in professor_dict['courses']:
- course = Course.objects.filter(code=course_code)
- if course:
- if not course[0] in professor.courses.all():
- professor.courses.add(course[0])
- professor.save()
+ for department in departments:
+ url = 'https://' + department.domain + '/json/'
+ s = ServiceProxy(url)
+ remote_list = s.teleforma.get_professor_list()
+ for professor_dict in remote_list['result']:
+ user, c = User.objects.get_or_create(username=professor_dict['username'][:30])
+ if professor_dict['last_name']:
+ user.first_name = professor_dict['first_name']
+ user.last_name = professor_dict['last_name']
+ user.email = professor_dict['email']
+ user.save()
-
+ professor, c = Professor.objects.get_or_create(user=user, department=department)
+ for course_code in professor_dict['courses']:
+ course = Course.objects.filter(code=course_code)
+ if course:
+ if not course[0] in professor.courses.all():
+ professor.courses.add(course[0])
+ professor.save()
+ professors_new.append(professor)
+ #print professor
+
+ # cleanup
+ for professor in professors:
+ if not professor in professors_new:
+ professor.delete()
+
+ @jsonrpc_method('teleforma.get_dep_professors')
+ def get_dep_professors(request, id):
+ department = Department.objects.get(id=id)
+ return [p.to_json_dict() for p in Professor.objects.filter(department=department)]
+ class WebClassGroupView(View):
+
+ @jsonrpc_method('teleforma.get_class_group_list')
+ def get_class_group_list(request):
+ class_groups = WebClassGroup.objects.all()
+ return [w.to_json_dict() for w in class_groups]
+
+ def pull(request, host=None):
+ if host:
+ url = 'http://' + host + '/json/'
+ else:
+ url = 'http://' + settings.TELECASTER_MASTER_SERVER + '/json/'
+ s = ServiceProxy(url)
+
+ remote_list = s.teleforma.get_class_group_list()
+ for class_group_dict in remote_list['result']:
+ class_group, c = WebClassGroup.objects.get_or_create(
+ name=class_group_dict['name'])
+
+
class HelpView(TemplateView):
- template_name='teleforma/help.html'
+ template_name = 'teleforma/help.html'
def get_context_data(self, **kwargs):
context = super(HelpView, self).get_context_data(**kwargs)
return super(HelpView, self).dispatch(*args, **kwargs)
+class SourcesStatusView(ListView):
+
+ model = Source
+ template_name='teleforma/source_monitors.html'
+
+ @jsonrpc_method('telecaster.get_source_status')
+ def get_source_status(request, public_id):
+ source = Source.objects.get(public_id=public_id)
+ url = 'https://' + source.ip + '/json/'
+ service = ServiceProxy(url)
+ status = s.teleforma.get_server_status()
+ return status
+
+ @jsonrpc_method('telecaster.get_source_station_status')
+ def get_source_station_status(request, public_id):
+ source = Source.objects.get(public_id=public_id)
+ url = 'https://' + source.ip + '/json/'
+ service = ServiceProxy(url)
+ station = s.teleforma.get_station_status()
+ return station
+
+ @jsonrpc_method('telecaster.source_station_start')
+ def start(request, station_dict):
+ pass
+
+ @jsonrpc_method('telecaster.source_station_stop')
+ def stop(request):
+ pass
+
++
+ class PDFTemplateResponseMixin(TemplateResponseMixin):
+ """
+ Mixin for Django class based views.
+ Switch normal and pdf template based on request.
+
+ The switch is made when the request has a particular querydict, e.g.::
+
+ http://www.example.com?format=pdf
+
+ The key and value of the querydict can be overridable using *as_view()*.
+ That pdf url will be present in the context as *pdf_url*.
+
+ For example it is possible to define a view like this::
+
+ from django.views.generic import View
+
+ class MyView(PDFTemplateResponseMixin, View):
+ template_name = 'myapp/myview.html'
+ pdf_filename = 'report.pdf'
+
+ The pdf generation is automatically done by *weasyprint* using
+ the *myapp/myview_pdf.html* template.
+
+ Note that the pdf template takes the same context as the normal template.
+ """
+ pdf_template_name = None
+ pdf_template_name_suffix = '_pdf'
+ pdf_querydict_key = 'format'
+ pdf_querydict_value = 'pdf'
+ pdf_encoding = 'utf-8'
+ pdf_filename = None
+ pdf_url_varname = 'pdf_url'
+ pdf_kwargs = {}
+
+ def is_pdf(self):
+ value = self.request.REQUEST.get(self.pdf_querydict_key, '')
+ return value.lower() == self.pdf_querydict_value.lower()
+
+ def _get_pdf_template_name(self, name):
+ base, ext = os.path.splitext(name)
+ return '%s%s%s' % (base, self.pdf_template_name_suffix, ext)
+
+ def get_pdf_template_names(self):
+ """
+ If the template name is not given using the class attribute
+ *pdf_template_name*, then it is obtained using normal template
+ names, appending *pdf_template_name_suffix*, e.g.::
+
+ path/to/detail.html -> path/to/detail_pdf.html
+ """
+ if self.pdf_template_name is None:
+ names = super(PDFTemplateResponseMixin, self).get_template_names()
+ return map(self._get_pdf_template_name, names)
+ return [self.pdf_template_name]
+
+ def get_pdf_filename(self):
+ """
+ Return the pdf attachment filename.
+ If the filename is None, the pdf will not be an attachment.
+ """
+ return self.pdf_filename
+
+ def get_pdf_url(self):
+ """
+ This method is used to put the pdf url in the context.
+ """
+ querydict = self.request.GET.copy()
+ querydict[self.pdf_querydict_key] = self.pdf_querydict_value
+ return '%s?%s' % (self.request.path, querydict.urlencode())
+
+ def get_pdf_response(self, context, **response_kwargs):
+ return render_to_pdf(
+ request=self.request,
+ template=self.get_pdf_template_names(),
+ context=context,
+ encoding=self.pdf_encoding,
+ filename=self.get_pdf_filename(),
+ **self.pdf_kwargs
+ )
+
+ def render_to_response(self, context, **response_kwargs):
+ if self.is_pdf():
+ from django.conf import settings
+ context['STATIC_ROOT'] = settings.STATIC_ROOT
+ return self.get_pdf_response(context, **response_kwargs)
+ context[self.pdf_url_varname] = self.get_pdf_url()
+ return super(PDFTemplateResponseMixin, self).render_to_response(
+ context, **response_kwargs)