Updated translations
authorThierry Florac <tflorac@ulthar.net>
Sun, 11 Mar 2018 11:23:20 +0100
changeset 466 ba4e4416841a
parent 465 6ac65e44ba0d
child 467 0c12a8a5ddad
Updated translations
__init__.py
docs/HISTORY.txt
src/pyams_content.egg-info/PKG-INFO
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po
src/pyams_content/locales/pyams_content.pot
--- a/docs/HISTORY.txt	Sun Mar 11 10:51:19 2018 +0100
+++ b/docs/HISTORY.txt	Sun Mar 11 11:23:20 2018 +0100
@@ -4,6 +4,16 @@
 0.1.11
 ------
  - added workflow states vocabulary for use in advanced search form
+ - added shared "renderer" feature
+ - added renderer support to most paragraph types for easy customization and extension
+ - added support for videos in illustration content
+ - added support for illustration in several contents (site, folder, topic...)
+ - added "raw" HTML paragraph type
+ - added logos and logos paragraphs
+ - added external videos as paragraphs
+ - updated database upgrade code and removed INewLocalSite event subscriber
+ - converted images galleries to medias galleries, allowing any media
+ - moved internal links interfaces to pyams_sequence package
 
 0.1.10.1
 --------
--- a/src/pyams_content.egg-info/PKG-INFO	Sun Mar 11 10:51:19 2018 +0100
+++ b/src/pyams_content.egg-info/PKG-INFO	Sun Mar 11 11:23:20 2018 +0100
@@ -83,6 +83,7 @@
          - added "raw" HTML paragraph type
          - added logos and logos paragraphs
          - added external videos as paragraphs
+         - updated database upgrade code and removed INewLocalSite event subscriber
          - converted images galleries to medias galleries, allowing any media
          - moved internal links interfaces to pyams_sequence package
         
Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Sun Mar 11 10:51:19 2018 +0100
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Sun Mar 11 11:23:20 2018 +0100
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-01-24 16:18+0100\n"
+"POT-Creation-Date: 2018-03-09 16:03+0100\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -78,86 +78,85 @@
 
 #: src/pyams_content/component/gallery/paragraph.py:40
 #: src/pyams_content/component/gallery/paragraph.py:47
-msgid "Images gallery"
-msgstr "Galeries d'images"
-
-#: src/pyams_content/component/gallery/__init__.py:144
+msgid "Medias gallery"
+msgstr "Galerie de médias"
+
+#: src/pyams_content/component/gallery/__init__.py:161
 msgid "Gallery"
-msgstr "Galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/file.py:57
-#: src/pyams_content/component/gallery/zmi/file.py:68
-#: src/pyams_content/component/gallery/zmi/paragraph.py:168
-msgid "Add image(s)"
-msgstr "Ajouter des images"
-
-#: src/pyams_content/component/gallery/zmi/file.py:182
-#: src/pyams_content/component/extfile/zmi/__init__.py:256
-msgid "Update image properties"
-msgstr "Propriétés de l'image"
-
-#: src/pyams_content/component/gallery/zmi/file.py:239
-msgid "Remove image..."
-msgstr "Supprimer l'image"
-
-#: src/pyams_content/component/gallery/zmi/file.py:149
-msgid "Show/hide image"
-msgstr "Cliquez pour rendre l'image visible ou non"
-
-#: src/pyams_content/component/gallery/zmi/file.py:207
+msgstr "Galerie de médias"
+
+#: src/pyams_content/component/gallery/zmi/file.py:58
+#: src/pyams_content/component/gallery/zmi/file.py:69
+#: src/pyams_content/component/gallery/zmi/paragraph.py:180
+msgid "Add media(s)"
+msgstr "Ajouter des médias"
+
+#: src/pyams_content/component/gallery/zmi/file.py:185
+msgid "Update media properties"
+msgstr "Propriétés du média"
+
+#: src/pyams_content/component/gallery/zmi/file.py:242
+msgid "Remove media..."
+msgstr "Supprimer le média"
+
+#: src/pyams_content/component/gallery/zmi/file.py:152
+msgid "Show/hide media"
+msgstr "Cliquez pour rendre le média visible ou non"
+
+#: src/pyams_content/component/gallery/zmi/file.py:210
 msgid "Audio content"
 msgstr "Contenu audio associé"
 
-#: src/pyams_content/component/gallery/zmi/file.py:255
-#: src/pyams_content/component/association/zmi/__init__.py:284
-#: src/pyams_content/shared/common/zmi/types.py:205
-#: src/pyams_content/shared/common/zmi/types.py:454
+#: src/pyams_content/component/gallery/zmi/file.py:258
+#: src/pyams_content/component/paragraph/zmi/milestone.py:338
+#: src/pyams_content/component/association/zmi/__init__.py:288
+#: src/pyams_content/shared/common/zmi/types.py:208
+#: src/pyams_content/shared/common/zmi/types.py:457
 #: src/pyams_content/shared/imagemap/zmi/container.py:169
 #: src/pyams_content/shared/site/zmi/container.py:574
 #: src/pyams_content/root/zmi/sites.py:195
 msgid "No provided object_name argument!"
 msgstr "Argument 'object_name' non fourni !"
 
-#: src/pyams_content/component/gallery/zmi/file.py:259
-msgid "Given image name doesn't exist!"
-msgstr "L'image spécifiée n'existe pas !"
-
-#: src/pyams_content/component/gallery/zmi/paragraph.py:54
-msgid "Add images gallery..."
-msgstr "Galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/paragraph.py:65
+#: src/pyams_content/component/gallery/zmi/file.py:262
+msgid "Given media name doesn't exist!"
+msgstr "Le nom du média indiqué n'existe pas !"
+
+#: src/pyams_content/component/gallery/zmi/paragraph.py:58
+msgid "Medias gallery..."
+msgstr "Galerie de médias"
+
+#: src/pyams_content/component/gallery/zmi/paragraph.py:69
 msgid "Add new gallery"
-msgstr "Ajout d'une galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/paragraph.py:95
+msgstr "Ajout d'une galerie de médias"
+
+#: src/pyams_content/component/gallery/zmi/paragraph.py:99
 msgid "Edit gallery properties"
-msgstr "Propriétés de la galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/__init__.py:57
+msgstr "Propriétés de la galerie de médias"
+
+#: src/pyams_content/component/gallery/zmi/__init__.py:63
 msgid "Update gallery properties"
-msgstr "Propriétés de la galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/__init__.py:92
+msgstr "Propriétés de la galerie de médias"
+
+#: src/pyams_content/component/gallery/zmi/__init__.py:100
 msgid "Update gallery contents"
-msgstr "Contenu de la galerie d'images"
-
-#: src/pyams_content/component/gallery/zmi/__init__.py:165
-msgid "Default gallery renderer"
-msgstr "Galerie par défaut"
+msgstr "Contenu de la galerie de médias"
 
 #: src/pyams_content/component/gallery/zmi/interfaces.py:36
-#: src/pyams_content/component/gallery/interfaces/__init__.py:56
+#: src/pyams_content/component/gallery/interfaces/__init__.py:61
 #: src/pyams_content/component/extfile/interfaces/__init__.py:44
 #: src/pyams_content/component/illustration/interfaces/__init__.py:52
-#: src/pyams_content/component/paragraph/interfaces/video.py:43
+#: src/pyams_content/component/paragraph/interfaces/video.py:48
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:44
+#: src/pyams_content/component/video/interfaces/__init__.py:48
 msgid "Author"
 msgstr "Auteur"
 
 #: src/pyams_content/component/gallery/zmi/interfaces.py:37
-#: src/pyams_content/component/gallery/interfaces/__init__.py:57
+#: src/pyams_content/component/gallery/interfaces/__init__.py:62
 #: src/pyams_content/component/extfile/interfaces/__init__.py:45
-#: src/pyams_content/component/paragraph/interfaces/video.py:44
+#: src/pyams_content/component/paragraph/interfaces/video.py:49
+#: src/pyams_content/component/video/interfaces/__init__.py:49
 msgid "Name of document's author"
 msgstr "Sous la forme \"Prénom Nom / Organisme\""
 
@@ -166,132 +165,131 @@
 msgstr "À propos de l'auteur"
 
 #: src/pyams_content/component/gallery/zmi/interfaces.py:41
-#: src/pyams_content/component/gallery/interfaces/__init__.py:61
+#: src/pyams_content/component/gallery/interfaces/__init__.py:66
 msgid "Comments relatives to author's rights management"
 msgstr ""
 "Commentaires (non publiés mais à conserver) relatifs à l'auteur et à la "
 "gestion de ses droits"
 
 #: src/pyams_content/component/gallery/zmi/interfaces.py:44
-msgid "Images data"
-msgstr "Image(s) à ajouter"
+msgid "Images or videos data"
+msgstr "Fichier (image ou vidéo)"
 
 #: src/pyams_content/component/gallery/zmi/interfaces.py:45
 msgid "You can upload a single file or choose to upload a whole ZIP archive"
 msgstr ""
-"Vous pouvez déposer les images une à une, ou en nombre en les réunissant au "
+"Vous pouvez déposer les médias un par un, ou en nombre en les réunissant au "
 "préalable dans un fichier ZIP"
 
-#: src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:10
-msgid "Gallery images"
+#: src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:10
+msgid "Gallery medias"
 msgstr "Contenu de la galerie"
 
-#: src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:15
-msgid "Download images"
-msgstr "Télécharger les images"
-
-#: src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:38
+#: src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:15
+msgid "Download medias"
+msgstr "Télécharger tous les médias"
+
+#: src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:39
 msgid "Zoom image"
 msgstr "Agrandir l'image"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:42
+#: src/pyams_content/component/gallery/interfaces/__init__.py:47
 #: src/pyams_content/component/extfile/interfaces/__init__.py:73
 #: src/pyams_content/component/illustration/interfaces/__init__.py:41
 msgid "Legend"
 msgstr "Légende"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:45
+#: src/pyams_content/component/gallery/interfaces/__init__.py:50
 #: src/pyams_content/component/extfile/interfaces/__init__.py:77
 #: src/pyams_content/component/illustration/interfaces/__init__.py:44
 msgid "Accessibility title"
 msgstr "Alternative (accessibilité)"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:46
-#: src/pyams_content/component/extfile/interfaces/__init__.py:78
-#: src/pyams_content/component/illustration/interfaces/__init__.py:45
-msgid "Alternate title used to describe image content"
+#: src/pyams_content/component/gallery/interfaces/__init__.py:51
+msgid "Alternate title used to describe media content"
 msgstr ""
-"Ce texte est affiché lorsque l'image ne peut être téléchargée ou affichée ; "
+"Ce texte est affiché lorsque le média ne peut être téléchargé ou affiché ; "
 "il est aussi utilisé par les navigateurs des personnes souffrant de "
-"déficiences visuelles. Il doit donc décrire le contenu de l'image, pour se "
+"déficiences visuelles. Il doit donc décrire le contenu du média, pour se "
 "conformer aux normes d'accessibilité."
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:49
-#: src/pyams_content/component/extfile/interfaces/__init__.py:81
+#: src/pyams_content/component/gallery/interfaces/__init__.py:54
 #: src/pyams_content/component/illustration/interfaces/__init__.py:56
+#: src/pyams_content/component/illustration/interfaces/__init__.py:85
+msgid "Image or video data"
+msgstr "Fichier (image ou vidéo)"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:55
+#: src/pyams_content/component/illustration/interfaces/__init__.py:57
 #: src/pyams_content/component/illustration/interfaces/__init__.py:86
-msgid "Image data"
-msgstr "Fichier"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:50
-#: src/pyams_content/component/extfile/interfaces/__init__.py:82
-#: src/pyams_content/component/illustration/interfaces/__init__.py:57
-#: src/pyams_content/component/illustration/interfaces/__init__.py:87
-msgid "Image content"
+msgid "Image or video content"
 msgstr ""
 "Cliquez sur le bouton 'Parcourir...' pour sélectionner un nouveau contenu..."
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:53
-#: src/pyams_content/component/gallery/interfaces/__init__.py:93
+#: src/pyams_content/component/gallery/interfaces/__init__.py:58
+#: src/pyams_content/component/gallery/interfaces/__init__.py:98
 #: src/pyams_content/component/extfile/interfaces/__init__.py:40
 #: src/pyams_content/component/illustration/interfaces/__init__.py:48
-#: src/pyams_content/component/paragraph/interfaces/video.py:39
-#: src/pyams_content/component/links/interfaces/__init__.py:38
+#: src/pyams_content/component/paragraph/interfaces/video.py:44
+#: src/pyams_content/component/links/interfaces/__init__.py:37
+#: src/pyams_content/component/video/interfaces/__init__.py:44
 #: src/pyams_content/shared/common/interfaces/__init__.py:136
 #: src/pyams_content/shared/form/interfaces/__init__.py:61
 msgid "Description"
 msgstr "Description"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:60
+#: src/pyams_content/component/gallery/interfaces/__init__.py:65
 msgid "Author's comments"
 msgstr "À propos de l'auteur"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:64
+#: src/pyams_content/component/gallery/interfaces/__init__.py:69
 msgid "Source ID"
 msgstr "ID source"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:65
+#: src/pyams_content/component/gallery/interfaces/__init__.py:70
 msgid "Number used to identify media into it's original source"
 msgstr ""
-"Identifiant ou référence de cette image dans la base de données dont elle "
-"est issue ; au besoin, préciser le nom de cette base"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:68
+"Identifiant ou référence de ce média dans la base de données dont elle est "
+"issue ; au besoin, préciser le nom de cette base"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:73
 #: src/pyams_content/component/extfile/interfaces/__init__.py:97
 msgid "Audio data"
 msgstr "Fichier"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:69
+#: src/pyams_content/component/gallery/interfaces/__init__.py:74
 msgid "Sound file associated with the current media"
-msgstr "Vous pouvez associer un fichier audio à cette image"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:72
+msgstr "Vous pouvez associer un fichier audio à ce média"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:77
 msgid "Sound title"
 msgstr "Titre"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:73
+#: src/pyams_content/component/gallery/interfaces/__init__.py:78
 msgid "Title of associated sound file"
-msgstr "Titre du fichier audio associé à cette image"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:76
+msgstr "Titre du fichier audio associé à ce média"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:81
 msgid "Sound description"
 msgstr "Description"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:77
+#: src/pyams_content/component/gallery/interfaces/__init__.py:82
 msgid "Short description of associated sound file"
-msgstr "Courte description du fichier audio associé à cette image"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:80
-msgid "Visible image?"
-msgstr "Image visible ?"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:81
-msgid "If 'no', this image won't be displayed in front office"
-msgstr "Si 'non', cette image ne sera pas présentée aux internautes"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:89
+msgstr "Courte description du fichier audio associé à ce média"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:85
+msgid "Visible media?"
+msgstr "Média visible ?"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:86
+msgid "If 'no', this media won't be displayed in front office"
+msgstr "Si 'non', ce média ne sera pas présenté aux internautes"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:94
 #: src/pyams_content/component/extfile/interfaces/__init__.py:36
-#: src/pyams_content/component/paragraph/zmi/container.py:221
+#: src/pyams_content/component/paragraph/zmi/milestone.py:298
+#: src/pyams_content/component/paragraph/zmi/container.py:223
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:46
 #: src/pyams_content/component/links/zmi/reverse.py:71
 #: src/pyams_content/shared/common/zmi/dashboard.py:109
 #: src/pyams_content/shared/common/zmi/templates/advanced-search.pt:188
@@ -302,38 +300,46 @@
 msgid "Title"
 msgstr "Titre"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:90
+#: src/pyams_content/component/gallery/interfaces/__init__.py:95
 msgid "Gallery title, as shown in front-office"
 msgstr "Titre de la galerie présenté aux internautes"
 
-#: src/pyams_content/component/gallery/interfaces/__init__.py:94
+#: src/pyams_content/component/gallery/interfaces/__init__.py:99
 msgid "Gallery description displayed by front-office template"
-msgstr "Description de la galerie d'images présentée aux internautes"
-
-#: src/pyams_content/component/gallery/interfaces/__init__.py:97
-msgid "Gallery style"
-msgstr "Style"
-
-#: src/pyams_content/component/extfile/__init__.py:168
+msgstr "Description de la galerie de médias présentée aux internautes"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:102
+msgid "Gallery template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/gallery/interfaces/__init__.py:103
+msgid "Presentation template used for this gallery"
+msgstr ""
+"<span>Modèle de présentation utilisé par cette galerie.<br /"
+"><strong>ATTENTION :</strong> certains modes de rendu ne prennent en charge "
+"que certains types de médias !!</span>"
+
 #: src/pyams_content/component/extfile/__init__.py:172
+#: src/pyams_content/component/extfile/__init__.py:176
 msgid "Standard file"
 msgstr "Fichier standard"
 
-#: src/pyams_content/component/extfile/__init__.py:219
-#: src/pyams_content/component/extfile/__init__.py:236
+#: src/pyams_content/component/extfile/__init__.py:223
+#: src/pyams_content/component/extfile/__init__.py:240
 #: src/pyams_content/shared/imagemap/interfaces/__init__.py:61
+#: src/pyams_content/shared/logo/interfaces/__init__.py:42
 msgid "Image"
 msgstr "Image"
 
-#: src/pyams_content/component/extfile/__init__.py:251
-#: src/pyams_content/component/extfile/__init__.py:256
-#: src/pyams_content/component/paragraph/video.py:46
-#: src/pyams_content/component/paragraph/video.py:58
+#: src/pyams_content/component/extfile/__init__.py:255
+#: src/pyams_content/component/extfile/__init__.py:260
+#: src/pyams_content/component/paragraph/video.py:51
+#: src/pyams_content/component/paragraph/video.py:64
 msgid "Video"
 msgstr "Vidéo"
 
-#: src/pyams_content/component/extfile/__init__.py:271
-#: src/pyams_content/component/extfile/__init__.py:276
+#: src/pyams_content/component/extfile/__init__.py:275
+#: src/pyams_content/component/extfile/__init__.py:280
 msgid "Audio file"
 msgstr "Fichier audio"
 
@@ -365,6 +371,10 @@
 msgid "Add new image"
 msgstr "Ajout d'une image"
 
+#: src/pyams_content/component/extfile/zmi/__init__.py:256
+msgid "Update image properties"
+msgstr "Propriétés de l'image"
+
 #: src/pyams_content/component/extfile/zmi/__init__.py:296
 msgid "Videos"
 msgstr "Vidéos"
@@ -406,32 +416,33 @@
 msgstr "Titre présenté aux internautes"
 
 #: src/pyams_content/component/extfile/interfaces/__init__.py:41
-#: src/pyams_content/component/paragraph/interfaces/video.py:40
+#: src/pyams_content/component/paragraph/interfaces/video.py:45
+#: src/pyams_content/component/video/interfaces/__init__.py:45
 msgid "File description displayed by front-office template"
 msgstr "Description du fichier, présentée aux internautes"
 
 #: src/pyams_content/component/extfile/interfaces/__init__.py:48
-#: src/pyams_content/component/illustration/interfaces/__init__.py:67
-#: src/pyams_content/component/illustration/interfaces/__init__.py:97
-#: src/pyams_content/component/links/interfaces/__init__.py:66
+#: src/pyams_content/component/illustration/interfaces/__init__.py:64
+#: src/pyams_content/component/illustration/interfaces/__init__.py:93
+#: src/pyams_content/component/links/interfaces/__init__.py:59
 msgid "Language"
 msgstr "Langue"
 
 #: src/pyams_content/component/extfile/interfaces/__init__.py:49
-#: src/pyams_content/component/illustration/interfaces/__init__.py:68
-#: src/pyams_content/component/illustration/interfaces/__init__.py:98
+#: src/pyams_content/component/illustration/interfaces/__init__.py:65
+#: src/pyams_content/component/illustration/interfaces/__init__.py:94
 msgid "File's content language"
 msgstr "Langue du fichier"
 
 #: src/pyams_content/component/extfile/interfaces/__init__.py:53
 #: src/pyams_content/component/illustration/interfaces/__init__.py:60
-#: src/pyams_content/component/illustration/interfaces/__init__.py:90
+#: src/pyams_content/component/illustration/interfaces/__init__.py:89
 msgid "Save file as..."
 msgstr "Nom du fichier"
 
 #: src/pyams_content/component/extfile/interfaces/__init__.py:54
 #: src/pyams_content/component/illustration/interfaces/__init__.py:61
