Version 0.1.7 0.1.7
authorThierry Florac <thierry.florac@onf.fr>
Mon, 11 Sep 2017 15:00:56 +0200
changeset 53 07c984550953
parent 52 1a9b1b622a18
child 54 0823fdd41bbe
Version 0.1.7
.installed.cfg
buildout.cfg
docs/HISTORY.txt
setup.py
src/pyams_file.egg-info/PKG-INFO
src/pyams_file.egg-info/SOURCES.txt
src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.mo
src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po
src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~
src/pyams_file/locales/pyams_file.pot
--- a/.installed.cfg	Mon Sep 11 13:31:13 2017 +0200
+++ b/.installed.cfg	Mon Sep 11 15:00:56 2017 +0200
@@ -90,3 +90,27 @@
 
 [buildout]
 parts = package i18n pyflakes test
+
+[buildout]
+installed_develop_eggs = /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-file.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/lingua.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-template.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-skin.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-pagelet.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-viewlet.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-i18n.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-catalog.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-form.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-utils.egg-link
+
+[buildout]
+parts = i18n pyflakes test package
+
+[buildout]
+parts = pyflakes test package i18n
+
+[buildout]
+parts = test package i18n pyflakes
+
+[buildout]
+parts = package i18n pyflakes test
--- a/buildout.cfg	Mon Sep 11 13:31:13 2017 +0200
+++ b/buildout.cfg	Mon Sep 11 15:00:56 2017 +0200
@@ -69,4 +69,4 @@
 eggs = pyams_file [test]
 
 [versions]
-pyams_file = 0.1.6
+pyams_file = 0.1.7
--- a/docs/HISTORY.txt	Mon Sep 11 13:31:13 2017 +0200
+++ b/docs/HISTORY.txt	Mon Sep 11 15:00:56 2017 +0200
@@ -1,6 +1,14 @@
 History
 =======
 
+0.1.7
+-----
+ - added mimetypes thumbnails
+ - added view to display all images thumbnails
+ - updated thumbnailer interface
+ - updated file field validation against "NOT_CHANGED" value
+ - updated files and images widgets
+
 0.1.6
 -----
  - added file modifier form marker interface
--- a/setup.py	Mon Sep 11 13:31:13 2017 +0200
+++ b/setup.py	Mon Sep 11 15:00:56 2017 +0200
@@ -22,7 +22,7 @@
 README = os.path.join(DOCS, 'README.txt')
 HISTORY = os.path.join(DOCS, 'HISTORY.txt')
 
-version = '0.1.6'
+version = '0.1.7'
 long_description = open(README).read() + '\n\n' + open(HISTORY).read()
 
 tests_require = []
--- a/src/pyams_file.egg-info/PKG-INFO	Mon Sep 11 13:31:13 2017 +0200
+++ b/src/pyams_file.egg-info/PKG-INFO	Mon Sep 11 15:00:56 2017 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pyams-file
-Version: 0.1.6
+Version: 0.1.7
 Summary: PyAMS file interfaces and classes
 Home-page: http://hg.ztfy.org/pyams/pyams_file
 Author: Thierry Florac
@@ -11,6 +11,14 @@
         History
         =======
         
+        0.1.7
+        -----
+         - added mimetypes thumbnails
+         - added view to display all images thumbnails
+         - updated thumbnailer interface
+         - updated file field validation against "NOT_CHANGED" value
+         - updated files and images widgets
+        
         0.1.6
         -----
          - added file modifier form marker interface
--- a/src/pyams_file.egg-info/SOURCES.txt	Mon Sep 11 13:31:13 2017 +0200
+++ b/src/pyams_file.egg-info/SOURCES.txt	Mon Sep 11 15:00:56 2017 +0200
@@ -46,4 +46,5 @@
 src/pyams_file/zmi/templates/image-crop.pt
 src/pyams_file/zmi/templates/image-pano-thumbnail.pt
 src/pyams_file/zmi/templates/image-selection.pt
-src/pyams_file/zmi/templates/image-square-thumbnail.pt
\ No newline at end of file
+src/pyams_file/zmi/templates/image-square-thumbnail.pt
+src/pyams_file/zmi/templates/image-thumbnails.pt
\ No newline at end of file
Binary file src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.mo has changed
--- a/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po	Mon Sep 11 13:31:13 2017 +0200
+++ b/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po	Mon Sep 11 15:00:56 2017 +0200
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2016-12-27 15:27+0100\n"
+"POT-Creation-Date: 2017-09-07 15:18+0200\n"
 "PO-Revision-Date: 2015-02-06 21:39+0100\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -16,59 +16,219 @@
 "Generated-By: Lingua 3.8\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/pyams_file/widget/templates/image-display.pt:13
