Add a message when downloading to make people think more about mentionning LENS and photographer

This commit is contained in:
loulous27 2026-03-05 15:52:44 +01:00
parent 4eed7b6876
commit 50921c82ab
8 changed files with 314 additions and 235 deletions

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Photologue\n" "Project-Id-Version: Photologue\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-07 20:03+0100\n" "POT-Creation-Date: 2026-03-05 15:30+0100\n"
"PO-Revision-Date: 2017-12-03 14:47+0000\n" "PO-Revision-Date: 2017-12-03 14:47+0000\n"
"Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n" "Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n"
"Language-Team: German (http://www.transifex.com/richardbarran/django-" "Language-Team: German (http://www.transifex.com/richardbarran/django-"
@ -22,19 +22,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: .\photologue\admin.py:26 .\photologue\models.py:164 #: .\photologue\admin.py:26 .\photologue\models.py:168
#: .\photologue\models.py:782 #: .\photologue\models.py:786
msgid "tags" msgid "tags"
msgstr "" msgstr "tags"
#: .\photologue\admin.py:50 .\photologue\models.py:525 #: .\photologue\admin.py:63 .\photologue\forms.py:68
msgid "owner"
msgstr ""
#: .\photologue\forms.py:68
msgid "Gallery" msgid "Gallery"
msgstr "Galerie" msgstr "Galerie"
#: .\photologue\admin.py:67 .\photologue\models.py:529
msgid "owner"
msgstr ""
#: .\photologue\forms.py:70 #: .\photologue\forms.py:70
msgid "-- Create a new gallery --" msgid "-- Create a new gallery --"
msgstr "" msgstr ""
@ -89,75 +89,75 @@ msgstr ""
"Wähle eine existierende Galerie aus oder gib einen Titel für eine neue " "Wähle eine existierende Galerie aus oder gib einen Titel für eine neue "
"Galerie ein." "Galerie ein."
#: .\photologue\models.py:84 #: .\photologue\models.py:88
msgid "Very Low" msgid "Very Low"
msgstr "Sehr niedrig" msgstr "Sehr niedrig"
#: .\photologue\models.py:85 #: .\photologue\models.py:89
msgid "Low" msgid "Low"
msgstr "Niedrig" msgstr "Niedrig"
#: .\photologue\models.py:86 #: .\photologue\models.py:90
msgid "Medium-Low" msgid "Medium-Low"
msgstr "Mittel-niedrig" msgstr "Mittel-niedrig"
#: .\photologue\models.py:87 #: .\photologue\models.py:91
msgid "Medium" msgid "Medium"
msgstr "Mittel" msgstr "Mittel"
#: .\photologue\models.py:88 #: .\photologue\models.py:92
msgid "Medium-High" msgid "Medium-High"
msgstr "Mittel-hoch" msgstr "Mittel-hoch"
#: .\photologue\models.py:89 #: .\photologue\models.py:93
msgid "High" msgid "High"
msgstr "Hoch" msgstr "Hoch"
#: .\photologue\models.py:90 #: .\photologue\models.py:94
msgid "Very High" msgid "Very High"
msgstr "Sehr hoch" msgstr "Sehr hoch"
#: .\photologue\models.py:95 #: .\photologue\models.py:99
msgid "Top" msgid "Top"
msgstr "Oben" msgstr "Oben"
#: .\photologue\models.py:96 #: .\photologue\models.py:100
msgid "Right" msgid "Right"
msgstr "Rechts" msgstr "Rechts"
#: .\photologue\models.py:97 #: .\photologue\models.py:101
msgid "Bottom" msgid "Bottom"
msgstr "Unten" msgstr "Unten"
#: .\photologue\models.py:98 #: .\photologue\models.py:102
msgid "Left" msgid "Left"
msgstr "Links" msgstr "Links"
#: .\photologue\models.py:99 #: .\photologue\models.py:103
msgid "Center (Default)" msgid "Center (Default)"
msgstr "Mitte (Standard)" msgstr "Mitte (Standard)"
#: .\photologue\models.py:103 #: .\photologue\models.py:107
msgid "Flip left to right" msgid "Flip left to right"
msgstr "Horizontal spiegeln" msgstr "Horizontal spiegeln"
#: .\photologue\models.py:104 #: .\photologue\models.py:108
msgid "Flip top to bottom" msgid "Flip top to bottom"
msgstr "Vertikal spiegeln" msgstr "Vertikal spiegeln"
#: .\photologue\models.py:105 #: .\photologue\models.py:109
msgid "Rotate 90 degrees counter-clockwise" msgid "Rotate 90 degrees counter-clockwise"
msgstr "Um 90° nach links drehen" msgstr "Um 90° nach links drehen"
#: .\photologue\models.py:106 #: .\photologue\models.py:110
msgid "Rotate 90 degrees clockwise" msgid "Rotate 90 degrees clockwise"
msgstr "Um 90° nach rechts drehen" msgstr "Um 90° nach rechts drehen"
#: .\photologue\models.py:107 #: .\photologue\models.py:111
msgid "Rotate 180 degrees" msgid "Rotate 180 degrees"
msgstr "Um 180° drehen" msgstr "Um 180° drehen"
#: .\photologue\models.py:121 #: .\photologue\models.py:125
#, python-format #, python-format
msgid "" msgid ""
"Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-" "Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-"
@ -168,117 +168,117 @@ msgstr ""
">FILTER_DREI\". Bildfilter werden nach der Reihe angewendet. Folgende Filter " ">FILTER_DREI\". Bildfilter werden nach der Reihe angewendet. Folgende Filter "
"sind verfügbar: %s." "sind verfügbar: %s."
#: .\photologue\models.py:144 .\photologue\models.py:513 #: .\photologue\models.py:148 .\photologue\models.py:517
msgid "title" msgid "title"
msgstr "Titel" msgstr "Titel"
#: .\photologue\models.py:146 #: .\photologue\models.py:150
msgid "title slug" msgid "title slug"
msgstr "Kurztitel" msgstr "Kurztitel"
#: .\photologue\models.py:149 .\photologue\models.py:518 #: .\photologue\models.py:153 .\photologue\models.py:522
#: .\photologue\models.py:776 #: .\photologue\models.py:780
msgid "A \"slug\" is a unique URL-friendly title for an object." msgid "A \"slug\" is a unique URL-friendly title for an object."
msgstr "" msgstr ""
"Ein Kurztitel (\"slug\") ist ein eindeutiger, URL-geeigneter Titel für ein " "Ein Kurztitel (\"slug\") ist ein eindeutiger, URL-geeigneter Titel für ein "
"Objekt." "Objekt."
#: .\photologue\models.py:153 #: .\photologue\models.py:157
msgid "start date" msgid "start date"
msgstr "" msgstr ""
#: .\photologue\models.py:158 #: .\photologue\models.py:162
msgid "end date" msgid "end date"
msgstr "" msgstr ""
#: .\photologue\models.py:160 #: .\photologue\models.py:164
msgid "description" msgid "description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: .\photologue\models.py:170 .\photologue\models.py:544 #: .\photologue\models.py:174 .\photologue\models.py:548
msgid "photos" msgid "photos"
msgstr "Fotos" msgstr "Fotos"
#: .\photologue\models.py:177 #: .\photologue\models.py:181
msgid "gallery" msgid "gallery"
msgstr "Galerie" msgstr "Galerie"
#: .\photologue\models.py:178 #: .\photologue\models.py:182
msgid "galleries" msgid "galleries"
msgstr "Galerien" msgstr "Galerien"
#: .\photologue\models.py:210 #: .\photologue\models.py:214
msgid "count" msgid "count"
msgstr "Anzahl" msgstr "Anzahl"
#: .\photologue\models.py:211 #: .\photologue\models.py:215
#, fuzzy #, fuzzy
#| msgid "view count" #| msgid "view count"
msgid "private count" msgid "private count"
msgstr "Anzahl an Aufrufen" msgstr "Anzahl an Aufrufen"
#: .\photologue\models.py:216 #: .\photologue\models.py:220
msgid "image" msgid "image"
msgstr "Bild" msgstr "Bild"
#: .\photologue\models.py:219 #: .\photologue\models.py:223
msgid "date taken" msgid "date taken"
msgstr "Aufnahmedatum" msgstr "Aufnahmedatum"
#: .\photologue\models.py:222 #: .\photologue\models.py:226
msgid "Date image was taken; is obtained from the image EXIF data." msgid "Date image was taken; is obtained from the image EXIF data."
msgstr "" msgstr ""
"Datum, an dem das Foto geschossen wurde; ausgelesen aus den EXIF-Daten." "Datum, an dem das Foto geschossen wurde; ausgelesen aus den EXIF-Daten."
#: .\photologue\models.py:224 #: .\photologue\models.py:228
msgid "view count" msgid "view count"
msgstr "Anzahl an Aufrufen" msgstr "Anzahl an Aufrufen"
#: .\photologue\models.py:226 #: .\photologue\models.py:230
msgid "crop from" msgid "crop from"
msgstr "Beschneiden von" msgstr "Beschneiden von"
#: .\photologue\models.py:250 #: .\photologue\models.py:254
msgid "An \"admin_thumbnail\" photo size has not been defined." msgid "An \"admin_thumbnail\" photo size has not been defined."
msgstr "Es ist keine Fotogröße \"admin_thumbnail\" definiert." msgstr "Es ist keine Fotogröße \"admin_thumbnail\" definiert."
#: .\photologue\models.py:263 #: .\photologue\models.py:267
msgid "Thumbnail" msgid "Thumbnail"
msgstr "Vorschaubild" msgstr "Vorschaubild"
#: .\photologue\models.py:515 .\photologue\models.py:775 #: .\photologue\models.py:519 .\photologue\models.py:779
msgid "slug" msgid "slug"
msgstr "Kurztitel" msgstr "Kurztitel"
#: .\photologue\models.py:520 #: .\photologue\models.py:524
msgid "caption" msgid "caption"
msgstr "Bildunterschrift" msgstr "Bildunterschrift"
#: .\photologue\models.py:521 #: .\photologue\models.py:525
msgid "date added" msgid "date added"
msgstr "Datum des Eintrags" msgstr "Datum des Eintrags"
#: .\photologue\models.py:530 #: .\photologue\models.py:534
msgid "license" msgid "license"
msgstr "" msgstr ""
#: .\photologue\models.py:533 #: .\photologue\models.py:537
msgid "is public" msgid "is public"
msgstr "ist öffentlich" msgstr "ist öffentlich"
#: .\photologue\models.py:535 #: .\photologue\models.py:539
msgid "Public photographs will be displayed in the default views." msgid "Public photographs will be displayed in the default views."
msgstr "Öffentliche Fotos werden in den Standard-Views angezeigt." msgstr "Öffentliche Fotos werden in den Standard-Views angezeigt."
#: .\photologue\models.py:543 #: .\photologue\models.py:547
msgid "photo" msgid "photo"
msgstr "Foto" msgstr "Foto"
#: .\photologue\models.py:606 .\photologue\models.py:770 #: .\photologue\models.py:610 .\photologue\models.py:774
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
#: .\photologue\models.py:610 #: .\photologue\models.py:614
msgid "" msgid ""
"Photo size name should contain only letters, numbers and underscores. " "Photo size name should contain only letters, numbers and underscores. "
"Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"." "Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"."
@ -287,41 +287,41 @@ msgstr ""
"enthalten. Beispiele: \"thumbnail\", \"display\", \"small\", " "enthalten. Beispiele: \"thumbnail\", \"display\", \"small\", "
"\"main_page_widget\"." "\"main_page_widget\"."
#: .\photologue\models.py:622 #: .\photologue\models.py:626
msgid "width" msgid "width"
msgstr "Breite" msgstr "Breite"
#: .\photologue\models.py:625 #: .\photologue\models.py:629
msgid "" msgid ""
"If width is set to \"0\" the image will be scaled to the supplied height." "If width is set to \"0\" the image will be scaled to the supplied height."
msgstr "" msgstr ""
"Wenn die Breite auf \"0\" gesetzt ist, wird das Bild proportional auf die " "Wenn die Breite auf \"0\" gesetzt ist, wird das Bild proportional auf die "
"angebene Höhe skaliert." "angebene Höhe skaliert."
#: .\photologue\models.py:629 #: .\photologue\models.py:633
msgid "height" msgid "height"
msgstr "Höhe" msgstr "Höhe"
#: .\photologue\models.py:632 #: .\photologue\models.py:636
msgid "" msgid ""
"If height is set to \"0\" the image will be scaled to the supplied width" "If height is set to \"0\" the image will be scaled to the supplied width"
msgstr "" msgstr ""
"Wenn die Höhe auf \"0\" gesetzt ist, wird das Bild proportional auf die " "Wenn die Höhe auf \"0\" gesetzt ist, wird das Bild proportional auf die "
"angebene Breite skaliert." "angebene Breite skaliert."
#: .\photologue\models.py:636 #: .\photologue\models.py:640
msgid "quality" msgid "quality"
msgstr "Qualität" msgstr "Qualität"
#: .\photologue\models.py:639 #: .\photologue\models.py:643
msgid "JPEG image quality." msgid "JPEG image quality."
msgstr "JPEG-Bildqualität" msgstr "JPEG-Bildqualität"
#: .\photologue\models.py:642 #: .\photologue\models.py:646
msgid "upscale images?" msgid "upscale images?"
msgstr "Bilder hochskalieren?" msgstr "Bilder hochskalieren?"
#: .\photologue\models.py:645 #: .\photologue\models.py:649
msgid "" msgid ""
"If selected the image will be scaled up if necessary to fit the supplied " "If selected the image will be scaled up if necessary to fit the supplied "
"dimensions. Cropped sizes will be upscaled regardless of this setting." "dimensions. Cropped sizes will be upscaled regardless of this setting."
@ -330,32 +330,32 @@ msgstr ""
"Beschnittene Größen werden unabhängig von dieser Einstellung bei Bedarf " "Beschnittene Größen werden unabhängig von dieser Einstellung bei Bedarf "
"hochskaliert." "hochskaliert."
#: .\photologue\models.py:651 #: .\photologue\models.py:655
msgid "crop to fit?" msgid "crop to fit?"
msgstr "Zuschneiden?" msgstr "Zuschneiden?"
#: .\photologue\models.py:654 #: .\photologue\models.py:658
msgid "" msgid ""
"If selected the image will be scaled and cropped to fit the supplied " "If selected the image will be scaled and cropped to fit the supplied "
"dimensions." "dimensions."
msgstr "" msgstr ""
"Soll das Bild auf das angegebene Format skaliert und beschnitten werden?" "Soll das Bild auf das angegebene Format skaliert und beschnitten werden?"
#: .\photologue\models.py:659 #: .\photologue\models.py:663
msgid "pre-cache?" msgid "pre-cache?"
msgstr "Vorausspeichern?" msgstr "Vorausspeichern?"
#: .\photologue\models.py:662 #: .\photologue\models.py:666
msgid "If selected this photo size will be pre-cached as photos are added." msgid "If selected this photo size will be pre-cached as photos are added."
msgstr "" msgstr ""
"Soll diese Bildgröße im Voraus gespeichert (pre-cached) werden, wenn Fotos " "Soll diese Bildgröße im Voraus gespeichert (pre-cached) werden, wenn Fotos "
"hinzugefügt werden?" "hinzugefügt werden?"
#: .\photologue\models.py:666 #: .\photologue\models.py:670
msgid "increment view count?" msgid "increment view count?"
msgstr "Bildzähler?" msgstr "Bildzähler?"
#: .\photologue\models.py:669 #: .\photologue\models.py:673
msgid "" msgid ""
"If selected the image's \"view_count\" will be incremented when this photo " "If selected the image's \"view_count\" will be incremented when this photo "
"size is displayed." "size is displayed."
@ -363,20 +363,20 @@ msgstr ""
"Soll der Ansichts-Zähler (view-count) hochgezählt werden, wenn ein Foto " "Soll der Ansichts-Zähler (view-count) hochgezählt werden, wenn ein Foto "
"dieser Größe angezeigt wird?" "dieser Größe angezeigt wird?"
#: .\photologue\models.py:676 #: .\photologue\models.py:680
msgid "photo size" msgid "photo size"
msgstr "Foto-Größe" msgstr "Foto-Größe"
#: .\photologue\models.py:677 #: .\photologue\models.py:681
msgid "photo sizes" msgid "photo sizes"
msgstr "Foto-Größen" msgstr "Foto-Größen"
#: .\photologue\models.py:695 #: .\photologue\models.py:699
msgid "Can only crop photos if both width and height dimensions are set." msgid "Can only crop photos if both width and height dimensions are set."
msgstr "" msgstr ""
"Fotos können nur zugeschnitten werden, wenn Breite und Höhe angegeben sind." "Fotos können nur zugeschnitten werden, wenn Breite und Höhe angegeben sind."
#: .\photologue\models.py:781 #: .\photologue\models.py:785
msgid "tag" msgid "tag"
msgstr "" msgstr ""
@ -402,15 +402,15 @@ msgstr "Gallerien von %(show_year)s"
msgid "No galleries were found." msgid "No galleries were found."
msgstr "Es wurden keine Galerien gefunden." msgstr "Es wurden keine Galerien gefunden."
#: .\photologue\templates\photologue\gallery_detail.html:41 #: .\photologue\templates\photologue\gallery_detail.html:42
msgid "to" msgid "to"
msgstr "" msgstr ""
#: .\photologue\templates\photologue\gallery_detail.html:58 #: .\photologue\templates\photologue\gallery_detail.html:59
msgid "All pictures" msgid "All pictures"
msgstr "" msgstr ""
#: .\photologue\templates\photologue\gallery_detail.html:84 #: .\photologue\templates\photologue\gallery_detail.html:85
msgid "Download all gallery" msgid "Download all gallery"
msgstr "" msgstr ""