-#: src/pyams_content/component/illustration/interfaces/__init__.py:91
+#: src/pyams_content/component/illustration/interfaces/__init__.py:90
 msgid "Name under which the file will be saved"
 msgstr ""
 "Nom donné au fichier en cas de téléchargement ; il est donc important de "
@@ -451,8 +462,27 @@
 msgid "File legend, as shown in front-office"
 msgstr "Titre du fichier, tel que présenté aux internautes"
 
+#: src/pyams_content/component/extfile/interfaces/__init__.py:78
+#: src/pyams_content/component/illustration/interfaces/__init__.py:45
+msgid "Alternate title used to describe image content"
+msgstr ""
+"Ce texte est affiché lorsque le contenu ne peut être téléchargé ou affiché ; "
+"il est aussi utilisé par les navigateurs des personnes souffrant de "
+"déficiences visuelles. Il doit donc décrire le contenu, pour se conformer "
+"aux normes d'accessibilité."
+
+#: src/pyams_content/component/extfile/interfaces/__init__.py:81
+#: src/pyams_content/shared/logo/interfaces/__init__.py:43
+msgid "Image data"
+msgstr "Fichier"
+
+#: src/pyams_content/component/extfile/interfaces/__init__.py:82
+msgid "Image content"
+msgstr ""
+"Cliquez sur le bouton 'Parcourir...' pour sélectionner un nouveau contenu..."
+
 #: src/pyams_content/component/extfile/interfaces/__init__.py:89
-#: src/pyams_content/component/paragraph/interfaces/video.py:47
+#: src/pyams_content/component/paragraph/interfaces/video.py:52
 msgid "Video data"
 msgstr "Fichier"
 
@@ -468,37 +498,25 @@
 
 #: src/pyams_content/component/illustration/paragraph.py:40
 #: src/pyams_content/component/illustration/paragraph.py:47
-#: src/pyams_content/component/illustration/__init__.py:141
-#: src/pyams_content/component/illustration/zmi/__init__.py:99
-#: src/pyams_content/component/illustration/zmi/__init__.py:122
+#: src/pyams_content/component/illustration/__init__.py:142
+#: src/pyams_content/component/illustration/zmi/__init__.py:57
+#: src/pyams_content/component/illustration/zmi/__init__.py:80
 msgid "Illustration"
 msgstr "Illustration"
 
-#: src/pyams_content/component/illustration/zmi/paragraph.py:55
-msgid "Add illustration..."
+#: src/pyams_content/component/illustration/zmi/paragraph.py:58
+msgid "Illustration..."
 msgstr "Illustration"
 
-#: src/pyams_content/component/illustration/zmi/paragraph.py:66
+#: src/pyams_content/component/illustration/zmi/paragraph.py:69
 msgid "Add new illustration"
 msgstr "Ajout d'une illustration"
 
-#: src/pyams_content/component/illustration/zmi/paragraph.py:97
+#: src/pyams_content/component/illustration/zmi/paragraph.py:100
 msgid "Edit illustration properties"
 msgstr "Propriétés de l'illustration"
 
-#: src/pyams_content/component/illustration/zmi/__init__.py:64
-msgid "Centered illustration"
-msgstr "Illustration centrée"
-
-#: src/pyams_content/component/illustration/zmi/__init__.py:73
-msgid "Small illustration on the left with zoom"
-msgstr "Petite illustration sur la gauche avec zoom"
-
-#: src/pyams_content/component/illustration/zmi/__init__.py:82
-msgid "Small illustration on the right with zoom"
-msgstr "Petite illustration sur la droite avec zoom"
-
-#: src/pyams_content/component/illustration/zmi/__init__.py:180
+#: src/pyams_content/component/illustration/zmi/__init__.py:142
 msgid "Add illustration"
 msgstr "Ajouter une illustration"
 
@@ -506,10 +524,45 @@
 msgid "Name of picture's author"
 msgstr "Sous la forme \"Prénom Nom / Organisme\""
 
-#: src/pyams_content/component/illustration/interfaces/__init__.py:64
-#: src/pyams_content/component/illustration/interfaces/__init__.py:94
-msgid "Image style"
-msgstr "Style de l'image"
+#: src/pyams_content/component/illustration/interfaces/__init__.py:69
+#: src/pyams_content/component/illustration/interfaces/__init__.py:98
+msgid "Illustration template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/illustration/interfaces/__init__.py:70
+#: src/pyams_content/component/illustration/interfaces/__init__.py:99
+msgid "Presentation template used for illustration"
+msgstr ""
+"<span>Modèle de présentation utilisé par cette illustration.<br /"
+"><strong>ATTENTION :</strong> certains modes de rendu ne prennent pas en "
+"compte tous les types de médias !</span>"
+
+#: src/pyams_content/component/paragraph/milestone.py:206
+#: src/pyams_content/component/paragraph/milestone.py:228
+#: src/pyams_content/component/paragraph/zmi/templates/milestones.pt:6
+msgid "Milestones"
+msgstr "Chronologie"
+
+#: src/pyams_content/component/paragraph/milestone.py:237
+msgid "Milestones paragraph"
+msgstr "Chronologie"
+
+#: src/pyams_content/component/paragraph/milestone.py:141
+msgid "Selected paragraph is missing"
+msgstr "le paragraphe sélectionné est introuvable"
+
+#: src/pyams_content/component/paragraph/milestone.py:144
+msgid "Selected paragraph is not visible"
+msgstr "le paragraphe sélectionné n'est pas visible"
+
+#: src/pyams_content/component/paragraph/keypoint.py:47
+#: src/pyams_content/component/paragraph/interfaces/keypoint.py:40
+msgid "Key points"
+msgstr "Points clés"
+
+#: src/pyams_content/component/paragraph/keypoint.py:62
+msgid "Key points paragraph"
+msgstr "Points-clés"
 
 #: src/pyams_content/component/paragraph/container.py:82
 #: src/pyams_content/component/paragraph/zmi/templates/paragraphs.pt:6
@@ -520,29 +573,115 @@
 msgid "no visible paragraph"
 msgstr "aucun paragraphe visible"
 
-#: src/pyams_content/component/paragraph/html.py:57
-#: src/pyams_content/component/paragraph/html.py:66
-msgid "HTML paragraph"
-msgstr "HTML"
-
-#: src/pyams_content/component/paragraph/header.py:41
-#: src/pyams_content/component/paragraph/interfaces/header.py:34
+#: src/pyams_content/component/paragraph/frame.py:52
+msgid "Framed text"
+msgstr "Encadré"
+
+#: src/pyams_content/component/paragraph/frame.py:62
+msgid "Framed text paragraph"
+msgstr "Encadré"
+
+#: src/pyams_content/component/paragraph/verbatim.py:50
+msgid "Verbatim"
+msgstr "Verbatim"
+
+#: src/pyams_content/component/paragraph/verbatim.py:62
+msgid "Verbatim paragraph"
+msgstr "Verbatim"
+
+#: src/pyams_content/component/paragraph/html.py:58
+msgid "Raw HTML "
+msgstr "Code HTML"
+
+#: src/pyams_content/component/paragraph/html.py:67
+msgid "Raw HTML paragraph"
+msgstr "Code HTML"
+
+#: src/pyams_content/component/paragraph/html.py:105
+msgid "Rich text"
+msgstr "Texte enrichi"
+
+#: src/pyams_content/component/paragraph/html.py:114
+msgid "Rich text paragraph"
+msgstr "Texte enrichi"
+
+#: src/pyams_content/component/paragraph/contact.py:47
+#: src/pyams_content/component/paragraph/contact.py:71
+msgid "Contact card"
+msgstr "Fiche contact"
+
+#: src/pyams_content/component/paragraph/header.py:47
+#: src/pyams_content/component/paragraph/interfaces/header.py:40
 msgid "Header"
 msgstr "Chapô"
 
-#: src/pyams_content/component/paragraph/header.py:55
+#: src/pyams_content/component/paragraph/header.py:62
 msgid "Header paragraph"
 msgstr "Chapô"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:57
+#: src/pyams_content/component/paragraph/zmi/milestone.py:79
+msgid "Milestones..."
+msgstr "Chronologie"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:90
+msgid "Add new milestone paragraph"
+msgstr "Ajout d'une chronologie"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:120
+msgid "Edit milestone paragraph properties"
+msgstr "Propriétés de la chronologie"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:262
+msgid "Switch milestone visibility"
+msgstr "Cliquez pour rendre le jalon visible ou non"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:307
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:54
+msgid "Anchor"
+msgstr "Ancre"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:382
+msgid "Add milestone"
+msgstr "Ajouter un jalon"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:393
+msgid "Add new milestone"
+msgstr "Ajout d'un jalon"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:433
+msgid "Edit milestone properties"
+msgstr "Propriétés du jalon"
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:417
+msgid "Milestone was correctly added"
+msgstr "Le jalon a été ajouté."
+
+#: src/pyams_content/component/paragraph/zmi/milestone.py:346
+#: src/pyams_content/component/association/zmi/__init__.py:292
+msgid "Given association name doesn't exist!"
+msgstr "Le nom d'association indiqué n'existe pas !"
+
+#: src/pyams_content/component/paragraph/zmi/keypoint.py:52
+msgid "Key points..."
+msgstr "Points-clés"
+
+#: src/pyams_content/component/paragraph/zmi/keypoint.py:63
+msgid "Add new key points paragraph"
+msgstr "Ajout de points-clés"
+
+#: src/pyams_content/component/paragraph/zmi/keypoint.py:93
+msgid "Edit key points paragraph properties"
+msgstr "Propriétés des points-clés"
+
+#: src/pyams_content/component/paragraph/zmi/__init__.py:61
 msgid "Paragraphs types..."
 msgstr "Types de paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:68
+#: src/pyams_content/component/paragraph/zmi/__init__.py:72
 msgid "Paragraphs types"
 msgstr "Types de paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:85
+#: src/pyams_content/component/paragraph/zmi/__init__.py:89
 msgid ""
 "You can define which types of paragraphs are allowed in this container.\n"
 "\n"
@@ -561,12 +700,12 @@
 "REMARQUE : supprimer des types de la liste des types de paragraphes "
 "autorisés sera sans effet sur les contenus existants."
 
-#: src/pyams_content/component/paragraph/zmi/__init__.py:119
+#: src/pyams_content/component/paragraph/zmi/__init__.py:139
 msgid "Paragraph was correctly added."
 msgstr "Le paragraphe a été ajouté."
 
 #: src/pyams_content/component/paragraph/zmi/video.py:56
-msgid "Add video paragraph..."
+msgid "Video paragraph..."
 msgstr "Vidéo"
 
 #: src/pyams_content/component/paragraph/zmi/video.py:67
@@ -574,79 +713,131 @@
 msgstr "Ajout d'une vidéo"
 
 #: src/pyams_content/component/paragraph/zmi/video.py:109
+#: src/pyams_content/component/video/zmi/paragraph.py:174
 msgid "Edit video properties"
 msgstr "Propriétés de la vidéo"
 
 #: src/pyams_content/component/paragraph/zmi/video.py:83
-#: src/pyams_content/component/paragraph/zmi/video.py:126
+#: src/pyams_content/component/paragraph/zmi/video.py:128
+#: src/pyams_content/component/video/zmi/paragraph.py:87
+#: src/pyams_content/component/video/zmi/paragraph.py:197
 msgid "HTML content"
 msgstr "Contenu HTML"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:68
+#: src/pyams_content/component/paragraph/zmi/container.py:70
 msgid "Paragraphs..."
 msgstr "Paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:159
+#: src/pyams_content/component/paragraph/zmi/container.py:161
 msgid "Switch paragraph visibility"
 msgstr "Cliquez pour rendre le paragraphe visible ou non"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:237
+#: src/pyams_content/component/paragraph/zmi/container.py:239
 msgid "Show/hide all paragraphs"
 msgstr "Afficher/masquer tous les paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:283
-#: src/pyams_content/component/paragraph/zmi/container.py:292
+#: src/pyams_content/component/paragraph/zmi/container.py:285
+#: src/pyams_content/component/paragraph/zmi/container.py:294
 msgid "Paragraphs list"
 msgstr "Liste des paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:391
-#: src/pyams_content/component/association/zmi/__init__.py:102
+#: src/pyams_content/component/paragraph/zmi/container.py:393
+#: src/pyams_content/component/association/zmi/paragraph.py:55
+#: src/pyams_content/component/association/zmi/__init__.py:104
 msgid "Associations..."
 msgstr "Associations"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:403
+#: src/pyams_content/component/paragraph/zmi/container.py:405
 msgid "Paragraphs associations"
 msgstr "Associations par paragraphe"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:118
+#: src/pyams_content/component/paragraph/zmi/container.py:120
 msgid "No currently defined paragraph."
 msgstr "Aucun paragraphe associé à ce contenu."
 
-#: src/pyams_content/component/paragraph/zmi/container.py:246
+#: src/pyams_content/component/paragraph/zmi/container.py:248
 msgid "Click to open/close all paragraphs editors"
 msgstr "Afficher/masquer tous les paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:259
+#: src/pyams_content/component/paragraph/zmi/container.py:261
 msgid "Click to open/close paragraph editor"
 msgstr "Afficher/masquer ce paragraphe"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:124
+#: src/pyams_content/component/paragraph/zmi/container.py:126
 msgid "Check allowed paragraph types to be able to create new paragraphs."
 msgstr ""
 "Vérifiez le paramétrage des types de paragraphes autorisés pour ajouter de "
 "nouveaux paragraphes."
 
-#: src/pyams_content/component/paragraph/zmi/html.py:66
-msgid "Add HTML paragraph..."
-msgstr "HTML"
+#: src/pyams_content/component/paragraph/zmi/frame.py:84
+msgid "Framed text..."
+msgstr "Encadré"
+
+#: src/pyams_content/component/paragraph/zmi/frame.py:96
+msgid "Add new framed text paragraph"
+msgstr "Ajout d'un encadré"
+
+#: src/pyams_content/component/paragraph/zmi/frame.py:130
+msgid "Edit framed text paragraph properties"
+msgstr "Propriétés de l'encadré"
+
+#: src/pyams_content/component/paragraph/zmi/verbatim.py:57
+msgid "Verbatim..."
+msgstr "Verbatim"
+
+#: src/pyams_content/component/paragraph/zmi/verbatim.py:68
+msgid "Add new verbatim paragraph"
+msgstr "Ajout d'un verbatim"
+
+#: src/pyams_content/component/paragraph/zmi/verbatim.py:98
+msgid "Edit verbatim paragraph properties"
+msgstr "Propriétés du verbatim"
 
 #: src/pyams_content/component/paragraph/zmi/html.py:77
-msgid "Add new HTML paragraph"
-msgstr "Ajout d'un paragraphe HTML"
-
-#: src/pyams_content/component/paragraph/zmi/html.py:110
-msgid "Edit HTML paragraph properties"
-msgstr "Propriétés du paragraphe HTML"
-
-#: src/pyams_content/component/paragraph/zmi/header.py:51
-msgid "Add header paragraph..."
+msgid "Raw HTML..."
+msgstr "Code HTML"
+
+#: src/pyams_content/component/paragraph/zmi/html.py:88
+msgid "Add new raw HTML paragraph"
+msgstr "Ajout d'un paragraphe de code HTML"
+
+#: src/pyams_content/component/paragraph/zmi/html.py:121
+msgid "Edit raw HTML paragraph properties"
+msgstr "Propriétés du code HTML"
+
+#: src/pyams_content/component/paragraph/zmi/html.py:192
+msgid "Rich text..."
+msgstr "Texte enrichi"
+
+#: src/pyams_content/component/paragraph/zmi/html.py:203
+msgid "Add new rich text paragraph"
+msgstr "Ajout d'un paragraphe de texte enrichi"
+
+#: src/pyams_content/component/paragraph/zmi/html.py:236
+msgid "Edit rich text paragraph properties"
+msgstr "Propriétés du paragraphe de texte enrichi"
+
+#: src/pyams_content/component/paragraph/zmi/contact.py:53
+msgid "Contact card..."
+msgstr "Fiche contact"
+
+#: src/pyams_content/component/paragraph/zmi/contact.py:64
+msgid "Add new contact card"
+msgstr "Ajout d'une fiche contact"
+
+#: src/pyams_content/component/paragraph/zmi/contact.py:95
+msgid "Edit contact card properties"
+msgstr "Propriétés de la fiche contact"
+
+#: src/pyams_content/component/paragraph/zmi/header.py:52
+msgid "Header..."
 msgstr "Chapô"
 
-#: src/pyams_content/component/paragraph/zmi/header.py:62
+#: src/pyams_content/component/paragraph/zmi/header.py:63
 msgid "Add new header paragraph"
 msgstr "Ajout d'un chapô"
 
-#: src/pyams_content/component/paragraph/zmi/header.py:92
+#: src/pyams_content/component/paragraph/zmi/header.py:93
 msgid "Edit header paragraph properties"
 msgstr "Propriétés du chapô"
 
@@ -655,13 +846,61 @@
 msgid "This content doesn't contain any paragraph."
 msgstr "Aucun paragraphe n'est associé à ce contenu."
 
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:41
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:43
-#: src/pyams_content/component/association/interfaces/__init__.py:42
+#: src/pyams_content/component/association/interfaces/__init__.py:43
 #: src/pyams_content/shared/form/interfaces/__init__.py:82
-#: src/pyams_content/shared/site/interfaces/__init__.py:102
+#: src/pyams_content/shared/site/interfaces/__init__.py:95
 msgid "Visible?"
 msgstr "Visible ?"
 
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:42
+msgid "Is this milestone visible in front-office?"
+msgstr "Si 'non', ce jalon ne sera pas présenté aux internautes"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:47
+msgid "Milestone title"
+msgstr "Libellé associé au jalon"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:50
+msgid "Associated label"
+msgstr "Information associée"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:51
+msgid "The way this label will be rendered depends on presentation template"
+msgstr ""
+"La présentation de cette information peut varier en fonction du mode de "
+"rendu choisi pour le paragraphe"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:55
+msgid "Paragraph to which this milestone should lead"
+msgstr "Paragraphe vers lequel ce jalon doit conduire"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:83
+msgid "Milestones template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/milestone.py:84
+msgid "Presentation template used for milestones"
+msgstr "Modèle de présentation utilisé par ce paragraphe"
+
+#: src/pyams_content/component/paragraph/interfaces/keypoint.py:41
+msgid "Enter one key point by line, without hyphen or prefix"
+msgstr ""
+"Indiquez un point-clé par ligne, sans tiret. Passez à la ligne entre chaque "
+"point-clé, la mise en forme sera effectuée automatiquement."
+
+#: src/pyams_content/component/paragraph/interfaces/keypoint.py:44
+msgid "Presentation template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/keypoint.py:45
+#: src/pyams_content/component/paragraph/interfaces/frame.py:44
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:53
+#: src/pyams_content/shared/logo/interfaces/__init__.py:67
+msgid "Presentation template used for this paragraph"
+msgstr "Mode de rendu utilisé par ce paragraphe"
+
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:44
 msgid "Is this paragraph visible in front-office?"
 msgstr "Si 'non', ce paragraphe ne sera pas présenté aux internautes"
@@ -670,35 +909,137 @@
 msgid "§ Title"
 msgstr "Titre §"
 
-#: src/pyams_content/component/paragraph/interfaces/__init__.py:78
+#: src/pyams_content/component/paragraph/interfaces/__init__.py:79
 msgid "Allowed paragraphs"
 msgstr "Paragraphes autorisés"
 
-#: src/pyams_content/component/paragraph/interfaces/__init__.py:79
+#: src/pyams_content/component/paragraph/interfaces/__init__.py:80
 msgid "List of paragraphs allowed for this content type"
 msgstr "Liste des types de paragraphes autorisés pour ce type de contenu."
 
-#: src/pyams_content/component/paragraph/interfaces/__init__.py:83
-#: src/pyams_content/shared/common/zmi/types.py:151
-#: src/pyams_content/shared/common/zmi/types.py:393
+#: src/pyams_content/component/paragraph/interfaces/__init__.py:84
+#: src/pyams_content/shared/common/zmi/types.py:154
+#: src/pyams_content/shared/common/zmi/types.py:396
 msgid "Default paragraphs"
 msgstr "Paragraphes par défaut"
 
-#: src/pyams_content/component/paragraph/interfaces/__init__.py:84
+#: src/pyams_content/component/paragraph/interfaces/__init__.py:85
 msgid "List of paragraphs automatically added to a new content"
 msgstr ""
 "Liste des types de paragraphes ajoutés automatiquement aux nouveaux contenus"
 