-#: src/pyams_file/widget/templates/image-input.pt:41
-#: src/pyams_file/widget/templates/file-input.pt:35
-#: src/pyams_file/widget/templates/file-display.pt:7
+#: src/pyams_file/image.py:54 src/pyams_file/image.py:55
+msgid "Default thumbnail"
+msgstr "Vignette par défaut"
+
+#: src/pyams_file/image.py:100
+msgid "Custom selections"
+msgstr "Sélections spécifiques"
+
+#: src/pyams_file/image.py:149
+msgid "Square thumbnail"
+msgstr "Vignette carrée"
+
+#: src/pyams_file/image.py:173
+msgid "Panoramic thumbnail"
+msgstr "Vignette panoramique"
+
+#: src/pyams_file/image.py:207
+msgid "Responsive selections"
+msgstr "Sélections responsives"
+
+#: src/pyams_file/image.py:214
+msgid "Smartphone thumbnail"
+msgstr "Smartphone"
+
+#: src/pyams_file/image.py:222
+msgid "Tablet thumbnail"
+msgstr "Tablette"
+
+#: src/pyams_file/image.py:230
+msgid "Medium screen thumbnail"
+msgstr "Terminaux moyens"
+
+#: src/pyams_file/image.py:238
+msgid "Large screen thumbnail"
+msgstr "Grands terminaux"
+
+#: src/pyams_file/widget/templates/image-display.pt:12
+#: src/pyams_file/widget/templates/image-input.pt:29
+msgid "Zoom image"
+msgstr "Agrandir l'image"
+
+#: src/pyams_file/widget/templates/image-display.pt:18
+#: src/pyams_file/widget/templates/image-input.pt:35
+#: src/pyams_file/widget/templates/file-input.pt:27
+#: src/pyams_file/widget/templates/file-display.pt:10
 msgid "Current value:"
 msgstr "Contenu actuel :"
 
-#: src/pyams_file/widget/templates/image-display.pt:22
-#: src/pyams_file/widget/templates/image-input.pt:50
-#: src/pyams_file/widget/templates/file-input.pt:41
+#: src/pyams_file/widget/templates/image-display.pt:23
+#: src/pyams_file/widget/templates/image-input.pt:40
+#: src/pyams_file/widget/templates/file-input.pt:30
 #: src/pyams_file/widget/templates/file-display.pt:13
 msgid "${size} Kb"
 msgstr "${size} Ko"
 
-#: src/pyams_file/widget/templates/image-display.pt:27
-#: src/pyams_file/widget/templates/image-input.pt:57
-#: src/pyams_file/widget/templates/file-input.pt:48
-#: src/pyams_file/widget/templates/file-display.pt:16
+#: src/pyams_file/widget/templates/image-display.pt:28
+#: src/pyams_file/widget/templates/image-input.pt:51
+#: src/pyams_file/widget/templates/file-input.pt:41
+#: src/pyams_file/widget/templates/file-display.pt:17
 msgid "Download"
 msgstr "Télécharger"
 
-#: src/pyams_file/widget/templates/image-input.pt:9
-#: src/pyams_file/widget/templates/file-input.pt:9
+#: src/pyams_file/widget/templates/image-input.pt:7
+#: src/pyams_file/widget/templates/file-input.pt:7
 msgid "Browse..."
 msgstr "Parcourir..."
 
-#: src/pyams_file/widget/templates/image-input.pt:12
-#: src/pyams_file/widget/templates/file-input.pt:12
+#: src/pyams_file/widget/templates/image-input.pt:8
+#: src/pyams_file/widget/templates/file-input.pt:8
 msgid "Please select a file..."
 msgstr "Veuillez sélectionner un fichier..."
 
-#: src/pyams_file/widget/templates/image-input.pt:24
-#: src/pyams_file/widget/templates/file-input.pt:24
+#: src/pyams_file/widget/templates/image-input.pt:16
+#: src/pyams_file/widget/templates/file-input.pt:16
 msgid "Delete content"
 msgstr "Supprimer ce contenu"
 
 #: src/pyams_file/zmi/file.py:42
 msgid "Properties..."
-msgstr "Propriétés..."
+msgstr "Propriétés"
 
-#: src/pyams_file/zmi/file.py:53
+#: src/pyams_file/zmi/file.py:54
 msgid "Update file properties"
 msgstr "Mise à jour des propriétés"
 
 #: src/pyams_file/zmi/image.py:61
