diff --git a/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po b/src/agenda_culturel/locale/fr/LC_MESSAGES/django.po index e9f544c..9fb5e72 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: 2025-01-10 13:21+0100\n" +"POT-Creation-Date: 2025-01-12 17:15+0100\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n" "Last-Translator: Jean-Marie Favreau \n" "Language-Team: Jean-Marie Favreau \n" @@ -111,11 +111,11 @@ msgid "Imported from" msgstr "Importé depuis" #: agenda_culturel/filters.py:368 agenda_culturel/models.py:622 -#: agenda_culturel/models.py:2151 +#: agenda_culturel/models.py:2175 msgid "Status" msgstr "Status" -#: agenda_culturel/filters.py:369 agenda_culturel/models.py:1941 +#: agenda_culturel/filters.py:369 agenda_culturel/models.py:1965 msgid "Closed" msgstr "Fermé" @@ -124,7 +124,7 @@ msgid "Open" msgstr "Ouvert" #: agenda_culturel/filters.py:373 agenda_culturel/filters.py:374 -#: agenda_culturel/models.py:1935 +#: agenda_culturel/models.py:1959 msgid "Spam" msgstr "Spam" @@ -132,7 +132,7 @@ msgstr "Spam" msgid "Non spam" msgstr "Non spam" -#: agenda_culturel/filters.py:379 agenda_culturel/models.py:1956 +#: agenda_culturel/filters.py:379 agenda_culturel/models.py:1980 msgid "Type" msgstr "Type" @@ -148,111 +148,111 @@ msgstr "Dans le passé" msgid "Other" msgstr "Autres" -#: agenda_culturel/forms.py:110 +#: agenda_culturel/forms.py:113 msgid "Name of new tag" msgstr "Nom de la nouvelle étiquette" -#: agenda_culturel/forms.py:115 +#: agenda_culturel/forms.py:118 msgid "" "Force renaming despite the existence of events already using the chosen tag." msgstr "" "Forcer le renommage malgré l'existence d'événements utilisant déjà " "l'étiquette choisie." -#: agenda_culturel/forms.py:134 +#: agenda_culturel/forms.py:137 msgid "Your email" msgstr "Votre adresse email" -#: agenda_culturel/forms.py:135 agenda_culturel/models.py:1925 +#: agenda_culturel/forms.py:138 agenda_culturel/models.py:1949 msgid "Your email address" msgstr "Votre adresse email" -#: agenda_culturel/forms.py:141 agenda_culturel/models.py:1948 +#: agenda_culturel/forms.py:144 agenda_culturel/models.py:1972 msgid "Comments" msgstr "Commentaires" -#: agenda_culturel/forms.py:142 +#: agenda_culturel/forms.py:145 msgid "" "Your message for the moderation team (comments, clarifications, requests...)" msgstr "" "Votre message pour l'équipe de modération (commentaires, précisions, " "demandes, ...)" -#: agenda_culturel/forms.py:154 +#: agenda_culturel/forms.py:157 msgid "Receive notification of publication or leave a message for moderation" msgstr "Être notifié de la publication ou laisser un message à la modération" -#: agenda_culturel/forms.py:171 agenda_culturel/models.py:185 -#: agenda_culturel/models.py:627 agenda_culturel/models.py:2073 -#: agenda_culturel/models.py:2183 +#: agenda_culturel/forms.py:174 agenda_culturel/models.py:185 +#: agenda_culturel/models.py:627 agenda_culturel/models.py:2097 +#: agenda_culturel/models.py:2207 msgid "Category" msgstr "Catégorie" -#: agenda_culturel/forms.py:177 agenda_culturel/forms.py:211 -#: agenda_culturel/forms.py:242 agenda_culturel/forms.py:402 +#: agenda_culturel/forms.py:180 agenda_culturel/forms.py:214 +#: agenda_culturel/forms.py:245 agenda_culturel/forms.py:405 #: agenda_culturel/models.py:226 agenda_culturel/models.py:734 msgid "Tags" msgstr "Étiquettes" -#: agenda_culturel/forms.py:188 agenda_culturel/forms.py:549 +#: agenda_culturel/forms.py:191 agenda_culturel/forms.py:552 #: agenda_culturel/models.py:818 msgid "Event" msgstr "Événement" -#: agenda_culturel/forms.py:298 +#: agenda_culturel/forms.py:301 msgid "Main fields" msgstr "Champs principaux" -#: agenda_culturel/forms.py:301 +#: agenda_culturel/forms.py:304 msgid "Start of event" msgstr "Début de l'événement" -#: agenda_culturel/forms.py:305 +#: agenda_culturel/forms.py:308 msgid "End of event" msgstr "Fin de l'événement" -#: agenda_culturel/forms.py:310 +#: agenda_culturel/forms.py:313 msgid "This is a recurring event" msgstr "Cet événement est récurrent" -#: agenda_culturel/forms.py:319 +#: agenda_culturel/forms.py:322 msgid "Details" msgstr "Détails" -#: agenda_culturel/forms.py:324 agenda_culturel/models.py:657 -#: agenda_culturel/models.py:2048 +#: agenda_culturel/forms.py:327 agenda_culturel/models.py:657 +#: agenda_culturel/models.py:2072 msgid "Location" msgstr "Localisation" -#: agenda_culturel/forms.py:328 agenda_culturel/models.py:690 +#: agenda_culturel/forms.py:331 agenda_culturel/models.py:690 msgid "Illustration" msgstr "Illustration" -#: agenda_culturel/forms.py:332 +#: agenda_culturel/forms.py:335 msgid "URLs" msgstr "URLs" -#: agenda_culturel/forms.py:336 agenda_culturel/forms.py:341 +#: agenda_culturel/forms.py:339 agenda_culturel/forms.py:344 msgid "Meta information" msgstr "Méta-informations" -#: agenda_culturel/forms.py:356 +#: agenda_culturel/forms.py:359 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:372 +#: agenda_culturel/forms.py:375 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:403 +#: agenda_culturel/forms.py:406 msgid "Select tags from existing ones." msgstr "Sélectionner des étiquettes depuis celles existantes." -#: agenda_culturel/forms.py:408 +#: agenda_culturel/forms.py:411 msgid "New tags" msgstr "Nouvelles étiquettes" -#: agenda_culturel/forms.py:409 +#: agenda_culturel/forms.py:412 msgid "" "Create new labels (sparingly). Note: by starting your tag with the " "characters “TW:”, youll create a “trigger warning” tag, and the associated " @@ -263,99 +263,99 @@ msgstr "" "étiquette “trigger warning”, et les événements associés seront annoncés " "comme tels." -#: agenda_culturel/forms.py:455 +#: agenda_culturel/forms.py:458 msgid "JSON in the format expected for the import." msgstr "JSON dans le format attendu pour l'import" -#: agenda_culturel/forms.py:477 +#: agenda_culturel/forms.py:480 msgid " (locally modified version)" msgstr " (version modifiée localement)" -#: agenda_culturel/forms.py:481 +#: agenda_culturel/forms.py:484 msgid " (synchronized on import version)" msgstr " (version synchronisée sur l'import)" -#: agenda_culturel/forms.py:485 +#: agenda_culturel/forms.py:488 msgid "Select {} as representative version." msgstr "Sélectionner {} comme version représentative" -#: agenda_culturel/forms.py:494 +#: agenda_culturel/forms.py:497 msgid "Update {} using some fields from other versions (interactive mode)." msgstr "" "Mettre à jour {} en utilisant quelques champs des autres versions (mode " "interactif)." -#: agenda_culturel/forms.py:501 +#: agenda_culturel/forms.py:504 msgid " Warning: a version is already locally modified." msgstr " Attention: une version a déjà été modifiée localement." -#: agenda_culturel/forms.py:506 +#: agenda_culturel/forms.py:509 msgid "Create a new version by merging (interactive mode)." msgstr "Créer une nouvelle version par fusion (mode interactif)." -#: agenda_culturel/forms.py:513 +#: agenda_culturel/forms.py:516 msgid "Make {} independent." msgstr "Rendre {} indépendant." -#: agenda_culturel/forms.py:515 +#: agenda_culturel/forms.py:518 msgid "Make all versions independent." msgstr "Rendre toutes les versions indépendantes." -#: agenda_culturel/forms.py:574 +#: agenda_culturel/forms.py:577 msgid "Value of the selected version" msgstr "Valeur de la version sélectionnée" -#: agenda_culturel/forms.py:576 agenda_culturel/forms.py:580 +#: agenda_culturel/forms.py:579 agenda_culturel/forms.py:583 msgid "Value of version {}" msgstr "Valeur de la version {}" -#: agenda_culturel/forms.py:729 +#: agenda_culturel/forms.py:732 msgid "Apply category {} to the event {}" msgstr "Appliquer la catégorie {} à l'événement {}" -#: agenda_culturel/forms.py:746 agenda_culturel/models.py:473 -#: agenda_culturel/models.py:2235 +#: agenda_culturel/forms.py:749 agenda_culturel/models.py:473 +#: agenda_culturel/models.py:2259 msgid "Place" msgstr "Lieu" -#: agenda_culturel/forms.py:748 +#: agenda_culturel/forms.py:751 msgid "Create a missing place" msgstr "Créer un lieu manquant" -#: agenda_culturel/forms.py:758 +#: agenda_culturel/forms.py:761 msgid "Add \"{}\" to the aliases of the place" msgstr "Ajouter « {} » aux alias du lieu" -#: agenda_culturel/forms.py:787 +#: agenda_culturel/forms.py:790 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/forms.py:800 +#: agenda_culturel/forms.py:803 msgid "Header" msgstr "Entête" -#: agenda_culturel/forms.py:804 agenda_culturel/models.py:446 +#: agenda_culturel/forms.py:807 agenda_culturel/models.py:446 msgid "Address" msgstr "Adresse" -#: agenda_culturel/forms.py:810 +#: agenda_culturel/forms.py:813 msgid "Meta" msgstr "Méta" -#: agenda_culturel/forms.py:813 +#: agenda_culturel/forms.py:816 msgid "Information" msgstr "Informations" -#: agenda_culturel/forms.py:863 +#: agenda_culturel/forms.py:866 msgid "Add a comment" msgstr "Ajouter un commentaire" #: agenda_culturel/models.py:66 agenda_culturel/models.py:114 #: agenda_culturel/models.py:195 agenda_culturel/models.py:416 #: agenda_culturel/models.py:444 agenda_culturel/models.py:531 -#: agenda_culturel/models.py:1917 agenda_culturel/models.py:2002 +#: agenda_culturel/models.py:1941 agenda_culturel/models.py:2026 msgid "Name" msgstr "Nom" @@ -592,7 +592,7 @@ msgstr "Organisme" msgid "Organisations" msgstr "Organismes" -#: agenda_culturel/models.py:572 agenda_culturel/models.py:2043 +#: agenda_culturel/models.py:572 agenda_culturel/models.py:2067 msgid "Published" msgstr "Publié" @@ -712,27 +712,27 @@ msgstr "" msgid "Events" msgstr "Événements" -#: agenda_culturel/models.py:1174 +#: agenda_culturel/models.py:1198 msgid "Your event has been published" msgstr "Ton événement a été publié" -#: agenda_culturel/models.py:1177 +#: agenda_culturel/models.py:1201 msgid "Your message has not been retained" msgstr "Ton événement n'a pas été retenu" -#: agenda_culturel/models.py:1332 +#: agenda_culturel/models.py:1356 msgid "during import process" msgstr "pendant le processus d'import" -#: agenda_culturel/models.py:1673 +#: agenda_culturel/models.py:1697 msgid "Import" msgstr "Import" -#: agenda_culturel/models.py:1674 +#: agenda_culturel/models.py:1698 msgid "import process" msgstr "processus d'import" -#: agenda_culturel/models.py:1675 +#: agenda_culturel/models.py:1699 msgid "" "The duration of the event is a little too long for direct publication. " "Moderators can choose to publish it or not." @@ -740,155 +740,155 @@ msgstr "" "La durée de l'événement est un peu trop longue pour qu'il soit publié " "directement. Les modérateurs peuvent choisir de le publier ou non." -#: agenda_culturel/models.py:1875 +#: agenda_culturel/models.py:1899 msgid "From contributor" msgstr "D'un·e contributeurice" -#: agenda_culturel/models.py:1876 +#: agenda_culturel/models.py:1900 msgid "Import process" msgstr "Processus d'import" -#: agenda_culturel/models.py:1877 +#: agenda_culturel/models.py:1901 msgid "Contact form" msgstr "Formulaire de contact" -#: agenda_culturel/models.py:1878 +#: agenda_culturel/models.py:1902 msgid "Event report" msgstr "Signalemet d'événement" -#: agenda_culturel/models.py:1879 +#: agenda_culturel/models.py:1903 msgid "From contributor (without message)" msgstr "D'un·e contributeurice (sans message)" -#: agenda_culturel/models.py:1882 agenda_culturel/models.py:1930 +#: agenda_culturel/models.py:1906 agenda_culturel/models.py:1954 msgid "Message" msgstr "Message" -#: agenda_culturel/models.py:1883 +#: agenda_culturel/models.py:1907 msgid "Messages" msgstr "Messages" -#: agenda_culturel/models.py:1894 +#: agenda_culturel/models.py:1918 msgid "Subject" msgstr "Sujet" -#: agenda_culturel/models.py:1895 +#: agenda_culturel/models.py:1919 msgid "The subject of your message" msgstr "Sujet de votre message" -#: agenda_culturel/models.py:1901 +#: agenda_culturel/models.py:1925 msgid "Related event" msgstr "Événement associé" -#: agenda_culturel/models.py:1902 +#: agenda_culturel/models.py:1926 msgid "The message is associated with this event." msgstr "Le message est associé à cet événement." -#: agenda_culturel/models.py:1910 +#: agenda_culturel/models.py:1934 msgid "Author of the message" msgstr "Auteur du message" -#: agenda_culturel/models.py:1918 +#: agenda_culturel/models.py:1942 msgid "Your name" msgstr "Votre nom" -#: agenda_culturel/models.py:1924 +#: agenda_culturel/models.py:1948 msgid "Email address" msgstr "Adresse email" -#: agenda_culturel/models.py:1930 +#: agenda_culturel/models.py:1954 msgid "Your message" msgstr "Votre message" -#: agenda_culturel/models.py:1936 +#: agenda_culturel/models.py:1960 msgid "This message is a spam." msgstr "Ce message est un spam." -#: agenda_culturel/models.py:1943 +#: agenda_culturel/models.py:1967 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:1949 +#: agenda_culturel/models.py:1973 msgid "Comments on the message from the moderation team" msgstr "Commentaires sur ce message par l'équipe de modération" -#: agenda_culturel/models.py:1971 agenda_culturel/models.py:2131 +#: agenda_culturel/models.py:1995 agenda_culturel/models.py:2155 msgid "Recurrent import" msgstr "Import récurrent" -#: agenda_culturel/models.py:1972 +#: agenda_culturel/models.py:1996 msgid "Recurrent imports" msgstr "Imports récurrents" -#: agenda_culturel/models.py:1976 +#: agenda_culturel/models.py:2000 msgid "ical" msgstr "ical" -#: agenda_culturel/models.py:1977 +#: agenda_culturel/models.py:2001 msgid "ical no busy" msgstr "ical sans busy" -#: agenda_culturel/models.py:1978 +#: agenda_culturel/models.py:2002 msgid "ical no VC" msgstr "ical sans VC" -#: agenda_culturel/models.py:1979 +#: agenda_culturel/models.py:2003 msgid "lacoope.org" msgstr "lacoope.org" -#: agenda_culturel/models.py:1980 +#: agenda_culturel/models.py:2004 msgid "la comédie" msgstr "la comédie" -#: agenda_culturel/models.py:1981 +#: agenda_culturel/models.py:2005 msgid "le fotomat" msgstr "le fotomat" -#: agenda_culturel/models.py:1982 +#: agenda_culturel/models.py:2006 msgid "la puce à l'oreille" msgstr "la puce à loreille" -#: agenda_culturel/models.py:1983 +#: agenda_culturel/models.py:2007 msgid "Plugin wordpress MEC" msgstr "Plugin wordpress MEC" -#: agenda_culturel/models.py:1984 +#: agenda_culturel/models.py:2008 msgid "Événements d'une page FB" msgstr "Événements d'une page FB" -#: agenda_culturel/models.py:1985 +#: agenda_culturel/models.py:2009 msgid "la cour des 3 coquins" msgstr "la cour des 3 coquins" -#: agenda_culturel/models.py:1986 +#: agenda_culturel/models.py:2010 msgid "Arachnée concert" msgstr "Arachnée concert" -#: agenda_culturel/models.py:1987 +#: agenda_culturel/models.py:2011 msgid "Le Rio" msgstr "Le Rio" -#: agenda_culturel/models.py:1990 +#: agenda_culturel/models.py:2014 msgid "simple" msgstr "simple" -#: agenda_culturel/models.py:1991 +#: agenda_culturel/models.py:2015 msgid "Headless Chromium" msgstr "chromium sans interface" -#: agenda_culturel/models.py:1992 +#: agenda_culturel/models.py:2016 msgid "Headless Chromium (pause)" msgstr "chromium sans interface (pause)" -#: agenda_culturel/models.py:1997 +#: agenda_culturel/models.py:2021 msgid "daily" msgstr "chaque jour" -#: agenda_culturel/models.py:1999 +#: agenda_culturel/models.py:2023 msgid "weekly" msgstr "chaque semaine" -#: agenda_culturel/models.py:2004 +#: agenda_culturel/models.py:2028 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." @@ -896,151 +896,151 @@ 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:2011 +#: agenda_culturel/models.py:2035 msgid "Processor" msgstr "Processeur" -#: agenda_culturel/models.py:2014 +#: agenda_culturel/models.py:2038 msgid "Downloader" msgstr "Téléchargeur" -#: agenda_culturel/models.py:2021 +#: agenda_culturel/models.py:2045 msgid "Import recurrence" msgstr "Récurrence d'import" -#: agenda_culturel/models.py:2028 +#: agenda_culturel/models.py:2052 msgid "Source" msgstr "Source" -#: agenda_culturel/models.py:2029 +#: agenda_culturel/models.py:2053 msgid "URL of the source document" msgstr "URL du document source" -#: agenda_culturel/models.py:2033 +#: agenda_culturel/models.py:2057 msgid "Browsable url" msgstr "URL navigable" -#: agenda_culturel/models.py:2035 +#: agenda_culturel/models.py:2059 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:2044 +#: agenda_culturel/models.py:2068 msgid "Status of each imported event (published or draft)" msgstr "Status de chaque événement importé (publié ou brouillon)" -#: agenda_culturel/models.py:2049 +#: agenda_culturel/models.py:2073 msgid "Address for each imported event" msgstr "Adresse de chaque événement importé" -#: agenda_culturel/models.py:2056 +#: agenda_culturel/models.py:2080 msgid "Force location" msgstr "Focer la localisation" -#: agenda_culturel/models.py:2057 +#: agenda_culturel/models.py:2081 msgid "force location even if another is detected." msgstr "Forcer la localisation même si une autre a été détectée." -#: agenda_culturel/models.py:2063 +#: agenda_culturel/models.py:2087 msgid "Organiser" msgstr "Organisateur" -#: agenda_culturel/models.py:2064 +#: agenda_culturel/models.py:2088 msgid "Organiser of each imported event" msgstr "Organisateur de chaque événement importé" -#: agenda_culturel/models.py:2074 +#: agenda_culturel/models.py:2098 msgid "Category of each imported event" msgstr "Catégorie de chaque événement importé" -#: agenda_culturel/models.py:2082 +#: agenda_culturel/models.py:2106 msgid "Tags for each imported event" msgstr "Étiquettes de chaque événement importé" -#: agenda_culturel/models.py:2083 +#: agenda_culturel/models.py:2107 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:2112 +#: agenda_culturel/models.py:2136 msgid "Running" msgstr "En cours" -#: agenda_culturel/models.py:2113 +#: agenda_culturel/models.py:2137 msgid "Canceled" msgstr "Annulé" -#: agenda_culturel/models.py:2114 +#: agenda_culturel/models.py:2138 msgid "Success" msgstr "Succès" -#: agenda_culturel/models.py:2115 +#: agenda_culturel/models.py:2139 msgid "Failed" msgstr "Erreur" -#: agenda_culturel/models.py:2118 +#: agenda_culturel/models.py:2142 msgid "Batch importation" msgstr "Importation par lot" -#: agenda_culturel/models.py:2119 +#: agenda_culturel/models.py:2143 msgid "Batch importations" msgstr "Importations par lot" -#: agenda_culturel/models.py:2132 +#: agenda_culturel/models.py:2156 msgid "Reference to the recurrent import processing" msgstr "Référence du processus d'import récurrent" -#: agenda_culturel/models.py:2140 +#: agenda_culturel/models.py:2164 msgid "URL (if not recurrent import)" msgstr "URL (si pas d'import récurrent)" -#: agenda_culturel/models.py:2142 +#: agenda_culturel/models.py:2166 msgid "Source URL if no RecurrentImport is associated." msgstr "URL source si aucun import récurrent n'est associé" -#: agenda_culturel/models.py:2155 +#: agenda_culturel/models.py:2179 msgid "Error message" msgstr "Votre message" -#: agenda_culturel/models.py:2159 +#: agenda_culturel/models.py:2183 msgid "Number of collected events" msgstr "Nombre d'événements collectés" -#: agenda_culturel/models.py:2162 +#: agenda_culturel/models.py:2186 msgid "Number of imported events" msgstr "Nombre d'événements importés" -#: agenda_culturel/models.py:2165 +#: agenda_culturel/models.py:2189 msgid "Number of updated events" msgstr "Nombre d'événements mis à jour" -#: agenda_culturel/models.py:2168 +#: agenda_culturel/models.py:2192 msgid "Number of removed events" msgstr "Nombre d'événements supprimés" -#: agenda_culturel/models.py:2176 +#: agenda_culturel/models.py:2200 msgid "Weight" msgstr "Poids" -#: agenda_culturel/models.py:2177 +#: agenda_culturel/models.py:2201 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:2184 +#: agenda_culturel/models.py:2208 msgid "Category applied to the event" msgstr "Catégorie appliquée à l'événement" -#: agenda_culturel/models.py:2189 +#: agenda_culturel/models.py:2213 msgid "Contained in the title" msgstr "Contenu dans le titre" -#: agenda_culturel/models.py:2190 +#: agenda_culturel/models.py:2214 msgid "Text contained in the event title" msgstr "Texte contenu dans le titre de l'événement" -#: agenda_culturel/models.py:2196 +#: agenda_culturel/models.py:2220 msgid "Exact title extract" msgstr "Extrait exact du titre" -#: agenda_culturel/models.py:2198 +#: agenda_culturel/models.py:2222 msgid "" "If checked, the extract will be searched for in the title using the exact " "form (capitals, accents)." @@ -1048,19 +1048,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2204 +#: agenda_culturel/models.py:2228 msgid "Contained in the description" msgstr "Contenu dans la description" -#: agenda_culturel/models.py:2205 +#: agenda_culturel/models.py:2229 msgid "Text contained in the description" msgstr "Texte contenu dans la description" -#: agenda_culturel/models.py:2211 +#: agenda_culturel/models.py:2235 msgid "Exact description extract" msgstr "Extrait exact de description" -#: agenda_culturel/models.py:2213 +#: agenda_culturel/models.py:2237 msgid "" "If checked, the extract will be searched for in the description using the " "exact form (capitals, accents)." @@ -1068,19 +1068,19 @@ msgstr "" "Si coché, l'extrait sera recherché dans la description en utilisant la forme " "exacte (majuscules, accents)" -#: agenda_culturel/models.py:2219 +#: agenda_culturel/models.py:2243 msgid "Contained in the location" msgstr "Contenu dans la localisation" -#: agenda_culturel/models.py:2220 +#: agenda_culturel/models.py:2244 msgid "Text contained in the event location" msgstr "Texte contenu dans la localisation de l'événement" -#: agenda_culturel/models.py:2226 +#: agenda_culturel/models.py:2250 msgid "Exact location extract" msgstr "Extrait exact de localisation" -#: agenda_culturel/models.py:2228 +#: agenda_culturel/models.py:2252 msgid "" "If checked, the extract will be searched for in the location using the exact " "form (capitals, accents)." @@ -1088,47 +1088,51 @@ msgstr "" "Si coché, l'extrait sera recherché dans la localisation en utilisant la " "forme exacte (majuscules, accents)" -#: agenda_culturel/models.py:2236 +#: agenda_culturel/models.py:2260 msgid "Location from place" msgstr "Localisation depuis le lieu" -#: agenda_culturel/models.py:2245 +#: agenda_culturel/models.py:2269 msgid "Categorisation rule" msgstr "Règle de catégorisation" -#: agenda_culturel/models.py:2246 +#: agenda_culturel/models.py:2270 msgid "Categorisation rules" msgstr "Règles de catégorisation" -#: agenda_culturel/settings/base.py:153 +#: agenda_culturel/settings/base.py:159 msgid "French" msgstr "français" -#: agenda_culturel/templatetags/utils_extra.py:28 -msgid "facebook event" -msgstr "événement facebook" - -#: agenda_culturel/views.py:155 +#: agenda_culturel/views.py:156 msgid "Recurrent import name" msgstr "Nome de l'import récurrent" -#: agenda_culturel/views.py:156 +#: agenda_culturel/views.py:157 msgid "Add another" msgstr "Ajouter un autre" -#: agenda_culturel/views.py:157 +#: agenda_culturel/views.py:158 msgid "Browse..." msgstr "Naviguer..." -#: agenda_culturel/views.py:158 +#: agenda_culturel/views.py:159 msgid "No file selected." msgstr "Pas de fichier sélectionné." -#: agenda_culturel/views.py:294 +#: agenda_culturel/views.py:175 +msgid ": error 500" +msgstr ": erreur 500" + +#: agenda_culturel/views.py:176 +msgid "An internal error has occurred on site {} at address {}." +msgstr "Une erreur interne s'est produite sur le site {} à l'adresse {}." + +#: agenda_culturel/views.py:297 msgid "The static content has been successfully updated." msgstr "Le contenu statique a été modifié avec succès." -#: agenda_culturel/views.py:302 +#: agenda_culturel/views.py:305 msgid "" "The event cannot be updated because the import process is not available for " "the referenced sources." @@ -1136,21 +1140,21 @@ msgstr "" "La mise à jour de l'événement n'est pas possible car le processus d'import " "n'est pas disponible pour les sources référencées." -#: agenda_culturel/views.py:305 +#: agenda_culturel/views.py:308 msgid "The event update has been queued and will be completed shortly." msgstr "" "La mise à jour de l'événement a été mise en attente et sera effectuée sous " "peu." -#: agenda_culturel/views.py:324 agenda_culturel/views.py:374 +#: agenda_culturel/views.py:327 agenda_culturel/views.py:377 msgid " A message has been sent to the person who proposed the event." msgstr " Un message a été envoyé à la personne qui a proposé l'événement." -#: agenda_culturel/views.py:325 +#: agenda_culturel/views.py:328 msgid "The event has been successfully modified." msgstr "L'événement a été modifié avec succès." -#: agenda_culturel/views.py:336 +#: agenda_culturel/views.py:339 msgid "" "Changes will be visible on a local copy of the event. The version identical " "to the imported source will be hidden." @@ -1158,19 +1162,19 @@ msgstr "" "Les modifications seront visibles sur une copie locale de l'événement. La " "version fidèle à la source importée sera masquée." -#: agenda_culturel/views.py:375 +#: agenda_culturel/views.py:378 msgid "The event {} has been moderated with success." msgstr "L'événement {} a été modéré avec succès." -#: agenda_culturel/views.py:491 +#: agenda_culturel/views.py:494 msgid "The event has been successfully deleted." msgstr "L'événement a été supprimé avec succès." -#: agenda_culturel/views.py:533 +#: agenda_culturel/views.py:536 msgid "Comment" msgstr "Commentaire" -#: agenda_culturel/views.py:553 +#: agenda_culturel/views.py:556 msgid "" "The status has been successfully modified and a message has been sent to the " "person who proposed the event." @@ -1178,15 +1182,15 @@ msgstr "" "Le status a été modifié avec succès et un message a été envoyé à la personne " "qui a proposé l'événement." -#: agenda_culturel/views.py:555 +#: agenda_culturel/views.py:558 msgid "The status has been successfully modified." msgstr "Le status a été modifié avec succès." -#: agenda_culturel/views.py:589 +#: agenda_culturel/views.py:592 msgid "The event was created: {}." msgstr "L'événement a été créé: {}." -#: agenda_culturel/views.py:591 +#: agenda_culturel/views.py:594 msgid "" "The event has been submitted and will be published as soon as it has been " "validated by the moderation team." @@ -1194,91 +1198,91 @@ 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:605 +#: agenda_culturel/views.py:608 msgid "during the creation process" msgstr "pendant le processus d'import" -#: agenda_culturel/views.py:619 +#: agenda_culturel/views.py:622 msgid "A message has been sent to the person who proposed the initial event." msgstr "" "Un message a été envoyé à la personne qui a proposé l'événement initial." -#: agenda_culturel/views.py:707 agenda_culturel/views.py:771 +#: agenda_culturel/views.py:710 agenda_culturel/views.py:774 msgid "{} has not been submitted since its already known: {}." msgstr "{} n'a pas été soumis car il est déjà connu: {}." -#: agenda_culturel/views.py:712 agenda_culturel/views.py:777 +#: agenda_culturel/views.py:715 agenda_culturel/views.py:780 msgid "" "{} has not been submitted since its already known and currently into " "moderation process." msgstr "{} n'a pas été soumis car il est déjà connu et en cours de modération" -#: agenda_culturel/views.py:722 +#: agenda_culturel/views.py:725 msgid "Integrating {} url(s) into our import process." msgstr "Intégration de {} url(s) dans notre processus d'import." -#: agenda_culturel/views.py:784 +#: agenda_culturel/views.py:787 msgid "Integrating {} into our import process." msgstr "Intégration de {} dans notre processus d'import." -#: agenda_culturel/views.py:842 +#: agenda_culturel/views.py:845 msgid "Your message has been sent successfully." msgstr "Votre message a été envoyé avec succès." -#: agenda_culturel/views.py:872 +#: agenda_culturel/views.py:875 msgid "Reporting the event {} on {}" msgstr "Signaler l'événement {} du {}" -#: agenda_culturel/views.py:882 +#: agenda_culturel/views.py:885 msgid "The contact message has been successfully deleted." msgstr "Le message de contact a été supprimé avec succès." -#: agenda_culturel/views.py:896 +#: agenda_culturel/views.py:899 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:1065 +#: agenda_culturel/views.py:1045 msgid "Spam has been successfully deleted." msgstr "Le spam a été supprimé avec succès" -#: agenda_culturel/views.py:1188 +#: agenda_culturel/views.py:1168 msgid "The import has been run successfully." msgstr "L'import a été lancé avec succès" -#: agenda_culturel/views.py:1207 +#: agenda_culturel/views.py:1187 msgid "The import has been canceled." msgstr "L'import a été annulé" -#: agenda_culturel/views.py:1285 +#: agenda_culturel/views.py:1265 msgid "The recurrent import has been successfully modified." msgstr "L'import récurrent a été modifié avec succès." -#: agenda_culturel/views.py:1294 +#: agenda_culturel/views.py:1274 msgid "The recurrent import has been successfully deleted." msgstr "L'import récurrent a été supprimé avec succès" -#: agenda_culturel/views.py:1334 +#: agenda_culturel/views.py:1314 msgid "The import has been launched." msgstr "L'import a été lancé" -#: agenda_culturel/views.py:1356 +#: agenda_culturel/views.py:1336 msgid "Imports has been launched." msgstr "Les imports ont été lancés" -#: agenda_culturel/views.py:1418 +#: agenda_culturel/views.py:1398 msgid "Update successfully completed." msgstr "Mise à jour réalisée avec succès." -#: agenda_culturel/views.py:1479 +#: agenda_culturel/views.py:1459 msgid "Creation of a merged event has been successfully completed." msgstr "Création d'un événement fusionné réalisée avec succès." -#: agenda_culturel/views.py:1515 +#: agenda_culturel/views.py:1495 msgid "Events have been marked as unduplicated." msgstr "Les événements ont été marqués comme non dupliqués." -#: agenda_culturel/views.py:1529 agenda_culturel/views.py:1538 -#: agenda_culturel/views.py:1556 +#: agenda_culturel/views.py:1509 agenda_culturel/views.py:1518 +#: agenda_culturel/views.py:1536 msgid "" "The selected item is no longer included in the list of duplicates. Someone " "else has probably modified the list in the meantime." @@ -1286,23 +1290,23 @@ msgstr "" "L'élément sélectionné ne fait plus partie de la liste des dupliqués. Une " "autre personne a probablement modifié la liste entre temps." -#: agenda_culturel/views.py:1532 +#: agenda_culturel/views.py:1512 msgid "The selected event has been set as representative" msgstr "L'événement sélectionné a été défini comme representatif." -#: agenda_culturel/views.py:1547 +#: agenda_culturel/views.py:1527 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:1591 +#: agenda_culturel/views.py:1571 msgid "Cleaning up duplicates: {} item(s) fixed." msgstr "Nettoyage des dupliqués: {} élément(s) corrigé(s)." -#: agenda_culturel/views.py:1641 +#: agenda_culturel/views.py:1621 msgid "The event was successfully duplicated." msgstr "L'événement a été marqué dupliqué avec succès." -#: agenda_culturel/views.py:1649 +#: agenda_culturel/views.py:1629 msgid "" "The event has been successfully flagged as a duplicate. The moderation team " "will deal with your suggestion shortly." @@ -1310,32 +1314,32 @@ 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:1702 +#: agenda_culturel/views.py:1682 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:1711 +#: agenda_culturel/views.py:1691 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:1733 +#: agenda_culturel/views.py:1713 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:1740 +#: agenda_culturel/views.py:1720 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:1747 agenda_culturel/views.py:1800 +#: agenda_culturel/views.py:1727 agenda_culturel/views.py:1780 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:1786 +#: agenda_culturel/views.py:1766 msgid "" "The rules were successfully applied and 1 event with default category was " "categorised." @@ -1343,7 +1347,7 @@ msgstr "" "Les règles ont été appliquées avec succès et 1 événement avec catégorie par " "défaut a été catégorisé" -#: agenda_culturel/views.py:1793 +#: agenda_culturel/views.py:1773 msgid "" "The rules were successfully applied and {} events with default category were " "categorised." @@ -1351,58 +1355,58 @@ msgstr "" "Les règles ont été appliquées avec succès et {} événements avec catégorie " "par défaut ont été catégorisés" -#: agenda_culturel/views.py:1885 agenda_culturel/views.py:1947 -#: agenda_culturel/views.py:1985 +#: agenda_culturel/views.py:1865 agenda_culturel/views.py:1927 +#: agenda_culturel/views.py:1965 msgid "{} events have been updated." msgstr "{} événements ont été mis à jour." -#: agenda_culturel/views.py:1888 agenda_culturel/views.py:1949 -#: agenda_culturel/views.py:1988 +#: agenda_culturel/views.py:1868 agenda_culturel/views.py:1929 +#: agenda_culturel/views.py:1968 msgid "1 event has been updated." msgstr "1 événement a été mis à jour" -#: agenda_culturel/views.py:1890 agenda_culturel/views.py:1951 -#: agenda_culturel/views.py:1990 +#: agenda_culturel/views.py:1870 agenda_culturel/views.py:1931 +#: agenda_culturel/views.py:1970 msgid "No events have been modified." msgstr "Aucun événement n'a été modifié." -#: agenda_culturel/views.py:1899 +#: agenda_culturel/views.py:1879 msgid "The place has been successfully updated." msgstr "Le lieu a été modifié avec succès." -#: agenda_culturel/views.py:1908 +#: agenda_culturel/views.py:1888 msgid "The place has been successfully created." msgstr "Le lieu a été créé avec succès." -#: agenda_culturel/views.py:1973 +#: agenda_culturel/views.py:1953 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:1977 +#: agenda_culturel/views.py:1957 msgid "A new alias has been added to the selected place." msgstr "Un nouvel alias a été créé pour le lieu sélectionné." -#: agenda_culturel/views.py:2079 +#: agenda_culturel/views.py:2059 msgid "The organisation has been successfully updated." msgstr "L'organisme a été modifié avec succès." -#: agenda_culturel/views.py:2088 +#: agenda_culturel/views.py:2068 msgid "The organisation has been successfully created." msgstr "L'organisme a été créé avec succès." -#: agenda_culturel/views.py:2105 +#: agenda_culturel/views.py:2085 msgid "The tag has been successfully updated." msgstr "L'étiquette a été modifiée avec succès." -#: agenda_culturel/views.py:2112 +#: agenda_culturel/views.py:2092 msgid "The tag has been successfully created." msgstr "L'étiquette a été créée avec succès." -#: agenda_culturel/views.py:2182 +#: agenda_culturel/views.py:2162 msgid "You have not modified the tag name." msgstr "Vous n'avez pas modifié le nom de l'étiquette." -#: agenda_culturel/views.py:2192 +#: agenda_culturel/views.py:2172 msgid "" "This tag {} is already in use, and is described by different information " "from the current tag. You can force renaming by checking the corresponding " @@ -1415,7 +1419,7 @@ msgstr "" "sera supprimée, et tous les événements associés à l'étiquette {} seront " "associés à l'étiquette {}." -#: agenda_culturel/views.py:2199 +#: agenda_culturel/views.py:2179 msgid "" "This tag {} is already in use. You can force renaming by checking the " "corresponding option." @@ -1423,14 +1427,17 @@ msgstr "" "Cette étiquette {} est déjà utilisée. Vous pouvez forcer le renommage en " "cochant l'option correspondante." -#: agenda_culturel/views.py:2233 +#: agenda_culturel/views.py:2213 msgid "The tag {} has been successfully renamed to {}." msgstr "L'étiquette {} a été renommée avec succès en {}." -#: agenda_culturel/views.py:2271 +#: agenda_culturel/views.py:2251 msgid "The tag {} has been successfully deleted." msgstr "L'événement {} a été supprimé avec succès." -#: agenda_culturel/views.py:2292 +#: agenda_culturel/views.py:2272 msgid "Cache successfully cleared." msgstr "Le cache a été vidé avec succès." + +#~ msgid "facebook event" +#~ msgstr "événement facebook" diff --git a/src/agenda_culturel/settings/base.py b/src/agenda_culturel/settings/base.py index c5593d2..e0c355a 100644 --- a/src/agenda_culturel/settings/base.py +++ b/src/agenda_culturel/settings/base.py @@ -32,6 +32,8 @@ else: ADMINS = [tuple(a.split(',')) for a in os_getenv("ADMINS", "").split(";")] MANAGERS = [tuple(a.split(',')) for a in os_getenv("MANAGERS", "").split(";")] +SERVER_EMAIL = os_getenv("SERVER_EMAIL", "") + # Application definition diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index e83e2f9..7cbaef8 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -15,6 +15,7 @@ from honeypot.decorators import check_honeypot from .utils import PlaceGuesser import hashlib from django.core.cache import cache +from django.core.mail import mail_admins from django.contrib.gis.geos import Point @@ -171,6 +172,8 @@ def page_not_found(request, exception=None): def internal_server_error(request): + mail_admins(request.site.name + _(": error 500"), + _("An internal error has occurred on site {} at address {}.").format(request.site.name, request.build_absolute_uri())) return render(request, "page-erreur.html", status=500, context={"error": 500}) def thank_you(request):