-#: src/pyams_content/component/paragraph/interfaces/video.py:36
-#: src/pyams_content/component/paragraph/interfaces/html.py:34
+#: src/pyams_content/component/paragraph/interfaces/video.py:41
+#: src/pyams_content/component/paragraph/interfaces/html.py:53
+#: src/pyams_content/component/video/interfaces/__init__.py:69
 msgid "Body"
 msgstr "Contenu HTML"
 
-#: src/pyams_content/component/paragraph/interfaces/video.py:48
+#: src/pyams_content/component/paragraph/interfaces/video.py:53
 msgid "Video file content"
 msgstr ""
 "Cliquez sur le bouton 'Parcourir...' pour sélectionner un nouveau contenu"
 
+#: src/pyams_content/component/paragraph/interfaces/video.py:56
+msgid "Video template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/video.py:57
+msgid "Presentation template used for this video"
+msgstr "Mode de rendu utilisé par cette vidéo"
+
+#: src/pyams_content/component/paragraph/interfaces/frame.py:40
+msgid "Frame body"
+msgstr "Contenu"
+
+#: src/pyams_content/component/paragraph/interfaces/frame.py:43
+msgid "Text template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:40
+msgid "Quoted text"
+msgstr "Citation"
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:41
+msgid "Quotation marks will be added automatically by presentation template"
+msgstr "Les guillemets seront ajoutés automatiquement par le mode de rendu..."
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:45
+msgid "Name of the quote author"
+msgstr "Nom de l'auteur de la citation"
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:48
+#: src/pyams_content/component/paragraph/interfaces/contact.py:45
+msgid "In charge of"
+msgstr "Fonction"
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:49
+msgid "Label of author function"
+msgstr "Fonction de l'auteur"
+
+#: src/pyams_content/component/paragraph/interfaces/verbatim.py:52
+msgid "Verbatim template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/html.py:37
+msgid "Raw HTML code"
+msgstr "Code HTML"
+
+#: src/pyams_content/component/paragraph/interfaces/html.py:38
+msgid ""
+"This HTML code will be used 'as is', without any transformation. Use with "
+"care!!"
+msgstr ""
+"Ce code HTML sera utilisé en l'état et intégré dans les pages sans "
+"modification. À utiliser avec précaution !!!"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:41
+msgid "Contact identity"
+msgstr "Nom du contact"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:42
+msgid "Name of the contact"
+msgstr "Nom complet du contact"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:46
+msgid "Label of contact function"
+msgstr "Fonction du contact"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:49
+msgid "Photo"
+msgstr "Photo"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:50
+msgid "Use 'browse' button to select contact picture"
+msgstr "Utilisez le bouton 'Parcourir' pour sélectionner la photo du contact"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:53
+msgid "GPS location"
+msgstr "Position GPS"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:54
+msgid "GPS coordinates used to locate contact"
+msgstr "Coordonnées GPS de situation du contact"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:57
+msgid "Address"
+msgstr "Adresse"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:60
+msgid "Contact template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:61
+msgid "Presentation template used for this contact"
+msgstr "Modèle de présentation utilisé pour ce contact"
+
+#: src/pyams_content/component/paragraph/interfaces/header.py:43
+msgid "Header template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/paragraph/interfaces/header.py:44
+msgid "Presentation template used for this header"
+msgstr "Mode de rendu utilisé par ce chapô"
+
 #: src/pyams_content/component/theme/__init__.py:81
 #: src/pyams_content/component/theme/zmi/portlet.py:39
 #: src/pyams_content/component/theme/interfaces/__init__.py:43
@@ -710,7 +1051,6 @@
 msgstr "aucun thème défini"
 
 #: src/pyams_content/component/theme/zmi/__init__.py:52
-#: src/pyams_content/component/theme/zmi/manager.py:45
 #: src/pyams_content/shared/view/zmi/theme.py:49
 msgid "Themes..."
 msgstr "Thèmes"
@@ -719,24 +1059,24 @@
 msgid "Content themes"
 msgstr "Thèmes du contenu"
 
+#: src/pyams_content/component/theme/zmi/manager.py:45
+msgid "Themes settings..."
+msgstr "Paramétrage des thèmes"
+
 #: src/pyams_content/component/theme/zmi/manager.py:56
 msgid "Selected themes"
 msgstr "Thèmes sélectionnés"
 
-#: src/pyams_content/component/association/paragraph.py:42
-#: src/pyams_content/component/association/paragraph.py:49
+#: src/pyams_content/component/association/paragraph.py:48
+#: src/pyams_content/component/association/paragraph.py:57
 msgid "Associations paragraph"
 msgstr "Associations"
 
-#: src/pyams_content/component/association/container.py:92
+#: src/pyams_content/component/association/container.py:95
 #: src/pyams_content/component/association/zmi/templates/associations.pt:6
 msgid "Associations"
 msgstr "Associations"
 
-#: src/pyams_content/component/association/zmi/paragraph.py:55
-msgid "Add associations paragraph..."
-msgstr "Associations"
-
 #: src/pyams_content/component/association/zmi/paragraph.py:66
 msgid "Add new association paragraph"
 msgstr "Ajout d'un paragraphe « associations »"
@@ -745,53 +1085,56 @@
 msgid "Edit association paragraph properties"
 msgstr "Propriétés du paragraphe « liens utiles »"
 
-#: src/pyams_content/component/association/zmi/__init__.py:175
+#: src/pyams_content/component/association/zmi/__init__.py:176
 msgid "Switch association visibility"
 msgstr "Cliquez pour rendre le lien visible ou non en pied de paragraphe"
 
-#: src/pyams_content/component/association/zmi/__init__.py:226
+#: src/pyams_content/component/association/zmi/__init__.py:227
 msgid "Public title"
 msgstr "Libellé public"
 
-#: src/pyams_content/component/association/zmi/__init__.py:240
+#: src/pyams_content/component/association/zmi/__init__.py:244
 msgid "Inner title"
 msgstr "Contenu interne"
 
-#: src/pyams_content/component/association/zmi/__init__.py:255
+#: src/pyams_content/component/association/zmi/__init__.py:259
 msgid "Size"
 msgstr "Taille"
 
-#: src/pyams_content/component/association/zmi/__init__.py:310
-#: src/pyams_content/component/association/zmi/__init__.py:320
+#: src/pyams_content/component/association/zmi/__init__.py:314
+#: src/pyams_content/component/association/zmi/__init__.py:324
 msgid "Associations list"
 msgstr "Liste des associations"
 
-#: src/pyams_content/component/association/zmi/__init__.py:63
+#: src/pyams_content/component/association/zmi/__init__.py:65
 msgid "Association was correctly added."
 msgstr "L'association a été ajoutée."
 
-#: src/pyams_content/component/association/zmi/__init__.py:288
-msgid "Given association name doesn't exist!"
-msgstr "Le nom d'association indiqué n'existe pas !"
-
-#: src/pyams_content/component/association/interfaces/__init__.py:43
+#: src/pyams_content/component/association/interfaces/__init__.py:44
 msgid "Is this item visible in front-office?"
 msgstr "Si 'non', ce lien ne sera pas présenté aux internautes"
 
-#: src/pyams_content/component/links/__init__.py:101
+#: src/pyams_content/component/association/interfaces/__init__.py:93
+msgid "Associations template"
+msgstr "Mode de rendu"
+
+#: src/pyams_content/component/association/interfaces/__init__.py:94
+msgid "Presentation template used for associations"
+msgstr "Modèle de présentation utilisé par ce paragraphe"
+
+#: src/pyams_content/component/links/__init__.py:103
 msgid "Internal link"
 msgstr "Lien interne"
 
-#: src/pyams_content/component/links/__init__.py:176
+#: src/pyams_content/component/links/__init__.py:178
 msgid "External link"
 msgstr "Lien externe"
 
-#: src/pyams_content/component/links/__init__.py:222
+#: src/pyams_content/component/links/__init__.py:224
 msgid "Mailto link"
 msgstr "Lien mailto"
 
-#: src/pyams_content/component/links/__init__.py:163
-#: src/pyams_content/shared/imagemap/paragraph.py:85
+#: src/pyams_content/component/links/__init__.py:165
 msgid "target is not published"
 msgstr "le contenu ciblé n'est pas publié"
 
@@ -851,83 +1194,331 @@
 msgid "Content's internal links"
 msgstr "Autres contenus qui pointent vers ce contenu"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:34
+#: src/pyams_content/component/links/interfaces/__init__.py:33
 #: src/pyams_content/shared/imagemap/interfaces/__init__.py:49
-#: src/pyams_content/shared/site/interfaces/__init__.py:98
+#: src/pyams_content/shared/site/interfaces/__init__.py:91
 msgid "Alternate title"
 msgstr "Titre de substitution"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:35
+#: src/pyams_content/component/links/interfaces/__init__.py:34
 msgid "Link title, as shown in front-office"
 msgstr ""
 "Le contexte d'utilisation de ce lien peut nécessiter de modifier son titre "
 "d'origine. Ce titre de substitution sera alors présenté aux internautes."
 
-#: src/pyams_content/component/links/interfaces/__init__.py:39
+#: src/pyams_content/component/links/interfaces/__init__.py:38
 msgid "Link description displayed by front-office template"
 msgstr "Description du lien, présentée aux internautes"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:49
-#: src/pyams_content/shared/imagemap/interfaces/__init__.py:81
-#: src/pyams_content/shared/site/interfaces/__init__.py:92
-msgid "Internal reference"
-msgstr "Référence interne"
-
-#: src/pyams_content/component/links/interfaces/__init__.py:50
-#: src/pyams_content/shared/site/interfaces/__init__.py:93
-msgid ""
-"Internal link target reference. You can search a reference using '+' "
-"followed by internal number, of by entering text matching content title."
-msgstr ""
-"Référence interne vers la cible du lien. Vous pouvez la rechercher par des "
-"mots de son titre, ou par son numéro interne (précédé d'un '+') ; le titre "
-"d'origine peut être modifié en utilisant le titre de substitution."
-
-#: src/pyams_content/component/links/interfaces/__init__.py:62
+#: src/pyams_content/component/links/interfaces/__init__.py:55
+#: src/pyams_content/shared/logo/interfaces/__init__.py:46
 msgid "Target URL"
 msgstr "URL cible"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:63
+#: src/pyams_content/component/links/interfaces/__init__.py:56
+#: src/pyams_content/shared/logo/interfaces/__init__.py:47
 msgid "URL used to access external resource"
 msgstr ""
 "URL utilisée pour accéder à cette ressource externe. Doit comprendre le "
 "protocole d'accès au site, comme « http:// » ou « https:// »."
 
-#: src/pyams_content/component/links/interfaces/__init__.py:67
+#: src/pyams_content/component/links/interfaces/__init__.py:60
 msgid "Language used in this remote resource"
 msgstr ""
 "Langue utilisée par cette ressource extene ; à préciser lorsqu'il ne s'agit "
 "pas de la langue par défaut du site."
 
-#: src/pyams_content/component/links/interfaces/__init__.py:75
+#: src/pyams_content/component/links/interfaces/__init__.py:68
 msgid "Target address"
 msgstr "Adresse mail"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:76
+#: src/pyams_content/component/links/interfaces/__init__.py:69
 msgid "Target email address"
 msgstr "Adresse de messagerie \"stricte\", soit uniquement \"xxx@yyy.com\""
 
-#: src/pyams_content/component/links/interfaces/__init__.py:79
+#: src/pyams_content/component/links/interfaces/__init__.py:72
 msgid "Address name"
 msgstr "Nom de messagerie"
 
-#: src/pyams_content/component/links/interfaces/__init__.py:80
+#: src/pyams_content/component/links/interfaces/__init__.py:73
 msgid "Address as displayed in address book"
 msgstr ""
 "Nom de la boîte aux lettres, tel qu'il sera affiché dans l'application de "
 "messagerie."
 
-#: src/pyams_content/component/links/interfaces/__init__.py:91
-msgid "Internal references"
-msgstr "Références internes"
-
-#: src/pyams_content/component/links/interfaces/__init__.py:92
-msgid "List of internal references"
-msgstr "Liste de références internes imposées dans la vue"
-
-#: src/pyams_content/shared/common/__init__.py:230
-#: src/pyams_content/shared/common/zmi/properties.py:66
-#: src/pyams_content/shared/common/zmi/manager.py:89
+#: src/pyams_content/component/video/paragraph.py:42
+#: src/pyams_content/component/video/paragraph.py:51
+#: src/pyams_content/component/video/__init__.py:80
+msgid "External video"
+msgstr "Vidéo externe"
+
+#: src/pyams_content/component/video/provider/dailymotion.py:94
+msgid "Dailymotion settings"
+msgstr "Paramètres Dailymotion"
+
+#: src/pyams_content/component/video/provider/vimeo.py:92
+msgid "Vimeo settings"
+msgstr "Paramètres Vimeo"
+
+#: src/pyams_content/component/video/provider/interfaces.py:31
+#: src/pyams_content/component/video/provider/interfaces.py:103
+#: src/pyams_content/component/video/provider/interfaces.py:171
+msgid "Video ID"
+msgstr "ID de la vidéo"
+
+#: src/pyams_content/component/video/provider/interfaces.py:32
+msgid ""
+"To get video ID, just use the 'Share' button in Youtube platform and copy/"
+"paste the given URL here"
+msgstr ""
+"Pour obtenir l'ID de la vidéo, utilisez le bouton 'Partager' sur Youtube et "
+"faites simplement un copier/coller de l'URL obtenue dans ce champ"
+
+#: src/pyams_content/component/video/provider/interfaces.py:36
+#: src/pyams_content/component/video/provider/interfaces.py:108
+#: src/pyams_content/component/video/provider/interfaces.py:176
+msgid "Video width"
+msgstr "Largeur"
+
+#: src/pyams_content/component/video/provider/interfaces.py:37
+#: src/pyams_content/component/video/provider/interfaces.py:109
+#: src/pyams_content/component/video/provider/interfaces.py:177
+msgid ""
+"Initial video frame width; mandatory for old browsers but may be overridden "
+"by presentation skin"
+msgstr ""
+"Largeur initiale de la vidéo ; cette information peut être surchargée par le "
+"thème graphique mais elle est obligatoire pour les anciens navigateurs"
+
+#: src/pyams_content/component/video/provider/interfaces.py:43
+#: src/pyams_content/component/video/provider/interfaces.py:115
+#: src/pyams_content/component/video/provider/interfaces.py:183
+msgid "Video height"
+msgstr "Hauteur"
+
+#: src/pyams_content/component/video/provider/interfaces.py:44
+#: src/pyams_content/component/video/provider/interfaces.py:116
+#: src/pyams_content/component/video/provider/interfaces.py:184
+msgid ""
+"Initial video frame height; mandatory for old browsers but may be overridden "
+"by presentation skin"
+msgstr ""
+"Hauteur initiale de la vidéo ; cette information peut être surchargée par le "
+"thème graphique mais elle est obligatoire pour les anciens navigateurs"
+
+#: src/pyams_content/component/video/provider/interfaces.py:50
+#: src/pyams_content/component/video/provider/interfaces.py:122
+msgid "Start at"
+msgstr "Démarrer à"
+
+#: src/pyams_content/component/video/provider/interfaces.py:51
+#: src/pyams_content/component/video/provider/interfaces.py:123
+msgid ""
+"Position at which to start video, in 'seconds' or 'minutes:seconds' format"
+msgstr ""
+"Position à laquelle démarrer la vidéo, en secondes ou sous la forme 'minutes:"
+"secondes'"
+
+#: src/pyams_content/component/video/provider/interfaces.py:55
+msgid "Stop at"
+msgstr "S'arrêter à"
+
+#: src/pyams_content/component/video/provider/interfaces.py:56
+msgid ""
+"Position at which to stop video, in 'seconds' or 'minutes:seconds' format"
+msgstr ""
+"Position à laquelle arrêter la vidéo, en secondes ou sous la forme 'minutes:"
+"secondes'"
+
+#: src/pyams_content/component/video/provider/interfaces.py:59
+#: src/pyams_content/component/video/provider/interfaces.py:127
+#: src/pyams_content/component/video/provider/interfaces.py:205
+msgid "Auto play?"
+msgstr "Lecture automatique ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:60
+#: src/pyams_content/component/video/provider/interfaces.py:128
+#: src/pyams_content/component/video/provider/interfaces.py:206
+msgid "If 'yes', video is started automatically on page load"
+msgstr ""
+"Si 'oui', la vidéo est démarrée automatiquement au chargement de la page"
+
+#: src/pyams_content/component/video/provider/interfaces.py:64
+#: src/pyams_content/component/video/provider/interfaces.py:210
+msgid "Loop playback?"
+msgstr "Lecture en boucle ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:65
+#: src/pyams_content/component/video/provider/interfaces.py:211
+msgid "If 'yes', video is played indefinitely"
+msgstr "Si 'oui', la vidéo est jouée indéfiniment"
+
+#: src/pyams_content/component/video/provider/interfaces.py:69
+#: src/pyams_content/component/video/provider/interfaces.py:132
+msgid "Show video info?"
+msgstr "Afficher les infos ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:70
+#: src/pyams_content/component/video/provider/interfaces.py:133
+msgid "If 'no', video title and information won't be displayed"
+msgstr ""
+"Si 'non', le titre et les informations de la vidéo ne sont pas affichées"
+
+#: src/pyams_content/component/video/provider/interfaces.py:74
+#: src/pyams_content/component/video/provider/interfaces.py:137
+msgid "Show commands?"
+msgstr "Afficher les commandes ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:75
+#: src/pyams_content/component/video/provider/interfaces.py:138
+msgid "Show video player commands"
+msgstr "Si 'non', les commandes du lecteur vidéo ne sont pas affichées"
+
+#: src/pyams_content/component/video/provider/interfaces.py:79
+msgid "Hide branding?"
+msgstr "Masquer la marque ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:80
+msgid "If 'yes', Youtube branding won't be displayed"
+msgstr "Si 'non', la marque 'Youtube' n'est pas affichée en bas de la vidéo"
+
+#: src/pyams_content/component/video/provider/interfaces.py:84
+msgid "Show related videos?"
+msgstr "Vidéos liées ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:85
+msgid "Show related videos when video end"
+msgstr ""
+"Si 'non', les vidéos liées ne sont pas affichées lorsque la vidéo se termine"
+
+#: src/pyams_content/component/video/provider/interfaces.py:89
+#: src/pyams_content/component/video/provider/interfaces.py:157
+#: src/pyams_content/component/video/provider/interfaces.py:215
+msgid "Allow full screen?"
+msgstr "Mode plein écran ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:90
+#: src/pyams_content/component/video/provider/interfaces.py:158
+#: src/pyams_content/component/video/provider/interfaces.py:216
+msgid "If 'yes', video can be displayed in full screen"
+msgstr "Si 'non', la vidéo ne peut pas être affichée en plein écran"
+
+#: src/pyams_content/component/video/provider/interfaces.py:94
+msgid "Disable keyboard?"
+msgstr "Clavier inactif ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:95
+msgid "If 'yes', video player can't be controlled via keyboard shortcuts"
+msgstr "Si 'oui', le lecteur vidéo ne peut pas être controllé avec le clavier"
+
+#: src/pyams_content/component/video/provider/interfaces.py:104
+msgid ""
+"To get video ID, just use the 'Share' button in Dailymotion platform, click "
+"on \"Copy link\" and paste the given URL here"
+msgstr ""
+"Pour obtenir l'ID de la vidéo, utilisez le bouton \"Partager\" sur "
+"Dailymotion, cliquez sur le lien \"Copy link\" et collez l'URL obtenue dans "
+"ce champ"
+
+#: src/pyams_content/component/video/provider/interfaces.py:142
+msgid "UI theme"
+msgstr "Thème graphique"
+
+#: src/pyams_content/component/video/provider/interfaces.py:143
+msgid "Default base color theme"
+msgstr "Couleur de base du thème graphique"
+
+#: src/pyams_content/component/video/provider/interfaces.py:147
+msgid "Show branding?"
+msgstr "Afficher la marque ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:148
+msgid "If 'no', Dailymotion branding won't be displayed"
+msgstr ""
+"Si 'non', la marque 'Dailymotion' n'est pas affichée en bas de la vidéo"
+
+#: src/pyams_content/component/video/provider/interfaces.py:152
+msgid "Show end screen?"
+msgstr "Écran de fin ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:153
+msgid "Show end screen when video end"
+msgstr ""
+"Si 'non', les vidéos liées ne sont pas affichées lorsque la vidéo se termine"
+
+#: src/pyams_content/component/video/provider/interfaces.py:162
+msgid "Allow sharing?"
+msgstr "Autoriser le partage ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:163
+msgid "If 'no', video sharing will be disabled"
+msgstr "Si 'non', le partage de la vidéo ne sera pas autorisé"
+
+#: src/pyams_content/component/video/provider/interfaces.py:172
+msgid ""
+"To get video ID, just use the 'Share' button in Vimeo platform, click on "
+"\"Link\" entry and copy/paste the given URL here"
+msgstr ""
+"Pour obtenir l'ID de la vidéo, utilisez le bouton \"Partager\" sur Vimeo, "
+"cliquez sur l'entrée \"Lien\" et copiez/collez l'URL obtenue dans ce champ"
+
+#: src/pyams_content/component/video/provider/interfaces.py:190
+msgid "Show title?"
+msgstr "Afficher le titre ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:191
+msgid "If 'no', video title won't be displayed"
+msgstr "Si 'non', le titre de la vidéo ne sera pas affiché"
+
+#: src/pyams_content/component/video/provider/interfaces.py:195
+msgid "Show signature?"
+msgstr "Afficher la signature ?"
+
+#: src/pyams_content/component/video/provider/interfaces.py:196
+msgid "If 'no', video signature won't be displayed"
+msgstr "Si 'non', la signature de la vidéo ne sera pas affichée"
+
+#: src/pyams_content/component/video/provider/interfaces.py:200
+msgid "Infos color"
+msgstr "Couleur des infos"
+
+#: src/pyams_content/component/video/provider/interfaces.py:201
+msgid "Color used for title and signature"
+msgstr ""
+"Couleur utilisée pour le titre, la signature et les commandes du lecteur"
+
+#: src/pyams_content/component/video/provider/youtube.py:96
+msgid "Youtube settings"
+msgstr "Paramétres Youtube"
+
+#: src/pyams_content/component/video/zmi/paragraph.py:60
+msgid "External video..."
+msgstr "Vidéo externe"
+
+#: src/pyams_content/component/video/zmi/paragraph.py:71
+msgid "Add new external video..."
+msgstr "Ajout d'une vidéo externe"
+
+#: src/pyams_content/component/video/zmi/paragraph.py:139
+msgid "Video provider is required"
+msgstr "Le nom du fournisseur est obligatoire"
+
+#: src/pyams_content/component/video/zmi/paragraph.py:161
+#: src/pyams_content/component/video/zmi/paragraph.py:210
+msgid "Video provider settings"
+msgstr "Paramètres liés au fournisseur"
+
+#: src/pyams_content/component/video/interfaces/__init__.py:52
+msgid "Video provider"
+msgstr "Fournisseur"
+
+#: src/pyams_content/component/video/interfaces/__init__.py:53
+msgid "Name of external platform providing selected video"
+msgstr "Nom de la plate-forme externe fournissant la vidéo à afficher"
+
+#: src/pyams_content/shared/common/__init__.py:234
+#: src/pyams_content/shared/common/zmi/properties.py:67
+#: src/pyams_content/shared/common/zmi/manager.py:90
 msgid "Properties"
 msgstr "Propriétés"
 