+msgid "Crop image..."
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:80
+msgid "Crop image"
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:129
+msgid ""
+"You can use this form to crop an image.\n"
+"\n"
+"**WARNING**: cropping an image will reset all selected thumbnails and "
+"adaptive images!!"
+msgstr ""
+"Vous pouvez utiliser ce formulaire pour recadrer une image. L'image sera "
+"redimentionnée sur la base du nouveau cadre sélectionné.\n"
+"\n"
+"**IMPORTANT** : l'image recadrée remplace définitivement l'image d'origine. "
+"Si vous n'êtes pas satisfait du résultat, il faut recharger l'image "
+"originale et procéder à un nouveau recadrage.\n"
+"\n"
+"**ATTENTION** : lorsqu'une image est recadrée, toutes les images adaptatives "
+"ou les vignettes déjà sélectionnées sur la base de l'ancienne image sont "
+"réinitialisées !"
+
+#: src/pyams_file/zmi/image.py:143
+msgid "You can use this form to make a selection on an image."
+msgstr ""
+"Par défaut, l'image est affichée dans son intégralité quel que soit le type "
+"de terminal. Mais vous pouvez choisir de n'afficher qu'une partie de l'image "
+"sur certains terminaux (par exemple une vignette significative sur les "
+"smartphones, ou une vision panoramique sur les grands terminaux). L'image "
+"d'origine n'est pas impactée et vous pouvez modifier votre choix à tout "
+"moment.\n"
+"\n"
+"**ATTENTION** : si l'image d'origine est recadrée ou rechargée, la fonction "
+"est réinitialisée et il faut procéder à un nouveau choix."
+
+#: src/pyams_file/zmi/image.py:159
+msgid "Select square thumbnail..."
+msgstr "Vignette carrée"
+
+#: src/pyams_file/zmi/image.py:178
+msgid "Select square thumbnail"
+msgstr "Emprise de la vignette carrée"
+
+#: src/pyams_file/zmi/image.py:227
+msgid ""
+"You can use this form to select a square thumbnail of this image.\n"
+"\n"
+"**WARNING**: cropping or resizing an image will reset all selected "
+"thumbnails and adaptive images!!"
+msgstr ""
+"L'utilisation d'une vignette carrée n'est pas systématique, elle dépend du "
+"modèle de présentation qui peut ou non y faire appel. Par défaut, la "
+"vignette carrée est positionnée au centre de l'image, la sélection de son "
+"emprise ne modifie pas l'image d'origine.\n"
+"\n"
+"**ATTENTION** : lorsqu'une image est recadrée, redimentionnée ou rechargée, "
+"la sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y "
+"a lieu, vous devez procéder à une nouvelle sélection personnalisée."
+
+#: src/pyams_file/zmi/image.py:242
+msgid "Select panoramic thumbnail..."
+msgstr "Vignette panoramique"
+
+#: src/pyams_file/zmi/image.py:261
+msgid "Select panoramic thumbnail"
+msgstr "Emprise de la vignette panoramique"
+
+#: src/pyams_file/zmi/image.py:310
+msgid ""
+"You can use this form to select a panoramic thumbnail of this image.\n"
+"\n"
+"**WARNING**: cropping or resizing an image will reset all selected "
+"thumbnails and adaptive images!!"
+msgstr ""
+"L'utilisation d'une vignette panoramique n'est pas systématique, elle dépend du "
+"modèle de présentation qui peut ou non y faire appel. Par défaut, la "
+"vignette panoramique est positionnée au centre de l'image, la sélection de son "
+"emprise ne modifie pas l'image d'origine.\n"
+"\n"
+"**ATTENTION** : lorsqu'une image est recadrée, redimentionnée ou rechargée, "
+"la sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y "
+"a lieu, vous devez procéder à une nouvelle sélection personnalisée."
+
+#: src/pyams_file/zmi/image.py:380
+msgid "Select responsive XS image..."
+msgstr "Image adaptative pour smartphones"
+
+#: src/pyams_file/zmi/image.py:399
+msgid "Select image for extra-small (XS) devices"
+msgstr "Portion de l'image affichée sur les smartphones (taille XS)"
+
+#: src/pyams_file/zmi/image.py:421
+msgid "Select responsive SM image..."
+msgstr "Image adaptative pour tablettes"
+
+#: src/pyams_file/zmi/image.py:440
+msgid "Select image for small (SM) devices"
+msgstr "Portion de l'image affichée sur les tablettes (taille SM)"
+
+#: src/pyams_file/zmi/image.py:462
+msgid "Select responsive MD image..."
+msgstr "Image adaptative pour terminaux moyens"
+
+#: src/pyams_file/zmi/image.py:481
+msgid "Select image for medium (MD) devices"
+msgstr "Portion de l'image affichée sur les terminaux moyens (taille MD)"
+
+#: src/pyams_file/zmi/image.py:503
+msgid "Select responsive LG image..."
+msgstr "Image adaptative pour grands terminaux"
+
+#: src/pyams_file/zmi/image.py:522
+msgid "Select image for large (LG) devices"
+msgstr "Portion de l'image affichée sur les grands terminaux (taille LG)"
+
+#: src/pyams_file/zmi/image.py:544
 msgid "Resize image..."
-msgstr "Redimensionner l'image..."
+msgstr "Redimensionner l'image"
 
-#: src/pyams_file/zmi/image.py:111 src/pyams_file/zmi/image.py:72
+#: src/pyams_file/zmi/image.py:595 src/pyams_file/zmi/image.py:555
 msgid "Resize image"
 msgstr "Redimensionner l'image"
 
-#: src/pyams_file/zmi/image.py:146
+#: src/pyams_file/zmi/image.py:631
 msgid ""
 "You can use this form to change image dimensions.\n"
 "\n"
@@ -80,94 +240,40 @@
 "Une nouvelle image ne sera générée que si les dimensions indiquées sont "
 "inférieures à la taille du fichier actuel."
 
-#: src/pyams_file/zmi/image.py:161
-msgid "Crop image..."
-msgstr "Recadrer l'image..."
-
-#: src/pyams_file/zmi/image.py:179
-msgid "Crop image"
-msgstr "Recadrer l'image"
-
-#: src/pyams_file/zmi/image.py:227
-msgid ""
-"You can use this form to crop an image.\n"
-"\n"
-"**WARNING**: cropping an image will reset all selected thumbnails and "
-"adaptive images!!"
-msgstr ""
-"Vous pouvez utiliser ce formulaire pour recadrer une image. L'image sera redimensionnée sur la base "
-"du nouveau cadre sélectionné.\n"
-"\n"
-"**ATTENTION** : lorsque vous recadrez une image, toutes les vignettes ou images adaptatives sélectionnées au "
-"préalable sont réinitialisées !!"
-
-#: src/pyams_file/zmi/image.py:255
-msgid "Select square thumbnail..."
-msgstr "Vignette carrée..."
-
-#: src/pyams_file/zmi/image.py:266
-msgid "Select square thumbnail"
-msgstr "Sélection de l'emprise d'une vignette carrée"
-
-#: src/pyams_file/zmi/image.py:319
-msgid "Select panoramic thumbnail..."
-msgstr "Vignette panoramique..."
+#: src/pyams_file/zmi/image.py:646
+msgid "Display all thumbnails"
+msgstr "Voir toutes les vignettes"
 
