From 00eb45c687bac93af61a1231eba5277f4cb18e3a Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Fri, 3 May 2024 11:51:48 +0200 Subject: [PATCH] On affiche explicitement les fichiers vides (cf RCCF) --- .../import_tasks/extractor_ical.py | 3 + .../locale/fr/LC_MESSAGES/django.po | 408 +++++++++--------- 2 files changed, 209 insertions(+), 202 deletions(-) diff --git a/src/agenda_culturel/import_tasks/extractor_ical.py b/src/agenda_culturel/import_tasks/extractor_ical.py index 94318b2..b80c138 100644 --- a/src/agenda_culturel/import_tasks/extractor_ical.py +++ b/src/agenda_culturel/import_tasks/extractor_ical.py @@ -6,6 +6,7 @@ import bbcode from datetime import datetime, date, timedelta from bs4 import BeautifulSoup, MarkupResemblesLocatorWarning +from django.utils.translation import gettext_lazy as _ from .extractor import * @@ -50,6 +51,8 @@ class ICALExtractor(Extractor): def extract( self, content, url, url_human=None, default_values=None, published=False ): + if content == "": + raise Exception(_('The source is empty')) warnings.filterwarnings("ignore", category=MarkupResemblesLocatorWarning) print("Extracting ical events from {}".format(url)) diff --git a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po index d593bb2..4d6fd34 100644 --- a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po +++ b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: agenda_culturel\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-28 18:01+0000\n" +"POT-Creation-Date: 2024-05-03 09:48+0000\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n" "Last-Translator: Jean-Marie Favreau \n" "Language-Team: Jean-Marie Favreau \n" @@ -17,140 +17,144 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: agenda_culturel/forms.py:70 +#: agenda_culturel/forms.py:112 msgid "The end date must be after the start date." msgstr "La date de fin doit être après la date de début." -#: agenda_culturel/forms.py:85 +#: agenda_culturel/forms.py:128 msgid "The end time cannot be earlier than the start time." msgstr "L'heure de fin ne peut pas être avant l'heure de début." -#: agenda_culturel/forms.py:92 +#: agenda_culturel/forms.py:138 msgid "JSON in the format expected for the import." msgstr "JSON dans le format attendu pour l'import" -#: agenda_culturel/forms.py:289 +#: agenda_culturel/forms.py:397 msgid "Apply category {} to the event {}" msgstr "Appliquer la catégorie {} à l'événement {}" -#: agenda_culturel/forms.py:298 agenda_culturel/models.py:196 +#: agenda_culturel/forms.py:412 agenda_culturel/models.py:235 msgid "Place" msgstr "Lieu" -#: agenda_culturel/forms.py:298 +#: agenda_culturel/forms.py:414 msgid "Create a missing place" msgstr "Créer un lieu manquant" -#: agenda_culturel/forms.py:305 +#: agenda_culturel/forms.py:424 msgid "Add \"{}\" to the aliases of the place" msgstr "Ajouter « {} » aux alias du lieu" -#: agenda_culturel/forms.py:324 +#: agenda_culturel/forms.py:448 msgid "On saving, use aliases to detect all matching events with missing place" msgstr "" "Lors de l'enregistrement, utiliser des alias pour détecter tous les " "événements correspondants dont la place est manquante." -#: agenda_culturel/import_tasks/generic_extractors.py:151 +#: agenda_culturel/import_tasks/extractor_ical.py:54 +msgid "The source is empty" +msgstr "La source est vide" + +#: agenda_culturel/import_tasks/generic_extractors.py:197 msgid "Cannot extract event from url {}" msgstr "Impossible d'extraire l'événement depuis l'url {}" -#: agenda_culturel/models.py:39 agenda_culturel/models.py:73 -#: agenda_culturel/models.py:188 agenda_culturel/models.py:853 -#: agenda_culturel/models.py:892 +#: agenda_culturel/models.py:42 agenda_culturel/models.py:86 +#: agenda_culturel/models.py:214 agenda_culturel/models.py:1104 +#: agenda_culturel/models.py:1167 msgid "Name" msgstr "Nom" -#: agenda_culturel/models.py:39 agenda_culturel/models.py:73 +#: agenda_culturel/models.py:43 agenda_culturel/models.py:86 msgid "Category name" msgstr "Nom de la catégorie" -#: agenda_culturel/models.py:40 +#: agenda_culturel/models.py:48 msgid "Content" msgstr "Contenu" -#: agenda_culturel/models.py:40 +#: agenda_culturel/models.py:48 msgid "Text as shown to the visitors" msgstr "Text tel que présenté aux visiteureuses" -#: agenda_culturel/models.py:41 +#: agenda_culturel/models.py:51 msgid "URL path" msgstr "Chemin URL" -#: agenda_culturel/models.py:41 +#: agenda_culturel/models.py:52 msgid "URL path where the content is included." msgstr "Chemin URL où le contenu est présent." -#: agenda_culturel/models.py:44 +#: agenda_culturel/models.py:56 msgid "Static content" msgstr "Contenu statique" -#: agenda_culturel/models.py:45 +#: agenda_culturel/models.py:57 msgid "Static contents" msgstr "Contenus statiques" -#: agenda_culturel/models.py:74 +#: agenda_culturel/models.py:89 msgid "Alternative Name" msgstr "Nom alternatif" -#: agenda_culturel/models.py:74 +#: agenda_culturel/models.py:90 msgid "Alternative name used with a time period" msgstr "Nom alternatif utilisé avec une période de temps" -#: agenda_culturel/models.py:75 +#: agenda_culturel/models.py:94 msgid "Short name" msgstr "Nom court" -#: agenda_culturel/models.py:75 +#: agenda_culturel/models.py:95 msgid "Short name of the category" msgstr "Nom court de la catégorie" -#: agenda_culturel/models.py:76 +#: agenda_culturel/models.py:99 msgid "Color" msgstr "Couleur" -#: agenda_culturel/models.py:76 +#: agenda_culturel/models.py:100 msgid "Color used as background for the category" msgstr "Couleur utilisée comme fond de la catégorie" -#: agenda_culturel/models.py:120 agenda_culturel/models.py:256 -#: agenda_culturel/models.py:904 agenda_culturel/models.py:955 +#: agenda_culturel/models.py:147 agenda_culturel/models.py:307 +#: agenda_culturel/models.py:1221 agenda_culturel/models.py:1307 msgid "Category" msgstr "Catégorie" -#: agenda_culturel/models.py:121 +#: agenda_culturel/models.py:148 msgid "Categories" msgstr "Catégories" -#: agenda_culturel/models.py:127 agenda_culturel/models.py:128 +#: agenda_culturel/models.py:153 agenda_culturel/models.py:154 msgid "Duplicated events" msgstr "Événements dupliqués" -#: agenda_culturel/models.py:188 +#: agenda_culturel/models.py:214 msgid "Name of the place" msgstr "Nom du lieu" -#: agenda_culturel/models.py:189 +#: agenda_culturel/models.py:216 msgid "Address" msgstr "Adresse" -#: agenda_culturel/models.py:189 +#: agenda_culturel/models.py:217 msgid "Address of this place (without city name)" msgstr "Adresse de ce lieu (sans le nom de la ville)" -#: agenda_culturel/models.py:190 +#: agenda_culturel/models.py:221 msgid "City" msgstr "Ville" -#: agenda_culturel/models.py:190 +#: agenda_culturel/models.py:221 msgid "City name" msgstr "Nom de la ville" -#: agenda_culturel/models.py:193 +#: agenda_culturel/models.py:226 msgid "Alternative names" msgstr "Noms alternatifs" -#: agenda_culturel/models.py:193 +#: agenda_culturel/models.py:228 msgid "" "Alternative names or addresses used to match a place with the free-form " "location of an event." @@ -158,77 +162,77 @@ msgstr "" "Noms et adresses alternatives qui seront utilisées pour associer une adresse " "avec la localisation en forme libre d'un événement" -#: agenda_culturel/models.py:197 +#: agenda_culturel/models.py:236 msgid "Places" msgstr "Lieux" -#: agenda_culturel/models.py:240 agenda_culturel/models.py:902 +#: agenda_culturel/models.py:285 agenda_culturel/models.py:1208 msgid "Published" msgstr "Publié" -#: agenda_culturel/models.py:241 +#: agenda_culturel/models.py:286 msgid "Draft" msgstr "Brouillon" -#: agenda_culturel/models.py:242 +#: agenda_culturel/models.py:287 msgid "Trash" msgstr "Corbeille" -#: agenda_culturel/models.py:252 +#: agenda_culturel/models.py:298 msgid "Title" msgstr "Titre" -#: agenda_culturel/models.py:252 +#: agenda_culturel/models.py:298 msgid "Short title" msgstr "Titre court" -#: agenda_culturel/models.py:254 agenda_culturel/models.py:939 +#: agenda_culturel/models.py:302 agenda_culturel/models.py:1275 msgid "Status" msgstr "Status" -#: agenda_culturel/models.py:256 +#: agenda_culturel/models.py:308 msgid "Category of the event" msgstr "Catégorie de l'événement" -#: agenda_culturel/models.py:258 +#: agenda_culturel/models.py:315 msgid "Day of the event" msgstr "Date de l'événement" -#: agenda_culturel/models.py:259 +#: agenda_culturel/models.py:318 agenda_culturel/models.py:319 msgid "Starting time" msgstr "Heure de début" -#: agenda_culturel/models.py:261 +#: agenda_culturel/models.py:325 msgid "End day of the event" msgstr "Fin de l'événement" -#: agenda_culturel/models.py:261 +#: agenda_culturel/models.py:327 msgid "End day of the event, only required if different from the start day." msgstr "" "Date de fin de l'événement, uniquement nécessaire s'il est différent du " "premier jour de l'événement" -#: agenda_culturel/models.py:262 +#: agenda_culturel/models.py:333 msgid "Final time" msgstr "Heure de fin" -#: agenda_culturel/models.py:264 +#: agenda_culturel/models.py:337 msgid "Recurrence" msgstr "Récurrence" -#: agenda_culturel/models.py:266 agenda_culturel/models.py:903 +#: agenda_culturel/models.py:342 agenda_culturel/models.py:1213 msgid "Location" msgstr "Localisation" -#: agenda_culturel/models.py:266 +#: agenda_culturel/models.py:343 msgid "Address of the event" msgstr "Adresse de l'événement" -#: agenda_culturel/models.py:267 +#: agenda_culturel/models.py:349 msgid "Location (free form)" msgstr "Localisation (forme libre)" -#: agenda_culturel/models.py:267 +#: agenda_culturel/models.py:351 msgid "" "Address of the event in case its not available in the already known places " "(free form)" @@ -236,187 +240,187 @@ msgstr "" "Addresse d'un événement si elle n'est pas déjà présente dans la liste des " "lieux disponible (forme libre)" -#: agenda_culturel/models.py:269 +#: agenda_culturel/models.py:358 msgid "Description" msgstr "Description" -#: agenda_culturel/models.py:269 +#: agenda_culturel/models.py:359 msgid "General description of the event" msgstr "Description générale de l'événement" -#: agenda_culturel/models.py:271 +#: agenda_culturel/models.py:365 msgid "Illustration (local image)" msgstr "Illustration (image locale)" -#: agenda_culturel/models.py:271 +#: agenda_culturel/models.py:366 msgid "Illustration image stored in the agenda server" msgstr "Image d'illustration stockée sur le serveur de l'agenda" -#: agenda_culturel/models.py:273 +#: agenda_culturel/models.py:373 msgid "Illustration" msgstr "Illustration" -#: agenda_culturel/models.py:273 +#: agenda_culturel/models.py:374 msgid "URL of the illustration image" msgstr "URL de l'image illustrative" -#: agenda_culturel/models.py:274 +#: agenda_culturel/models.py:380 msgid "Illustration description" msgstr "Description de l'illustration" -#: agenda_culturel/models.py:274 +#: agenda_culturel/models.py:381 msgid "Alternative text used by screen readers for the image" msgstr "Texte alternatif utiliser par les lecteurs d'écrans pour l'image" -#: agenda_culturel/models.py:276 +#: agenda_culturel/models.py:389 msgid "Importation source" msgstr "Source d'importation" -#: agenda_culturel/models.py:276 +#: agenda_culturel/models.py:390 msgid "Importation source used to detect removed entries." msgstr "Source d'importation utilisée pour détecter les éléments supprimés/" -#: agenda_culturel/models.py:277 +#: agenda_culturel/models.py:396 msgid "UUIDs" msgstr "UUIDs" -#: agenda_culturel/models.py:277 +#: agenda_culturel/models.py:397 msgid "UUIDs from import to detect duplicated entries." msgstr "UUIDs utilisés pendant l'import pour détecter les entrées dupliquées" -#: agenda_culturel/models.py:278 +#: agenda_culturel/models.py:403 msgid "URLs" msgstr "URLs" -#: agenda_culturel/models.py:278 +#: agenda_culturel/models.py:404 msgid "List of all the urls where this event can be found." msgstr "Liste de toutes les urls où l'événement peut être trouvé." -#: agenda_culturel/models.py:280 +#: agenda_culturel/models.py:411 msgid "Tags" msgstr "Étiquettes" -#: agenda_culturel/models.py:280 +#: agenda_culturel/models.py:412 msgid "A list of tags that describe the event." msgstr "Une liste d'étiquettes décrivant l'événement" -#: agenda_culturel/models.py:282 +#: agenda_culturel/models.py:419 msgid "Possibly duplicated" msgstr "Possibles doublons" -#: agenda_culturel/models.py:323 +#: agenda_culturel/models.py:468 msgid "Event" msgstr "Événement" -#: agenda_culturel/models.py:324 +#: agenda_culturel/models.py:469 msgid "Events" msgstr "Événements" -#: agenda_culturel/models.py:849 +#: agenda_culturel/models.py:1095 msgid "Contact message" msgstr "Message de contact" -#: agenda_culturel/models.py:850 +#: agenda_culturel/models.py:1096 msgid "Contact messages" msgstr "Messages de contact" -#: agenda_culturel/models.py:852 +#: agenda_culturel/models.py:1099 msgid "Subject" msgstr "Sujet" -#: agenda_culturel/models.py:852 +#: agenda_culturel/models.py:1100 msgid "The subject of your message" msgstr "Sujet de votre message" -#: agenda_culturel/models.py:853 +#: agenda_culturel/models.py:1105 msgid "Your name" msgstr "Votre nom" -#: agenda_culturel/models.py:854 +#: agenda_culturel/models.py:1111 msgid "Email address" msgstr "Adresse email" -#: agenda_culturel/models.py:854 +#: agenda_culturel/models.py:1112 msgid "Your email address" msgstr "Votre adresse email" -#: agenda_culturel/models.py:855 +#: agenda_culturel/models.py:1117 msgid "Message" msgstr "Message" -#: agenda_culturel/models.py:855 +#: agenda_culturel/models.py:1117 msgid "Your message" msgstr "Votre message" -#: agenda_culturel/models.py:859 agenda_culturel/views.py:483 +#: agenda_culturel/models.py:1122 agenda_culturel/views.py:655 msgid "Closed" msgstr "Fermé" -#: agenda_culturel/models.py:859 +#: agenda_culturel/models.py:1124 msgid "this message has been processed and no longer needs to be handled" msgstr "Ce message a été traité et ne nécessite plus d'être pris en charge" -#: agenda_culturel/models.py:860 +#: agenda_culturel/models.py:1129 msgid "Comments" msgstr "Commentaires" -#: agenda_culturel/models.py:860 +#: agenda_culturel/models.py:1130 msgid "Comments on the message from the moderation team" msgstr "Commentaires sur ce message par l'équipe de modération" -#: agenda_culturel/models.py:870 agenda_culturel/models.py:937 +#: agenda_culturel/models.py:1142 agenda_culturel/models.py:1266 msgid "Recurrent import" msgstr "Import récurrent" -#: agenda_culturel/models.py:871 +#: agenda_culturel/models.py:1143 msgid "Recurrent imports" msgstr "Imports récurrents" -#: agenda_culturel/models.py:875 +#: agenda_culturel/models.py:1147 msgid "ical" msgstr "ical" -#: agenda_culturel/models.py:876 +#: agenda_culturel/models.py:1148 msgid "ical no busy" msgstr "ical sans busy" -#: agenda_culturel/models.py:877 +#: agenda_culturel/models.py:1149 msgid "ical no VC" msgstr "ical sans VC" -#: agenda_culturel/models.py:878 +#: agenda_culturel/models.py:1150 msgid "lacoope.org" msgstr "lacoope.org" -#: agenda_culturel/models.py:879 +#: agenda_culturel/models.py:1151 msgid "la comédie" msgstr "la comédie" -#: agenda_culturel/models.py:880 +#: agenda_culturel/models.py:1152 msgid "le fotomat" msgstr "le fotomat" -#: agenda_culturel/models.py:881 +#: agenda_culturel/models.py:1153 msgid "la puce à loreille" msgstr "la puce à loreille" -#: agenda_culturel/models.py:884 +#: agenda_culturel/models.py:1156 msgid "simple" msgstr "simple" -#: agenda_culturel/models.py:885 +#: agenda_culturel/models.py:1157 msgid "Headless Chromium" msgstr "chromium sans interface" -#: agenda_culturel/models.py:889 +#: agenda_culturel/models.py:1162 msgid "daily" msgstr "chaque jour" -#: agenda_culturel/models.py:890 +#: agenda_culturel/models.py:1164 msgid "weekly" msgstr "chaque semaine" -#: agenda_culturel/models.py:892 +#: agenda_culturel/models.py:1169 msgid "" "Recurrent import name. Be careful to choose a name that is easy to " "understand, as it will be public and displayed on the sites About page." @@ -424,127 +428,127 @@ msgstr "" "Nom de l'import récurrent. Attention à choisir un nom compréhensible, car il " "sera public, et affiché sur la page à propos du site." -#: agenda_culturel/models.py:893 +#: agenda_culturel/models.py:1176 msgid "Processor" msgstr "Processeur" -#: agenda_culturel/models.py:894 +#: agenda_culturel/models.py:1179 msgid "Downloader" msgstr "Téléchargeur" -#: agenda_culturel/models.py:896 +#: agenda_culturel/models.py:1186 msgid "Import recurrence" msgstr "Récurrence d'import" -#: agenda_culturel/models.py:899 +#: agenda_culturel/models.py:1193 msgid "Source" msgstr "Source" -#: agenda_culturel/models.py:899 +#: agenda_culturel/models.py:1194 msgid "URL of the source document" msgstr "URL du document source" -#: agenda_culturel/models.py:900 +#: agenda_culturel/models.py:1198 msgid "Browsable url" msgstr "URL navigable" -#: agenda_culturel/models.py:900 +#: agenda_culturel/models.py:1200 msgid "URL of the corresponding document that will be shown to visitors." msgstr "URL correspondant au document et qui sera montrée aux visiteurs" -#: agenda_culturel/models.py:902 +#: agenda_culturel/models.py:1209 msgid "Status of each imported event (published or draft)" msgstr "Status de chaque événement importé (publié ou brouillon)" -#: agenda_culturel/models.py:903 +#: agenda_culturel/models.py:1214 msgid "Address for each imported event" msgstr "Adresse de chaque événement importé" -#: agenda_culturel/models.py:904 +#: agenda_culturel/models.py:1222 msgid "Category of each imported event" msgstr "Catégorie de chaque événement importé" -#: agenda_culturel/models.py:905 +#: agenda_culturel/models.py:1228 msgid "Tags for each imported event" msgstr "Étiquettes de chaque événement importé" -#: agenda_culturel/models.py:905 +#: agenda_culturel/models.py:1229 msgid "A list of tags that describe each imported event." msgstr "Une liste d'étiquettes décrivant chaque événement importé" -#: agenda_culturel/models.py:924 +#: agenda_culturel/models.py:1252 msgid "Running" msgstr "En cours" -#: agenda_culturel/models.py:925 +#: agenda_culturel/models.py:1253 msgid "Canceled" msgstr "Annulé" -#: agenda_culturel/models.py:926 +#: agenda_culturel/models.py:1254 msgid "Success" msgstr "Succès" -#: agenda_culturel/models.py:927 +#: agenda_culturel/models.py:1255 msgid "Failed" msgstr "Erreur" -#: agenda_culturel/models.py:930 +#: agenda_culturel/models.py:1258 msgid "Batch importation" msgstr "Importation par lot" -#: agenda_culturel/models.py:931 +#: agenda_culturel/models.py:1259 msgid "Batch importations" msgstr "Importations par lot" -#: agenda_culturel/models.py:937 +#: agenda_culturel/models.py:1267 msgid "Reference to the recurrent import processing" msgstr "Référence du processus d'import récurrent" -#: agenda_culturel/models.py:941 +#: agenda_culturel/models.py:1279 msgid "Error message" msgstr "Votre message" -#: agenda_culturel/models.py:943 +#: agenda_culturel/models.py:1283 msgid "Number of collected events" msgstr "Nombre d'événements collectés" -#: agenda_culturel/models.py:944 +#: agenda_culturel/models.py:1286 msgid "Number of imported events" msgstr "Nombre d'événements importés" -#: agenda_culturel/models.py:945 +#: agenda_culturel/models.py:1289 msgid "Number of updated events" msgstr "Nombre d'événements mis à jour" -#: agenda_culturel/models.py:946 +#: agenda_culturel/models.py:1292 msgid "Number of removed events" msgstr "Nombre d'événements supprimés" -#: agenda_culturel/models.py:953 +#: agenda_culturel/models.py:1300 msgid "Weight" msgstr "Poids" -#: agenda_culturel/models.py:953 +#: agenda_culturel/models.py:1301 msgid "The lower is the weight, the earlier the filter is applied" msgstr "Plus le poids est léger, plus le filtre sera appliqué tôt" -#: agenda_culturel/models.py:955 +#: agenda_culturel/models.py:1308 msgid "Category applied to the event" msgstr "Catégorie appliquée à l'événement" -#: agenda_culturel/models.py:957 +#: agenda_culturel/models.py:1313 msgid "Contained in the title" msgstr "Contenu dans le titre" -#: agenda_culturel/models.py:957 +#: agenda_culturel/models.py:1314 msgid "Text contained in the event title" msgstr "Texte contenu dans le titre de l'événement" -#: agenda_culturel/models.py:958 +#: agenda_culturel/models.py:1320 msgid "Exact title extract" msgstr "Extrait exact du titre" -#: agenda_culturel/models.py:958 +#: agenda_culturel/models.py:1322 msgid "" "If checked, the extract will be searched for in the title using the exact " "form (capitals, accents)." @@ -552,19 +556,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:960 +#: agenda_culturel/models.py:1328 msgid "Contained in the description" msgstr "Contenu dans la description" -#: agenda_culturel/models.py:960 +#: agenda_culturel/models.py:1329 msgid "Text contained in the description" msgstr "Texte contenu dans la description" -#: agenda_culturel/models.py:961 +#: agenda_culturel/models.py:1335 msgid "Exact description extract" msgstr "Extrait exact de description" -#: agenda_culturel/models.py:961 +#: agenda_culturel/models.py:1337 msgid "" "If checked, the extract will be searched for in the description using the " "exact form (capitals, accents)." @@ -572,19 +576,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans la description en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:963 +#: agenda_culturel/models.py:1343 msgid "Contained in the location" msgstr "Contenu dans la localisation" -#: agenda_culturel/models.py:963 +#: agenda_culturel/models.py:1344 msgid "Text contained in the event location" msgstr "Texte contenu dans la localisation de l'événement" -#: agenda_culturel/models.py:964 +#: agenda_culturel/models.py:1350 msgid "Exact location extract" msgstr "Extrait exact de localisation" -#: agenda_culturel/models.py:964 +#: agenda_culturel/models.py:1352 msgid "" "If checked, the extract will be searched for in the location using the exact " "form (capitals, accents)." @@ -592,52 +596,52 @@ msgstr "" "Si coché, l'extrait sera recherché dans la localisation en utilisant la " "forme exacte (majuscules, accents)" -#: agenda_culturel/models.py:967 +#: agenda_culturel/models.py:1358 msgid "Categorisation rule" msgstr "Règle de catégorisation" -#: agenda_culturel/models.py:968 +#: agenda_culturel/models.py:1359 msgid "Categorisation rules" msgstr "Règles de catégorisation" -#: agenda_culturel/models.py:1024 agenda_culturel/models.py:1045 +#: agenda_culturel/models.py:1421 agenda_culturel/models.py:1453 msgid "Question" msgstr "Question" -#: agenda_culturel/models.py:1024 agenda_culturel/models.py:1047 +#: agenda_culturel/models.py:1422 agenda_culturel/models.py:1460 msgid "Text that will be shown to moderators" msgstr "Text tel que présenté aux modérateurices" -#: agenda_culturel/models.py:1027 +#: agenda_culturel/models.py:1428 msgid "Moderation question" msgstr "Question de modération" -#: agenda_culturel/models.py:1028 +#: agenda_culturel/models.py:1429 msgid "Moderation questions" msgstr "Questions de modération" -#: agenda_culturel/models.py:1045 +#: agenda_culturel/models.py:1454 msgid "Associated question from moderation" msgstr "Question associée pour la modération" -#: agenda_culturel/models.py:1047 +#: agenda_culturel/models.py:1459 msgid "Answer" msgstr "Réponse" -#: agenda_culturel/models.py:1049 +#: agenda_culturel/models.py:1466 msgid "Adds tags" msgstr "Ajoute les étiquettes" -#: agenda_culturel/models.py:1049 +#: agenda_culturel/models.py:1467 msgid "A list of tags that will be added if you choose this answer." msgstr "" "Une liste d'étiquettes qui seront ajoutées si vous choisissez cette réponse." -#: agenda_culturel/models.py:1050 +#: agenda_culturel/models.py:1473 msgid "Removes tags" msgstr "Retire les étiquettes" -#: agenda_culturel/models.py:1050 +#: agenda_culturel/models.py:1474 msgid "A list of tags that will be removed if you choose this answer." msgstr "" "Une liste d'étiquettes qui seront retirées si vous choisissez cette réponse." @@ -650,47 +654,47 @@ msgstr "anglais" msgid "French" msgstr "français" -#: agenda_culturel/views.py:50 +#: agenda_culturel/views.py:88 msgid "Recurrent import name" msgstr "Nome de l'import récurrent" -#: agenda_culturel/views.py:51 +#: agenda_culturel/views.py:89 msgid "Add another" msgstr "Ajouter un autre" -#: agenda_culturel/views.py:52 +#: agenda_culturel/views.py:90 msgid "Browse..." msgstr "Naviguer..." -#: agenda_culturel/views.py:53 +#: agenda_culturel/views.py:91 msgid "Naviguer..." msgstr "" -#: agenda_culturel/views.py:54 +#: agenda_culturel/views.py:92 msgid "No file selected." msgstr "Pas de fichier sélectionné." -#: agenda_culturel/views.py:282 +#: agenda_culturel/views.py:373 msgid "The static content has been successfully updated." msgstr "Le contenu statique a été modifié avec succès." -#: agenda_culturel/views.py:289 agenda_culturel/views.py:324 +#: agenda_culturel/views.py:382 agenda_culturel/views.py:427 msgid "The event has been successfully modified." msgstr "L'événement a été modifié avec succès." -#: agenda_culturel/views.py:301 +#: agenda_culturel/views.py:396 msgid "The event has been successfully deleted." msgstr "L'événement a été supprimé avec succès" -#: agenda_culturel/views.py:350 +#: agenda_culturel/views.py:453 msgid "The status has been successfully modified." msgstr "Le status a été modifié avec succès." -#: agenda_culturel/views.py:372 +#: agenda_culturel/views.py:480 msgid "The event is saved." msgstr "L'événement est enregistré." -#: agenda_culturel/views.py:375 +#: agenda_culturel/views.py:486 msgid "" "The event has been submitted and will be published as soon as it has been " "validated by the moderation team." @@ -698,7 +702,7 @@ msgstr "" "L'événement a été soumis et sera publié dès qu'il aura été validé par " "l'équipe de modération." -#: agenda_culturel/views.py:412 +#: agenda_culturel/views.py:543 msgid "" "The event has been successfully extracted, and you can now submit it after " "modifying it if necessary." @@ -706,7 +710,7 @@ msgstr "" "L'événement a été extrait avec succès, vous pouvez maintenant le soumettre " "après l'avoir modifié au besoin." -#: agenda_culturel/views.py:416 +#: agenda_culturel/views.py:559 msgid "" "Unable to extract an event from the proposed URL. Please use the form below " "to submit the event." @@ -714,16 +718,16 @@ msgstr "" "Impossible d'extraire un événement depuis l'URL proposée. Veuillez utiliser " "le formulaire ci-dessous pour soumettre l'événement." -#: agenda_culturel/views.py:425 +#: agenda_culturel/views.py:579 msgid "This URL has already been submitted, and you can find the event below." msgstr "" "Cette URL a déjà été soumise, et vous trouverez l'événement ci-dessous." -#: agenda_culturel/views.py:429 +#: agenda_culturel/views.py:588 msgid "This URL has already been submitted and is awaiting moderation." msgstr "Cette URL a déjà été soumise, et est en attente de modération" -#: agenda_culturel/views.py:431 +#: agenda_culturel/views.py:595 msgid "" "This URL has already been submitted, but has not been selected for " "publication by the moderation team." @@ -731,55 +735,55 @@ msgstr "" "Cette URL a déjà été soumise, mais n'a pas été retenue par l'équipe de " "modération pour la publication." -#: agenda_culturel/views.py:453 +#: agenda_culturel/views.py:622 msgid "Your message has been sent successfully." msgstr "Votre message a été envoyé avec succès." -#: agenda_culturel/views.py:468 +#: agenda_culturel/views.py:639 msgid "The contact message properties has been successfully modified." msgstr "Les propriétés du message de contact ont été modifié avec succès." -#: agenda_culturel/views.py:483 +#: agenda_culturel/views.py:655 msgid "Open" msgstr "Ouvert" -#: agenda_culturel/views.py:525 +#: agenda_culturel/views.py:711 msgid "Search" msgstr "Rechercher" -#: agenda_culturel/views.py:660 +#: agenda_culturel/views.py:881 msgid "The import has been run successfully." msgstr "L'import a été lancé avec succès" -#: agenda_culturel/views.py:677 +#: agenda_culturel/views.py:900 msgid "The import has been canceled." msgstr "L'import a été annulé" -#: agenda_culturel/views.py:714 +#: agenda_culturel/views.py:949 msgid "The recurrent import has been successfully modified." msgstr "L'import récurrent a été modifié avec succès." -#: agenda_culturel/views.py:721 +#: agenda_culturel/views.py:958 msgid "The recurrent import has been successfully deleted." msgstr "L'import récurrent a été supprimé avec succès" -#: agenda_culturel/views.py:752 +#: agenda_culturel/views.py:998 msgid "The import has been launched." msgstr "L'import a été lancé" -#: agenda_culturel/views.py:766 +#: agenda_culturel/views.py:1015 msgid "Imports has been launched." msgstr "Les imports ont été lancés" -#: agenda_culturel/views.py:827 +#: agenda_culturel/views.py:1089 msgid "The merge has been successfully completed." msgstr "La fusion a été réalisée avec succès." -#: agenda_culturel/views.py:857 +#: agenda_culturel/views.py:1123 msgid "Events have been marked as unduplicated." msgstr "Les événements ont été marqués comme non dupliqués." -#: agenda_culturel/views.py:874 +#: agenda_culturel/views.py:1145 msgid "" "The selected event has been retained, while the other has been moved to the " "recycle bin." @@ -787,7 +791,7 @@ msgstr "" "L'événement sélectionné a été conservé, l'autre a été déplacé dans la " "corbeille." -#: agenda_culturel/views.py:876 +#: agenda_culturel/views.py:1152 msgid "" "The selected event has been retained, while the others have been moved to " "the recycle bin." @@ -795,19 +799,19 @@ msgstr "" "L'événement sélectionné a été conservé, les autres ont été déplacés dans la " "corbeille." -#: agenda_culturel/views.py:882 +#: agenda_culturel/views.py:1163 msgid "The event has been withdrawn from the group and made independent." msgstr "L'événement a été retiré du groupe et rendu indépendant." -#: agenda_culturel/views.py:906 +#: agenda_culturel/views.py:1196 msgid "Cleaning up duplicates: {} item(s) removed." msgstr "Nettoyage des dupliqués: {} élément(s) supprimés." -#: agenda_culturel/views.py:934 +#: agenda_culturel/views.py:1240 msgid "The event was successfully duplicated." msgstr "L'événement a été marqué dupliqué avec succès." -#: agenda_culturel/views.py:937 +#: agenda_culturel/views.py:1248 msgid "" "The event has been successfully flagged as a duplicate. The moderation team " "will deal with your suggestion shortly." @@ -815,62 +819,62 @@ msgstr "" "L'événement a été signalé comme dupliqué avec succès. Votre suggestion sera " "prochainement prise en charge par l'équipe de modération." -#: agenda_culturel/views.py:976 +#: agenda_culturel/views.py:1301 msgid "The categorisation rule has been successfully modified." msgstr "La règle de catégorisation a été modifiée avec succès." -#: agenda_culturel/views.py:983 +#: agenda_culturel/views.py:1310 msgid "The categorisation rule has been successfully deleted." msgstr "La règle de catégorisation a été supprimée avec succès" -#: agenda_culturel/views.py:1003 agenda_culturel/views.py:1032 +#: agenda_culturel/views.py:1333 agenda_culturel/views.py:1380 msgid "The rules were successfully applied and 1 event was categorised." msgstr "" "Les règles ont été appliquées avec succès et 1 événement a été catégorisé" -#: agenda_culturel/views.py:1005 agenda_culturel/views.py:1034 +#: agenda_culturel/views.py:1340 agenda_culturel/views.py:1387 msgid "The rules were successfully applied and {} events were categorised." msgstr "" "Les règles ont été appliquées avec succès et {} événements ont été " "catégorisés" -#: agenda_culturel/views.py:1007 agenda_culturel/views.py:1036 +#: agenda_culturel/views.py:1347 agenda_culturel/views.py:1394 msgid "The rules were successfully applied and no events were categorised." msgstr "" "Les règles ont été appliquées avec succès et aucun événement n'a été " "catégorisé" -#: agenda_culturel/views.py:1064 +#: agenda_culturel/views.py:1434 msgid "The moderation question has been created with success." msgstr "La question de modération a été créée avec succès." -#: agenda_culturel/views.py:1145 agenda_culturel/views.py:1201 -#: agenda_culturel/views.py:1230 +#: agenda_culturel/views.py:1540 agenda_culturel/views.py:1602 +#: agenda_culturel/views.py:1640 msgid "{} events have been updated." msgstr "{} événements ont été mis à jour." -#: agenda_culturel/views.py:1147 agenda_culturel/views.py:1203 -#: agenda_culturel/views.py:1232 +#: agenda_culturel/views.py:1543 agenda_culturel/views.py:1604 +#: agenda_culturel/views.py:1643 msgid "1 event has been updated." msgstr "1 événement a été mis à jour" -#: agenda_culturel/views.py:1149 agenda_culturel/views.py:1205 -#: agenda_culturel/views.py:1234 +#: agenda_culturel/views.py:1545 agenda_culturel/views.py:1606 +#: agenda_culturel/views.py:1645 msgid "No events have been modified." msgstr "Aucun événement n'a été modifié." -#: agenda_culturel/views.py:1157 +#: agenda_culturel/views.py:1554 msgid "The place has been successfully updated." msgstr "Le lieu a été modifié avec succès." -#: agenda_culturel/views.py:1164 +#: agenda_culturel/views.py:1563 msgid "The place has been successfully created." msgstr "Le lieu a été créé avec succès." -#: agenda_culturel/views.py:1223 +#: agenda_culturel/views.py:1628 msgid "The selected place has been assigned to the event." msgstr "Le lieu sélectionné a été assigné à l'événement." -#: agenda_culturel/views.py:1225 +#: agenda_culturel/views.py:1632 msgid "A new alias has been added to the selected place." msgstr "Un nouvel alias a été créé pour le lieu sélectionné."