@@ -937,153 +1528,153 @@
 msgid "{date} by {principal}"
 msgstr "{date} par {principal}"
 
-#: src/pyams_content/shared/common/__init__.py:253
+#: src/pyams_content/shared/common/__init__.py:257
 #, python-format
 msgid "title length should be between 40 and 66 characters ({length} actually)"
 msgstr ""
 "Le titre devrait être composé de 40 à 66 caractères ({length} actuellement)"
 
-#: src/pyams_content/shared/common/zmi/search.py:87
+#: src/pyams_content/shared/common/zmi/search.py:88
 #: src/pyams_content/root/zmi/search.py:85
 msgid "Quick search results"
 msgstr "Résultats de la recherche rapide"
 
-#: src/pyams_content/shared/common/zmi/search.py:142
-#: src/pyams_content/shared/common/zmi/search.py:175
+#: src/pyams_content/shared/common/zmi/search.py:152
+#: src/pyams_content/shared/common/zmi/search.py:185
 #: src/pyams_content/root/zmi/search.py:140
 #: src/pyams_content/root/zmi/search.py:173
 msgid "Advanced search"
 msgstr "Recherche avancée"
 
-#: src/pyams_content/shared/common/zmi/search.py:267
+#: src/pyams_content/shared/common/zmi/search.py:277
 #: src/pyams_content/root/zmi/search.py:253
 msgid "Advanced search results"
 msgstr "Résultats de la recherche avancée"
 
-#: src/pyams_content/shared/common/zmi/search.py:150
+#: src/pyams_content/shared/common/zmi/search.py:160
 #: src/pyams_content/shared/common/zmi/dashboard.py:231
 #: src/pyams_content/root/zmi/search.py:152
 msgid "Owner"
 msgstr "Propriétaire"
 
-#: src/pyams_content/shared/common/zmi/search.py:153
+#: src/pyams_content/shared/common/zmi/search.py:163
 #: src/pyams_content/shared/common/zmi/dashboard.py:154
 msgid "Status"
 msgstr "Statut"
 
-#: src/pyams_content/shared/common/zmi/search.py:157
+#: src/pyams_content/shared/common/zmi/search.py:167
 #: src/pyams_content/root/zmi/search.py:155
 msgid "Created after..."
 msgstr "Créé entre le"
 
-#: src/pyams_content/shared/common/zmi/search.py:160
+#: src/pyams_content/shared/common/zmi/search.py:170
 #: src/pyams_content/root/zmi/search.py:158
 msgid "Created before..."
 msgstr "et le"
 
-#: src/pyams_content/shared/common/zmi/search.py:163
+#: src/pyams_content/shared/common/zmi/search.py:173
 #: src/pyams_content/root/zmi/search.py:161
 msgid "Modified after..."
 msgstr "Modifié entre le"
 
-#: src/pyams_content/shared/common/zmi/search.py:166
+#: src/pyams_content/shared/common/zmi/search.py:176
 #: src/pyams_content/root/zmi/search.py:164
 msgid "Modified before..."
 msgstr "et le"
 
-#: src/pyams_content/shared/common/zmi/properties.py:56
+#: src/pyams_content/shared/common/zmi/properties.py:57
 msgid "Composition"
 msgstr "Composition"
 
-#: src/pyams_content/shared/common/zmi/properties.py:77
+#: src/pyams_content/shared/common/zmi/properties.py:78
 msgid "Content properties"
 msgstr "Propriétés élémentaires"
 
-#: src/pyams_content/shared/common/zmi/types.py:62
+#: src/pyams_content/shared/common/zmi/types.py:65
 msgid "Data types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/shared/common/zmi/types.py:129
+#: src/pyams_content/shared/common/zmi/types.py:132
 msgid "Data type label"
 msgstr "Libellé du type"
 
-#: src/pyams_content/shared/common/zmi/types.py:167
-#: src/pyams_content/shared/common/zmi/types.py:409
+#: src/pyams_content/shared/common/zmi/types.py:170
+#: src/pyams_content/shared/common/zmi/types.py:412
 msgid "Default associations"
 msgstr "Associations par défaut"
 
-#: src/pyams_content/shared/common/zmi/types.py:188
+#: src/pyams_content/shared/common/zmi/types.py:191
 msgid "Content data types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/shared/common/zmi/types.py:242
+#: src/pyams_content/shared/common/zmi/types.py:245
 msgid "Add data type"
 msgstr "Ajouter un type"
 
-#: src/pyams_content/shared/common/zmi/types.py:253
+#: src/pyams_content/shared/common/zmi/types.py:256
 msgid "Add new data type"
 msgstr "Ajout d'un type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types.py:297
+#: src/pyams_content/shared/common/zmi/types.py:300
 msgid "Data type properties"
 msgstr "Propriétés du type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types.py:372
+#: src/pyams_content/shared/common/zmi/types.py:375
 msgid "Subtype label"
 msgstr "Libellé du sous-type"
 
-#: src/pyams_content/shared/common/zmi/types.py:474
+#: src/pyams_content/shared/common/zmi/types.py:477
 msgid "Add subtype"
 msgstr "Ajouter un sous-type"
 
-#: src/pyams_content/shared/common/zmi/types.py:485
+#: src/pyams_content/shared/common/zmi/types.py:488
 msgid "Add new subtype"
 msgstr "Ajout d'un sous-type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types.py:542
+#: src/pyams_content/shared/common/zmi/types.py:545
 msgid "Data subtype properties"
 msgstr "Propriétés du fichier standard"
 
-#: src/pyams_content/shared/common/zmi/types.py:105
+#: src/pyams_content/shared/common/zmi/types.py:108
 msgid "No currently defined data type."
 msgstr "Aucun type de contenu n'est actuellement défini."
 
-#: src/pyams_content/shared/common/zmi/types.py:281
+#: src/pyams_content/shared/common/zmi/types.py:284
 msgid "Specified type name is already used!"
 msgstr "Le nom indiqué pour ce type de contenu est déjà utilisé !"
 
-#: src/pyams_content/shared/common/zmi/types.py:513
+#: src/pyams_content/shared/common/zmi/types.py:516
 msgid "Specified subtype name is already used!"
 msgstr "Le nom indiqué pour ce sous-type de contenu est déjà utilisé !"
 
-#: src/pyams_content/shared/common/zmi/types.py:526
+#: src/pyams_content/shared/common/zmi/types.py:529
 msgid "Subtype was correctly added."
 msgstr "Le sous-type a été ajouté."
 
-#: src/pyams_content/shared/common/zmi/types.py:139
+#: src/pyams_content/shared/common/zmi/types.py:142
 msgid "Click to see subtypes"
 msgstr "Montrer ou caher les sous-types"
 
-#: src/pyams_content/shared/common/zmi/types.py:209
+#: src/pyams_content/shared/common/zmi/types.py:212
 msgid "Given data type doesn't exist!"
 msgstr "Le type de contenu indiqué n'existe pas !"
 
-#: src/pyams_content/shared/common/zmi/types.py:458
+#: src/pyams_content/shared/common/zmi/types.py:461
 msgid "Given data subtype doesn't exist!"
 msgstr "Le sous-type de contenu indiqué n'existe pas !"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:115
-#: src/pyams_content/shared/common/zmi/workflow.py:206
-#: src/pyams_content/shared/common/zmi/workflow.py:251
-#: src/pyams_content/shared/common/zmi/workflow.py:310
-#: src/pyams_content/shared/common/zmi/workflow.py:403
-#: src/pyams_content/shared/common/zmi/workflow.py:464
-#: src/pyams_content/shared/common/zmi/workflow.py:509
-#: src/pyams_content/shared/common/zmi/workflow.py:555
-#: src/pyams_content/shared/common/zmi/workflow.py:603
-#: src/pyams_content/shared/common/zmi/workflow.py:648
-#: src/pyams_content/shared/common/zmi/workflow.py:694
-#: src/pyams_content/shared/common/zmi/workflow.py:747
+#: src/pyams_content/shared/common/zmi/workflow.py:207
+#: src/pyams_content/shared/common/zmi/workflow.py:252
+#: src/pyams_content/shared/common/zmi/workflow.py:311
+#: src/pyams_content/shared/common/zmi/workflow.py:405
+#: src/pyams_content/shared/common/zmi/workflow.py:466
+#: src/pyams_content/shared/common/zmi/workflow.py:511
+#: src/pyams_content/shared/common/zmi/workflow.py:557
+#: src/pyams_content/shared/common/zmi/workflow.py:605
+#: src/pyams_content/shared/common/zmi/workflow.py:650
+#: src/pyams_content/shared/common/zmi/workflow.py:696
+#: src/pyams_content/shared/common/zmi/workflow.py:750
 #: src/pyams_content/shared/common/zmi/__init__.py:272
 #: src/pyams_content/shared/common/zmi/owner.py:74
 #: src/pyams_content/features/review/zmi/__init__.py:90
@@ -1094,73 +1685,77 @@
 msgid "Request publication"
 msgstr "Demander la publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:207
+#: src/pyams_content/shared/common/zmi/workflow.py:208
 #: src/pyams_content/workflow/__init__.py:315
 msgid "Cancel publication request"
 msgstr "Annuler la demande de publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:252
+#: src/pyams_content/shared/common/zmi/workflow.py:253
 msgid "Refuse publication request"
 msgstr "Refuser la demande de publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:311
+#: src/pyams_content/shared/common/zmi/workflow.py:312
+#: src/pyams_content/workflow/basic.py:196
 msgid "Publish"
 msgstr "Publier"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:404
+#: src/pyams_content/shared/common/zmi/workflow.py:406
 msgid "Request retire"
 msgstr "Demander le retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:465
+#: src/pyams_content/shared/common/zmi/workflow.py:467
 msgid "Cancel retire request"
 msgstr "Annuler la demande de retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:510
+#: src/pyams_content/shared/common/zmi/workflow.py:512
 msgid "Retire"
 msgstr "Retirer"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:556
+#: src/pyams_content/shared/common/zmi/workflow.py:558
 #: src/pyams_content/workflow/__init__.py:436
 msgid "Request archive"
 msgstr "Demander l'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:604
+#: src/pyams_content/shared/common/zmi/workflow.py:606
 msgid "Cancel archive request"
 msgstr "Annuler la demande d'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:649
+#: src/pyams_content/shared/common/zmi/workflow.py:651
 msgid "Archive"
 msgstr "Archiver"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:695
+#: src/pyams_content/shared/common/zmi/workflow.py:697
 #: src/pyams_content/workflow/__init__.py:501
 #: src/pyams_content/workflow/__init__.py:513
 #: src/pyams_content/workflow/__init__.py:525
 #: src/pyams_content/workflow/__init__.py:537
 #: src/pyams_content/workflow/__init__.py:549
+#: src/pyams_content/workflow/basic.py:224
+#: src/pyams_content/workflow/basic.py:236
 msgid "Create new version"
 msgstr "Créer une nouvelle version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:748
+#: src/pyams_content/shared/common/zmi/workflow.py:751
 #: src/pyams_content/workflow/__init__.py:561
+#: src/pyams_content/workflow/basic.py:248
 msgid "Delete version"
 msgstr "Supprimer cette version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:177
-#: src/pyams_content/shared/common/zmi/workflow.py:373
+#: src/pyams_content/shared/common/zmi/workflow.py:178
+#: src/pyams_content/shared/common/zmi/workflow.py:375
 msgid "Publication start date is required"
 msgstr "La date de début de publication est obligatoire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:280
-#: src/pyams_content/shared/common/zmi/workflow.py:435
+#: src/pyams_content/shared/common/zmi/workflow.py:281
+#: src/pyams_content/shared/common/zmi/workflow.py:437
 msgid "A comment is required"
 msgstr "Le commentaire est obligatoire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:771
+#: src/pyams_content/shared/common/zmi/workflow.py:774
 msgid "Delete content"
 msgstr "Supprimer définitivement ce contenu"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:780
+#: src/pyams_content/shared/common/zmi/workflow.py:783
 msgid "Delete definitively"
 msgstr "Supprimer définitivement"
 
@@ -1170,8 +1765,10 @@
 msgstr "{state} | par {principal}"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:76
-#: src/pyams_content/workflow/__init__.py:617
-#: src/pyams_content/workflow/__init__.py:640
+#: src/pyams_content/workflow/__init__.py:648
+#: src/pyams_content/workflow/__init__.py:619
+#: src/pyams_content/workflow/basic.py:315
+#: src/pyams_content/workflow/basic.py:286
 #, python-format
 msgid "{state} {date}"
 msgstr "{state} {date}"
@@ -1192,14 +1789,14 @@
 msgid "Duplicate this content"
 msgstr "Dupliquer ce contenu"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:333
+#: src/pyams_content/shared/common/zmi/__init__.py:334
 #, python-format
 msgid "Clone created from version {source} of {oid} (in « {state} » state)"
 msgstr ""
 "Duplication de la version {source} du contenu {oid} (alors en statut "
 "« {state} »)"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:382
+#: src/pyams_content/shared/common/zmi/__init__.py:383
 msgid "Created or modified in this version"
 msgstr "Créé ou modifié dans cette version"
 
@@ -1246,19 +1843,19 @@
 msgid "{state} since {date}, by {principal}"
 msgstr "{state} depuis {date} par {principal}"
 
-#: src/pyams_content/shared/common/zmi/manager.py:75
+#: src/pyams_content/shared/common/zmi/manager.py:76
 msgid "Tool management"
 msgstr "Gérer l'outil partagé"
 
-#: src/pyams_content/shared/common/zmi/manager.py:99
+#: src/pyams_content/shared/common/zmi/manager.py:100
 msgid "Shared tool properties"
 msgstr "Propriétés de l'outil"
 
-#: src/pyams_content/shared/common/zmi/manager.py:119
+#: src/pyams_content/shared/common/zmi/manager.py:120
 msgid "WARNING"
 msgstr "ATTENTION"
 
-#: src/pyams_content/shared/common/zmi/manager.py:121
+#: src/pyams_content/shared/common/zmi/manager.py:122
 msgid ""
 "Workflow shouldn't be modified if this tool already contains any shared "
 "content!"
@@ -1266,15 +1863,15 @@
 "Le workflow ne doit pas être modifié si cet outil renferme déjà des contenus "
 "partagés !"
 
-#: src/pyams_content/shared/common/zmi/manager.py:144
+#: src/pyams_content/shared/common/zmi/manager.py:145
 msgid "Languages"
 msgstr "Langues"
 
-#: src/pyams_content/shared/common/zmi/manager.py:155
+#: src/pyams_content/shared/common/zmi/manager.py:156
 msgid "Content languages"
 msgstr "Langues pour la traduction de cet outil"
 
-#: src/pyams_content/shared/common/zmi/manager.py:172
+#: src/pyams_content/shared/common/zmi/manager.py:173
 msgid ""
 "Tool languages are used to translate own tool properties, and newly created "
 "contents will propose these languages by default"
@@ -1291,7 +1888,7 @@
 msgid "Change content's owner"
 msgstr "Changement de propriétaire"
 
-#: src/pyams_content/shared/common/zmi/owner.py:131
+#: src/pyams_content/shared/common/zmi/owner.py:132
 msgid ""
 "All versions of this content which are not archived will be transferred to "
 "newly selected owner"
@@ -1936,7 +2533,7 @@
 msgstr "Ce contenu est déjà retiré et n'est plus visible des internautes."
 
 #: src/pyams_content/shared/common/interfaces/types.py:35
-#: src/pyams_content/shared/form/zmi/field.py:158
+#: src/pyams_content/shared/form/zmi/field.py:160
 msgid "Name"
 msgstr "Nom"
 
@@ -1945,7 +2542,7 @@
 msgstr "Nom de ce type de donnée ; doit être unique entre tous les types"
 
 #: src/pyams_content/shared/common/interfaces/types.py:39
-#: src/pyams_content/shared/form/zmi/field.py:169
+#: src/pyams_content/shared/form/zmi/field.py:171
 #: src/pyams_content/shared/form/interfaces/__init__.py:57
 msgid "Label"
 msgstr "Libellé"
@@ -2140,13 +2737,13 @@
 
 #: src/pyams_content/shared/common/interfaces/__init__.py:146
 #: src/pyams_content/shared/site/zmi/folder.py:71
-#: src/pyams_content/shared/site/interfaces/__init__.py:57
+#: src/pyams_content/shared/site/interfaces/__init__.py:56
 msgid "Notepad"
 msgstr "Bloc-notes"
 
 #: src/pyams_content/shared/common/interfaces/__init__.py:147
 #: src/pyams_content/shared/site/zmi/folder.py:72
-#: src/pyams_content/shared/site/interfaces/__init__.py:58
+#: src/pyams_content/shared/site/interfaces/__init__.py:57
 msgid "Internal information to be known about this content"
 msgstr ""
 "Pour prendre note d'informations internes utiles ou importantes à propos de "
@@ -2238,43 +2835,43 @@
 msgid "No selected handler..."
 msgstr "Aucun gestionnaire sélectionné"
 
-#: src/pyams_content/shared/form/field.py:148
+#: src/pyams_content/shared/form/field.py:147
 msgid "Text"
 msgstr "Texte simple"
 
-#: src/pyams_content/shared/form/field.py:158
+#: src/pyams_content/shared/form/field.py:157
 msgid "Multi-lines text"
 msgstr "Texte multi-lignes"
 