-#: src/pyams_file/zmi/image.py:330
-msgid "Select panoramic thumbnail"
-msgstr "Sélection de l'emprise d'une vignette panoramique"
-
-#: src/pyams_file/zmi/image.py:442
-msgid "Select responsive XS image..."
-msgstr "Image adaptative pour très petits terminaux (XS)..."
-
-#: src/pyams_file/zmi/image.py:454
-msgid "Select image for extra-small (XS) devices"
-msgstr ""
-"Sélectionner l'image affichée sur les très petits terminaux (taille XS)"
-
-#: src/pyams_file/zmi/image.py:476
-msgid "Select responsive SM image..."
-msgstr "Image adaptative pour petits terminaux (SM)..."
+#: src/pyams_file/zmi/image.py:663
+msgid "Display all image thumbnails"
+msgstr "Récapitulatif des vignettes associées"
 
-#: src/pyams_file/zmi/image.py:488
-msgid "Select image for small (SM) devices"
-msgstr "Sélectionner l'image affichée sur les petits terminaux (taille SM)"
-
-#: src/pyams_file/zmi/image.py:510
-msgid "Select responsive MD image..."
-msgstr "Image adaptative pour terminaux moyens (MD)..."
-
-#: src/pyams_file/zmi/image.py:522
-msgid "Select image for medium (MD) devices"
-msgstr "Sélectionner l'image affichée sur les terminaux moyens (taille MD)"
-
-#: src/pyams_file/zmi/image.py:544
-msgid "Select responsive LG image..."
-msgstr "Image adaptative pour grands terminaux (LG)..."
-
-#: src/pyams_file/zmi/image.py:556
-msgid "Select image for large (LG) devices"
-msgstr "Sélectionner l'image affichée sur les grands terminaux (taille LG)"
-
-#: src/pyams_file/zmi/image.py:71 src/pyams_file/zmi/image.py:171
-#: src/pyams_file/zmi/image.py:246 src/pyams_file/zmi/image.py:387
+#: src/pyams_file/zmi/image.py:71 src/pyams_file/zmi/image.py:150
+#: src/pyams_file/zmi/image.py:323 src/pyams_file/zmi/image.py:554
 msgid "Close"
 msgstr "Fermer"
 
-#: src/pyams_file/zmi/image.py:78
+#: src/pyams_file/zmi/image.py:72
+msgid "Crop"
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:151 src/pyams_file/zmi/image.py:324
+msgid "Select thumbnail"
+msgstr "Sélectionner cette portion d'image"
+
+#: src/pyams_file/zmi/image.py:561
 msgid "New image width"
 msgstr "Largeur de l'image"
 
-#: src/pyams_file/zmi/image.py:80
+#: src/pyams_file/zmi/image.py:563
 msgid "New image height"
 msgstr "Hauteur de l'image"
 
-#: src/pyams_file/zmi/image.py:82
+#: src/pyams_file/zmi/image.py:565
 msgid "Keep aspect ratio"
 msgstr "Ne pas déformer l'image"
 
-#: src/pyams_file/zmi/image.py:83
+#: src/pyams_file/zmi/image.py:566
 msgid ""
 "Check to keep original aspect ratio; image will be resized as large as "
 "possible within given limits"
@@ -176,18 +282,6 @@
 "L'image sera redimensionnée (sans jamais être agrandie !) pour être aussi "
 "grande que possible en fonction des contraintes indiquées."
 
-#: src/pyams_file/zmi/image.py:172
-msgid "Crop"
-msgstr "Recadrer l'image"
-
-#: src/pyams_file/zmi/image.py:247
-msgid "Select thumbnail"
-msgstr "Sélectionner cette vignette"
-
-#: src/pyams_file/zmi/image.py:388
-msgid "Select image"
-msgstr "Sélectionner l'image"
-
 #: src/pyams_file/interfaces/__init__.py:99
 msgid "Title"
 msgstr "Titre"
@@ -211,3 +305,6 @@
 #: src/pyams_file/interfaces/__init__.py:110
 msgid "File's content language"
 msgstr "Langue du contenu du fichier"
+
+#~ msgid "Select image"
+#~ msgstr "Sélectionner l'image"
--- a/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~	Mon Sep 11 13:31:13 2017 +0200
+++ b/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~	Mon Sep 11 15:00:56 2017 +0200
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2016-11-14 17:49+0100\n"
+"POT-Creation-Date: 2017-09-07 15:12+0200\n"
 "PO-Revision-Date: 2015-02-06 21:39+0100\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -16,59 +16,204 @@
 "Generated-By: Lingua 3.8\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/pyams_file/widget/templates/image-display.pt:13
-#: src/pyams_file/widget/templates/image-input.pt:41
-#: src/pyams_file/widget/templates/file-input.pt:35
-#: src/pyams_file/widget/templates/file-display.pt:7
+#: src/pyams_file/image.py:54 src/pyams_file/image.py:55
+msgid "Default thumbnail"
+msgstr "Vignette par défaut"
+
+#: src/pyams_file/image.py:100
+msgid "Custom selections"
+msgstr "Sélections spécifiques"
+
+#: src/pyams_file/image.py:149
+msgid "Square thumbnail"
+msgstr "Vignette carrée"
+
+#: src/pyams_file/image.py:173
+msgid "Panoramic thumbnail"
+msgstr "Vignette panoramique"
+
+#: src/pyams_file/image.py:207
+msgid "Responsive selections"
+msgstr "Sélections responsives"
+
+#: src/pyams_file/image.py:214
+msgid "Smartphone thumbnail"
+msgstr "Smartphone"
+
+#: src/pyams_file/image.py:222
+msgid "Tablet thumbnail"
+msgstr "Tablette"
+
+#: src/pyams_file/image.py:230
+msgid "Medium screen thumbnail"
+msgstr "Terminaux moyens"
+
+#: src/pyams_file/image.py:238
+msgid "Large screen thumbnail"
+msgstr "Grands terminaux"
+
+#: src/pyams_file/widget/templates/image-display.pt:12
+#: src/pyams_file/widget/templates/image-input.pt:29
+#, fuzzy
+msgid "Zoom image"
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/widget/templates/image-display.pt:18
+#: src/pyams_file/widget/templates/image-input.pt:35
+#: src/pyams_file/widget/templates/file-input.pt:27
+#: src/pyams_file/widget/templates/file-display.pt:10
 msgid "Current value:"
 msgstr "Contenu actuel :"
 