View file

@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Photologue\n" "Project-Id-Version: Photologue\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-07 20:03+0100\n" "POT-Creation-Date: 2026-03-05 15:30+0100\n"
"PO-Revision-Date: 2017-12-03 14:46+0000\n" "PO-Revision-Date: 2017-12-03 14:46+0000\n"
"Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n" "Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/richardbarran/" "Language-Team: Spanish (Spain) (http://www.transifex.com/richardbarran/"
@ -23,19 +23,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: .\photologue\admin.py:26 .\photologue\models.py:164 #: .\photologue\admin.py:26 .\photologue\models.py:168
#: .\photologue\models.py:782 #: .\photologue\models.py:786
msgid "tags" msgid "tags"
msgstr "" msgstr ""
#: .\photologue\admin.py:50 .\photologue\models.py:525 #: .\photologue\admin.py:63 .\photologue\forms.py:68
msgid "owner"
msgstr ""
#: .\photologue\forms.py:68
msgid "Gallery" msgid "Gallery"
msgstr "Galería" msgstr "Galería"
#: .\photologue\admin.py:67 .\photologue\models.py:529
msgid "owner"
msgstr ""
#: .\photologue\forms.py:70 #: .\photologue\forms.py:70
msgid "-- Create a new gallery --" msgid "-- Create a new gallery --"
msgstr "" msgstr ""
@ -89,75 +89,75 @@ msgid "Select an existing gallery, or enter a title for a new gallery."
msgstr "" msgstr ""
"Seleccione una galería existente o ingrese un nuevo nombre para la galería." "Seleccione una galería existente o ingrese un nuevo nombre para la galería."
#: .\photologue\models.py:84 #: .\photologue\models.py:88
msgid "Very Low" msgid "Very Low"
msgstr "Muy bajo" msgstr "Muy bajo"
#: .\photologue\models.py:85 #: .\photologue\models.py:89
msgid "Low" msgid "Low"
msgstr "Bajo" msgstr "Bajo"
#: .\photologue\models.py:86 #: .\photologue\models.py:90
msgid "Medium-Low" msgid "Medium-Low"
msgstr "Medio-bajo" msgstr "Medio-bajo"
#: .\photologue\models.py:87 #: .\photologue\models.py:91
msgid "Medium" msgid "Medium"
msgstr "Medio" msgstr "Medio"
#: .\photologue\models.py:88 #: .\photologue\models.py:92
msgid "Medium-High" msgid "Medium-High"
msgstr "Medio-alto" msgstr "Medio-alto"
#: .\photologue\models.py:89 #: .\photologue\models.py:93
msgid "High" msgid "High"
msgstr "Alto" msgstr "Alto"
#: .\photologue\models.py:90 #: .\photologue\models.py:94
msgid "Very High" msgid "Very High"
msgstr "Muy alto" msgstr "Muy alto"
#: .\photologue\models.py:95 #: .\photologue\models.py:99
msgid "Top" msgid "Top"
msgstr "Arriba" msgstr "Arriba"
#: .\photologue\models.py:96 #: .\photologue\models.py:100
msgid "Right" msgid "Right"
msgstr "Derecha" msgstr "Derecha"
#: .\photologue\models.py:97 #: .\photologue\models.py:101
msgid "Bottom" msgid "Bottom"
msgstr "Abajo" msgstr "Abajo"
#: .\photologue\models.py:98 #: .\photologue\models.py:102
msgid "Left" msgid "Left"
msgstr "Izquierda" msgstr "Izquierda"
#: .\photologue\models.py:99 #: .\photologue\models.py:103
msgid "Center (Default)" msgid "Center (Default)"
msgstr "Centro (por defecto)" msgstr "Centro (por defecto)"
#: .\photologue\models.py:103 #: .\photologue\models.py:107
msgid "Flip left to right" msgid "Flip left to right"
msgstr "Voltear de izquerda a derecha" msgstr "Voltear de izquerda a derecha"
#: .\photologue\models.py:104 #: .\photologue\models.py:108
msgid "Flip top to bottom" msgid "Flip top to bottom"
msgstr "Voltear de arriba a abajo" msgstr "Voltear de arriba a abajo"
#: .\photologue\models.py:105 #: .\photologue\models.py:109
msgid "Rotate 90 degrees counter-clockwise" msgid "Rotate 90 degrees counter-clockwise"
msgstr "Rotar 90 grados en sentido horario" msgstr "Rotar 90 grados en sentido horario"
#: .\photologue\models.py:106 #: .\photologue\models.py:110
msgid "Rotate 90 degrees clockwise" msgid "Rotate 90 degrees clockwise"
msgstr "Rotar 90 grados en sentido antihorario" msgstr "Rotar 90 grados en sentido antihorario"
#: .\photologue\models.py:107 #: .\photologue\models.py:111
msgid "Rotate 180 degrees" msgid "Rotate 180 degrees"
msgstr "Rotar 180 grados" msgstr "Rotar 180 grados"
#: .\photologue\models.py:121 #: .\photologue\models.py:125
#, python-format #, python-format
msgid "" msgid ""
"Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-" "Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-"
@ -168,114 +168,114 @@ msgstr ""
">FILTRO_DOS->FILTRO_TRES\". Los filtros de imagen se aplicarán en orden. Los " ">FILTRO_DOS->FILTRO_TRES\". Los filtros de imagen se aplicarán en orden. Los "
"siguientes filtros están disponibles: %s." "siguientes filtros están disponibles: %s."
#: .\photologue\models.py:144 .\photologue\models.py:513 #: .\photologue\models.py:148 .\photologue\models.py:517
msgid "title" msgid "title"
msgstr "título" msgstr "título"
#: .\photologue\models.py:146 #: .\photologue\models.py:150
msgid "title slug" msgid "title slug"
msgstr "título slug" msgstr "título slug"
#: .\photologue\models.py:149 .\photologue\models.py:518 #: .\photologue\models.py:153 .\photologue\models.py:522
#: .\photologue\models.py:776 #: .\photologue\models.py:780
msgid "A \"slug\" is a unique URL-friendly title for an object." msgid "A \"slug\" is a unique URL-friendly title for an object."
msgstr "Un \"slug\" es un único título URL-amigable para un objeto." msgstr "Un \"slug\" es un único título URL-amigable para un objeto."
#: .\photologue\models.py:153 #: .\photologue\models.py:157
msgid "start date" msgid "start date"
msgstr "" msgstr ""
#: .\photologue\models.py:158 #: .\photologue\models.py:162
msgid "end date" msgid "end date"
msgstr "" msgstr ""
#: .\photologue\models.py:160 #: .\photologue\models.py:164
msgid "description" msgid "description"
msgstr "descripción" msgstr "descripción"
#: .\photologue\models.py:170 .\photologue\models.py:544 #: .\photologue\models.py:174 .\photologue\models.py:548
msgid "photos" msgid "photos"
msgstr "fotos" msgstr "fotos"
#: .\photologue\models.py:177 #: .\photologue\models.py:181
msgid "gallery" msgid "gallery"
msgstr "galería" msgstr "galería"
#: .\photologue\models.py:178 #: .\photologue\models.py:182
msgid "galleries" msgid "galleries"
msgstr "galerías" msgstr "galerías"
#: .\photologue\models.py:210 #: .\photologue\models.py:214
msgid "count" msgid "count"
msgstr "contar" msgstr "contar"
#: .\photologue\models.py:211 #: .\photologue\models.py:215
#, fuzzy #, fuzzy
#| msgid "view count" #| msgid "view count"
msgid "private count" msgid "private count"
msgstr "Contador de visitas" msgstr "Contador de visitas"
#: .\photologue\models.py:216 #: .\photologue\models.py:220
msgid "image" msgid "image"
msgstr "imagen" msgstr "imagen"
#: .\photologue\models.py:219 #: .\photologue\models.py:223
msgid "date taken" msgid "date taken"
msgstr "fecha en la que se tomó" msgstr "fecha en la que se tomó"
#: .\photologue\models.py:222 #: .\photologue\models.py:226
msgid "Date image was taken; is obtained from the image EXIF data." msgid "Date image was taken; is obtained from the image EXIF data."
msgstr "La fecha de la imagen fue obtenida por información EXIF de la imagen." msgstr "La fecha de la imagen fue obtenida por información EXIF de la imagen."
#: .\photologue\models.py:224 #: .\photologue\models.py:228
msgid "view count" msgid "view count"
msgstr "Contador de visitas" msgstr "Contador de visitas"
#: .\photologue\models.py:226 #: .\photologue\models.py:230
msgid "crop from" msgid "crop from"
msgstr "Recortar desde" msgstr "Recortar desde"
#: .\photologue\models.py:250 #: .\photologue\models.py:254
msgid "An \"admin_thumbnail\" photo size has not been defined." msgid "An \"admin_thumbnail\" photo size has not been defined."
msgstr "El tamaño de foto de \"miniatura de admin\" no ha sido definido." msgstr "El tamaño de foto de \"miniatura de admin\" no ha sido definido."
#: .\photologue\models.py:263 #: .\photologue\models.py:267
msgid "Thumbnail" msgid "Thumbnail"
msgstr "Miniatura" msgstr "Miniatura"
#: .\photologue\models.py:515 .\photologue\models.py:775 #: .\photologue\models.py:519 .\photologue\models.py:779
msgid "slug" msgid "slug"
msgstr "slug" msgstr "slug"
#: .\photologue\models.py:520 #: .\photologue\models.py:524
msgid "caption" msgid "caption"
msgstr "pie de foto" msgstr "pie de foto"
#: .\photologue\models.py:521 #: .\photologue\models.py:525
msgid "date added" msgid "date added"
msgstr "fecha añadida" msgstr "fecha añadida"
#: .\photologue\models.py:530 #: .\photologue\models.py:534
msgid "license" msgid "license"
msgstr "" msgstr ""
#: .\photologue\models.py:533 #: .\photologue\models.py:537
msgid "is public" msgid "is public"
msgstr "es público" msgstr "es público"
#: .\photologue\models.py:535 #: .\photologue\models.py:539
msgid "Public photographs will be displayed in the default views." msgid "Public photographs will be displayed in the default views."
msgstr "Las fotos públicas serán mostradas en las vistas por defecto." msgstr "Las fotos públicas serán mostradas en las vistas por defecto."
#: .\photologue\models.py:543 #: .\photologue\models.py:547
msgid "photo" msgid "photo"
msgstr "foto" msgstr "foto"
#: .\photologue\models.py:606 .\photologue\models.py:770 #: .\photologue\models.py:610 .\photologue\models.py:774
msgid "name" msgid "name"
msgstr "nombre" msgstr "nombre"
#: .\photologue\models.py:610 #: .\photologue\models.py:614
msgid "" msgid ""
"Photo size name should contain only letters, numbers and underscores. " "Photo size name should contain only letters, numbers and underscores. "
"Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"." "Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"."
@ -283,41 +283,41 @@ msgstr ""
"El nombre del tamaño solo puede contener letras, números y subrayados. Por " "El nombre del tamaño solo puede contener letras, números y subrayados. Por "
"ejemplo:\"miniaturas\", \"muestra\", \"muestra_principal\"." "ejemplo:\"miniaturas\", \"muestra\", \"muestra_principal\"."
#: .\photologue\models.py:622 #: .\photologue\models.py:626
msgid "width" msgid "width"
msgstr "anchura" msgstr "anchura"
#: .\photologue\models.py:625 #: .\photologue\models.py:629
msgid "" msgid ""
"If width is set to \"0\" the image will be scaled to the supplied height." "If width is set to \"0\" the image will be scaled to the supplied height."
msgstr "" msgstr ""
"Si la anchura se establece a \"0\" la imagen será escalada hasta la altura " "Si la anchura se establece a \"0\" la imagen será escalada hasta la altura "
"proporcionada" "proporcionada"
#: .\photologue\models.py:629 #: .\photologue\models.py:633
msgid "height" msgid "height"
msgstr "altura" msgstr "altura"
#: .\photologue\models.py:632 #: .\photologue\models.py:636
msgid "" msgid ""
"If height is set to \"0\" the image will be scaled to the supplied width" "If height is set to \"0\" the image will be scaled to the supplied width"
msgstr "" msgstr ""
"Si la altura se establece a \"0\" la imagen será escalada hasta la anchura " "Si la altura se establece a \"0\" la imagen será escalada hasta la anchura "
"proporcionada" "proporcionada"
#: .\photologue\models.py:636 #: .\photologue\models.py:640
msgid "quality" msgid "quality"
msgstr "calidad" msgstr "calidad"
#: .\photologue\models.py:639 #: .\photologue\models.py:643
msgid "JPEG image quality." msgid "JPEG image quality."
msgstr "Calidad de imagen JPEG." msgstr "Calidad de imagen JPEG."
#: .\photologue\models.py:642 #: .\photologue\models.py:646
msgid "upscale images?" msgid "upscale images?"
msgstr "¿Aumentar imágenes?" msgstr "¿Aumentar imágenes?"
#: .\photologue\models.py:645 #: .\photologue\models.py:649
msgid "" msgid ""
"If selected the image will be scaled up if necessary to fit the supplied " "If selected the image will be scaled up if necessary to fit the supplied "
"dimensions. Cropped sizes will be upscaled regardless of this setting." "dimensions. Cropped sizes will be upscaled regardless of this setting."
@ -326,11 +326,11 @@ msgstr ""
"las dimensiones proporcionadas. Los tamaños recortados serán aumentados de " "las dimensiones proporcionadas. Los tamaños recortados serán aumentados de "
"acuerdo a esta opción." "acuerdo a esta opción."
#: .\photologue\models.py:651 #: .\photologue\models.py:655
msgid "crop to fit?" msgid "crop to fit?"
msgstr "¿Recortar hasta ajustar?" msgstr "¿Recortar hasta ajustar?"
#: .\photologue\models.py:654 #: .\photologue\models.py:658
msgid "" msgid ""
"If selected the image will be scaled and cropped to fit the supplied " "If selected the image will be scaled and cropped to fit the supplied "
"dimensions." "dimensions."
@ -338,21 +338,21 @@ msgstr ""
"Si se selecciona la imagen será escalada y recortada para ajustarse a las " "Si se selecciona la imagen será escalada y recortada para ajustarse a las "
"dimensiones proporcionadas." "dimensiones proporcionadas."
#: .\photologue\models.py:659 #: .\photologue\models.py:663
msgid "pre-cache?" msgid "pre-cache?"
msgstr "¿pre-cachear?" msgstr "¿pre-cachear?"
#: .\photologue\models.py:662 #: .\photologue\models.py:666
msgid "If selected this photo size will be pre-cached as photos are added." msgid "If selected this photo size will be pre-cached as photos are added."
msgstr "" msgstr ""
"Si se selecciona, este tamaño de foto será pre-cacheado cuando se añadan " "Si se selecciona, este tamaño de foto será pre-cacheado cuando se añadan "
"nuevas fotos." "nuevas fotos."
#: .\photologue\models.py:666 #: .\photologue\models.py:670
msgid "increment view count?" msgid "increment view count?"
msgstr "¿incrementar contador de visualizaciones?" msgstr "¿incrementar contador de visualizaciones?"
#: .\photologue\models.py:669 #: .\photologue\models.py:673
msgid "" msgid ""
"If selected the image's \"view_count\" will be incremented when this photo " "If selected the image's \"view_count\" will be incremented when this photo "
"size is displayed." "size is displayed."
@ -360,19 +360,19 @@ msgstr ""
"Si se selecciona el \"contador de visualizaciones\" se incrementará cuando " "Si se selecciona el \"contador de visualizaciones\" se incrementará cuando "
"esta foto sea visualizada." "esta foto sea visualizada."
#: .\photologue\models.py:676 #: .\photologue\models.py:680
msgid "photo size" msgid "photo size"
msgstr "tamaño de foto" msgstr "tamaño de foto"
#: .\photologue\models.py:677 #: .\photologue\models.py:681
msgid "photo sizes" msgid "photo sizes"
msgstr "tamaños de foto" msgstr "tamaños de foto"
#: .\photologue\models.py:695 #: .\photologue\models.py:699
msgid "Can only crop photos if both width and height dimensions are set." msgid "Can only crop photos if both width and height dimensions are set."
msgstr "Solo puede recortar las fotos si ancho y alto están establecidos." msgstr "Solo puede recortar las fotos si ancho y alto están establecidos."
#: .\photologue\models.py:781 #: .\photologue\models.py:785
msgid "tag" msgid "tag"
msgstr "" msgstr ""
@ -398,15 +398,15 @@ msgstr "Galerías por %(show_year)s"
msgid "No galleries were found." msgid "No galleries were found."
msgstr "No se encontraron galerías" msgstr "No se encontraron galerías"
#: .\photologue\templates\photologue\gallery_detail.html:41 #: .\photologue\templates\photologue\gallery_detail.html:42
msgid "to" msgid "to"
msgstr "" msgstr ""
#: .\photologue\templates\photologue\gallery_detail.html:58 #: .\photologue\templates\photologue\gallery_detail.html:59
msgid "All pictures" msgid "All pictures"
msgstr "" msgstr ""
#: .\photologue\templates\photologue\gallery_detail.html:84 #: .\photologue\templates\photologue\gallery_detail.html:85
msgid "Download all gallery" msgid "Download all gallery"
msgstr "" msgstr ""