-#: src/pyams_content/shared/form/field.py:168
+#: src/pyams_content/shared/form/field.py:167
 msgid "Boolean"
 msgstr "Booléen"
 
-#: src/pyams_content/shared/form/field.py:178
+#: src/pyams_content/shared/form/field.py:177
 msgid "Integer"
 msgstr "Nombre entier"
 
-#: src/pyams_content/shared/form/field.py:188
+#: src/pyams_content/shared/form/field.py:187
 msgid "Decimal"
 msgstr "Nombre décimal"
 
-#: src/pyams_content/shared/form/field.py:198
+#: src/pyams_content/shared/form/field.py:197
 msgid "E-mail address"
 msgstr "Adresse de messagerie"
 
-#: src/pyams_content/shared/form/field.py:208
+#: src/pyams_content/shared/form/field.py:207
 msgid "URI"
 msgstr "URI"
 
-#: src/pyams_content/shared/form/field.py:218
+#: src/pyams_content/shared/form/field.py:217
 msgid "Date"
 msgstr "Date"
 
-#: src/pyams_content/shared/form/field.py:232
+#: src/pyams_content/shared/form/field.py:231
 msgid "Choice"
 msgstr "Choix unique dans une liste"
 
-#: src/pyams_content/shared/form/field.py:252
+#: src/pyams_content/shared/form/field.py:251
 msgid "List"
 msgstr "Choix multiples dans une liste"
 
@@ -2300,41 +2897,41 @@
 msgid "Form « {title} »"
 msgstr "Formulaire « {title} »"
 
-#: src/pyams_content/shared/form/zmi/field.py:65
+#: src/pyams_content/shared/form/zmi/field.py:67
 msgid "Form fields..."
 msgstr "Champs de saisie"
 
-#: src/pyams_content/shared/form/zmi/field.py:127
+#: src/pyams_content/shared/form/zmi/field.py:129
 msgid "Switch field visibility"
 msgstr "Cliquez pour rendre le champ visible ou non"
 
-#: src/pyams_content/shared/form/zmi/field.py:180
+#: src/pyams_content/shared/form/zmi/field.py:182
 #: src/pyams_content/shared/form/interfaces/__init__.py:52
 msgid "Field type"
 msgstr "Type de champ"
 
-#: src/pyams_content/shared/form/zmi/field.py:213
+#: src/pyams_content/shared/form/zmi/field.py:215
 msgid "Form fields list"
 msgstr "Liste des champs du formulaire"
 
-#: src/pyams_content/shared/form/zmi/field.py:249
-#: src/pyams_content/shared/form/zmi/field.py:260
+#: src/pyams_content/shared/form/zmi/field.py:251
+#: src/pyams_content/shared/form/zmi/field.py:262
 msgid "Add form field"
 msgstr "Ajouter un champ"
 
-#: src/pyams_content/shared/form/zmi/field.py:306
+#: src/pyams_content/shared/form/zmi/field.py:308
 msgid "Edit form field properties"
 msgstr "Propriétés du champ"
 
-#: src/pyams_content/shared/form/zmi/field.py:189
+#: src/pyams_content/shared/form/zmi/field.py:191
 msgid "-- unknown field type --"
 msgstr "-- type de champ inconnu --"
 
-#: src/pyams_content/shared/form/zmi/field.py:108
+#: src/pyams_content/shared/form/zmi/field.py:110
 msgid "No currently defined form field."
 msgstr "Ce formulaire ne comporte aucun champ."
 
-#: src/pyams_content/shared/form/zmi/field.py:285
+#: src/pyams_content/shared/form/zmi/field.py:287
 msgid "Specified name is already used!"
 msgstr "Le nom indiqué pour ce champ est déjà utilisé !"
 
@@ -2580,68 +3177,78 @@
 msgid "First publication date"
 msgstr "Date de première publication"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:124
+#: src/pyams_content/shared/view/interfaces/__init__.py:140
 msgid "Always include selected internal references"
 msgstr "Toujours inclure toutes les références internes"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:125
+#: src/pyams_content/shared/view/interfaces/__init__.py:141
 msgid "Include selected internal references only if empty"
 msgstr "Inclure les références internes seulement lorsque la vue est vide"
 
 #: src/pyams_content/shared/view/interfaces/__init__.py:56
+msgid "Select context type?"
+msgstr "Type du contexte ?"
+
+#: src/pyams_content/shared/view/interfaces/__init__.py:57
+msgid "If 'yes', content type will be extracted from context"
+msgstr ""
+"Si 'oui', seuls des contenus du même type que le contexte seront "
+"automatiquement sélectionnés"
+
+#: src/pyams_content/shared/view/interfaces/__init__.py:61
 #: src/pyams_content/root/zmi/search.py:148
 msgid "Content types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:57
+#: src/pyams_content/shared/view/interfaces/__init__.py:62
 msgid "Selected content types; leave empty for all"
 msgstr "Types de contenus sélectionnés ; laisser vide pour tous"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:61
+#: src/pyams_content/shared/view/interfaces/__init__.py:69
 msgid "Order by"
 msgstr "Ordre de tri"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:62
+#: src/pyams_content/shared/view/interfaces/__init__.py:70
 msgid "Property to use to sort results"
 msgstr "Propriété utilisée pour trier les résultats"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:67
+#: src/pyams_content/shared/view/interfaces/__init__.py:75
 msgid "Reversed order?"
 msgstr "Ordre inverse ?"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:68
+#: src/pyams_content/shared/view/interfaces/__init__.py:76
 msgid "If 'yes', items order will be reversed"
 msgstr "Si 'oui', le tri se fera en ordre descendant"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:72
+#: src/pyams_content/shared/view/interfaces/__init__.py:80
 msgid "Results count limit"
 msgstr "Limite de résultats"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:73
+#: src/pyams_content/shared/view/interfaces/__init__.py:81
 msgid "Maximum number of results that the view may retrieve"
 msgstr "Nombre maximal de résultats que la vue doit renvoyer"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:134
+#: src/pyams_content/shared/view/interfaces/__init__.py:150
 msgid "Internal references usage"
 msgstr "Utilisation des références internes"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:135
+#: src/pyams_content/shared/view/interfaces/__init__.py:151
 msgid "Specify how selected references are included into view results"
 msgstr ""
 "Indique comment les références internes indiquées seront intégrées à la "
 "liste des résultats"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:147
+#: src/pyams_content/shared/view/interfaces/__init__.py:163
 msgid "Select context themes?"
 msgstr "Thèmes du contexte ?"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:148
+#: src/pyams_content/shared/view/interfaces/__init__.py:164
 msgid "If 'yes', themes will be extracted from context"
 msgstr ""
 "Si 'oui', les thèmes associés au contexte d'application de la vue seront "
 "automatiquement sélectionnés"
 
-#: src/pyams_content/shared/view/interfaces/__init__.py:152
+#: src/pyams_content/shared/view/interfaces/__init__.py:168
 msgid "Other terms"
 msgstr "Autres thèmes"
 
@@ -2651,12 +3258,26 @@
 msgid "Image map"
 msgstr "Image cliquable"
 
+#: src/pyams_content/shared/imagemap/paragraph.py:85
+msgid "no selected image map"
+msgstr "aucune image cliquable sélectionnée"
+
+#: src/pyams_content/shared/imagemap/paragraph.py:91
+#, python-format
+msgid "image map '{0}' can't be found"
+msgstr "l'image cliquable '{0}' est introuvable"
+
+#: src/pyams_content/shared/imagemap/paragraph.py:99
+#, python-format
+msgid "image map '{0}' is not published"
+msgstr "l'image cliquable '{0}' n'est pas publiée"
+
 #: src/pyams_content/shared/imagemap/__init__.py:149
 msgid "no area defined"
 msgstr "aucune zone définie"
 
 #: src/pyams_content/shared/imagemap/zmi/paragraph.py:54
-msgid "Add image map..."
+msgid "Image map..."
 msgstr "Image cliquable"
 
 #: src/pyams_content/shared/imagemap/zmi/paragraph.py:65
@@ -2664,6 +3285,7 @@
 msgstr "Ajout d'une image cliquable"
 
 #: src/pyams_content/shared/imagemap/zmi/paragraph.py:95
+#: src/pyams_content/shared/logo/zmi/paragraph.py:95
 msgid "Edit paragraph properties"
 msgstr "Propriétés de l'image cliquable"
 
@@ -2754,7 +3376,11 @@
 msgid "List of defined map areas"
 msgstr "Liste des zones cliquables définies sur l'image"
 
-#: src/pyams_content/shared/imagemap/interfaces/__init__.py:82
+#: src/pyams_content/shared/imagemap/interfaces/__init__.py:84
+msgid "Internal reference"
+msgstr "Référence interne"
+
+#: src/pyams_content/shared/imagemap/interfaces/__init__.py:85
 msgid "Reference to image map object"
 msgstr ""
 "Référence interne de l'image cliquable. Vous pouvez la rechercher par des "
@@ -2884,18 +3510,87 @@
 msgid "A site manager is already registered with this name!!"
 msgstr "Un site est déjà inscrit dans le registre avec ce nom !"
 
-#: src/pyams_content/shared/site/interfaces/__init__.py:78
+#: src/pyams_content/shared/site/interfaces/__init__.py:77
 msgid "Topic"
 msgstr "Article"
 
-#: src/pyams_content/shared/site/interfaces/__init__.py:99
+#: src/pyams_content/shared/site/interfaces/__init__.py:92
 msgid "Content title, as shown in front-office"
 msgstr "Titre présenté aux internautes"
 
-#: src/pyams_content/shared/site/interfaces/__init__.py:103
+#: src/pyams_content/shared/site/interfaces/__init__.py:96
 msgid "If 'no', link is not visible"
 msgstr "Si 'non', le lien ne sera pas visible"
 
+#: src/pyams_content/shared/logo/paragraph.py:46
+#: src/pyams_content/shared/logo/paragraph.py:63
+msgid "Logos"
+msgstr "Logos"
+
+#: src/pyams_content/shared/logo/paragraph.py:94
+msgid "no selected logo"
+msgstr "aucun logo sélectionné"
+
+#: src/pyams_content/shared/logo/paragraph.py:100
+#, python-format
+msgid "logo '{0}' can't be found"
+msgstr "le logo '{0}' est introuvable"
+
+#: src/pyams_content/shared/logo/paragraph.py:108
+#, python-format
+msgid "logo '{0}' is not published"
+msgstr "le logo '{0}' n'est pas publié"
+
+#: src/pyams_content/shared/logo/__init__.py:63
+msgid "no image defined"
+msgstr "aucune image définie"
+
+#: src/pyams_content/shared/logo/__init__.py:66
+msgid "no URL defined"
+msgstr "aucune URL définie"
+
+#: src/pyams_content/shared/logo/zmi/paragraph.py:54
+msgid "Logos..."
+msgstr "Logos"
+
+#: src/pyams_content/shared/logo/zmi/paragraph.py:65
+msgid "Add new logos paragraph"
+msgstr "Ajout d'une sélection de logos"
+
+#: src/pyams_content/shared/logo/zmi/properties.py:38
+msgid "Main logo settings"
+msgstr "Propriétés du logo"
+
+#: src/pyams_content/shared/logo/zmi/__init__.py:45
+msgid "This logo"
+msgstr "Ce logo"
+
+#: src/pyams_content/shared/logo/zmi/__init__.py:64
+#: src/pyams_content/shared/logo/zmi/__init__.py:75
+msgid "Add logo"
+msgstr "Ajouter un logo"
+
+#: src/pyams_content/shared/logo/zmi/__init__.py:55
+#, python-format
+msgid "Logo « {title} »"
+msgstr "Logo « {title} »"
+
+#: src/pyams_content/shared/logo/interfaces/__init__.py:32
+msgid "Logo"
+msgstr "Logo"
+
+#: src/pyams_content/shared/logo/interfaces/__init__.py:62
+msgid "Logos references"
+msgstr "Logos sélectionnés"
+
+#: src/pyams_content/shared/logo/interfaces/__init__.py:63
+msgid "List of internal logos references"
+msgstr "Liste de références internes vers les logos à afficher"
+
+#: src/pyams_content/shared/logo/interfaces/__init__.py:66
+msgid "Logos template"
+msgstr "Mode de rendu"
+
 #: src/pyams_content/shared/blog/zmi/__init__.py:49
 msgid "This blog post"
 msgstr "Cet article"
@@ -3005,23 +3700,8 @@
 "Tous les utilisateurs auxquels sera attribué un rôle seront placés dans ce "
 "groupe"
 
-#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:47
-msgid "Shared sites"
-msgstr "Sites et blogs"
-
-#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:66
-msgid "Shared contents"
-msgstr "Contenus"
-
-#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:87
-msgid "My roles"
-msgstr "Mes rôles"
-
-#: src/pyams_content/zmi/viewlet/toplinks/templates/user-addings.pt:7
-msgid "Create new content"
-msgstr "Créer un nouveau contenu"
-
 #: src/pyams_content/workflow/__init__.py:70
+#: src/pyams_content/workflow/basic.py:53
 msgid "Draft"
 msgstr "Brouillon"
 
@@ -3038,6 +3718,7 @@
 msgstr "Refusé"
 
 #: src/pyams_content/workflow/__init__.py:74
+#: src/pyams_content/workflow/basic.py:54
 msgid "Published"
 msgstr "Publié"
 
@@ -3054,14 +3735,17 @@
 msgstr "Archivage demandé"
 
 #: src/pyams_content/workflow/__init__.py:78
+#: src/pyams_content/workflow/basic.py:55
 msgid "Archived"
 msgstr "Archivé"
 
 #: src/pyams_content/workflow/__init__.py:79
+#: src/pyams_content/workflow/basic.py:56
 msgid "Deleted"
 msgstr "Supprimé"
 
 #: src/pyams_content/workflow/__init__.py:84
+#: src/pyams_content/workflow/basic.py:61
 msgid "draft created"
 msgstr "brouillon créé"
 
@@ -3070,6 +3754,7 @@
 msgstr "publication demandée"
 
 #: src/pyams_content/workflow/__init__.py:86
+#: src/pyams_content/workflow/basic.py:62
 msgid "published"
 msgstr "publié"
 
@@ -3086,14 +3771,17 @@
 msgstr "archivage demandé"
 
 #: src/pyams_content/workflow/__init__.py:90
+#: src/pyams_content/workflow/basic.py:63
 msgid "archived"
 msgstr "archivé"
 
 #: src/pyams_content/workflow/__init__.py:279
+#: src/pyams_content/workflow/basic.py:190
 msgid "Initialize"
 msgstr "Création"
 
 #: src/pyams_content/workflow/__init__.py:282
+#: src/pyams_content/workflow/basic.py:193
 msgid "Draft creation"
 msgstr "Création du brouillon"
 
@@ -3176,10 +3864,12 @@
 msgstr "Retour automatique en status 'refusé'"
 
 #: src/pyams_content/workflow/__init__.py:383
+#: src/pyams_content/workflow/basic.py:204
 msgid "Content published"
 msgstr "Publication"
 
 #: src/pyams_content/workflow/__init__.py:385
+#: src/pyams_content/workflow/basic.py:206
 #, python-format
 msgid "published the content « {0} »"
 msgstr "a publié le contenu « {0} »"
@@ -3254,14 +3944,17 @@
 msgstr "a annulé la demande d'archivage du contenu « {0} »"
 
 #: src/pyams_content/workflow/__init__.py:463
+#: src/pyams_content/workflow/basic.py:210
 msgid "Archive content"
 msgstr "Archiver"
 
 #: src/pyams_content/workflow/__init__.py:471
+#: src/pyams_content/workflow/basic.py:218
 msgid "Content archived"
 msgstr "Archivage"
 
 #: src/pyams_content/workflow/__init__.py:473
+#: src/pyams_content/workflow/basic.py:220
 #, python-format
 msgid "archived content « {0} »"
 msgstr "a archivé le contenu « {0} »"
@@ -3289,27 +3982,40 @@
 #: src/pyams_content/workflow/__init__.py:533
 #: src/pyams_content/workflow/__init__.py:545
 #: src/pyams_content/workflow/__init__.py:557
+#: src/pyams_content/workflow/basic.py:232
+#: src/pyams_content/workflow/basic.py:244
 msgid "New version created"
 msgstr "Création d'une nouvelle version"
 
 #: src/pyams_content/workflow/__init__.py:569
+#: src/pyams_content/workflow/basic.py:256
 msgid "Version deleted"
 msgstr "Version supprimée"
 
-#: src/pyams_content/workflow/__init__.py:638
+#: src/pyams_content/workflow/__init__.py:622
+#: src/pyams_content/workflow/__init__.py:644
+#: src/pyams_content/workflow/basic.py:289
+#: src/pyams_content/workflow/basic.py:311
+msgid "Unknown state"
+msgstr "(statut inconnu)"
+
+#: src/pyams_content/workflow/__init__.py:646
+#: src/pyams_content/workflow/basic.py:313
 msgid "publication refused"
 msgstr "publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:636
+#: src/pyams_content/workflow/__init__.py:642
+#: src/pyams_content/workflow/basic.py:309
 msgid "new version created"
 msgstr "nouvelle version en préparation"
 
 #: src/pyams_content/workflow/__init__.py:249
+#: src/pyams_content/workflow/basic.py:160
 #, python-format
 msgid "Published version {0}"
 msgstr "Version {0} publiée"
 
-#: src/pyams_content/workflow/task.py:61
+#: src/pyams_content/workflow/task.py:62
 msgid "Automatic contents withdrawal:\n"
 msgstr ""
 "Retrait automatique des contenus après la date de fin de publication :\n"
@@ -3322,6 +4028,22 @@
 msgid "Add automatic content archiver"
 msgstr "Ajout d'une tâche d'archivage automatique"
 
+#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:47
+msgid "Shared sites"
+msgstr "Sites et blogs"
+
+#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:66
+msgid "Shared contents"
+msgstr "Contenus"
+
+#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:87
+msgid "My roles"
+msgstr "Mes rôles"
+
+#: src/pyams_content/skin/zmi/viewlet/toplinks/templates/user-addings.pt:7
+msgid "Create new content"
+msgstr "Créer un nouveau contenu"
+
 #: src/pyams_content/interfaces/__init__.py:95
 msgid "Unique key"
 msgstr "Clé unique"
@@ -3344,6 +4066,15 @@
 msgid "Modification date"
 msgstr "Dernière modification apportée"
 
+#: src/pyams_content/features/renderer/zmi/__init__.py:103
+#: src/pyams_content/features/renderer/zmi/templates/renderer-input.pt:4
+msgid "Edit renderer properties"
+msgstr "Propriétés du mode de rendu"
+
+#: src/pyams_content/features/renderer/zmi/__init__.py:132
+msgid "Hidden content"
+msgstr "Contenu non affiché"
+
 #: src/pyams_content/features/checker/interfaces.py:27
 #, python-format
 msgid " - {field}: <span class=\"text-danger\">no value</span>"
@@ -3443,11 +4174,11 @@
 msgid "Content review request"
 msgstr "Demande de relecture"
 
-#: src/pyams_content/features/review/zmi/__init__.py:167
+#: src/pyams_content/features/review/zmi/__init__.py:168
 msgid "Comments"
 msgstr "Commentaires"
 
-#: src/pyams_content/features/review/zmi/__init__.py:187
+#: src/pyams_content/features/review/zmi/__init__.py:188
 msgid "Review comments"
 msgstr "Commentaires associés à cette version"
 
@@ -3488,16 +4219,16 @@
 msgid "Ask for content review"
 msgstr "Demander la relecture"
 
-#: src/pyams_content/features/review/zmi/__init__.py:149
+#: src/pyams_content/features/review/zmi/__init__.py:150
 msgid "Request successful. No new notification have been sent"
 msgstr ""
 "Votre demande a été transmise. Aucune nouvelle notification n'a été envoyée."
 
-#: src/pyams_content/features/review/zmi/__init__.py:260
+#: src/pyams_content/features/review/zmi/__init__.py:261
 msgid "Message is mandatory!"
 msgstr "Un commentaire est obligatoire !"
 
-#: src/pyams_content/features/review/zmi/__init__.py:139
+#: src/pyams_content/features/review/zmi/__init__.py:140
 #, python-format
 msgid "Request successful. {count} new notification(s) have been sent"
 msgstr "Votre demande a été transmise. {count} notification(s) envoyée(s)."
@@ -3580,6 +4311,86 @@
 msgid "Thank you."
 msgstr "Merci."
 