-#: src/pyams_file/widget/templates/image-display.pt:22
-#: src/pyams_file/widget/templates/image-input.pt:50
-#: src/pyams_file/widget/templates/file-input.pt:41
+#: src/pyams_file/widget/templates/image-display.pt:23
+#: src/pyams_file/widget/templates/image-input.pt:40
+#: src/pyams_file/widget/templates/file-input.pt:30
 #: src/pyams_file/widget/templates/file-display.pt:13
 msgid "${size} Kb"
 msgstr "${size} Ko"
 
-#: src/pyams_file/widget/templates/image-display.pt:27
-#: src/pyams_file/widget/templates/image-input.pt:57
-#: src/pyams_file/widget/templates/file-input.pt:48
-#: src/pyams_file/widget/templates/file-display.pt:16
+#: src/pyams_file/widget/templates/image-display.pt:28
+#: src/pyams_file/widget/templates/image-input.pt:51
+#: src/pyams_file/widget/templates/file-input.pt:41
+#: src/pyams_file/widget/templates/file-display.pt:17
 msgid "Download"
 msgstr "Télécharger"
 
-#: src/pyams_file/widget/templates/image-input.pt:9
-#: src/pyams_file/widget/templates/file-input.pt:9
+#: src/pyams_file/widget/templates/image-input.pt:7
+#: src/pyams_file/widget/templates/file-input.pt:7
 msgid "Browse..."
 msgstr "Parcourir..."
 
-#: src/pyams_file/widget/templates/image-input.pt:12
-#: src/pyams_file/widget/templates/file-input.pt:12
+#: src/pyams_file/widget/templates/image-input.pt:8
+#: src/pyams_file/widget/templates/file-input.pt:8
 msgid "Please select a file..."
 msgstr "Veuillez sélectionner un fichier..."
 
-#: src/pyams_file/widget/templates/image-input.pt:24
-#: src/pyams_file/widget/templates/file-input.pt:24
+#: src/pyams_file/widget/templates/image-input.pt:16
+#: src/pyams_file/widget/templates/file-input.pt:16
 msgid "Delete content"
 msgstr "Supprimer ce contenu"
 
 #: src/pyams_file/zmi/file.py:42
 msgid "Properties..."
-msgstr "Propriétés..."
+msgstr "Propriétés"
 
-#: src/pyams_file/zmi/file.py:53
+#: src/pyams_file/zmi/file.py:54
 msgid "Update file properties"
 msgstr "Mise à jour des propriétés"
 
 #: src/pyams_file/zmi/image.py:61
+msgid "Crop image..."
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:80
+msgid "Crop image"
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:129
+msgid ""
+"You can use this form to crop an image.\n"
+"\n"
+"**WARNING**: cropping an image will reset all selected thumbnails and "
+"adaptive images!!"
+msgstr ""
+"Vous pouvez utiliser ce formulaire pour recadrer une image. L'image sera "
+"redimentionnée sur la base du nouveau cadre sélectionné.\n"
+"\n"
+"**IMPORTANT** : l'image recadrée remplace définitivement l'image d'origine. "
+"Si vous n'êtes pas satisfait du résultat, il faut recharger l'image "
+"originale et procéder à un nouveau recadrage.\n"
+"\n"
+"**ATTENTION** : lorsqu'une image est recadrée, toutes les images adaptatives "
+"ou les vignettes déjà sélectionnées sur la base de l'ancienne image sont "
+"réinitialisées !"
+
+#: src/pyams_file/zmi/image.py:143
+msgid "You can use this form to make a selection on an image."
+msgstr ""
+"Par défaut, l'image est affichée dans son intégralité quel que soit le type "
+"de terminal. Mais vous pouvez choisir de n'afficher qu'une partie de l'image "
+"sur certains terminaux (par exemple une vignette significative sur les "
+"smartphones, ou une vision panoramique sur les grands terminaux). L'image "
+"d'origine n'est pas impactée et vous pouvez modifier votre choix à tout "
+"moment.\n"
+"\n"
+"**ATTENTION** : si l'image d'origine est recadrée ou rechargée, la fonction "
+"est réinitialisée et il faut procéder à un nouveau choix."
+
+#: src/pyams_file/zmi/image.py:159
+msgid "Select square thumbnail..."
+msgstr "Vignette carrée"
+
+#: src/pyams_file/zmi/image.py:178
+msgid "Select square thumbnail"
+msgstr "Emprise de la vignette carrée"
+
+#: src/pyams_file/zmi/image.py:227
+msgid ""
+"You can use this form to select a square thumbnail of this image.\n"
+"\n"
+"**WARNING**: cropping or resizing an image will reset all selected "
+"thumbnails and adaptive images!!"
+msgstr ""
+"L'utilisation d'une vignette carrée n'est pas systématique, elle dépend du modèle "
+"de présentation qui peut ou non y faire appel. Par défaut, la vignette carrée est "
+"positionnée au centre de l'image, la sélection de son emprise ne modifie pas l'image "
+"d'origine.\n"
+"\n"
+"**ATTENTION** : lorsqu'une image est recadrée, redimentionnée ou rechargée, la "
+"sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y a lieu, "
+"vous devez procéder à une nouvelle sélection personnalisée."
+
+#: src/pyams_file/zmi/image.py:242
+msgid "Select panoramic thumbnail..."
+msgstr "Vignette panoramique"
+
+#: src/pyams_file/zmi/image.py:261
+msgid "Select panoramic thumbnail"
+msgstr "Emprise de la vignette panoramique"
+
+#: src/pyams_file/zmi/image.py:370
+msgid "Select responsive XS image..."
+msgstr "Image adaptative pour smartphones"
+
+#: src/pyams_file/zmi/image.py:389
+msgid "Select image for extra-small (XS) devices"
+msgstr "Portion de l'image affichée sur les smartphones (taille XS)"
+
+#: src/pyams_file/zmi/image.py:411
+msgid "Select responsive SM image..."
+msgstr "Image adaptative pour tablettes"
+
+#: src/pyams_file/zmi/image.py:430
+msgid "Select image for small (SM) devices"
+msgstr "Portion de l'image affichée sur les tablettes (taille SM)"
+
+#: src/pyams_file/zmi/image.py:452
+msgid "Select responsive MD image..."
+msgstr "Image adaptative pour terminaux moyens"
+
+#: src/pyams_file/zmi/image.py:471
+msgid "Select image for medium (MD) devices"
+msgstr "Portion de l'image affichée sur les terminaux moyens (taille MD)"
+
+#: src/pyams_file/zmi/image.py:493
+msgid "Select responsive LG image..."
+msgstr "Image adaptative pour grands terminaux"
+
+#: src/pyams_file/zmi/image.py:512
+msgid "Select image for large (LG) devices"
+msgstr "Portion de l'image affichée sur les grands terminaux (taille LG)"
+
+#: src/pyams_file/zmi/image.py:534
 msgid "Resize image..."