View file

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Photologue\n" "Project-Id-Version: Photologue\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-07 20:03+0100\n" "POT-Creation-Date: 2026-03-05 15:30+0100\n"
"PO-Revision-Date: 2017-12-03 14:47+0000\n" "PO-Revision-Date: 2017-12-03 14:47+0000\n"
"Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n" "Last-Translator: Richard Barran <richard@arbee-design.co.uk>\n"
"Language-Team: French (http://www.transifex.com/richardbarran/django-" "Language-Team: French (http://www.transifex.com/richardbarran/django-"
@ -21,19 +21,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: .\photologue\admin.py:26 .\photologue\models.py:164 #: .\photologue\admin.py:26 .\photologue\models.py:168
#: .\photologue\models.py:782 #: .\photologue\models.py:786
msgid "tags" msgid "tags"
msgstr "balises" msgstr "balises"
#: .\photologue\admin.py:50 .\photologue\models.py:525 #: .\photologue\admin.py:63 .\photologue\forms.py:68
msgid "owner"
msgstr "propriétaire"
#: .\photologue\forms.py:68
msgid "Gallery" msgid "Gallery"
msgstr "Galerie" msgstr "Galerie"
#: .\photologue\admin.py:67 .\photologue\models.py:529
msgid "owner"
msgstr "propriétaire"
#: .\photologue\forms.py:70 #: .\photologue\forms.py:70
msgid "-- Create a new gallery --" msgid "-- Create a new gallery --"
msgstr "-- Créer une nouvelle galerie --" msgstr "-- Créer une nouvelle galerie --"
@ -88,75 +88,75 @@ msgstr ""
"Sélectionner une galerie existante ou entrer un titre pour une nouvelle " "Sélectionner une galerie existante ou entrer un titre pour une nouvelle "
"galerie." "galerie."
#: .\photologue\models.py:84 #: .\photologue\models.py:88
msgid "Very Low" msgid "Very Low"
msgstr "Très Bas" msgstr "Très Bas"
#: .\photologue\models.py:85 #: .\photologue\models.py:89
msgid "Low" msgid "Low"
msgstr "Bas" msgstr "Bas"
#: .\photologue\models.py:86 #: .\photologue\models.py:90
msgid "Medium-Low" msgid "Medium-Low"
msgstr "Moyen-Bas" msgstr "Moyen-Bas"
#: .\photologue\models.py:87 #: .\photologue\models.py:91
msgid "Medium" msgid "Medium"
msgstr "Moyen" msgstr "Moyen"
#: .\photologue\models.py:88 #: .\photologue\models.py:92
msgid "Medium-High" msgid "Medium-High"
msgstr "Moyen-Haut" msgstr "Moyen-Haut"
#: .\photologue\models.py:89 #: .\photologue\models.py:93
msgid "High" msgid "High"
msgstr "Haut" msgstr "Haut"
#: .\photologue\models.py:90 #: .\photologue\models.py:94
msgid "Very High" msgid "Very High"
msgstr "Très Haut" msgstr "Très Haut"
#: .\photologue\models.py:95 #: .\photologue\models.py:99
msgid "Top" msgid "Top"
msgstr "Sommet" msgstr "Sommet"
#: .\photologue\models.py:96 #: .\photologue\models.py:100
msgid "Right" msgid "Right"
msgstr "Droite" msgstr "Droite"
#: .\photologue\models.py:97 #: .\photologue\models.py:101
msgid "Bottom" msgid "Bottom"
msgstr "Bas" msgstr "Bas"
#: .\photologue\models.py:98 #: .\photologue\models.py:102
msgid "Left" msgid "Left"
msgstr "Gauche" msgstr "Gauche"
#: .\photologue\models.py:99 #: .\photologue\models.py:103
msgid "Center (Default)" msgid "Center (Default)"
msgstr "Centré (par défaut)" msgstr "Centré (par défaut)"
#: .\photologue\models.py:103 #: .\photologue\models.py:107
msgid "Flip left to right" msgid "Flip left to right"
msgstr "Inversion de gauche à droite" msgstr "Inversion de gauche à droite"
#: .\photologue\models.py:104 #: .\photologue\models.py:108
msgid "Flip top to bottom" msgid "Flip top to bottom"
msgstr "Inversion de haut en bas" msgstr "Inversion de haut en bas"
#: .\photologue\models.py:105 #: .\photologue\models.py:109
msgid "Rotate 90 degrees counter-clockwise" msgid "Rotate 90 degrees counter-clockwise"
msgstr "Rotation de 90 degrés dans le sens anti-horloger" msgstr "Rotation de 90 degrés dans le sens anti-horloger"
#: .\photologue\models.py:106 #: .\photologue\models.py:110
msgid "Rotate 90 degrees clockwise" msgid "Rotate 90 degrees clockwise"
msgstr "Rotation de 90 degrés dans le sens horloger" msgstr "Rotation de 90 degrés dans le sens horloger"
#: .\photologue\models.py:107 #: .\photologue\models.py:111
msgid "Rotate 180 degrees" msgid "Rotate 180 degrees"
msgstr "Rotation de 180 degrés" msgstr "Rotation de 180 degrés"
#: .\photologue\models.py:121 #: .\photologue\models.py:125
#, python-format #, python-format
msgid "" msgid ""
"Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-" "Chain multiple filters using the following pattern \"FILTER_ONE->FILTER_TWO-"
@ -167,116 +167,116 @@ msgstr ""
">FILTRE_DEUX->FILTRE_TROIS\". Les filtres d'image seront appliqués dans " ">FILTRE_DEUX->FILTRE_TROIS\". Les filtres d'image seront appliqués dans "
"l'ordre. Les filtres suivants sont disponibles: %s." "l'ordre. Les filtres suivants sont disponibles: %s."
#: .\photologue\models.py:144 .\photologue\models.py:513 #: .\photologue\models.py:148 .\photologue\models.py:517
msgid "title" msgid "title"
msgstr "titre" msgstr "titre"
#: .\photologue\models.py:146 #: .\photologue\models.py:150
msgid "title slug" msgid "title slug"
msgstr "version abrégée du titre" msgstr "version abrégée du titre"
#: .\photologue\models.py:149 .\photologue\models.py:518 #: .\photologue\models.py:153 .\photologue\models.py:522
#: .\photologue\models.py:776 #: .\photologue\models.py:780
msgid "A \"slug\" is a unique URL-friendly title for an object." msgid "A \"slug\" is a unique URL-friendly title for an object."
msgstr "" msgstr ""
"Un \"slug\" est un titre abrégé et unique, compatible avec les URL, pour un " "Un \"slug\" est un titre abrégé et unique, compatible avec les URL, pour un "
"objet." "objet."
#: .\photologue\models.py:153 #: .\photologue\models.py:157
msgid "start date" msgid "start date"
msgstr "date de début" msgstr "date de début"
#: .\photologue\models.py:158 #: .\photologue\models.py:162
msgid "end date" msgid "end date"
msgstr "date de fin" msgstr "date de fin"
#: .\photologue\models.py:160 #: .\photologue\models.py:164
msgid "description" msgid "description"
msgstr "description" msgstr "description"
#: .\photologue\models.py:170 .\photologue\models.py:544 #: .\photologue\models.py:174 .\photologue\models.py:548
msgid "photos" msgid "photos"
msgstr "photos" msgstr "photos"
#: .\photologue\models.py:177 #: .\photologue\models.py:181
msgid "gallery" msgid "gallery"
msgstr "galerie" msgstr "galerie"
#: .\photologue\models.py:178 #: .\photologue\models.py:182
msgid "galleries" msgid "galleries"
msgstr "galleries" msgstr "galleries"
#: .\photologue\models.py:210 #: .\photologue\models.py:214
msgid "count" msgid "count"
msgstr "nombre" msgstr "nombre"
#: .\photologue\models.py:211 #: .\photologue\models.py:215
msgid "private count" msgid "private count"
msgstr "nombre de photos privées" msgstr "nombre de photos privées"
#: .\photologue\models.py:216 #: .\photologue\models.py:220
msgid "image" msgid "image"
msgstr "image" msgstr "image"
#: .\photologue\models.py:219 #: .\photologue\models.py:223
msgid "date taken" msgid "date taken"
msgstr "date de prise de vue" msgstr "date de prise de vue"
#: .\photologue\models.py:222 #: .\photologue\models.py:226
msgid "Date image was taken; is obtained from the image EXIF data." msgid "Date image was taken; is obtained from the image EXIF data."
msgstr "" msgstr ""
"La date à laquelle l'image a été prise ; obtenue à partir des données EXIF " "La date à laquelle l'image a été prise ; obtenue à partir des données EXIF "
"de l'image." "de l'image."
#: .\photologue\models.py:224 #: .\photologue\models.py:228
msgid "view count" msgid "view count"
msgstr "nombre" msgstr "nombre"
#: .\photologue\models.py:226 #: .\photologue\models.py:230
msgid "crop from" msgid "crop from"
msgstr "découper à partir de" msgstr "découper à partir de"
#: .\photologue\models.py:250 #: .\photologue\models.py:254
msgid "An \"admin_thumbnail\" photo size has not been defined." msgid "An \"admin_thumbnail\" photo size has not been defined."
msgstr "Une taille de photo \"admin_thumbnail\" n'a pas encore été définie." msgstr "Une taille de photo \"admin_thumbnail\" n'a pas encore été définie."
#: .\photologue\models.py:263 #: .\photologue\models.py:267
msgid "Thumbnail" msgid "Thumbnail"
msgstr "Miniature" msgstr "Miniature"
#: .\photologue\models.py:515 .\photologue\models.py:775 #: .\photologue\models.py:519 .\photologue\models.py:779
msgid "slug" msgid "slug"
msgstr "libellé court" msgstr "libellé court"
#: .\photologue\models.py:520 #: .\photologue\models.py:524
msgid "caption" msgid "caption"
msgstr "légende" msgstr "légende"
#: .\photologue\models.py:521 #: .\photologue\models.py:525
msgid "date added" msgid "date added"
msgstr "date d'ajout" msgstr "date d'ajout"
#: .\photologue\models.py:530 #: .\photologue\models.py:534
msgid "license" msgid "license"
msgstr "licence" msgstr "licence"
#: .\photologue\models.py:533 #: .\photologue\models.py:537
msgid "is public" msgid "is public"
msgstr "est public" msgstr "est public"
#: .\photologue\models.py:535 #: .\photologue\models.py:539
msgid "Public photographs will be displayed in the default views." msgid "Public photographs will be displayed in the default views."
msgstr "Les photographies publique seront affichées dans les vues par défaut." msgstr "Les photographies publique seront affichées dans les vues par défaut."
#: .\photologue\models.py:543 #: .\photologue\models.py:547
msgid "photo" msgid "photo"
msgstr "photo" msgstr "photo"
#: .\photologue\models.py:606 .\photologue\models.py:770 #: .\photologue\models.py:610 .\photologue\models.py:774
msgid "name" msgid "name"
msgstr "nom" msgstr "nom"
#: .\photologue\models.py:610 #: .\photologue\models.py:614
msgid "" msgid ""
"Photo size name should contain only letters, numbers and underscores. " "Photo size name should contain only letters, numbers and underscores. "
"Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"." "Examples: \"thumbnail\", \"display\", \"small\", \"main_page_widget\"."
@ -285,41 +285,41 @@ msgstr ""
"chiffres et des caractères de soulignement. Exemples: \"miniature\", " "chiffres et des caractères de soulignement. Exemples: \"miniature\", "
"\"affichage\", \"petit\", \"widget_page_principale\"." "\"affichage\", \"petit\", \"widget_page_principale\"."
#: .\photologue\models.py:622 #: .\photologue\models.py:626
msgid "width" msgid "width"
msgstr "largeur" msgstr "largeur"
#: .\photologue\models.py:625 #: .\photologue\models.py:629
msgid "" msgid ""
"If width is set to \"0\" the image will be scaled to the supplied height." "If width is set to \"0\" the image will be scaled to the supplied height."
msgstr "" msgstr ""
"Si la largeur est réglée à \"0\" l l'image sera redimensionnée par rapport à " "Si la largeur est réglée à \"0\" l l'image sera redimensionnée par rapport à "
"la hauteur fournie." "la hauteur fournie."
#: .\photologue\models.py:629 #: .\photologue\models.py:633
msgid "height" msgid "height"
msgstr "hauteur" msgstr "hauteur"
#: .\photologue\models.py:632 #: .\photologue\models.py:636
msgid "" msgid ""
"If height is set to \"0\" the image will be scaled to the supplied width" "If height is set to \"0\" the image will be scaled to the supplied width"
msgstr "" msgstr ""
"Si la hauteur est réglée à \"0\" l l'image sera redimensionnée par rapport à " "Si la hauteur est réglée à \"0\" l l'image sera redimensionnée par rapport à "
"la largeur fournie." "la largeur fournie."
#: .\photologue\models.py:636 #: .\photologue\models.py:640
msgid "quality" msgid "quality"
msgstr "qualité" msgstr "qualité"
#: .\photologue\models.py:639 #: .\photologue\models.py:643
msgid "JPEG image quality." msgid "JPEG image quality."
msgstr "Qualité JPEG de l'image." msgstr "Qualité JPEG de l'image."
#: .\photologue\models.py:642 #: .\photologue\models.py:646
msgid "upscale images?" msgid "upscale images?"
msgstr "agrandir les images ?" msgstr "agrandir les images ?"
#: .\photologue\models.py:645 #: .\photologue\models.py:649
msgid "" msgid ""
"If selected the image will be scaled up if necessary to fit the supplied " "If selected the image will be scaled up if necessary to fit the supplied "
"dimensions. Cropped sizes will be upscaled regardless of this setting." "dimensions. Cropped sizes will be upscaled regardless of this setting."
@ -328,11 +328,11 @@ msgstr ""
"dimensions fournies. Les dimensions ajustées seront agrandies sans prendre " "dimensions fournies. Les dimensions ajustées seront agrandies sans prendre "
"en compte ce paramètre." "en compte ce paramètre."
#: .\photologue\models.py:651 #: .\photologue\models.py:655
msgid "crop to fit?" msgid "crop to fit?"
msgstr "découper pour adapter à la taille ?" msgstr "découper pour adapter à la taille ?"
#: .\photologue\models.py:654 #: .\photologue\models.py:658
msgid "" msgid ""
"If selected the image will be scaled and cropped to fit the supplied " "If selected the image will be scaled and cropped to fit the supplied "
"dimensions." "dimensions."
@ -340,21 +340,21 @@ msgstr ""
"Si sélectionné l'image sera redimensionnée et recadrée pour coïncider avec " "Si sélectionné l'image sera redimensionnée et recadrée pour coïncider avec "
"les dimensions fournies." "les dimensions fournies."
#: .\photologue\models.py:659 #: .\photologue\models.py:663
msgid "pre-cache?" msgid "pre-cache?"
msgstr "mise en cache ?" msgstr "mise en cache ?"
#: .\photologue\models.py:662 #: .\photologue\models.py:666
msgid "If selected this photo size will be pre-cached as photos are added." msgid "If selected this photo size will be pre-cached as photos are added."
msgstr "" msgstr ""
"Si sélectionné cette taille de photo sera mise en cache au moment au les " "Si sélectionné cette taille de photo sera mise en cache au moment au les "
"photos sont ajoutées." "photos sont ajoutées."
#: .\photologue\models.py:666 #: .\photologue\models.py:670
msgid "increment view count?" msgid "increment view count?"
msgstr "incrémenter le nombre d'affichages ?" msgstr "incrémenter le nombre d'affichages ?"
#: .\photologue\models.py:669 #: .\photologue\models.py:673
msgid "" msgid ""
"If selected the image's \"view_count\" will be incremented when this photo " "If selected the image's \"view_count\" will be incremented when this photo "
"size is displayed." "size is displayed."
@ -362,21 +362,21 @@ msgstr ""
"Si sélectionné le \"view_count\" (nombre d'affichage) de l'image sera " "Si sélectionné le \"view_count\" (nombre d'affichage) de l'image sera "
"incrémenté quand cette taille de photo sera affichée." "incrémenté quand cette taille de photo sera affichée."
#: .\photologue\models.py:676 #: .\photologue\models.py:680
msgid "photo size" msgid "photo size"
msgstr "taille de la photo" msgstr "taille de la photo"
#: .\photologue\models.py:677 #: .\photologue\models.py:681
msgid "photo sizes" msgid "photo sizes"
msgstr "tailles des photos" msgstr "tailles des photos"
#: .\photologue\models.py:695 #: .\photologue\models.py:699
msgid "Can only crop photos if both width and height dimensions are set." msgid "Can only crop photos if both width and height dimensions are set."
msgstr "" msgstr ""
"La hauteur et la largeur doivent être toutes les deux définies pour " "La hauteur et la largeur doivent être toutes les deux définies pour "
"retailler des photos." "retailler des photos."
#: .\photologue\models.py:781 #: .\photologue\models.py:785
msgid "tag" msgid "tag"
msgstr "" msgstr ""
@ -402,37 +402,37 @@ msgstr "Galeries de %(show_year)s"
msgid "No galleries were found." msgid "No galleries were found."
msgstr "Aucune galerie trouvée." msgstr "Aucune galerie trouvée."
#: .\photologue\templates\photologue\gallery_detail.html:41 #: .\photologue\templates\photologue\gallery_detail.html:42
msgid "to" msgid "to"
msgstr "au" msgstr "au"
#: .\photologue\templates\photologue\gallery_detail.html:58 #: .\photologue\templates\photologue\gallery_detail.html:59
msgid "All pictures" msgid "All pictures"
msgstr "Toutes les photos" msgstr "Toutes les photos"
#: .\photologue\templates\photologue\gallery_detail.html:84 #: .\photologue\templates\photologue\gallery_detail.html:85
msgid "Download all gallery" msgid "Download all gallery"
msgstr "Télécharger toute la galerie" msgstr "Télécharger toute la galerie"
#: .\photologue\templates\photologue\photo_confirm_delete.html:9 #: .\photologue\templates\photologue\photo_confirm_delete.html:9
#: .\photologue\templates\photologue\photo_confirm_delete.html:14 #: .\photologue\templates\photologue\photo_confirm_delete.html:14
msgid "Delete confirmation" msgid "Delete confirmation"
msgstr "" msgstr "Confirmation de la suppression"
#: .\photologue\templates\photologue\photo_confirm_delete.html:17 #: .\photologue\templates\photologue\photo_confirm_delete.html:17
#, python-format #, python-format
msgid "Are you sure you want to delete <code>%(object)s</code>?" msgid "Are you sure you want to delete <code>%(object)s</code>?"
msgstr "" msgstr "Es tu sure que tu veux supprimer <code>%(object)s</code> ?"
#: .\photologue\templates\photologue\photo_confirm_delete.html:22 #: .\photologue\templates\photologue\photo_confirm_delete.html:22
#: .\photologue\templates\photologue\photo_confirm_report.html:22 #: .\photologue\templates\photologue\photo_confirm_report.html:22
msgid "Confirm" msgid "Confirm"
msgstr "" msgstr "Confimer"
#: .\photologue\templates\photologue\photo_confirm_report.html:9 #: .\photologue\templates\photologue\photo_confirm_report.html:9
#: .\photologue\templates\photologue\photo_confirm_report.html:14 #: .\photologue\templates\photologue\photo_confirm_report.html:14
msgid "Report confirmation" msgid "Report confirmation"
msgstr "" msgstr "Raporter la confirmation"
#: .\photologue\templates\photologue\photo_confirm_report.html:17 #: .\photologue\templates\photologue\photo_confirm_report.html:17
#, python-format #, python-format
@ -440,6 +440,8 @@ msgid ""
"Are you sure you want to report <code>%(object)s</code>? This photo will no " "Are you sure you want to report <code>%(object)s</code>? This photo will no "
"longer be public, and administrators will be notified." "longer be public, and administrators will be notified."
msgstr "" msgstr ""
"Es-tu sur de signaler <code>%(object)s</code>? Cette photo ne va plus être "
"publique, et les administrateur vont être notifiés."
#: .\photologue\templates\photologue\photo_detail.html:15 #: .\photologue\templates\photologue\photo_detail.html:15
msgid "Published" msgid "Published"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-07 20:06+0100\n" "POT-Creation-Date: 2026-03-05 15:37+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,6 +18,27 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: .\photologue\static\gallery_detail.js:32
#: .\photologue\static\gallery_detail.js:38
msgid "Download"
msgstr "Télécharger"
#: .\photologue\static\gallery_detail.js:33
msgid ""
"This image is free to download, but permission from the photographer and the "
"people in the photo is required before republishing it on another website. "
"Furthermore, it is good practice to credit LENS and the photographers in any "
"republications."
msgstr ""
"Cette image est libre d'être téléchargé mais l'accord de la ou du "
"photographe et des personnes présentes sur la photo est nécessaire avant "
"toute republication sur un autre site. D'autre part il est bien de "
"mentionner LENS et les photographes dans vos republications"
#: .\photologue\static\gallery_detail.js:39
msgid "Cancel"
msgstr "Anuler"
#: .\photologue\static\upload.js:53 #: .\photologue\static\upload.js:53
msgid "Continious Upload" msgid "Continious Upload"
msgstr "Téléversement Continu" msgstr "Téléversement Continu"