+#~ msgid "Default gallery renderer"
+#~ msgstr "Galerie par défaut"
+
+#~ msgid "Add medias gallery..."
+#~ msgstr "Galerie de médias"
+
+#~ msgid "Add header paragraph..."
+#~ msgstr "Chapô"
+
+#~ msgid "Add contact card..."
+#~ msgstr "Fiche contact"
+
+#~ msgid "Add raw HTML paragraph..."
+#~ msgstr "Code HTML"
+
+#~ msgid "Add rich text paragraph..."
+#~ msgstr "Texte enrichi"
+
+#~ msgid "Add associations paragraph..."
+#~ msgstr "Associations"
+
+#~ msgid "Centered illustration"
+#~ msgstr "Illustration centrée"
+
+#~ msgid "Small illustration on the left with zoom"
+#~ msgstr "Petite illustration sur la gauche avec zoom"
+
+#~ msgid "Small illustration on the right with zoom"
+#~ msgstr "Petite illustration sur la droite avec zoom"
+
+#~ msgid "Zoom on click?"
+#~ msgstr "Zoom sur clic ?"
+
+#~ msgid "If 'yes', a click on illustration thumbnail is required to zoom"
+#~ msgstr "Si 'oui', un clic sur l'illustration agrandit l'image"
+
+#~ msgid "Add illustration..."
+#~ msgstr "Illustration"
+
+#~ msgid "Add image map..."
+#~ msgstr "Image cliquable"
+
+#~ msgid "Add logos..."
+#~ msgstr "Logos"
+
+#~ msgid "Add new identity card paragraph"
+#~ msgstr "Ajout d'une vidéo"
+
+#~ msgid "Hidden illustration"
+#~ msgstr "Illustration non affichée"
+
+#~ msgid "internal reference is not defined"
+#~ msgstr "la référence interne n'est pas définie"
+
+#~ msgid "internal references are not defined"
+#~ msgstr "aucun logo sélectionné"
+
+#~ msgid "internal reference target is not published"
+#~ msgstr "l'image cliquable référencée n'est pas publiée"
+
+#~ msgid ""
+#~ "Internal link target reference. You can search a reference using '+' "
+#~ "followed by internal number, of by entering text matching content title."
+#~ msgstr ""
+#~ "Référence interne vers la cible du lien. Vous pouvez la rechercher par "
+#~ "des mots de son titre, ou par son numéro interne (précédé d'un '+') ; le "
+#~ "titre d'origine peut être modifié en utilisant le titre de substitution."
+
+#~ msgid "Image style"
+#~ msgstr "Style de l'illustration"
+
+#~ msgid "Images gallery"
+#~ msgstr "Galeries d'images"
+
+#~ msgid "Given image name doesn't exist!"
+#~ msgstr "L'image spécifiée n'existe pas !"
+
+#~ msgid "Images data"
+#~ msgstr "Image(s) à ajouter"
+
 #~ msgid "PIF number"
 #~ msgstr "Numéro PIF"
 
@@ -3645,9 +4456,6 @@
 #~ msgid "Image title"
 #~ msgstr "Légende de l'image"
 
-#~ msgid "Illustration title"
-#~ msgstr "Légende"
-
 #~ msgid "Links"
 #~ msgstr "Liens"
 
@@ -3657,11 +4465,6 @@
 #~ msgid "Duplicate content ({oid})"
 #~ msgstr "Contenu dupliqué ({oid})"
 
-#~ msgid ""
-#~ "These paragraphs will be added automatically to any new created content."
-#~ msgstr ""
-#~ "Ces paragraphes seront ajoutés automatiquement aux nouveaux contenus."
-
 #~ msgid "Default paragraphs..."
 #~ msgstr "Paragraphes par défaut"
 
@@ -3680,9 +4483,6 @@
 #~ msgid "Area title"
 #~ msgstr "Titre de la zone"
 
-#~ msgid "Add gallery"
-#~ msgstr "Ajouter une galerie"
-
 #~ msgid "Add internal link..."
 #~ msgstr "Ajouter un lien interne..."
 
--- a/src/pyams_content/locales/pyams_content.pot	Sun Mar 11 10:51:19 2018 +0100
+++ b/src/pyams_content/locales/pyams_content.pot	Sun Mar 11 11:23:20 2018 +0100
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-01-24 16:18+0100\n"
+"POT-Creation-Date: 2018-03-09 16:03+0100\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"
@@ -79,86 +79,85 @@
 
 #: ./src/pyams_content/component/gallery/paragraph.py:40
 #: ./src/pyams_content/component/gallery/paragraph.py:47
-msgid "Images gallery"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/__init__.py:144
+msgid "Medias gallery"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/__init__.py:161
 msgid "Gallery"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/file.py:57
-#: ./src/pyams_content/component/gallery/zmi/file.py:68
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:168
-msgid "Add image(s)"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/file.py:182
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:256
-msgid "Update image properties"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/file.py:239
-msgid "Remove image..."
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/file.py:149
-msgid "Show/hide image"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/file.py:207
+#: ./src/pyams_content/component/gallery/zmi/file.py:58
+#: ./src/pyams_content/component/gallery/zmi/file.py:69
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:180
+msgid "Add media(s)"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/file.py:185
+msgid "Update media properties"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/file.py:242
+msgid "Remove media..."
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/file.py:152
+msgid "Show/hide media"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/file.py:210
 msgid "Audio content"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/file.py:255
-#: ./src/pyams_content/component/association/zmi/__init__.py:284
-#: ./src/pyams_content/shared/common/zmi/types.py:205
-#: ./src/pyams_content/shared/common/zmi/types.py:454
+#: ./src/pyams_content/component/gallery/zmi/file.py:258
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:338
+#: ./src/pyams_content/component/association/zmi/__init__.py:288
+#: ./src/pyams_content/shared/common/zmi/types.py:208
+#: ./src/pyams_content/shared/common/zmi/types.py:457
 #: ./src/pyams_content/shared/imagemap/zmi/container.py:169
 #: ./src/pyams_content/shared/site/zmi/container.py:574
 #: ./src/pyams_content/root/zmi/sites.py:195
 msgid "No provided object_name argument!"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/file.py:259
-msgid "Given image name doesn't exist!"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:54
-msgid "Add images gallery..."
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:65
+#: ./src/pyams_content/component/gallery/zmi/file.py:262
+msgid "Given media name doesn't exist!"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:58
+msgid "Medias gallery..."
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:69
 msgid "Add new gallery"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:95
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:99
 msgid "Edit gallery properties"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/__init__.py:57
+#: ./src/pyams_content/component/gallery/zmi/__init__.py:63
 msgid "Update gallery properties"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/__init__.py:92
+#: ./src/pyams_content/component/gallery/zmi/__init__.py:100
 msgid "Update gallery contents"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/__init__.py:165
-msgid "Default gallery renderer"
-msgstr ""
-
 #: ./src/pyams_content/component/gallery/zmi/interfaces.py:36
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:56
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:61
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:44
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:52
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:43
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:48
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:44
+#: ./src/pyams_content/component/video/interfaces/__init__.py:48
 msgid "Author"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/zmi/interfaces.py:37
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:57
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:62
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:45
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:44
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:49
+#: ./src/pyams_content/component/video/interfaces/__init__.py:49
 msgid "Name of document's author"
 msgstr ""
 
@@ -167,121 +166,120 @@
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/zmi/interfaces.py:41
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:61
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:66
 msgid "Comments relatives to author's rights management"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/zmi/interfaces.py:44
-msgid "Images data"
+msgid "Images or videos data"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/zmi/interfaces.py:45
 msgid "You can upload a single file or choose to upload a whole ZIP archive"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:10
-msgid "Gallery images"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:15
-msgid "Download images"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/templates/gallery-images.pt:38
+#: ./src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:10
+msgid "Gallery medias"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:15
+msgid "Download medias"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:39
 msgid "Zoom image"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:42
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:47
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:73
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:41
 msgid "Legend"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:45
-#: ./src/pyams_content/component/extfile/interfaces/__init__.py:77
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:44
-msgid "Accessibility title"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:46
-#: ./src/pyams_content/component/extfile/interfaces/__init__.py:78
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:45
-msgid "Alternate title used to describe image content"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:49
-#: ./src/pyams_content/component/extfile/interfaces/__init__.py:81
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:56
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:86
-msgid "Image data"
-msgstr ""
-
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:50
-#: ./src/pyams_content/component/extfile/interfaces/__init__.py:82
+#: ./src/pyams_content/component/extfile/interfaces/__init__.py:77
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:44
+msgid "Accessibility title"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:51
+msgid "Alternate title used to describe media content"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:54
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:56
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:85
+msgid "Image or video data"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:55
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:57
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:87
-msgid "Image content"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:53
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:93
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:86
+msgid "Image or video content"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:58
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:98
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:40
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:48
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:39
-#: ./src/pyams_content/component/links/interfaces/__init__.py:38
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:44
+#: ./src/pyams_content/component/links/interfaces/__init__.py:37
+#: ./src/pyams_content/component/video/interfaces/__init__.py:44
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:136
 #: ./src/pyams_content/shared/form/interfaces/__init__.py:61
 msgid "Description"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:60
-msgid "Author's comments"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:64
-msgid "Source ID"
-msgstr ""
-
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:65
-msgid "Number used to identify media into it's original source"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:68
-#: ./src/pyams_content/component/extfile/interfaces/__init__.py:97
-msgid "Audio data"
+msgid "Author's comments"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:69
-msgid "Sound file associated with the current media"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:72
-msgid "Sound title"
+msgid "Source ID"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:70
+msgid "Number used to identify media into it's original source"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:73
-msgid "Title of associated sound file"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:76
-msgid "Sound description"
+#: ./src/pyams_content/component/extfile/interfaces/__init__.py:97
+msgid "Audio data"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:74
+msgid "Sound file associated with the current media"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:77
-msgid "Short description of associated sound file"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:80
-msgid "Visible image?"
+msgid "Sound title"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:78
+msgid "Title of associated sound file"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:81
-msgid "If 'no', this image won't be displayed in front office"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:89
+msgid "Sound description"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:82
+msgid "Short description of associated sound file"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:85
+msgid "Visible media?"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:86
+msgid "If 'no', this media won't be displayed in front office"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:94
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:36
-#: ./src/pyams_content/component/paragraph/zmi/container.py:221
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:298
+#: ./src/pyams_content/component/paragraph/zmi/container.py:223
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:46
 #: ./src/pyams_content/component/links/zmi/reverse.py:71
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:109
 #: ./src/pyams_content/shared/common/zmi/templates/advanced-search.pt:188
@@ -292,38 +290,43 @@
 msgid "Title"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:90
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:95
 msgid "Gallery title, as shown in front-office"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:94
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:99
 msgid "Gallery description displayed by front-office template"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/interfaces/__init__.py:97
-msgid "Gallery style"
-msgstr ""
-
-#: ./src/pyams_content/component/extfile/__init__.py:168
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:102
+msgid "Gallery template"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/interfaces/__init__.py:103
+msgid "Presentation template used for this gallery"
+msgstr ""
+
 #: ./src/pyams_content/component/extfile/__init__.py:172
+#: ./src/pyams_content/component/extfile/__init__.py:176
 msgid "Standard file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:219
-#: ./src/pyams_content/component/extfile/__init__.py:236
+#: ./src/pyams_content/component/extfile/__init__.py:223
+#: ./src/pyams_content/component/extfile/__init__.py:240
 #: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:61
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:42
 msgid "Image"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:251
-#: ./src/pyams_content/component/extfile/__init__.py:256
-#: ./src/pyams_content/component/paragraph/video.py:46
-#: ./src/pyams_content/component/paragraph/video.py:58
+#: ./src/pyams_content/component/extfile/__init__.py:255
+#: ./src/pyams_content/component/extfile/__init__.py:260
+#: ./src/pyams_content/component/paragraph/video.py:51
+#: ./src/pyams_content/component/paragraph/video.py:64
 msgid "Video"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:271
-#: ./src/pyams_content/component/extfile/__init__.py:276
+#: ./src/pyams_content/component/extfile/__init__.py:275
+#: ./src/pyams_content/component/extfile/__init__.py:280
 msgid "Audio file"
 msgstr ""
 
@@ -355,6 +358,10 @@
 msgid "Add new image"
 msgstr ""
 
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:256
+msgid "Update image properties"
+msgstr ""
+
 #: ./src/pyams_content/component/extfile/zmi/__init__.py:296
 msgid "Videos"
 msgstr ""
@@ -396,32 +403,33 @@
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:41
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:40
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:45
+#: ./src/pyams_content/component/video/interfaces/__init__.py:45
 msgid "File description displayed by front-office template"
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:48
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:67
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:97
-#: ./src/pyams_content/component/links/interfaces/__init__.py:66
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:64
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:93
+#: ./src/pyams_content/component/links/interfaces/__init__.py:59
 msgid "Language"
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:49
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:68
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:98
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:65
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:94
 msgid "File's content language"
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:53
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:60
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:90
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:89
 msgid "Save file as..."
 msgstr ""
 
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:54
 #: ./src/pyams_content/component/illustration/interfaces/__init__.py:61
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:91
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:90
 msgid "Name under which the file will be saved"
 msgstr ""
 
@@ -437,8 +445,22 @@
 msgid "File legend, as shown in front-office"
 msgstr ""
 
+#: ./src/pyams_content/component/extfile/interfaces/__init__.py:78
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:45
+msgid "Alternate title used to describe image content"
+msgstr ""
+
+#: ./src/pyams_content/component/extfile/interfaces/__init__.py:81
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:43
+msgid "Image data"
+msgstr ""
+
+#: ./src/pyams_content/component/extfile/interfaces/__init__.py:82
+msgid "Image content"
+msgstr ""
+
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:89
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:47
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:52
 msgid "Video data"
 msgstr ""
 
@@ -452,37 +474,25 @@
 
 #: ./src/pyams_content/component/illustration/paragraph.py:40
 #: ./src/pyams_content/component/illustration/paragraph.py:47
-#: ./src/pyams_content/component/illustration/__init__.py:141
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:99
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:122
+#: ./src/pyams_content/component/illustration/__init__.py:142
+#: ./src/pyams_content/component/illustration/zmi/__init__.py:57
+#: ./src/pyams_content/component/illustration/zmi/__init__.py:80
 msgid "Illustration"
 msgstr ""
 
-#: ./src/pyams_content/component/illustration/zmi/paragraph.py:55
-msgid "Add illustration..."
-msgstr ""
-
-#: ./src/pyams_content/component/illustration/zmi/paragraph.py:66
+#: ./src/pyams_content/component/illustration/zmi/paragraph.py:58
+msgid "Illustration..."
+msgstr ""
+
+#: ./src/pyams_content/component/illustration/zmi/paragraph.py:69
 msgid "Add new illustration"
 msgstr ""
 
-#: ./src/pyams_content/component/illustration/zmi/paragraph.py:97
+#: ./src/pyams_content/component/illustration/zmi/paragraph.py:100
 msgid "Edit illustration properties"
 msgstr ""
 
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:64
-msgid "Centered illustration"
-msgstr ""
-
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:73
-msgid "Small illustration on the left with zoom"
-msgstr ""
-
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:82
-msgid "Small illustration on the right with zoom"
-msgstr ""
-
-#: ./src/pyams_content/component/illustration/zmi/__init__.py:180
+#: ./src/pyams_content/component/illustration/zmi/__init__.py:142
 msgid "Add illustration"
 msgstr ""
 
@@ -490,9 +500,41 @@
 msgid "Name of picture's author"
 msgstr ""
 
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:64
-#: ./src/pyams_content/component/illustration/interfaces/__init__.py:94
-msgid "Image style"
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:69
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:98
+msgid "Illustration template"
+msgstr ""
+
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:70
+#: ./src/pyams_content/component/illustration/interfaces/__init__.py:99
+msgid "Presentation template used for illustration"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/milestone.py:206
+#: ./src/pyams_content/component/paragraph/milestone.py:228
+#: ./src/pyams_content/component/paragraph/zmi/templates/milestones.pt:6
+msgid "Milestones"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/milestone.py:237
+msgid "Milestones paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/milestone.py:141
+msgid "Selected paragraph is missing"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/milestone.py:144
+msgid "Selected paragraph is not visible"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/keypoint.py:47
+#: ./src/pyams_content/component/paragraph/interfaces/keypoint.py:40
+msgid "Key points"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/keypoint.py:62
+msgid "Key points paragraph"
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/container.py:82
@@ -504,29 +546,115 @@
 msgid "no visible paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/html.py:57
-#: ./src/pyams_content/component/paragraph/html.py:66
-msgid "HTML paragraph"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/header.py:41
-#: ./src/pyams_content/component/paragraph/interfaces/header.py:34
+#: ./src/pyams_content/component/paragraph/frame.py:52
+msgid "Framed text"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/frame.py:62
+msgid "Framed text paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/verbatim.py:50
+msgid "Verbatim"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/verbatim.py:62
+msgid "Verbatim paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/html.py:58
+msgid "Raw HTML "
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/html.py:67
+msgid "Raw HTML paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/html.py:105
+msgid "Rich text"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/html.py:114
+msgid "Rich text paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/contact.py:47
+#: ./src/pyams_content/component/paragraph/contact.py:71
+msgid "Contact card"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/header.py:47
+#: ./src/pyams_content/component/paragraph/interfaces/header.py:40
 msgid "Header"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/header.py:55
+#: ./src/pyams_content/component/paragraph/header.py:62
 msgid "Header paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:57
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:79
+msgid "Milestones..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:90
+msgid "Add new milestone paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:120
+msgid "Edit milestone paragraph properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:262
+msgid "Switch milestone visibility"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:307
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:54
+msgid "Anchor"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:382
+msgid "Add milestone"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:393
+msgid "Add new milestone"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:433
+msgid "Edit milestone properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:417
+msgid "Milestone was correctly added"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/milestone.py:346
+#: ./src/pyams_content/component/association/zmi/__init__.py:292
+msgid "Given association name doesn't exist!"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/keypoint.py:52
+msgid "Key points..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/keypoint.py:63
+msgid "Add new key points paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/keypoint.py:93
+msgid "Edit key points paragraph properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:61
 msgid "Paragraphs types..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:68
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:72
 msgid "Paragraphs types"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:85
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:89
 msgid ""
 "You can define which types of paragraphs are allowed in this container.\n"
 "\n"
@@ -535,12 +663,12 @@
 "NOTICE: removing types from allowed types list will have no effect on already created contents!"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/__init__.py:119
+#: ./src/pyams_content/component/paragraph/zmi/__init__.py:139
 msgid "Paragraph was correctly added."
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/zmi/video.py:56
-msgid "Add video paragraph..."
+msgid "Video paragraph..."
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/zmi/video.py:67
@@ -548,77 +676,129 @@
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/zmi/video.py:109
+#: ./src/pyams_content/component/video/zmi/paragraph.py:174
 msgid "Edit video properties"
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/zmi/video.py:83
-#: ./src/pyams_content/component/paragraph/zmi/video.py:126
+#: ./src/pyams_content/component/paragraph/zmi/video.py:128
+#: ./src/pyams_content/component/video/zmi/paragraph.py:87
+#: ./src/pyams_content/component/video/zmi/paragraph.py:197
 msgid "HTML content"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:68
+#: ./src/pyams_content/component/paragraph/zmi/container.py:70
 msgid "Paragraphs..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:159
+#: ./src/pyams_content/component/paragraph/zmi/container.py:161
 msgid "Switch paragraph visibility"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:237
+#: ./src/pyams_content/component/paragraph/zmi/container.py:239
 msgid "Show/hide all paragraphs"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:283
-#: ./src/pyams_content/component/paragraph/zmi/container.py:292
+#: ./src/pyams_content/component/paragraph/zmi/container.py:285
+#: ./src/pyams_content/component/paragraph/zmi/container.py:294
 msgid "Paragraphs list"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:391
-#: ./src/pyams_content/component/association/zmi/__init__.py:102
+#: ./src/pyams_content/component/paragraph/zmi/container.py:393
+#: ./src/pyams_content/component/association/zmi/paragraph.py:55
+#: ./src/pyams_content/component/association/zmi/__init__.py:104
 msgid "Associations..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:403
+#: ./src/pyams_content/component/paragraph/zmi/container.py:405
 msgid "Paragraphs associations"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:118
+#: ./src/pyams_content/component/paragraph/zmi/container.py:120
 msgid "No currently defined paragraph."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:246