-msgstr "Redimensionner l'image..."
+msgstr "Redimensionner l'image"
 
-#: src/pyams_file/zmi/image.py:111 src/pyams_file/zmi/image.py:72
+#: src/pyams_file/zmi/image.py:585 src/pyams_file/zmi/image.py:545
 msgid "Resize image"
 msgstr "Redimensionner l'image"
 
-#: src/pyams_file/zmi/image.py:146
+#: src/pyams_file/zmi/image.py:621
 msgid ""
 "You can use this form to change image dimensions.\n"
 "\n"
@@ -80,80 +225,40 @@
 "Une nouvelle image ne sera générée que si les dimensions indiquées sont "
 "inférieures à la taille du fichier actuel."
 
-#: src/pyams_file/zmi/image.py:161
-msgid "Crop image..."
-msgstr "Recadrer l'image..."
-
-#: src/pyams_file/zmi/image.py:179
-msgid "Crop image"
-msgstr "Recadrer l'image"
-
-#: src/pyams_file/zmi/image.py:245
-msgid "Select square thumbnail..."
-msgstr "Vignette carrée..."
-
-#: src/pyams_file/zmi/image.py:256
-msgid "Select square thumbnail"
-msgstr "Sélection de l'emprise d'une vignette carrée"
-
-#: src/pyams_file/zmi/image.py:309
-msgid "Select panoramic thumbnail..."
-msgstr "Vignette panoramique..."
-
-#: src/pyams_file/zmi/image.py:320
-msgid "Select panoramic thumbnail"
-msgstr "Sélection de l'emprise d'une vignette panoramique"
-
-#: src/pyams_file/zmi/image.py:432
-msgid "Select responsive XS image..."
-msgstr "Image adaptative pour très petits terminaux (XS)..."
+#: src/pyams_file/zmi/image.py:636
+msgid "Display all thumbnails"
+msgstr "Voir toutes les vignettes"
 
-#: src/pyams_file/zmi/image.py:444
-msgid "Select image for extra-small (XS) devices"
-msgstr "Sélectionner l'image affichée sur les très petits terminaux (taille XS)"
-
-#: src/pyams_file/zmi/image.py:466
-msgid "Select responsive SM image..."
-msgstr "Image adaptative pour petits terminaux (SM)..."
-
-#: src/pyams_file/zmi/image.py:478
-msgid "Select image for small (SM) devices"
-msgstr "Sélectionner l'image affichée sur les petits terminaux (taille SM)"
+#: src/pyams_file/zmi/image.py:653
+msgid "Display all image thumbnails"
+msgstr "Récapitulatif des vignettes associées"
 
-#: src/pyams_file/zmi/image.py:500
-msgid "Select responsive MD image..."
-msgstr "Image adaptative pour terminaux moyens (MD)..."
-
-#: src/pyams_file/zmi/image.py:512
-msgid "Select image for medium (MD) devices"
-msgstr "Sélectionner l'image affichée sur les terminaux moyens (taille MD)"
-
-#: src/pyams_file/zmi/image.py:534
-msgid "Select responsive LG image..."
-msgstr "Image adaptative pour grands terminaux (LG)..."
-
-#: src/pyams_file/zmi/image.py:546
-msgid "Select image for large (LG) devices"
-msgstr "Sélectionner l'image affichée sur les grands terminaux (taille LG)"
-
-#: src/pyams_file/zmi/image.py:71 src/pyams_file/zmi/image.py:171
-#: src/pyams_file/zmi/image.py:236 src/pyams_file/zmi/image.py:377
+#: src/pyams_file/zmi/image.py:71 src/pyams_file/zmi/image.py:150
+#: src/pyams_file/zmi/image.py:313 src/pyams_file/zmi/image.py:544
 msgid "Close"
 msgstr "Fermer"
 
