ajout de la localisation aux conditions de catégorisation

This commit is contained in:
Jean-Marie Favreau 2024-04-16 13:51:55 +02:00
parent 169526fede
commit e8c6e5dec0
4 changed files with 221 additions and 156 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: agenda_culturel\n" "Project-Id-Version: agenda_culturel\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 17:45+0000\n" "POT-Creation-Date: 2024-04-16 11:49+0000\n"
"PO-Revision-Date: 2023-10-29 14:16+0000\n" "PO-Revision-Date: 2023-10-29 14:16+0000\n"
"Last-Translator: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n" "Last-Translator: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n"
"Language-Team: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n" "Language-Team: Jean-Marie Favreau <jeanmarie.favreau@free.fr>\n"
@ -29,417 +29,423 @@ msgstr "L'heure de fin ne peut pas être avant l'heure de début."
msgid "JSON in the format expected for the import." msgid "JSON in the format expected for the import."
msgstr "JSON dans le format attendu pour l'import" msgstr "JSON dans le format attendu pour l'import"
#: agenda_culturel/models.py:36 agenda_culturel/models.py:65 #: agenda_culturel/forms.py:291
#: agenda_culturel/models.py:730 agenda_culturel/models.py:765 #, fuzzy
#| msgid "Category of the event"
msgid "Apply category {} to the event {}"
msgstr "Catégorie de l'événement"
#: agenda_culturel/models.py:37 agenda_culturel/models.py:66
#: agenda_culturel/models.py:732 agenda_culturel/models.py:767
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: agenda_culturel/models.py:36 agenda_culturel/models.py:65 #: agenda_culturel/models.py:37 agenda_culturel/models.py:66
msgid "Category name" msgid "Category name"
msgstr "Nom de la catégorie" msgstr "Nom de la catégorie"
#: agenda_culturel/models.py:37 #: agenda_culturel/models.py:38
msgid "Content" msgid "Content"
msgstr "Contenu" msgstr "Contenu"
#: agenda_culturel/models.py:37 #: agenda_culturel/models.py:38
msgid "Text as shown to the visitors" msgid "Text as shown to the visitors"
msgstr "Text tel que présenté aux visiteureuses" msgstr "Text tel que présenté aux visiteureuses"
#: agenda_culturel/models.py:38 #: agenda_culturel/models.py:39
msgid "URL path" msgid "URL path"
msgstr "Chemin URL" msgstr "Chemin URL"
#: agenda_culturel/models.py:38 #: agenda_culturel/models.py:39
msgid "URL path where the content is included." msgid "URL path where the content is included."
msgstr "Chemin URL où le contenu est présent." msgstr "Chemin URL où le contenu est présent."
#: agenda_culturel/models.py:66 #: agenda_culturel/models.py:67
msgid "Alternative Name" msgid "Alternative Name"
msgstr "Nom alternatif" msgstr "Nom alternatif"
#: agenda_culturel/models.py:66 #: agenda_culturel/models.py:67
msgid "Alternative name used with a time period" msgid "Alternative name used with a time period"
msgstr "Nom alternatif utilisé avec une période de temps" msgstr "Nom alternatif utilisé avec une période de temps"
#: agenda_culturel/models.py:67 #: agenda_culturel/models.py:68
msgid "Short name" msgid "Short name"
msgstr "Nom court" msgstr "Nom court"
#: agenda_culturel/models.py:67 #: agenda_culturel/models.py:68
msgid "Short name of the category" msgid "Short name of the category"
msgstr "Nom court de la catégorie" msgstr "Nom court de la catégorie"
#: agenda_culturel/models.py:68 #: agenda_culturel/models.py:69
msgid "Color" msgid "Color"
msgstr "Couleur" msgstr "Couleur"
#: agenda_culturel/models.py:68 #: agenda_culturel/models.py:69
msgid "Color used as background for the category" msgid "Color used as background for the category"
msgstr "Couleur utilisée comme fond de la catégorie" msgstr "Couleur utilisée comme fond de la catégorie"
#: agenda_culturel/models.py:105 agenda_culturel/models.py:172 #: agenda_culturel/models.py:106 agenda_culturel/models.py:174
#: agenda_culturel/models.py:777 agenda_culturel/models.py:821 #: agenda_culturel/models.py:779 agenda_culturel/models.py:823
msgid "Category" msgid "Category"
msgstr "Catégorie" msgstr "Catégorie"
#: agenda_culturel/models.py:106 #: agenda_culturel/models.py:107
msgid "Categories" msgid "Categories"
msgstr "Catégories" msgstr "Catégories"
#: agenda_culturel/models.py:157 agenda_culturel/models.py:775 #: agenda_culturel/models.py:158 agenda_culturel/models.py:777
msgid "Published" msgid "Published"
msgstr "Publié" msgstr "Publié"
#: agenda_culturel/models.py:158 #: agenda_culturel/models.py:159
msgid "Draft" msgid "Draft"
msgstr "Brouillon" msgstr "Brouillon"
#: agenda_culturel/models.py:159 #: agenda_culturel/models.py:160
msgid "Trash" msgid "Trash"
msgstr "Corbeille" msgstr "Corbeille"
#: agenda_culturel/models.py:168 #: agenda_culturel/models.py:170
msgid "Title" msgid "Title"
msgstr "Titre" msgstr "Titre"
#: agenda_culturel/models.py:168 #: agenda_culturel/models.py:170
msgid "Short title" msgid "Short title"
msgstr "Titre court" msgstr "Titre court"
#: agenda_culturel/models.py:170 agenda_culturel/models.py:805 #: agenda_culturel/models.py:172 agenda_culturel/models.py:807
msgid "Status" msgid "Status"
msgstr "Status" msgstr "Status"
#: agenda_culturel/models.py:172 #: agenda_culturel/models.py:174
msgid "Category of the event" msgid "Category of the event"
msgstr "Catégorie de l'événement" msgstr "Catégorie de l'événement"
#: agenda_culturel/models.py:174 #: agenda_culturel/models.py:176
msgid "Day of the event" msgid "Day of the event"
msgstr "Date de l'événement" msgstr "Date de l'événement"
#: agenda_culturel/models.py:175 #: agenda_culturel/models.py:177
msgid "Starting time" msgid "Starting time"
msgstr "Heure de début" msgstr "Heure de début"
#: agenda_culturel/models.py:177 #: agenda_culturel/models.py:179
msgid "End day of the event" msgid "End day of the event"
msgstr "Fin de l'événement" msgstr "Fin de l'événement"
#: agenda_culturel/models.py:177 #: agenda_culturel/models.py:179
msgid "End day of the event, only required if different from the start day." msgid "End day of the event, only required if different from the start day."
msgstr "" msgstr ""
"Date de fin de l'événement, uniquement nécessaire s'il est différent du " "Date de fin de l'événement, uniquement nécessaire s'il est différent du "
"premier jour de l'événement" "premier jour de l'événement"
#: agenda_culturel/models.py:178 #: agenda_culturel/models.py:180
msgid "Final time" msgid "Final time"
msgstr "Heure de fin" msgstr "Heure de fin"
#: agenda_culturel/models.py:180 #: agenda_culturel/models.py:182
msgid "Recurrence" msgid "Recurrence"
msgstr "Récurrence" msgstr "Récurrence"
#: agenda_culturel/models.py:182 agenda_culturel/models.py:776 #: agenda_culturel/models.py:184 agenda_culturel/models.py:778
msgid "Location" msgid "Location"
msgstr "Localisation" msgstr "Localisation"
#: agenda_culturel/models.py:182 #: agenda_culturel/models.py:184
msgid "Address of the event" msgid "Address of the event"
msgstr "Adresse de l'événement" msgstr "Adresse de l'événement"
#: agenda_culturel/models.py:184 #: agenda_culturel/models.py:186
msgid "Description" msgid "Description"
msgstr "Description" msgstr "Description"
#: agenda_culturel/models.py:184 #: agenda_culturel/models.py:186
msgid "General description of the event" msgid "General description of the event"
msgstr "Description générale de l'événement" msgstr "Description générale de l'événement"
#: agenda_culturel/models.py:186 #: agenda_culturel/models.py:188
msgid "Illustration (local image)" msgid "Illustration (local image)"
msgstr "Illustration (image locale)" msgstr "Illustration (image locale)"
#: agenda_culturel/models.py:186 #: agenda_culturel/models.py:188
msgid "Illustration image stored in the agenda server" msgid "Illustration image stored in the agenda server"
msgstr "Image d'illustration stockée sur le serveur de l'agenda" msgstr "Image d'illustration stockée sur le serveur de l'agenda"
#: agenda_culturel/models.py:188 #: agenda_culturel/models.py:190
msgid "Illustration" msgid "Illustration"
msgstr "Illustration" msgstr "Illustration"
#: agenda_culturel/models.py:188 #: agenda_culturel/models.py:190
msgid "URL of the illustration image" msgid "URL of the illustration image"
msgstr "URL de l'image illustrative" msgstr "URL de l'image illustrative"
#: agenda_culturel/models.py:189 #: agenda_culturel/models.py:191
msgid "Illustration description" msgid "Illustration description"
msgstr "Description de l'illustration" msgstr "Description de l'illustration"
#: agenda_culturel/models.py:189 #: agenda_culturel/models.py:191
msgid "Alternative text used by screen readers for the image" msgid "Alternative text used by screen readers for the image"
msgstr "Texte alternatif utiliser par les lecteurs d'écrans pour l'image" msgstr "Texte alternatif utiliser par les lecteurs d'écrans pour l'image"
#: agenda_culturel/models.py:191 #: agenda_culturel/models.py:193
msgid "Importation source" msgid "Importation source"
msgstr "Source d'importation" msgstr "Source d'importation"
#: agenda_culturel/models.py:191 #: agenda_culturel/models.py:193
msgid "Importation source used to detect removed entries." msgid "Importation source used to detect removed entries."
msgstr "Source d'importation utilisée pour détecter les éléments supprimés/" msgstr "Source d'importation utilisée pour détecter les éléments supprimés/"
#: agenda_culturel/models.py:192 #: agenda_culturel/models.py:194
msgid "UUIDs" msgid "UUIDs"
msgstr "UUIDs" msgstr "UUIDs"
#: agenda_culturel/models.py:192 #: agenda_culturel/models.py:194
msgid "UUIDs from import to detect duplicated entries." msgid "UUIDs from import to detect duplicated entries."
msgstr "UUIDs utilisés pendant l'import pour détecter les entrées dupliquées" msgstr "UUIDs utilisés pendant l'import pour détecter les entrées dupliquées"
#: agenda_culturel/models.py:193 #: agenda_culturel/models.py:195
msgid "URLs" msgid "URLs"
msgstr "URLs" msgstr "URLs"
#: agenda_culturel/models.py:193 #: agenda_culturel/models.py:195
msgid "List of all the urls where this event can be found." 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é." msgstr "Liste de toutes les urls où l'événement peut être trouvé."
#: agenda_culturel/models.py:195 #: agenda_culturel/models.py:197
msgid "Tags" msgid "Tags"
msgstr "Étiquettes" msgstr "Étiquettes"
#: agenda_culturel/models.py:195 #: agenda_culturel/models.py:197
msgid "A list of tags that describe the event." msgid "A list of tags that describe the event."
msgstr "Une liste d'étiquettes décrivant l'événement" msgstr "Une liste d'étiquettes décrivant l'événement"
#: agenda_culturel/models.py:197 #: agenda_culturel/models.py:199
msgid "Possibly duplicated" msgid "Possibly duplicated"
msgstr "Possibles doublons" msgstr "Possibles doublons"
#: agenda_culturel/models.py:238 #: agenda_culturel/models.py:240
msgid "Event" msgid "Event"
msgstr "Événement" msgstr "Événement"
#: agenda_culturel/models.py:239 #: agenda_culturel/models.py:241
msgid "Events" msgid "Events"
msgstr "Événements" msgstr "Événements"
#: agenda_culturel/models.py:726 #: agenda_culturel/models.py:728
msgid "Contact message" msgid "Contact message"
msgstr "Message de contact" msgstr "Message de contact"
#: agenda_culturel/models.py:727 #: agenda_culturel/models.py:729
#, fuzzy #, fuzzy
#| msgid "Your message" #| msgid "Your message"
msgid "Contact messages" msgid "Contact messages"
msgstr "Messages de contact" msgstr "Messages de contact"
#: agenda_culturel/models.py:729 #: agenda_culturel/models.py:731
msgid "Subject" msgid "Subject"
msgstr "Sujet" msgstr "Sujet"
#: agenda_culturel/models.py:729 #: agenda_culturel/models.py:731
msgid "The subject of your message" msgid "The subject of your message"
msgstr "Sujet de votre message" msgstr "Sujet de votre message"
#: agenda_culturel/models.py:730 #: agenda_culturel/models.py:732
msgid "Your name" msgid "Your name"
msgstr "Votre nom" msgstr "Votre nom"
#: agenda_culturel/models.py:731 #: agenda_culturel/models.py:733
msgid "Email address" msgid "Email address"
msgstr "Adresse email" msgstr "Adresse email"
#: agenda_culturel/models.py:731 #: agenda_culturel/models.py:733
msgid "Your email address" msgid "Your email address"
msgstr "Votre adresse email" msgstr "Votre adresse email"
#: agenda_culturel/models.py:732 #: agenda_culturel/models.py:734
msgid "Message" msgid "Message"
msgstr "Message" msgstr "Message"
#: agenda_culturel/models.py:732 #: agenda_culturel/models.py:734
msgid "Your message" msgid "Your message"
msgstr "Votre message" msgstr "Votre message"
#: agenda_culturel/models.py:736 agenda_culturel/views.py:397 #: agenda_culturel/models.py:738 agenda_culturel/views.py:430
msgid "Closed" msgid "Closed"
msgstr "Fermé" msgstr "Fermé"
#: agenda_culturel/models.py:736 #: agenda_culturel/models.py:738
msgid "this message has been processed and no longer needs to be handled" 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" msgstr "Ce message a été traité et ne nécessite plus d'être pris en charge"
#: agenda_culturel/models.py:737 #: agenda_culturel/models.py:739
msgid "Comments" msgid "Comments"
msgstr "Commentaires" msgstr "Commentaires"
#: agenda_culturel/models.py:737 #: agenda_culturel/models.py:739
msgid "Comments on the message from the moderation team" msgid "Comments on the message from the moderation team"
msgstr "Commentaires sur ce message par l'équipe de modération" msgstr "Commentaires sur ce message par l'équipe de modération"
#: agenda_culturel/models.py:747 agenda_culturel/models.py:803 #: agenda_culturel/models.py:749 agenda_culturel/models.py:805
msgid "Recurrent import" msgid "Recurrent import"
msgstr "Import récurrent" msgstr "Import récurrent"
#: agenda_culturel/models.py:748 #: agenda_culturel/models.py:750
msgid "Recurrent imports" msgid "Recurrent imports"
msgstr "Imports récurrents" msgstr "Imports récurrents"
#: agenda_culturel/models.py:752 #: agenda_culturel/models.py:754
msgid "ical" msgid "ical"
msgstr "ical" msgstr "ical"
#: agenda_culturel/models.py:753 #: agenda_culturel/models.py:755
msgid "ical no busy" msgid "ical no busy"
msgstr "ical sans busy" msgstr "ical sans busy"
#: agenda_culturel/models.py:754 #: agenda_culturel/models.py:756
msgid "ical no VC" msgid "ical no VC"
msgstr "ical sans VC" msgstr "ical sans VC"
#: agenda_culturel/models.py:757 #: agenda_culturel/models.py:759
msgid "simple" msgid "simple"
msgstr "simple" msgstr "simple"
#: agenda_culturel/models.py:758 #: agenda_culturel/models.py:760
msgid "Headless Chromium" msgid "Headless Chromium"
msgstr "chromium sans interface" msgstr "chromium sans interface"
#: agenda_culturel/models.py:762 #: agenda_culturel/models.py:764
msgid "daily" msgid "daily"
msgstr "chaque jour" msgstr "chaque jour"
#: agenda_culturel/models.py:763 #: agenda_culturel/models.py:765
msgid "weekly" msgid "weekly"
msgstr "chaque semaine" msgstr "chaque semaine"
#: agenda_culturel/models.py:765 #: agenda_culturel/models.py:767
msgid "Recurrent import name" msgid "Recurrent import name"
msgstr "Nome de l'import récurrent" msgstr "Nome de l'import récurrent"
#: agenda_culturel/models.py:766 #: agenda_culturel/models.py:768
msgid "Processor" msgid "Processor"
msgstr "Processeur" msgstr "Processeur"
#: agenda_culturel/models.py:767 #: agenda_culturel/models.py:769
msgid "Downloader" msgid "Downloader"
msgstr "Téléchargeur" msgstr "Téléchargeur"
#: agenda_culturel/models.py:769 #: agenda_culturel/models.py:771
msgid "Import recurrence" msgid "Import recurrence"
msgstr "Récurrence d'import" msgstr "Récurrence d'import"
#: agenda_culturel/models.py:772 #: agenda_culturel/models.py:774
msgid "Source" msgid "Source"
msgstr "Source" msgstr "Source"
#: agenda_culturel/models.py:772 #: agenda_culturel/models.py:774
msgid "URL of the source document" msgid "URL of the source document"
msgstr "URL du document source" msgstr "URL du document source"
#: agenda_culturel/models.py:773 #: agenda_culturel/models.py:775
msgid "Browsable url" msgid "Browsable url"
msgstr "URL navigable" msgstr "URL navigable"
#: agenda_culturel/models.py:773 #: agenda_culturel/models.py:775
msgid "URL of the corresponding document that will be shown to visitors." msgid "URL of the corresponding document that will be shown to visitors."
msgstr "URL correspondant au document et qui sera montrée aux visiteurs" msgstr "URL correspondant au document et qui sera montrée aux visiteurs"
#: agenda_culturel/models.py:775 #: agenda_culturel/models.py:777
msgid "Status of each imported event (published or draft)" msgid "Status of each imported event (published or draft)"
msgstr "Status de chaque événement importé (publié ou brouillon)" msgstr "Status de chaque événement importé (publié ou brouillon)"
#: agenda_culturel/models.py:776 #: agenda_culturel/models.py:778
msgid "Address for each imported event" msgid "Address for each imported event"
msgstr "Adresse de chaque événement importé" msgstr "Adresse de chaque événement importé"
#: agenda_culturel/models.py:777 #: agenda_culturel/models.py:779
msgid "Category of each imported event" msgid "Category of each imported event"
msgstr "Catégorie de chaque événement importé" msgstr "Catégorie de chaque événement importé"
#: agenda_culturel/models.py:778 #: agenda_culturel/models.py:780
msgid "Tags for each imported event" msgid "Tags for each imported event"
msgstr "Étiquettes de chaque événement importé" msgstr "Étiquettes de chaque événement importé"
#: agenda_culturel/models.py:778 #: agenda_culturel/models.py:780
msgid "A list of tags that describe each imported event." msgid "A list of tags that describe each imported event."
msgstr "Une liste d'étiquettes décrivant chaque événement importé" msgstr "Une liste d'étiquettes décrivant chaque événement importé"
#: agenda_culturel/models.py:790 #: agenda_culturel/models.py:792
msgid "Running" msgid "Running"
msgstr "En cours" msgstr "En cours"
#: agenda_culturel/models.py:791 #: agenda_culturel/models.py:793
msgid "Canceled" msgid "Canceled"
msgstr "Annulé" msgstr "Annulé"
#: agenda_culturel/models.py:792 #: agenda_culturel/models.py:794
msgid "Success" msgid "Success"
msgstr "Succès" msgstr "Succès"
#: agenda_culturel/models.py:793 #: agenda_culturel/models.py:795
msgid "Failed" msgid "Failed"
msgstr "Erreur" msgstr "Erreur"
#: agenda_culturel/models.py:796 #: agenda_culturel/models.py:798
msgid "Batch importation" msgid "Batch importation"
msgstr "Importation par lot" msgstr "Importation par lot"
#: agenda_culturel/models.py:797 #: agenda_culturel/models.py:799
msgid "Batch importations" msgid "Batch importations"
msgstr "Importations par lot" msgstr "Importations par lot"
#: agenda_culturel/models.py:803 #: agenda_culturel/models.py:805
msgid "Reference to the recurrent import processing" msgid "Reference to the recurrent import processing"
msgstr "Référence du processus d'import récurrent" msgstr "Référence du processus d'import récurrent"
#: agenda_culturel/models.py:807 #: agenda_culturel/models.py:809
msgid "Error message" msgid "Error message"
msgstr "Votre message" msgstr "Votre message"
#: agenda_culturel/models.py:809 #: agenda_culturel/models.py:811
msgid "Number of collected events" msgid "Number of collected events"
msgstr "Nombre d'événements collectés" msgstr "Nombre d'événements collectés"
#: agenda_culturel/models.py:810 #: agenda_culturel/models.py:812
msgid "Number of imported events" msgid "Number of imported events"
msgstr "Nombre d'événements importés" msgstr "Nombre d'événements importés"
#: agenda_culturel/models.py:811 #: agenda_culturel/models.py:813
msgid "Number of updated events" msgid "Number of updated events"
msgstr "Nombre d'événements mis à jour" msgstr "Nombre d'événements mis à jour"
#: agenda_culturel/models.py:812 #: agenda_culturel/models.py:814
msgid "Number of removed events" msgid "Number of removed events"
msgstr "Nombre d'événements supprimés" msgstr "Nombre d'événements supprimés"
#: agenda_culturel/models.py:819 #: agenda_culturel/models.py:821
msgid "Weight" msgid "Weight"
msgstr "Poids" msgstr "Poids"
#: agenda_culturel/models.py:819 #: agenda_culturel/models.py:821
msgid "The lower is the weight, the earlier the filter is applied" 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" msgstr "Plus le poids est léger, plus le filtre sera appliqué tôt"
#: agenda_culturel/models.py:821 #: agenda_culturel/models.py:823
msgid "Category applied to the event" msgid "Category applied to the event"
msgstr "Catégorie appliquée à l'événement" msgstr "Catégorie appliquée à l'événement"
#: agenda_culturel/models.py:823 #: agenda_culturel/models.py:825
msgid "Contained in the description" msgid "Contained in the description"
msgstr "Contenu dans la description" msgstr "Contenu dans la description"
#: agenda_culturel/models.py:823 #: agenda_culturel/models.py:825
msgid "Text contained in the description" msgid "Text contained in the description"
msgstr "Texte contenu dans la description" msgstr "Texte contenu dans la description"
#: agenda_culturel/models.py:824 #: agenda_culturel/models.py:826
msgid "Exact description extract" msgid "Exact description extract"
msgstr "Extrait exact de description" msgstr "Extrait exact de description"
#: agenda_culturel/models.py:824 #: agenda_culturel/models.py:826
msgid "" msgid ""
"If checked, the extract will be searched for in the description using the " "If checked, the extract will be searched for in the description using the "
"exact form (capitals, accents)." "exact form (capitals, accents)."
@ -447,19 +453,19 @@ msgstr ""
"Si coché, l'extrait sera recherché dans la description en utilisant la forme " "Si coché, l'extrait sera recherché dans la description en utilisant la forme "
"exacte (majuscules, accents)" "exacte (majuscules, accents)"
#: agenda_culturel/models.py:826 #: agenda_culturel/models.py:828
msgid "Contained in the title" msgid "Contained in the title"
msgstr "Contenu dans le titre" msgstr "Contenu dans le titre"
#: agenda_culturel/models.py:826 #: agenda_culturel/models.py:828
msgid "Text contained in the event title" msgid "Text contained in the event title"
msgstr "Texte contenu dans le titre de l'événement" msgstr "Texte contenu dans le titre de l'événement"
#: agenda_culturel/models.py:827 #: agenda_culturel/models.py:829
msgid "Exact title extract" msgid "Exact title extract"
msgstr "Extrait exact du titre" msgstr "Extrait exact du titre"
#: agenda_culturel/models.py:827 #: agenda_culturel/models.py:829
msgid "" msgid ""
"If checked, the extract will be searched for in the title using the exact " "If checked, the extract will be searched for in the title using the exact "
"form (capitals, accents)." "form (capitals, accents)."
@ -467,53 +473,75 @@ msgstr ""
"Si coché, l'extrait sera recherché dans le titre en utilisant la forme " "Si coché, l'extrait sera recherché dans le titre en utilisant la forme "
"exacte (majuscules, accents)" "exacte (majuscules, accents)"
#: agenda_culturel/models.py:830 #: agenda_culturel/models.py:831
msgid "Contained in the location"
msgstr "Contenu dans la localisation"
#: agenda_culturel/models.py:831
msgid "Text contained in the event location"
msgstr "Texte contenu dans la localisation de l'événement"
#: agenda_culturel/models.py:832
msgid "Exact location extract"
msgstr "Extrait exact de localisation"
#: agenda_culturel/models.py:832
msgid ""
"If checked, the extract will be searched for in the location using the exact "
"form (capitals, accents)."
msgstr ""
"Si coché, l'extrait sera recherché dans la localisation en utilisant la forme "
"exacte (majuscules, accents)"
#: agenda_culturel/models.py:835
msgid "Categorisation rule" msgid "Categorisation rule"
msgstr "Règle de catégorisation" msgstr "Règle de catégorisation"
#: agenda_culturel/models.py:831 #: agenda_culturel/models.py:836
msgid "Categorisation rules" msgid "Categorisation rules"
msgstr "Règles de catégorisation" msgstr "Règles de catégorisation"
#: agenda_culturel/models.py:868 agenda_culturel/models.py:886 #: agenda_culturel/models.py:891 agenda_culturel/models.py:912
msgid "Question" msgid "Question"
msgstr "Question" msgstr "Question"
#: agenda_culturel/models.py:868 agenda_culturel/models.py:888 #: agenda_culturel/models.py:891 agenda_culturel/models.py:914
msgid "Text that will be shown to moderators" msgid "Text that will be shown to moderators"
msgstr "Text tel que présenté aux modérateurices" msgstr "Text tel que présenté aux modérateurices"
#: agenda_culturel/models.py:871 #: agenda_culturel/models.py:894
msgid "Moderation question" msgid "Moderation question"
msgstr "Question de modération" msgstr "Question de modération"
#: agenda_culturel/models.py:872 #: agenda_culturel/models.py:895
msgid "Moderation questions" msgid "Moderation questions"
msgstr "Questions de modération" msgstr "Questions de modération"
#: agenda_culturel/models.py:886 #: agenda_culturel/models.py:912
msgid "Associated question from moderation" msgid "Associated question from moderation"
msgstr "Question associée pour la modération" msgstr "Question associée pour la modération"
#: agenda_culturel/models.py:888 #: agenda_culturel/models.py:914
msgid "Answer" msgid "Answer"
msgstr "Réponse" msgstr "Réponse"
#: agenda_culturel/models.py:890 #: agenda_culturel/models.py:916
msgid "Adds tags" msgid "Adds tags"
msgstr "Ajoute les étiquettes" msgstr "Ajoute les étiquettes"
#: agenda_culturel/models.py:890 #: agenda_culturel/models.py:916
msgid "A list of tags that will be added if you choose this answer." 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." msgstr ""
"Une liste d'étiquettes qui seront ajoutées si vous choisissez cette réponse."
#: agenda_culturel/models.py:891 #: agenda_culturel/models.py:917
msgid "Removes tags" msgid "Removes tags"
msgstr "Retire les étiquettes" msgstr "Retire les étiquettes"
#: agenda_culturel/models.py:891 #: agenda_culturel/models.py:917
msgid "A list of tags that will be removed if you choose this answer." 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." msgstr ""
"Une liste d'étiquettes qui seront retirées si vous choisissez cette réponse."
#: agenda_culturel/settings/base.py:135 #: agenda_culturel/settings/base.py:135
msgid "English" msgid "English"
@ -523,27 +551,27 @@ msgstr "anglais"
msgid "French" msgid "French"
msgstr "français" msgstr "français"
#: agenda_culturel/views.py:223 #: agenda_culturel/views.py:229
msgid "The static content has been successfully updated." msgid "The static content has been successfully updated."
msgstr "Le contenu statique a été modifié avec succès." msgstr "Le contenu statique a été modifié avec succès."
#: agenda_culturel/views.py:230 #: agenda_culturel/views.py:236 agenda_culturel/views.py:271
msgid "The event has been successfully modified." msgid "The event has been successfully modified."
msgstr "L'événement a été modifié avec succès." msgstr "L'événement a été modifié avec succès."
#: agenda_culturel/views.py:242 #: agenda_culturel/views.py:248
msgid "The event has been successfully deleted." msgid "The event has been successfully deleted."
msgstr "L'événement a été supprimé avec succès" msgstr "L'événement a été supprimé avec succès"
#: agenda_culturel/views.py:270 #: agenda_culturel/views.py:297
msgid "The status has been successfully modified." msgid "The status has been successfully modified."
msgstr "Le status a été modifié avec succès." msgstr "Le status a été modifié avec succès."
#: agenda_culturel/views.py:292 #: agenda_culturel/views.py:319
msgid "The event is saved." msgid "The event is saved."
msgstr "L'événement est enregistré." msgstr "L'événement est enregistré."
#: agenda_culturel/views.py:295 #: agenda_culturel/views.py:322
msgid "" msgid ""
"The event has been submitted and will be published as soon as it has been " "The event has been submitted and will be published as soon as it has been "
"validated by the moderation team." "validated by the moderation team."
@ -551,7 +579,7 @@ msgstr ""
"L'événement a été soumis et sera publié dès qu'il aura été validé par " "L'événement a été soumis et sera publié dès qu'il aura été validé par "
"l'équipe de modération." "l'équipe de modération."
#: agenda_culturel/views.py:332 #: agenda_culturel/views.py:359
msgid "" msgid ""
"The event has been successfully extracted, and you can now submit it after " "The event has been successfully extracted, and you can now submit it after "
"modifying it if necessary." "modifying it if necessary."
@ -559,7 +587,7 @@ msgstr ""
"L'événement a été extrait avec succès, vous pouvez maintenant le soumettre " "L'événement a été extrait avec succès, vous pouvez maintenant le soumettre "
"après l'avoir modifié au besoin." "après l'avoir modifié au besoin."
#: agenda_culturel/views.py:336 #: agenda_culturel/views.py:363
msgid "" msgid ""
"Unable to extract an event from the proposed URL. Please use the form below " "Unable to extract an event from the proposed URL. Please use the form below "
"to submit the event." "to submit the event."
@ -567,16 +595,16 @@ msgstr ""
"Impossible d'extraire un événement depuis l'URL proposée. Veuillez utiliser " "Impossible d'extraire un événement depuis l'URL proposée. Veuillez utiliser "
"le formulaire ci-dessous pour soumettre l'événement." "le formulaire ci-dessous pour soumettre l'événement."
#: agenda_culturel/views.py:345 #: agenda_culturel/views.py:372
msgid "This URL has already been submitted, and you can find the event below." msgid "This URL has already been submitted, and you can find the event below."
msgstr "" msgstr ""
"Cette URL a déjà été soumise, et vous trouverez l'événement ci-dessous." "Cette URL a déjà été soumise, et vous trouverez l'événement ci-dessous."
#: agenda_culturel/views.py:349 #: agenda_culturel/views.py:376
msgid "This URL has already been submitted and is awaiting moderation." 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" msgstr "Cette URL a déjà été soumise, et est en attente de modération"
#: agenda_culturel/views.py:351 #: agenda_culturel/views.py:378
msgid "" msgid ""
"This URL has already been submitted, but has not been selected for " "This URL has already been submitted, but has not been selected for "
"publication by the moderation team." "publication by the moderation team."
@ -584,51 +612,51 @@ msgstr ""
"Cette URL a déjà été soumise, mais n'a pas été retenue par l'équipe de " "Cette URL a déjà été soumise, mais n'a pas été retenue par l'équipe de "
"modération pour la publication." "modération pour la publication."
#: agenda_culturel/views.py:373 #: agenda_culturel/views.py:400
msgid "Your message has been sent successfully." msgid "Your message has been sent successfully."
msgstr "Votre message a été envoyé avec succès." msgstr "Votre message a été envoyé avec succès."
#: agenda_culturel/views.py:382 #: agenda_culturel/views.py:415
msgid "The contact message properties has been successfully modified." msgid "The contact message properties has been successfully modified."
msgstr "Les propriétés du message de contact ont été modifié avec succès." msgstr "Les propriétés du message de contact ont été modifié avec succès."
#: agenda_culturel/views.py:397 #: agenda_culturel/views.py:430
msgid "Open" msgid "Open"
msgstr "Ouvert" msgstr "Ouvert"
#: agenda_culturel/views.py:439 #: agenda_culturel/views.py:472
msgid "Search" msgid "Search"
msgstr "Rechercher" msgstr "Rechercher"
#: agenda_culturel/views.py:556 #: agenda_culturel/views.py:589
msgid "The import has been run successfully." msgid "The import has been run successfully."
msgstr "L'import a été lancé avec succès" msgstr "L'import a été lancé avec succès"
#: agenda_culturel/views.py:573 #: agenda_culturel/views.py:606
msgid "The import has been canceled." msgid "The import has been canceled."
msgstr "L'import a été annulé" msgstr "L'import a été annulé"
#: agenda_culturel/views.py:610 #: agenda_culturel/views.py:643
msgid "The recurrent import has been successfully modified." msgid "The recurrent import has been successfully modified."
msgstr "L'import récurrent a été modifié avec succès." msgstr "L'import récurrent a été modifié avec succès."
#: agenda_culturel/views.py:617 #: agenda_culturel/views.py:650
msgid "The recurrent import has been successfully deleted." msgid "The recurrent import has been successfully deleted."
msgstr "L'import récurrent a été supprimé avec succès" msgstr "L'import récurrent a été supprimé avec succès"
#: agenda_culturel/views.py:648 #: agenda_culturel/views.py:681
msgid "The import has been launched." msgid "The import has been launched."
msgstr "L'import a été lancé" msgstr "L'import a été lancé"
#: agenda_culturel/views.py:708 #: agenda_culturel/views.py:741
msgid "The merge has been successfully completed." msgid "The merge has been successfully completed."
msgstr "La fusion a été réalisée avec succès." msgstr "La fusion a été réalisée avec succès."
#: agenda_culturel/views.py:738 #: agenda_culturel/views.py:771
msgid "Events have been marked as unduplicated." msgid "Events have been marked as unduplicated."
msgstr "Les événements ont été marqués comme non dupliqués." msgstr "Les événements ont été marqués comme non dupliqués."
#: agenda_culturel/views.py:755 #: agenda_culturel/views.py:788
msgid "" msgid ""
"The selected event has been retained, while the other has been moved to the " "The selected event has been retained, while the other has been moved to the "
"recycle bin." "recycle bin."
@ -636,7 +664,7 @@ msgstr ""
"L'événement sélectionné a été conservé, l'autre a été déplacé dans la " "L'événement sélectionné a été conservé, l'autre a été déplacé dans la "
"corbeille." "corbeille."
#: agenda_culturel/views.py:757 #: agenda_culturel/views.py:790
msgid "" msgid ""
"The selected event has been retained, while the others have been moved to " "The selected event has been retained, while the others have been moved to "
"the recycle bin." "the recycle bin."
@ -644,15 +672,15 @@ msgstr ""
"L'événement sélectionné a été conservé, les autres ont été déplacés dans la " "L'événement sélectionné a été conservé, les autres ont été déplacés dans la "
"corbeille." "corbeille."
#: agenda_culturel/views.py:763 #: agenda_culturel/views.py:796
msgid "The event has been withdrawn from the group and made independent." 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." msgstr "L'événement a été retiré du groupe et rendu indépendant."
#: agenda_culturel/views.py:810 #: agenda_culturel/views.py:843
msgid "The event was successfully duplicated." msgid "The event was successfully duplicated."
msgstr "L'événement a été marqué dupliqué avec succès." msgstr "L'événement a été marqué dupliqué avec succès."
#: agenda_culturel/views.py:813 #: agenda_culturel/views.py:846
msgid "" msgid ""
"The event has been successfully flagged as a duplicate. The moderation team " "The event has been successfully flagged as a duplicate. The moderation team "
"will deal with your suggestion shortly." "will deal with your suggestion shortly."
@ -660,32 +688,32 @@ msgstr ""
"L'événement a été signalé comme dupliqué avec succès. Votre suggestion sera " "L'événement a été signalé comme dupliqué avec succès. Votre suggestion sera "
"prochainement prise en charge par l'équipe de modération." "prochainement prise en charge par l'équipe de modération."
#: agenda_culturel/views.py:852 #: agenda_culturel/views.py:885
msgid "The categorisation rule has been successfully modified." msgid "The categorisation rule has been successfully modified."
msgstr "La règle de catégorisation a été modifiée avec succès." msgstr "La règle de catégorisation a été modifiée avec succès."
#: agenda_culturel/views.py:859 #: agenda_culturel/views.py:892
msgid "The categorisation rule has been successfully deleted." msgid "The categorisation rule has been successfully deleted."
msgstr "La règle de catégorisation a été supprimée avec succès" msgstr "La règle de catégorisation a été supprimée avec succès"
#: agenda_culturel/views.py:875 #: agenda_culturel/views.py:912 agenda_culturel/views.py:941
msgid "The rules were successfully applied and 1 event was categorised." msgid "The rules were successfully applied and 1 event was categorised."
msgstr "" msgstr ""
"Les règles ont été appliquées avec succès et 1 événement a été catégorisé" "Les règles ont été appliquées avec succès et 1 événement a été catégorisé"
#: agenda_culturel/views.py:877 #: agenda_culturel/views.py:914 agenda_culturel/views.py:943
msgid "The rules were successfully applied and {} events were categorised." msgid "The rules were successfully applied and {} events were categorised."
msgstr "" msgstr ""
"Les règles ont été appliquées avec succès et {} événements ont été " "Les règles ont été appliquées avec succès et {} événements ont été "
"catégorisés" "catégorisés"
#: agenda_culturel/views.py:879 #: agenda_culturel/views.py:916 agenda_culturel/views.py:945
msgid "The rules were successfully applied and no events were categorised." msgid "The rules were successfully applied and no events were categorised."
msgstr "" msgstr ""
"Les règles ont été appliquées avec succès et aucun événement n'a été " "Les règles ont été appliquées avec succès et aucun événement n'a été "
"catégorisé" "catégorisé"
#: agenda_culturel/views.py:902 #: agenda_culturel/views.py:973
msgid "The moderation question has been created with success." msgid "The moderation question has been created with success."
msgstr "La question de modération a été créée avec succès." msgstr "La question de modération a été créée avec succès."