+#: ./src/pyams_content/component/paragraph/zmi/container.py:248
 msgid "Click to open/close all paragraphs editors"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:259
+#: ./src/pyams_content/component/paragraph/zmi/container.py:261
 msgid "Click to open/close paragraph editor"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:124
+#: ./src/pyams_content/component/paragraph/zmi/container.py:126
 msgid "Check allowed paragraph types to be able to create new paragraphs."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/html.py:66
-msgid "Add HTML paragraph..."
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:84
+msgid "Framed text..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:96
+msgid "Add new framed text paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:130
+msgid "Edit framed text paragraph properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/verbatim.py:57
+msgid "Verbatim..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/verbatim.py:68
+msgid "Add new verbatim paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/verbatim.py:98
+msgid "Edit verbatim paragraph properties"
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/zmi/html.py:77
-msgid "Add new HTML paragraph"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/zmi/html.py:110
-msgid "Edit HTML paragraph properties"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/zmi/header.py:51
-msgid "Add header paragraph..."
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/zmi/header.py:62
+msgid "Raw HTML..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/html.py:88
+msgid "Add new raw HTML paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/html.py:121
+msgid "Edit raw HTML paragraph properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/html.py:192
+msgid "Rich text..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/html.py:203
+msgid "Add new rich text paragraph"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/html.py:236
+msgid "Edit rich text paragraph properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/contact.py:53
+msgid "Contact card..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/contact.py:64
+msgid "Add new contact card"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/contact.py:95
+msgid "Edit contact card properties"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/header.py:52
+msgid "Header..."
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/zmi/header.py:63
 msgid "Add new header paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/header.py:92
+#: ./src/pyams_content/component/paragraph/zmi/header.py:93
 msgid "Edit header paragraph properties"
 msgstr ""
 
@@ -627,13 +807,57 @@
 msgid "This content doesn't contain any paragraph."
 msgstr ""
 
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:41
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:43
-#: ./src/pyams_content/component/association/interfaces/__init__.py:42
+#: ./src/pyams_content/component/association/interfaces/__init__.py:43
 #: ./src/pyams_content/shared/form/interfaces/__init__.py:82
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:102
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:95
 msgid "Visible?"
 msgstr ""
 
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:42
+msgid "Is this milestone visible in front-office?"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:47
+msgid "Milestone title"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:50
+msgid "Associated label"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:51
+msgid "The way this label will be rendered depends on presentation template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:55
+msgid "Paragraph to which this milestone should lead"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:83
+msgid "Milestones template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/milestone.py:84
+msgid "Presentation template used for milestones"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/keypoint.py:41
+msgid "Enter one key point by line, without hyphen or prefix"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/keypoint.py:44
+msgid "Presentation template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/keypoint.py:45
+#: ./src/pyams_content/component/paragraph/interfaces/frame.py:44
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:53
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:67
+msgid "Presentation template used for this paragraph"
+msgstr ""
+
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:44
 msgid "Is this paragraph visible in front-office?"
 msgstr ""
@@ -642,33 +866,133 @@
 msgid "§ Title"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:78
+#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:79
 msgid "Allowed paragraphs"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:79
+#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:80
 msgid "List of paragraphs allowed for this content type"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:83
-#: ./src/pyams_content/shared/common/zmi/types.py:151
-#: ./src/pyams_content/shared/common/zmi/types.py:393
-msgid "Default paragraphs"
-msgstr ""
-
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:84
+#: ./src/pyams_content/shared/common/zmi/types.py:154
+#: ./src/pyams_content/shared/common/zmi/types.py:396
+msgid "Default paragraphs"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/__init__.py:85
 msgid "List of paragraphs automatically added to a new content"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:36
-#: ./src/pyams_content/component/paragraph/interfaces/html.py:34
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:41
+#: ./src/pyams_content/component/paragraph/interfaces/html.py:53
+#: ./src/pyams_content/component/video/interfaces/__init__.py:69
 msgid "Body"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/video.py:48
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:53
 msgid "Video file content"
 msgstr ""
 
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:56
+msgid "Video template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/video.py:57
+msgid "Presentation template used for this video"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/frame.py:40
+msgid "Frame body"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/frame.py:43
+msgid "Text template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:40
+msgid "Quoted text"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:41
+msgid "Quotation marks will be added automatically by presentation template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:45
+msgid "Name of the quote author"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:48
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:45
+msgid "In charge of"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:49
+msgid "Label of author function"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:52
+msgid "Verbatim template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/html.py:37
+msgid "Raw HTML code"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/html.py:38
+msgid ""
+"This HTML code will be used 'as is', without any transformation. Use with "
+"care!!"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:41
+msgid "Contact identity"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:42
+msgid "Name of the contact"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:46
+msgid "Label of contact function"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:49
+msgid "Photo"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:50
+msgid "Use 'browse' button to select contact picture"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:53
+msgid "GPS location"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:54
+msgid "GPS coordinates used to locate contact"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:57
+msgid "Address"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:60
+msgid "Contact template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:61
+msgid "Presentation template used for this contact"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/header.py:43
+msgid "Header template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/header.py:44
+msgid "Presentation template used for this header"
+msgstr ""
+
 #: ./src/pyams_content/component/theme/__init__.py:81
 #: ./src/pyams_content/component/theme/zmi/portlet.py:39
 #: ./src/pyams_content/component/theme/interfaces/__init__.py:43
@@ -680,7 +1004,6 @@
 msgstr ""
 
 #: ./src/pyams_content/component/theme/zmi/__init__.py:52
-#: ./src/pyams_content/component/theme/zmi/manager.py:45
 #: ./src/pyams_content/shared/view/zmi/theme.py:49
 msgid "Themes..."
 msgstr ""
@@ -689,24 +1012,24 @@
 msgid "Content themes"
 msgstr ""
 
+#: ./src/pyams_content/component/theme/zmi/manager.py:45
+msgid "Themes settings..."
+msgstr ""
+
 #: ./src/pyams_content/component/theme/zmi/manager.py:56
 msgid "Selected themes"
 msgstr ""
 
-#: ./src/pyams_content/component/association/paragraph.py:42
-#: ./src/pyams_content/component/association/paragraph.py:49
+#: ./src/pyams_content/component/association/paragraph.py:48
+#: ./src/pyams_content/component/association/paragraph.py:57
 msgid "Associations paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/association/container.py:92
+#: ./src/pyams_content/component/association/container.py:95
 #: ./src/pyams_content/component/association/zmi/templates/associations.pt:6
 msgid "Associations"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/paragraph.py:55
-msgid "Add associations paragraph..."
-msgstr ""
-
 #: ./src/pyams_content/component/association/zmi/paragraph.py:66
 msgid "Add new association paragraph"
 msgstr ""
@@ -715,53 +1038,56 @@
 msgid "Edit association paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:175
+#: ./src/pyams_content/component/association/zmi/__init__.py:176
 msgid "Switch association visibility"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:226
+#: ./src/pyams_content/component/association/zmi/__init__.py:227
 msgid "Public title"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:240
+#: ./src/pyams_content/component/association/zmi/__init__.py:244
 msgid "Inner title"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:255
+#: ./src/pyams_content/component/association/zmi/__init__.py:259
 msgid "Size"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:310
-#: ./src/pyams_content/component/association/zmi/__init__.py:320
+#: ./src/pyams_content/component/association/zmi/__init__.py:314
+#: ./src/pyams_content/component/association/zmi/__init__.py:324
 msgid "Associations list"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:63
+#: ./src/pyams_content/component/association/zmi/__init__.py:65
 msgid "Association was correctly added."
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:288
-msgid "Given association name doesn't exist!"
-msgstr ""
-
-#: ./src/pyams_content/component/association/interfaces/__init__.py:43
+#: ./src/pyams_content/component/association/interfaces/__init__.py:44
 msgid "Is this item visible in front-office?"
 msgstr ""
 
-#: ./src/pyams_content/component/links/__init__.py:101
+#: ./src/pyams_content/component/association/interfaces/__init__.py:93
+msgid "Associations template"
+msgstr ""
+
+#: ./src/pyams_content/component/association/interfaces/__init__.py:94
+msgid "Presentation template used for associations"
+msgstr ""
+
+#: ./src/pyams_content/component/links/__init__.py:103
 msgid "Internal link"
 msgstr ""
 
-#: ./src/pyams_content/component/links/__init__.py:176
+#: ./src/pyams_content/component/links/__init__.py:178
 msgid "External link"
 msgstr ""
 
-#: ./src/pyams_content/component/links/__init__.py:222
+#: ./src/pyams_content/component/links/__init__.py:224
 msgid "Mailto link"
 msgstr ""
 
-#: ./src/pyams_content/component/links/__init__.py:163
-#: ./src/pyams_content/shared/imagemap/paragraph.py:85
+#: ./src/pyams_content/component/links/__init__.py:165
 msgid "target is not published"
 msgstr ""
 
@@ -821,72 +1147,302 @@
 msgid "Content's internal links"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:34
+#: ./src/pyams_content/component/links/interfaces/__init__.py:33
 #: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:49
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:98
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:91
 msgid "Alternate title"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:35
+#: ./src/pyams_content/component/links/interfaces/__init__.py:34
 msgid "Link title, as shown in front-office"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:39
+#: ./src/pyams_content/component/links/interfaces/__init__.py:38
 msgid "Link description displayed by front-office template"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:49
-#: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:81
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:92
-msgid "Internal reference"
-msgstr ""
-
-#: ./src/pyams_content/component/links/interfaces/__init__.py:50
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:93
-msgid ""
-"Internal link target reference. You can search a reference using '+' followed"
-" by internal number, of by entering text matching content title."
-msgstr ""
-
-#: ./src/pyams_content/component/links/interfaces/__init__.py:62
+#: ./src/pyams_content/component/links/interfaces/__init__.py:55
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:46
 msgid "Target URL"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:63
+#: ./src/pyams_content/component/links/interfaces/__init__.py:56
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:47
 msgid "URL used to access external resource"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:67
+#: ./src/pyams_content/component/links/interfaces/__init__.py:60
 msgid "Language used in this remote resource"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:75
+#: ./src/pyams_content/component/links/interfaces/__init__.py:68
 msgid "Target address"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:76
+#: ./src/pyams_content/component/links/interfaces/__init__.py:69
 msgid "Target email address"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:79
+#: ./src/pyams_content/component/links/interfaces/__init__.py:72
 msgid "Address name"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:80
+#: ./src/pyams_content/component/links/interfaces/__init__.py:73
 msgid "Address as displayed in address book"
 msgstr ""
 
-#: ./src/pyams_content/component/links/interfaces/__init__.py:91
-msgid "Internal references"
-msgstr ""
-
-#: ./src/pyams_content/component/links/interfaces/__init__.py:92
-msgid "List of internal references"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/__init__.py:230
-#: ./src/pyams_content/shared/common/zmi/properties.py:66
-#: ./src/pyams_content/shared/common/zmi/manager.py:89
+#: ./src/pyams_content/component/video/paragraph.py:42
+#: ./src/pyams_content/component/video/paragraph.py:51
+#: ./src/pyams_content/component/video/__init__.py:80
+msgid "External video"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/dailymotion.py:94
+msgid "Dailymotion settings"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/vimeo.py:92
+msgid "Vimeo settings"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:31
+#: ./src/pyams_content/component/video/provider/interfaces.py:103
+#: ./src/pyams_content/component/video/provider/interfaces.py:171
+msgid "Video ID"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:32
+msgid ""
+"To get video ID, just use the 'Share' button in Youtube platform and "
+"copy/paste the given URL here"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:36
+#: ./src/pyams_content/component/video/provider/interfaces.py:108
+#: ./src/pyams_content/component/video/provider/interfaces.py:176
+msgid "Video width"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:37
+#: ./src/pyams_content/component/video/provider/interfaces.py:109
+#: ./src/pyams_content/component/video/provider/interfaces.py:177
+msgid ""
+"Initial video frame width; mandatory for old browsers but may be overridden "
+"by presentation skin"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:43
+#: ./src/pyams_content/component/video/provider/interfaces.py:115
+#: ./src/pyams_content/component/video/provider/interfaces.py:183
+msgid "Video height"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:44
+#: ./src/pyams_content/component/video/provider/interfaces.py:116
+#: ./src/pyams_content/component/video/provider/interfaces.py:184
+msgid ""
+"Initial video frame height; mandatory for old browsers but may be overridden "
+"by presentation skin"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:50
+#: ./src/pyams_content/component/video/provider/interfaces.py:122
+msgid "Start at"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:51
+#: ./src/pyams_content/component/video/provider/interfaces.py:123
+msgid ""
+"Position at which to start video, in 'seconds' or 'minutes:seconds' format"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:55
+msgid "Stop at"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:56
+msgid ""
+"Position at which to stop video, in 'seconds' or 'minutes:seconds' format"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:59
+#: ./src/pyams_content/component/video/provider/interfaces.py:127
+#: ./src/pyams_content/component/video/provider/interfaces.py:205
+msgid "Auto play?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:60
+#: ./src/pyams_content/component/video/provider/interfaces.py:128
+#: ./src/pyams_content/component/video/provider/interfaces.py:206
+msgid "If 'yes', video is started automatically on page load"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:64
+#: ./src/pyams_content/component/video/provider/interfaces.py:210
+msgid "Loop playback?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:65
+#: ./src/pyams_content/component/video/provider/interfaces.py:211
+msgid "If 'yes', video is played indefinitely"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:69
+#: ./src/pyams_content/component/video/provider/interfaces.py:132
+msgid "Show video info?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:70
+#: ./src/pyams_content/component/video/provider/interfaces.py:133
+msgid "If 'no', video title and information won't be displayed"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:74
+#: ./src/pyams_content/component/video/provider/interfaces.py:137
+msgid "Show commands?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:75
+#: ./src/pyams_content/component/video/provider/interfaces.py:138
+msgid "Show video player commands"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:79
+msgid "Hide branding?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:80
+msgid "If 'yes', Youtube branding won't be displayed"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:84
+msgid "Show related videos?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:85
+msgid "Show related videos when video end"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:89
+#: ./src/pyams_content/component/video/provider/interfaces.py:157
+#: ./src/pyams_content/component/video/provider/interfaces.py:215
+msgid "Allow full screen?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:90
+#: ./src/pyams_content/component/video/provider/interfaces.py:158
+#: ./src/pyams_content/component/video/provider/interfaces.py:216
+msgid "If 'yes', video can be displayed in full screen"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:94
+msgid "Disable keyboard?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:95
+msgid "If 'yes', video player can't be controlled via keyboard shortcuts"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:104
+msgid ""
+"To get video ID, just use the 'Share' button in Dailymotion platform, click "
+"on \"Copy link\" and paste the given URL here"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:142
+msgid "UI theme"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:143
+msgid "Default base color theme"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:147
+msgid "Show branding?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:148
+msgid "If 'no', Dailymotion branding won't be displayed"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:152
+msgid "Show end screen?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:153
+msgid "Show end screen when video end"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:162
+msgid "Allow sharing?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:163
+msgid "If 'no', video sharing will be disabled"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:172
+msgid ""
+"To get video ID, just use the 'Share' button in Vimeo platform, click on "
+"\"Link\" entry and copy/paste the given URL here"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:190
+msgid "Show title?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:191
+msgid "If 'no', video title won't be displayed"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:195
+msgid "Show signature?"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:196
+msgid "If 'no', video signature won't be displayed"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:200
+msgid "Infos color"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/interfaces.py:201
+msgid "Color used for title and signature"
+msgstr ""
+
+#: ./src/pyams_content/component/video/provider/youtube.py:96
+msgid "Youtube settings"
+msgstr ""
+
+#: ./src/pyams_content/component/video/zmi/paragraph.py:60
+msgid "External video..."
+msgstr ""
+
+#: ./src/pyams_content/component/video/zmi/paragraph.py:71
+msgid "Add new external video..."
+msgstr ""
+
+#: ./src/pyams_content/component/video/zmi/paragraph.py:139
+msgid "Video provider is required"
+msgstr ""
+
+#: ./src/pyams_content/component/video/zmi/paragraph.py:161
+#: ./src/pyams_content/component/video/zmi/paragraph.py:210
+msgid "Video provider settings"
+msgstr ""
+
+#: ./src/pyams_content/component/video/interfaces/__init__.py:52
+msgid "Video provider"
+msgstr ""
+
+#: ./src/pyams_content/component/video/interfaces/__init__.py:53
+msgid "Name of external platform providing selected video"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/__init__.py:234
+#: ./src/pyams_content/shared/common/zmi/properties.py:67
+#: ./src/pyams_content/shared/common/zmi/manager.py:90
 msgid "Properties"
 msgstr ""
 
@@ -896,152 +1452,152 @@
 msgid "{date} by {principal}"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/__init__.py:253
+#: ./src/pyams_content/shared/common/__init__.py:257
 #, python-format
 msgid "title length should be between 40 and 66 characters ({length} actually)"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:87
+#: ./src/pyams_content/shared/common/zmi/search.py:88
 #: ./src/pyams_content/root/zmi/search.py:85
 msgid "Quick search results"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:142
-#: ./src/pyams_content/shared/common/zmi/search.py:175
+#: ./src/pyams_content/shared/common/zmi/search.py:152
+#: ./src/pyams_content/shared/common/zmi/search.py:185
 #: ./src/pyams_content/root/zmi/search.py:140
 #: ./src/pyams_content/root/zmi/search.py:173
 msgid "Advanced search"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:267
+#: ./src/pyams_content/shared/common/zmi/search.py:277
 #: ./src/pyams_content/root/zmi/search.py:253
 msgid "Advanced search results"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:150
+#: ./src/pyams_content/shared/common/zmi/search.py:160
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:231
 #: ./src/pyams_content/root/zmi/search.py:152
 msgid "Owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:153
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:154
-msgid "Status"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/zmi/search.py:157
-#: ./src/pyams_content/root/zmi/search.py:155
-msgid "Created after..."
-msgstr ""
-
-#: ./src/pyams_content/shared/common/zmi/search.py:160
-#: ./src/pyams_content/root/zmi/search.py:158
-msgid "Created before..."
-msgstr ""
-
 #: ./src/pyams_content/shared/common/zmi/search.py:163
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:154
+msgid "Status"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/search.py:167
+#: ./src/pyams_content/root/zmi/search.py:155
+msgid "Created after..."
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/search.py:170
+#: ./src/pyams_content/root/zmi/search.py:158
+msgid "Created before..."
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/search.py:173
 #: ./src/pyams_content/root/zmi/search.py:161
 msgid "Modified after..."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/search.py:166
+#: ./src/pyams_content/shared/common/zmi/search.py:176
 #: ./src/pyams_content/root/zmi/search.py:164
 msgid "Modified before..."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/properties.py:56
+#: ./src/pyams_content/shared/common/zmi/properties.py:57
 msgid "Composition"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/properties.py:77
+#: ./src/pyams_content/shared/common/zmi/properties.py:78
 msgid "Content properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:62
+#: ./src/pyams_content/shared/common/zmi/types.py:65
 msgid "Data types"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:129
+#: ./src/pyams_content/shared/common/zmi/types.py:132
 msgid "Data type label"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:167
-#: ./src/pyams_content/shared/common/zmi/types.py:409
+#: ./src/pyams_content/shared/common/zmi/types.py:170
+#: ./src/pyams_content/shared/common/zmi/types.py:412
 msgid "Default associations"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:188
+#: ./src/pyams_content/shared/common/zmi/types.py:191
 msgid "Content data types"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:242
+#: ./src/pyams_content/shared/common/zmi/types.py:245
 msgid "Add data type"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:253
+#: ./src/pyams_content/shared/common/zmi/types.py:256
 msgid "Add new data type"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:297
+#: ./src/pyams_content/shared/common/zmi/types.py:300
 msgid "Data type properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:372
+#: ./src/pyams_content/shared/common/zmi/types.py:375
 msgid "Subtype label"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:474
+#: ./src/pyams_content/shared/common/zmi/types.py:477
 msgid "Add subtype"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:485
+#: ./src/pyams_content/shared/common/zmi/types.py:488
 msgid "Add new subtype"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:542
+#: ./src/pyams_content/shared/common/zmi/types.py:545
 msgid "Data subtype properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:105
+#: ./src/pyams_content/shared/common/zmi/types.py:108
 msgid "No currently defined data type."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:281
+#: ./src/pyams_content/shared/common/zmi/types.py:284
 msgid "Specified type name is already used!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:513
+#: ./src/pyams_content/shared/common/zmi/types.py:516
 msgid "Specified subtype name is already used!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:526