-#: src/pyams_file/zmi/image.py:78
+#: src/pyams_file/zmi/image.py:72
+msgid "Crop"
+msgstr "Recadrer l'image"
+
+#: src/pyams_file/zmi/image.py:151 src/pyams_file/zmi/image.py:314
+msgid "Select thumbnail"
+msgstr "Sélectionner cette portion d'image"
+
+#: src/pyams_file/zmi/image.py:551
 msgid "New image width"
 msgstr "Largeur de l'image"
 
-#: src/pyams_file/zmi/image.py:80
+#: src/pyams_file/zmi/image.py:553
 msgid "New image height"
 msgstr "Hauteur de l'image"
 
-#: src/pyams_file/zmi/image.py:82
+#: src/pyams_file/zmi/image.py:555
 msgid "Keep aspect ratio"
 msgstr "Ne pas déformer l'image"
 
-#: src/pyams_file/zmi/image.py:83
+#: src/pyams_file/zmi/image.py:556
 msgid ""
 "Check to keep original aspect ratio; image will be resized as large as "
 "possible within given limits"
@@ -162,18 +267,6 @@
 "L'image sera redimensionnée (sans jamais être agrandie !) pour être aussi "
 "grande que possible en fonction des contraintes indiquées."
 
-#: src/pyams_file/zmi/image.py:172
-msgid "Crop"
-msgstr "Recadrer l'image"
-
-#: src/pyams_file/zmi/image.py:237
-msgid "Select thumbnail"
-msgstr "Sélectionner cette vignette"
-
-#: src/pyams_file/zmi/image.py:378
-msgid "Select image"
-msgstr "Sélectionner l'image"
-
 #: src/pyams_file/interfaces/__init__.py:99
 msgid "Title"
 msgstr "Titre"
@@ -197,3 +290,6 @@
 #: src/pyams_file/interfaces/__init__.py:110
 msgid "File's content language"
 msgstr "Langue du contenu du fichier"
+
+#~ msgid "Select image"
+#~ msgstr "Sélectionner l'image"
--- a/src/pyams_file/locales/pyams_file.pot	Mon Sep 11 13:31:13 2017 +0200
+++ b/src/pyams_file/locales/pyams_file.pot	Mon Sep 11 15:00:56 2017 +0200
@@ -1,12 +1,12 @@
-# 
+#
 # SOME DESCRIPTIVE TITLE
 # This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2016-12-27 15:27+0100\n"
+"POT-Creation-Date: 2017-09-07 15:18+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,41 +14,82 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Lingua 3.8\n"
+"Generated-By: Lingua 3.10.dev0\n"
+
+#: ./src/pyams_file/image.py:54 ./src/pyams_file/image.py:55
+msgid "Default thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:100
+msgid "Custom selections"
+msgstr ""
+
+#: ./src/pyams_file/image.py:149
+msgid "Square thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:173
+msgid "Panoramic thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:207
+msgid "Responsive selections"
+msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-display.pt:13
-#: ./src/pyams_file/widget/templates/image-input.pt:41
-#: ./src/pyams_file/widget/templates/file-input.pt:35
-#: ./src/pyams_file/widget/templates/file-display.pt:7
+#: ./src/pyams_file/image.py:214
+msgid "Smartphone thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:222
+msgid "Tablet thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:230
+msgid "Medium screen thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/image.py:238
+msgid "Large screen thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/widget/templates/image-display.pt:12
+#: ./src/pyams_file/widget/templates/image-input.pt:29
+msgid "Zoom image"
+msgstr ""
+
+#: ./src/pyams_file/widget/templates/image-display.pt:18
+#: ./src/pyams_file/widget/templates/image-input.pt:35
+#: ./src/pyams_file/widget/templates/file-input.pt:27
+#: ./src/pyams_file/widget/templates/file-display.pt:10
 msgid "Current value:"
 msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-display.pt:22
-#: ./src/pyams_file/widget/templates/image-input.pt:50
-#: ./src/pyams_file/widget/templates/file-input.pt:41
+#: ./src/pyams_file/widget/templates/image-display.pt:23
+#: ./src/pyams_file/widget/templates/image-input.pt:40
+#: ./src/pyams_file/widget/templates/file-input.pt:30
 #: ./src/pyams_file/widget/templates/file-display.pt:13
 msgid "${size} Kb"
 msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-display.pt:27
-#: ./src/pyams_file/widget/templates/image-input.pt:57
-#: ./src/pyams_file/widget/templates/file-input.pt:48
-#: ./src/pyams_file/widget/templates/file-display.pt:16
+#: ./src/pyams_file/widget/templates/image-display.pt:28
+#: ./src/pyams_file/widget/templates/image-input.pt:51
+#: ./src/pyams_file/widget/templates/file-input.pt:41
+#: ./src/pyams_file/widget/templates/file-display.pt:17
 msgid "Download"
 msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-input.pt:9
-#: ./src/pyams_file/widget/templates/file-input.pt:9
+#: ./src/pyams_file/widget/templates/image-input.pt:7
+#: ./src/pyams_file/widget/templates/file-input.pt:7
 msgid "Browse..."
 msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-input.pt:12