View File

@ -0,0 +1,23 @@
# Generated by Django 4.2.7 on 2024-04-16 11:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('agenda_culturel', '0046_event_moderated_date'),
]
operations = [
migrations.AddField(
model_name='categorisationrule',
name='loc_exact',
field=models.BooleanField(default=False, help_text='If checked, the extract will be searched for in the location using the exact form (capitals, accents).', verbose_name='Exact location extract'),
),
migrations.AddField(
model_name='categorisationrule',
name='location_contains',
field=models.CharField(blank=True, help_text='Text contained in the event location', max_length=512, null=True, verbose_name='Contained in the location'),
),
]

View File

@ -828,6 +828,9 @@ class CategorisationRule(models.Model):
title_contains = models.CharField(verbose_name=_('Contained in the title'), help_text=_('Text contained in the event title'), max_length=512, blank=True, null=True) title_contains = models.CharField(verbose_name=_('Contained in the title'), help_text=_('Text contained in the event title'), max_length=512, blank=True, null=True)
title_exact = models.BooleanField(verbose_name=_('Exact title extract'), help_text=_("If checked, the extract will be searched for in the title using the exact form (capitals, accents)."), default=False) title_exact = models.BooleanField(verbose_name=_('Exact title extract'), help_text=_("If checked, the extract will be searched for in the title using the exact form (capitals, accents)."), default=False)
location_contains = models.CharField(verbose_name=_('Contained in the location'), help_text=_('Text contained in the event location'), max_length=512, blank=True, null=True)
loc_exact = models.BooleanField(verbose_name=_('Exact location extract'), help_text=_("If checked, the extract will be searched for in the location using the exact form (capitals, accents)."), default=False)
class Meta: class Meta:
verbose_name = _('Categorisation rule') verbose_name = _('Categorisation rule')
verbose_name_plural = _('Categorisation rules') verbose_name_plural = _('Categorisation rules')
@ -872,6 +875,14 @@ class CategorisationRule(models.Model):
if remove_accents(self.title_contains).lower() in remove_accents(event.title).lower(): if remove_accents(self.title_contains).lower() in remove_accents(event.title).lower():
return True return True
if self.location_contains:
if self.loc_exact:
if self.location_contains in event.location:
return True
else:
if remove_accents(self.location_contains).lower() in remove_accents(event.location).lower():
return True
return False return False

View File

@ -45,6 +45,9 @@
{% if obj.description_contains %} {% if obj.description_contains %}
<li>La description contient {% if obj.desc_exact %}exactement {% endif %} «&nbsp;{{ obj.description_contains }}&nbsp;»</li> <li>La description contient {% if obj.desc_exact %}exactement {% endif %} «&nbsp;{{ obj.description_contains }}&nbsp;»</li>
{% endif %} {% endif %}
{% if obj.location_contains %}
<li>La localisation contient {% if obj.loc_exact %}exactement {% endif %} «&nbsp;{{ obj.location_contains }}&nbsp;»</li>
{% endif %}
</ul> </ul>
</td> </td>
<td>{{ obj.weight }}</td> <td>{{ obj.weight }}</td>