+#: ./src/pyams_content/shared/common/zmi/types.py:529
 msgid "Subtype was correctly added."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:139
+#: ./src/pyams_content/shared/common/zmi/types.py:142
 msgid "Click to see subtypes"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:209
+#: ./src/pyams_content/shared/common/zmi/types.py:212
 msgid "Given data type doesn't exist!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types.py:458
+#: ./src/pyams_content/shared/common/zmi/types.py:461
 msgid "Given data subtype doesn't exist!"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:115
-#: ./src/pyams_content/shared/common/zmi/workflow.py:206
-#: ./src/pyams_content/shared/common/zmi/workflow.py:251
-#: ./src/pyams_content/shared/common/zmi/workflow.py:310
-#: ./src/pyams_content/shared/common/zmi/workflow.py:403
-#: ./src/pyams_content/shared/common/zmi/workflow.py:464
-#: ./src/pyams_content/shared/common/zmi/workflow.py:509
-#: ./src/pyams_content/shared/common/zmi/workflow.py:555
-#: ./src/pyams_content/shared/common/zmi/workflow.py:603
-#: ./src/pyams_content/shared/common/zmi/workflow.py:648
-#: ./src/pyams_content/shared/common/zmi/workflow.py:694
-#: ./src/pyams_content/shared/common/zmi/workflow.py:747
+#: ./src/pyams_content/shared/common/zmi/workflow.py:207
+#: ./src/pyams_content/shared/common/zmi/workflow.py:252
+#: ./src/pyams_content/shared/common/zmi/workflow.py:311
+#: ./src/pyams_content/shared/common/zmi/workflow.py:405
+#: ./src/pyams_content/shared/common/zmi/workflow.py:466
+#: ./src/pyams_content/shared/common/zmi/workflow.py:511
+#: ./src/pyams_content/shared/common/zmi/workflow.py:557
+#: ./src/pyams_content/shared/common/zmi/workflow.py:605
+#: ./src/pyams_content/shared/common/zmi/workflow.py:650
+#: ./src/pyams_content/shared/common/zmi/workflow.py:696
+#: ./src/pyams_content/shared/common/zmi/workflow.py:750
 #: ./src/pyams_content/shared/common/zmi/__init__.py:272
 #: ./src/pyams_content/shared/common/zmi/owner.py:74
 #: ./src/pyams_content/features/review/zmi/__init__.py:90
@@ -1052,73 +1608,77 @@
 msgid "Request publication"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:207
+#: ./src/pyams_content/shared/common/zmi/workflow.py:208
 #: ./src/pyams_content/workflow/__init__.py:315
 msgid "Cancel publication request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:252
+#: ./src/pyams_content/shared/common/zmi/workflow.py:253
 msgid "Refuse publication request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:311
+#: ./src/pyams_content/shared/common/zmi/workflow.py:312
+#: ./src/pyams_content/workflow/basic.py:196
 msgid "Publish"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:404
+#: ./src/pyams_content/shared/common/zmi/workflow.py:406
 msgid "Request retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:465
+#: ./src/pyams_content/shared/common/zmi/workflow.py:467
 msgid "Cancel retire request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:510
+#: ./src/pyams_content/shared/common/zmi/workflow.py:512
 msgid "Retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:556
+#: ./src/pyams_content/shared/common/zmi/workflow.py:558
 #: ./src/pyams_content/workflow/__init__.py:436
 msgid "Request archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:604
+#: ./src/pyams_content/shared/common/zmi/workflow.py:606
 msgid "Cancel archive request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:649
+#: ./src/pyams_content/shared/common/zmi/workflow.py:651
 msgid "Archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:695
+#: ./src/pyams_content/shared/common/zmi/workflow.py:697
 #: ./src/pyams_content/workflow/__init__.py:501
 #: ./src/pyams_content/workflow/__init__.py:513
 #: ./src/pyams_content/workflow/__init__.py:525
 #: ./src/pyams_content/workflow/__init__.py:537
 #: ./src/pyams_content/workflow/__init__.py:549
+#: ./src/pyams_content/workflow/basic.py:224
+#: ./src/pyams_content/workflow/basic.py:236
 msgid "Create new version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:748
+#: ./src/pyams_content/shared/common/zmi/workflow.py:751
 #: ./src/pyams_content/workflow/__init__.py:561
+#: ./src/pyams_content/workflow/basic.py:248
 msgid "Delete version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:177
-#: ./src/pyams_content/shared/common/zmi/workflow.py:373
+#: ./src/pyams_content/shared/common/zmi/workflow.py:178
+#: ./src/pyams_content/shared/common/zmi/workflow.py:375
 msgid "Publication start date is required"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:280
-#: ./src/pyams_content/shared/common/zmi/workflow.py:435
+#: ./src/pyams_content/shared/common/zmi/workflow.py:281
+#: ./src/pyams_content/shared/common/zmi/workflow.py:437
 msgid "A comment is required"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:771
+#: ./src/pyams_content/shared/common/zmi/workflow.py:774
 msgid "Delete content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:780
+#: ./src/pyams_content/shared/common/zmi/workflow.py:783
 msgid "Delete definitively"
 msgstr ""
 
@@ -1128,8 +1688,10 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:76
-#: ./src/pyams_content/workflow/__init__.py:617
-#: ./src/pyams_content/workflow/__init__.py:640
+#: ./src/pyams_content/workflow/__init__.py:648
+#: ./src/pyams_content/workflow/__init__.py:619
+#: ./src/pyams_content/workflow/basic.py:315
+#: ./src/pyams_content/workflow/basic.py:286
 #, python-format
 msgid "{state} {date}"
 msgstr ""
@@ -1150,12 +1712,12 @@
 msgid "Duplicate this content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:333
+#: ./src/pyams_content/shared/common/zmi/__init__.py:334
 #, python-format
 msgid "Clone created from version {source} of {oid} (in « {state} » state)"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:382
+#: ./src/pyams_content/shared/common/zmi/__init__.py:383
 msgid "Created or modified in this version"
 msgstr ""
 
@@ -1202,33 +1764,33 @@
 msgid "{state} since {date}, by {principal}"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:75
+#: ./src/pyams_content/shared/common/zmi/manager.py:76
 msgid "Tool management"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:99
+#: ./src/pyams_content/shared/common/zmi/manager.py:100
 msgid "Shared tool properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:119
+#: ./src/pyams_content/shared/common/zmi/manager.py:120
 msgid "WARNING"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:121
+#: ./src/pyams_content/shared/common/zmi/manager.py:122
 msgid ""
 "Workflow shouldn't be modified if this tool already contains any shared "
 "content!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:144
+#: ./src/pyams_content/shared/common/zmi/manager.py:145
 msgid "Languages"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:155
+#: ./src/pyams_content/shared/common/zmi/manager.py:156
 msgid "Content languages"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/manager.py:172
+#: ./src/pyams_content/shared/common/zmi/manager.py:173
 msgid ""
 "Tool languages are used to translate own tool properties, and newly created "
 "contents will propose these languages by default"
@@ -1242,7 +1804,7 @@
 msgid "Change content's owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/owner.py:131
+#: ./src/pyams_content/shared/common/zmi/owner.py:132
 msgid ""
 "All versions of this content which are not archived will be transferred to "
 "newly selected owner"
@@ -1835,7 +2397,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/types.py:35
-#: ./src/pyams_content/shared/form/zmi/field.py:158
+#: ./src/pyams_content/shared/form/zmi/field.py:160
 msgid "Name"
 msgstr ""
 
@@ -1844,7 +2406,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/types.py:39
-#: ./src/pyams_content/shared/form/zmi/field.py:169
+#: ./src/pyams_content/shared/form/zmi/field.py:171
 #: ./src/pyams_content/shared/form/interfaces/__init__.py:57
 msgid "Label"
 msgstr ""
@@ -2021,13 +2583,13 @@
 
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:146
 #: ./src/pyams_content/shared/site/zmi/folder.py:71
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:57
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:56
 msgid "Notepad"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:147
 #: ./src/pyams_content/shared/site/zmi/folder.py:72
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:58
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:57
 msgid "Internal information to be known about this content"
 msgstr ""
 
@@ -2104,43 +2666,43 @@
 msgid "No selected handler..."
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:148
+#: ./src/pyams_content/shared/form/field.py:147
 msgid "Text"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:158
+#: ./src/pyams_content/shared/form/field.py:157
 msgid "Multi-lines text"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:168
+#: ./src/pyams_content/shared/form/field.py:167
 msgid "Boolean"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:178
+#: ./src/pyams_content/shared/form/field.py:177
 msgid "Integer"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:188
+#: ./src/pyams_content/shared/form/field.py:187
 msgid "Decimal"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:198
+#: ./src/pyams_content/shared/form/field.py:197
 msgid "E-mail address"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:208
+#: ./src/pyams_content/shared/form/field.py:207
 msgid "URI"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:218
+#: ./src/pyams_content/shared/form/field.py:217
 msgid "Date"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:232
+#: ./src/pyams_content/shared/form/field.py:231
 msgid "Choice"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/field.py:252
+#: ./src/pyams_content/shared/form/field.py:251
 msgid "List"
 msgstr ""
 
@@ -2166,41 +2728,41 @@
 msgid "Form « {title} »"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:65
+#: ./src/pyams_content/shared/form/zmi/field.py:67
 msgid "Form fields..."
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:127
+#: ./src/pyams_content/shared/form/zmi/field.py:129
 msgid "Switch field visibility"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:180
+#: ./src/pyams_content/shared/form/zmi/field.py:182
 #: ./src/pyams_content/shared/form/interfaces/__init__.py:52
 msgid "Field type"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:213
+#: ./src/pyams_content/shared/form/zmi/field.py:215
 msgid "Form fields list"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:249
-#: ./src/pyams_content/shared/form/zmi/field.py:260
+#: ./src/pyams_content/shared/form/zmi/field.py:251
+#: ./src/pyams_content/shared/form/zmi/field.py:262
 msgid "Add form field"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:306
+#: ./src/pyams_content/shared/form/zmi/field.py:308
 msgid "Edit form field properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:189
+#: ./src/pyams_content/shared/form/zmi/field.py:191
 msgid "-- unknown field type --"
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:108
+#: ./src/pyams_content/shared/form/zmi/field.py:110
 msgid "No currently defined form field."
 msgstr ""
 
-#: ./src/pyams_content/shared/form/zmi/field.py:285
+#: ./src/pyams_content/shared/form/zmi/field.py:287
 msgid "Specified name is already used!"
 msgstr ""
 
@@ -2430,64 +2992,72 @@
 msgid "First publication date"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:124
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:140
 msgid "Always include selected internal references"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:125
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:141
 msgid "Include selected internal references only if empty"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces/__init__.py:56
-#: ./src/pyams_content/root/zmi/search.py:148
-msgid "Content types"
+msgid "Select context type?"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces/__init__.py:57
-msgid "Selected content types; leave empty for all"
+msgid "If 'yes', content type will be extracted from context"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces/__init__.py:61
-msgid "Order by"
+#: ./src/pyams_content/root/zmi/search.py:148
+msgid "Content types"
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces/__init__.py:62
+msgid "Selected content types; leave empty for all"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:69
+msgid "Order by"
+msgstr ""
+
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:70
 msgid "Property to use to sort results"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:67
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:75
 msgid "Reversed order?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:68
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:76
 msgid "If 'yes', items order will be reversed"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:72
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:80
 msgid "Results count limit"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:73
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:81
 msgid "Maximum number of results that the view may retrieve"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:134
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:150
 msgid "Internal references usage"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:135
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:151
 msgid "Specify how selected references are included into view results"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:147
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:163
 msgid "Select context themes?"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:148
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:164
 msgid "If 'yes', themes will be extracted from context"
 msgstr ""
 
-#: ./src/pyams_content/shared/view/interfaces/__init__.py:152
+#: ./src/pyams_content/shared/view/interfaces/__init__.py:168
 msgid "Other terms"
 msgstr ""
 
@@ -2497,12 +3067,26 @@
 msgid "Image map"
 msgstr ""
 
+#: ./src/pyams_content/shared/imagemap/paragraph.py:85
+msgid "no selected image map"
+msgstr ""
+
+#: ./src/pyams_content/shared/imagemap/paragraph.py:91
+#, python-format
+msgid "image map '{0}' can't be found"
+msgstr ""
+
+#: ./src/pyams_content/shared/imagemap/paragraph.py:99
+#, python-format
+msgid "image map '{0}' is not published"
+msgstr ""
+
 #: ./src/pyams_content/shared/imagemap/__init__.py:149
 msgid "no area defined"
 msgstr ""
 
 #: ./src/pyams_content/shared/imagemap/zmi/paragraph.py:54
-msgid "Add image map..."
+msgid "Image map..."
 msgstr ""
 
 #: ./src/pyams_content/shared/imagemap/zmi/paragraph.py:65
@@ -2510,6 +3094,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/imagemap/zmi/paragraph.py:95
+#: ./src/pyams_content/shared/logo/zmi/paragraph.py:95
 msgid "Edit paragraph properties"
 msgstr ""
 
@@ -2600,7 +3185,11 @@
 msgid "List of defined map areas"
 msgstr ""
 
-#: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:82
+#: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:84
+msgid "Internal reference"
+msgstr ""
+
+#: ./src/pyams_content/shared/imagemap/interfaces/__init__.py:85
 msgid "Reference to image map object"
 msgstr ""
 
@@ -2724,18 +3313,87 @@
 msgid "A site manager is already registered with this name!!"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:78
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:77
 msgid "Topic"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:99
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:92
 msgid "Content title, as shown in front-office"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/interfaces/__init__.py:103
+#: ./src/pyams_content/shared/site/interfaces/__init__.py:96
 msgid "If 'no', link is not visible"
 msgstr ""
 
+#: ./src/pyams_content/shared/logo/paragraph.py:46
+#: ./src/pyams_content/shared/logo/paragraph.py:63
+msgid "Logos"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/paragraph.py:94
+msgid "no selected logo"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/paragraph.py:100
+#, python-format
+msgid "logo '{0}' can't be found"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/paragraph.py:108
+#, python-format
+msgid "logo '{0}' is not published"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/__init__.py:63
+msgid "no image defined"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/__init__.py:66
+msgid "no URL defined"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/paragraph.py:54
+msgid "Logos..."
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/paragraph.py:65
+msgid "Add new logos paragraph"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/properties.py:38
+msgid "Main logo settings"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/__init__.py:45
+msgid "This logo"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/__init__.py:64
+#: ./src/pyams_content/shared/logo/zmi/__init__.py:75
+msgid "Add logo"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/zmi/__init__.py:55
+#, python-format
+msgid "Logo « {title} »"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:32
+msgid "Logo"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:62
+msgid "Logos references"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:63
+msgid "List of internal logos references"
+msgstr ""
+
+#: ./src/pyams_content/shared/logo/interfaces/__init__.py:66
+msgid "Logos template"
+msgstr ""
+
 #: ./src/pyams_content/shared/blog/zmi/__init__.py:49
 msgid "This blog post"
 msgstr ""
@@ -2843,23 +3501,8 @@
 msgid "Name of group containing all roles owners"
 msgstr ""
 
-#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:47
-msgid "Shared sites"
-msgstr ""
-
-#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:66
-msgid "Shared contents"
-msgstr ""
-
-#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:87
-msgid "My roles"
-msgstr ""
-
-#: ./src/pyams_content/zmi/viewlet/toplinks/templates/user-addings.pt:7
-msgid "Create new content"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:70
+#: ./src/pyams_content/workflow/basic.py:53
 msgid "Draft"
 msgstr ""
 
@@ -2876,6 +3519,7 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:74
+#: ./src/pyams_content/workflow/basic.py:54
 msgid "Published"
 msgstr ""
 
@@ -2892,14 +3536,17 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:78
+#: ./src/pyams_content/workflow/basic.py:55
 msgid "Archived"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:79
+#: ./src/pyams_content/workflow/basic.py:56
 msgid "Deleted"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:84
+#: ./src/pyams_content/workflow/basic.py:61
 msgid "draft created"
 msgstr ""
 
@@ -2908,6 +3555,7 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:86
+#: ./src/pyams_content/workflow/basic.py:62
 msgid "published"
 msgstr ""
 
@@ -2924,14 +3572,17 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:90
+#: ./src/pyams_content/workflow/basic.py:63
 msgid "archived"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:279
+#: ./src/pyams_content/workflow/basic.py:190
 msgid "Initialize"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:282
+#: ./src/pyams_content/workflow/basic.py:193
 msgid "Draft creation"
 msgstr ""
 
@@ -3012,10 +3663,12 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:383
+#: ./src/pyams_content/workflow/basic.py:204
 msgid "Content published"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:385
+#: ./src/pyams_content/workflow/basic.py:206
 #, python-format
 msgid "published the content « {0} »"
 msgstr ""
@@ -3090,14 +3743,17 @@
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:463
+#: ./src/pyams_content/workflow/basic.py:210
 msgid "Archive content"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:471
+#: ./src/pyams_content/workflow/basic.py:218
 msgid "Content archived"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:473
+#: ./src/pyams_content/workflow/basic.py:220
 #, python-format
 msgid "archived content « {0} »"
 msgstr ""
@@ -3125,27 +3781,40 @@
 #: ./src/pyams_content/workflow/__init__.py:533
 #: ./src/pyams_content/workflow/__init__.py:545
 #: ./src/pyams_content/workflow/__init__.py:557
+#: ./src/pyams_content/workflow/basic.py:232
+#: ./src/pyams_content/workflow/basic.py:244
 msgid "New version created"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:569
+#: ./src/pyams_content/workflow/basic.py:256
 msgid "Version deleted"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:638
+#: ./src/pyams_content/workflow/__init__.py:622
+#: ./src/pyams_content/workflow/__init__.py:644
+#: ./src/pyams_content/workflow/basic.py:289
+#: ./src/pyams_content/workflow/basic.py:311
+msgid "Unknown state"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:646
+#: ./src/pyams_content/workflow/basic.py:313
 msgid "publication refused"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:636
+#: ./src/pyams_content/workflow/__init__.py:642
+#: ./src/pyams_content/workflow/basic.py:309
 msgid "new version created"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:249
+#: ./src/pyams_content/workflow/basic.py:160
 #, python-format
 msgid "Published version {0}"
 msgstr ""
 
-#: ./src/pyams_content/workflow/task.py:61
+#: ./src/pyams_content/workflow/task.py:62
 msgid "Automatic contents withdrawal:\n"
 msgstr ""
 
@@ -3157,6 +3826,22 @@
 msgid "Add automatic content archiver"
 msgstr ""
 
+#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:47
+msgid "Shared sites"
+msgstr ""
+
+#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:66
+msgid "Shared contents"
+msgstr ""
+
+#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:87
+msgid "My roles"
+msgstr ""
+
+#: ./src/pyams_content/skin/zmi/viewlet/toplinks/templates/user-addings.pt:7
+msgid "Create new content"
+msgstr ""
+
 #: ./src/pyams_content/interfaces/__init__.py:95
 msgid "Unique key"
 msgstr ""
@@ -3177,6 +3862,15 @@
 msgid "Modification date"
 msgstr ""
 
+#: ./src/pyams_content/features/renderer/zmi/__init__.py:103
+#: ./src/pyams_content/features/renderer/zmi/templates/renderer-input.pt:4
+msgid "Edit renderer properties"
+msgstr ""
+
+#: ./src/pyams_content/features/renderer/zmi/__init__.py:132
+msgid "Hidden content"
+msgstr ""
+
 #: ./src/pyams_content/features/checker/interfaces.py:27
 #, python-format
 msgid " - {field}: <span class=\"text-danger\">no value</span>"
@@ -3276,11 +3970,11 @@
 msgid "Content review request"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:167
+#: ./src/pyams_content/features/review/zmi/__init__.py:168
 msgid "Comments"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:187
+#: ./src/pyams_content/features/review/zmi/__init__.py:188
 msgid "Review comments"
 msgstr ""
 
@@ -3315,15 +4009,15 @@
 msgid "Ask for content review"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:149
+#: ./src/pyams_content/features/review/zmi/__init__.py:150
 msgid "Request successful. No new notification have been sent"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:260
+#: ./src/pyams_content/features/review/zmi/__init__.py:261
 msgid "Message is mandatory!"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:139
+#: ./src/pyams_content/features/review/zmi/__init__.py:140
 #, python-format
 msgid "Request successful. {count} new notification(s) have been sent"
 msgstr ""