-#: ./src/pyams_file/widget/templates/file-input.pt:12
+#: ./src/pyams_file/widget/templates/image-input.pt:8
+#: ./src/pyams_file/widget/templates/file-input.pt:8
 msgid "Please select a file..."
 msgstr ""
 
-#: ./src/pyams_file/widget/templates/image-input.pt:24
-#: ./src/pyams_file/widget/templates/file-input.pt:24
+#: ./src/pyams_file/widget/templates/image-input.pt:16
+#: ./src/pyams_file/widget/templates/file-input.pt:16
 msgid "Delete content"
 msgstr ""
 
@@ -56,123 +97,145 @@
 msgid "Properties..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/file.py:53
+#: ./src/pyams_file/zmi/file.py:54
 msgid "Update file properties"
 msgstr ""
 
 #: ./src/pyams_file/zmi/image.py:61
-msgid "Resize image..."
-msgstr ""
-
-#: ./src/pyams_file/zmi/image.py:111 ./src/pyams_file/zmi/image.py:72
-msgid "Resize image"
-msgstr ""
-
-#: ./src/pyams_file/zmi/image.py:146
-msgid ""
-"You can use this form to change image dimensions.\n"
-"\n"
-"This will generate a new image only if requested size is smaller than the original one."
-msgstr ""
-
-#: ./src/pyams_file/zmi/image.py:161
 msgid "Crop image..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:179
+#: ./src/pyams_file/zmi/image.py:80
 msgid "Crop image"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:227
+#: ./src/pyams_file/zmi/image.py:129
 msgid ""
 "You can use this form to crop an image.\n"
 "\n"
 "**WARNING**: cropping an image will reset all selected thumbnails and adaptive images!!"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:255
+#: ./src/pyams_file/zmi/image.py:143
+msgid "You can use this form to make a selection on an image."
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:159
 msgid "Select square thumbnail..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:266
+#: ./src/pyams_file/zmi/image.py:178
 msgid "Select square thumbnail"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:319
+#: ./src/pyams_file/zmi/image.py:227
+msgid ""
+"You can use this form to select a square thumbnail of this image.\n"
+"\n"
+"**WARNING**: cropping or resizing an image will reset all selected thumbnails and adaptive images!!"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:242
 msgid "Select panoramic thumbnail..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:330
+#: ./src/pyams_file/zmi/image.py:261
 msgid "Select panoramic thumbnail"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:442
+#: ./src/pyams_file/zmi/image.py:310
+msgid ""
+"You can use this form to select a panoramic thumbnail of this image.\n"
+"\n"
+"**WARNING**: cropping or resizing an image will reset all selected thumbnails and adaptive images!!"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:380
 msgid "Select responsive XS image..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:454
+#: ./src/pyams_file/zmi/image.py:399
 msgid "Select image for extra-small (XS) devices"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:476
+#: ./src/pyams_file/zmi/image.py:421
 msgid "Select responsive SM image..."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:488
+#: ./src/pyams_file/zmi/image.py:440
 msgid "Select image for small (SM) devices"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:510
+#: ./src/pyams_file/zmi/image.py:462
 msgid "Select responsive MD image..."
 msgstr ""
 
+#: ./src/pyams_file/zmi/image.py:481
+msgid "Select image for medium (MD) devices"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:503
+msgid "Select responsive LG image..."
+msgstr ""
+
 #: ./src/pyams_file/zmi/image.py:522
-msgid "Select image for medium (MD) devices"
+msgid "Select image for large (LG) devices"
 msgstr ""
 
 #: ./src/pyams_file/zmi/image.py:544
-msgid "Select responsive LG image..."
+msgid "Resize image..."
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:595 ./src/pyams_file/zmi/image.py:555
+msgid "Resize image"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:556
-msgid "Select image for large (LG) devices"
+#: ./src/pyams_file/zmi/image.py:631
+msgid ""
+"You can use this form to change image dimensions.\n"
+"\n"
+"This will generate a new image only if requested size is smaller than the original one."
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:71 ./src/pyams_file/zmi/image.py:171
-#: ./src/pyams_file/zmi/image.py:246 ./src/pyams_file/zmi/image.py:387
+#: ./src/pyams_file/zmi/image.py:646
+msgid "Display all thumbnails"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:663
+msgid "Display all image thumbnails"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:71 ./src/pyams_file/zmi/image.py:150
+#: ./src/pyams_file/zmi/image.py:323 ./src/pyams_file/zmi/image.py:554
 msgid "Close"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:78
+#: ./src/pyams_file/zmi/image.py:72
+msgid "Crop"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:151 ./src/pyams_file/zmi/image.py:324
+msgid "Select thumbnail"
+msgstr ""
+
+#: ./src/pyams_file/zmi/image.py:561
 msgid "New image width"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:80
+#: ./src/pyams_file/zmi/image.py:563
 msgid "New image height"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:82
+#: ./src/pyams_file/zmi/image.py:565
 msgid "Keep aspect ratio"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:83
+#: ./src/pyams_file/zmi/image.py:566
 msgid ""
 "Check to keep original aspect ratio; image will be resized as large as "
 "possible within given limits"
 msgstr ""
 
-#: ./src/pyams_file/zmi/image.py:172
-msgid "Crop"
-msgstr ""
-
-#: ./src/pyams_file/zmi/image.py:247
-msgid "Select thumbnail"
-msgstr ""
-
-#: ./src/pyams_file/zmi/image.py:388
-msgid "Select image"
-msgstr ""
-
 #: ./src/pyams_file/interfaces/__init__.py:99
 msgid "Title"
 msgstr ""