View file

@ -15,7 +15,7 @@ from django.conf import settings
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.files.base import ContentFile from django.core.files.base import ContentFile
from django.core.validators import RegexValidator from django.core.validators import RegexValidator
from django.core.cache import caches from django.core.cache import cache, caches
from django.db import models from django.db import models
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.urls import reverse from django.urls import reverse
@ -26,6 +26,10 @@ from django.utils.translation import gettext_lazy as _
from PIL import Image, ImageFile, ImageFilter from PIL import Image, ImageFile, ImageFilter
from django import VERSION
if VERSION[0] >= 5 : # Gestion du cache
caches = cache
logger = logging.getLogger("photologue.models") logger = logging.getLogger("photologue.models")
@ -367,7 +371,7 @@ class ImageModel(models.Model):
int(x_diff + new_width), int(x_diff + new_width),
int(y_diff + new_height), int(y_diff + new_height),
) )
im = im.resize((int(x), int(y)), Image.ANTIALIAS).crop(box) im = im.resize((int(x), int(y))).crop(box)
else: else:
if not new_width == 0 and not new_height == 0: if not new_width == 0 and not new_height == 0:
ratio = min( ratio = min(
@ -385,7 +389,7 @@ class ImageModel(models.Model):
if new_dimensions[0] > cur_width or new_dimensions[1] > cur_height: if new_dimensions[0] > cur_width or new_dimensions[1] > cur_height:
if not photosize.upscale: if not photosize.upscale:
return im return im
im = im.resize(new_dimensions, Image.ANTIALIAS) im = im.resize(new_dimensions)
return im return im
def create_size(self, photosize, recreate=False): def create_size(self, photosize, recreate=False):

View file

@ -2,9 +2,54 @@
// Copyright (C) 2022 Amicale des élèves de l'ENS Paris-Saclay // Copyright (C) 2022 Amicale des élèves de l'ENS Paris-Saclay
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
// Init gallery // Init gallery
lightGallery(document.getElementById('lightgallery'), { lightGallery(document.getElementById('lightgallery'), {
plugins: [lgAdmin, lgHash, lgThumbnail, lgZoom], plugins: [lgAdmin, lgHash, lgThumbnail, lgZoom],
customSlideName: true, customSlideName: true,
licenseKey: '94ED9732-30284A12-B88B0137-4FF9CEE6', licenseKey: '94ED9732-30284A12-B88B0137-4FF9CEE6',
}); });
//Add download warning code
const lgContainer = document.getElementById('lightgallery');
// On attend que la galerie soit ouverte pour cibler le bouton
lgContainer.addEventListener('lgAfterOpen', () => {
const downloadBtn = document.querySelector('.lg-download');
if (downloadBtn) {
downloadBtn.addEventListener('click', function(e) {
// On stoppe l'action par défaut du navigateur
e.preventDefault();
e.stopImmediatePropagation();
const downloadUrl = this.getAttribute('href');
// Affichage de la modale stylisée
Swal.fire({
title: gettext('Download'),
text: gettext("This image is free to download, but permission from the photographer and the people in the photo is required before republishing it on another website. Furthermore, it is good practice to credit LENS and the photographers in any republications."),
icon: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: gettext('Download'),
cancelButtonText: gettext('Cancel'),
background: '#1a1a1a', // Optionnel : pour matcher le thème sombre de LightGallery
color: '#fff'
}).then((result) => {
if (result.isConfirmed) {
// Si validé, on déclenche le téléchargement
const link = document.createElement('a');
link.href = downloadUrl;
link.download = ''; // Force le téléchargement
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
});
}, true); // Utilisation du mode capture pour intercepter avant le script interne
}
});

File diff suppressed because one or more lines are too long

View file

@ -24,6 +24,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<script src="{% static 'lightgallery/plugins/thumbnail/lg-thumbnail.min.js' %}"></script> <script src="{% static 'lightgallery/plugins/thumbnail/lg-thumbnail.min.js' %}"></script>
<script src="{% static 'lightgallery/plugins/zoom/lg-zoom.min.js' %}"></script> <script src="{% static 'lightgallery/plugins/zoom/lg-zoom.min.js' %}"></script>
<script src="{% static 'gallery_detail.js' %}"></script> <script src="{% static 'gallery_detail.js' %}"></script>
<script src="{% static 'sweetalert.js' %}"></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}