Merge branch dev-dc (contact card evolution)
authorThierry Florac <tflorac@ulthar.net>
Wed, 14 Nov 2018 09:33:28 +0100
changeset 1088 c83faa4b4559
parent 1085 85f4724e0c1d (diff)
parent 1087 978a2b9123b9 (current diff)
child 1089 be585890d0e1
Merge branch dev-dc (contact card evolution)
src/pyams_content/component/paragraph/interfaces/contact.py
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/src/pyams_content/component/paragraph/interfaces/contact.py	Tue Nov 13 14:06:54 2018 +0100
+++ b/src/pyams_content/component/paragraph/interfaces/contact.py	Wed Nov 14 09:33:28 2018 +0100
@@ -9,19 +9,19 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
-from zope.schema._field import ASCIILine
 
 __docformat__ = 'restructuredtext'
 
+from zope.schema import Choice, Text, TextLine
 
-# import standard library
-
-# import interfaces
 from pyams_content.component.paragraph import IBaseParagraph
 from pyams_content.shared.form.interfaces import FORM_CONTENT_TYPE
+from pyams_file.schema import ImageField
+from pyams_i18n.schema import I18nTextLineField
+from pyams_sequence.schema import InternalReferenceField
+from pyams_utils.schema import MailAddressField
 
-# import packages
-from pyams_file.schema import ImageField
+
 try:
     from pyams_gis.schema import GeoPointField
 except ImportError:
@@ -29,10 +29,6 @@
     have_gis = False
 else:
     have_gis = True
-from pyams_i18n.schema import I18nTextLineField
-from pyams_sequence.schema import InternalReferenceField
-from pyams_utils.schema import MailAddressField
-from zope.schema import TextLine, Text, Choice
 
 from pyams_content import _
 
@@ -58,8 +54,8 @@
                                required=False)
 
     company = TextLine(title=_("Company"),
-                               description=_("Business name of the employer"),
-                               required=False)
+                       description=_("Business name of the employer"),
+                       required=False)
 
     contact_email = MailAddressField(title=_("Email address"),
                                      description=_("Contact email address"),
@@ -70,9 +66,9 @@
                                           required=False,
                                           content_type=FORM_CONTENT_TYPE)
 
-    phone_number = ASCIILine(title=_('Phone number'),
-                             description=_('Phone number in international format.\n E.g. +33 ....'),
-                             required=False, )
+    phone_number = TextLine(title=_('Phone number'),
+                            description=_('Phone number in international format.\n E.g. +33 ....'),
+                            required=False, )
 
     photo = ImageField(title=_("Photo"),
                        description=_("Use 'browse' button to select contact picture"),
--- a/src/pyams_content/features/redirect/zmi/container.py	Tue Nov 13 14:06:54 2018 +0100
+++ b/src/pyams_content/features/redirect/zmi/container.py	Wed Nov 14 09:33:28 2018 +0100
@@ -12,49 +12,45 @@
 
 __docformat__ = 'restructuredtext'
 
-
-# import standard library
 import json
 
-# import interfaces
-from pyams_content.features.redirect.interfaces import IRedirectionManagerTarget, IRedirectionManager
+from pyramid.decorator import reify
+from pyramid.exceptions import NotFound
+from pyramid.view import view_config
+from z3c.form import button, field
+from z3c.table.column import GetAttrColumn
+from z3c.table.interfaces import IColumn, IValues
+from zope.interface import Interface
+from zope.schema import Bool, TextLine
+
+from pyams_content.features.redirect.interfaces import IRedirectionManager, IRedirectionManagerTarget
 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION
+from pyams_content.zmi import pyams_content
+from pyams_form.form import AJAXAddForm
 from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager
+from pyams_form.schema import CloseButton
 from pyams_i18n.interfaces import II18n
+from pyams_pagelet.pagelet import pagelet_config
 from pyams_sequence.interfaces import ISequentialIdInfo
-from pyams_skin.interfaces import IPageHeader, IUserSkinnable, IContentHelp
+from pyams_skin.help import ContentHelp
+from pyams_skin.interfaces import IContentHelp, IPageHeader, IUserSkinnable
 from pyams_skin.interfaces.viewlet import IToolbarViewletManager
 from pyams_skin.layer import IPyAMSLayer
-from pyams_zmi.interfaces.menu import ISiteManagementMenu
-from pyams_zmi.layer import IAdminLayer
-from z3c.table.interfaces import IValues, IColumn
-
-# import packages
-from pyams_content.zmi import pyams_content
-from pyams_form.form import AJAXAddForm
-from pyams_form.schema import CloseButton
-from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.help import ContentHelp
 from pyams_skin.page import DefaultPageHeaderAdapter
 from pyams_skin.skin import apply_skin
-from pyams_skin.table import BaseTable, SorterColumn, TrashColumn, I18nColumn, AttributeSwitcherColumn
+from pyams_skin.table import AttributeSwitcherColumn, BaseTable, I18nColumn, SorterColumn, TrashColumn
 from pyams_skin.viewlet.menu import MenuItem
 from pyams_skin.viewlet.toolbar import ToolbarAction
 from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
+from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
 from pyams_utils.fanstatic import get_resource_path
 from pyams_utils.request import copy_request
 from pyams_utils.url import absolute_url
-from pyams_viewlet.viewlet import viewlet_config, Viewlet
+from pyams_viewlet.viewlet import Viewlet, viewlet_config
 from pyams_zmi.form import AdminDialogAddForm
+from pyams_zmi.interfaces.menu import ISiteManagementMenu
+from pyams_zmi.layer import IAdminLayer
 from pyams_zmi.view import ContainerAdminView
-from pyramid.decorator import reify
-from pyramid.exceptions import NotFound
-from pyramid.view import view_config
-from z3c.form import field, button
-from z3c.table.column import GetAttrColumn
-from zope.interface import Interface
-from zope.schema import TextLine, Bool
 
 from pyams_content import _
 
@@ -224,8 +220,11 @@
     def getValue(self, obj):
         if obj.reference:
             target = obj.target
-            return '{0} ({1})'.format(II18n(target).query_attribute('title', request=self.request),
-                                      ISequentialIdInfo(target).get_short_oid())
+            if target is not None:
+                return '{0} ({1})'.format(II18n(target).query_attribute('title', request=self.request),
+                                          ISequentialIdInfo(target).get_short_oid())
+            else:
+                return self.request.localizer.translate(_("Internal reference: {0} (not found)")).format(obj.reference)
         else:
             return super(RedirectionsContainerTargetColumn, self).getValue(obj)
 
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	Tue Nov 13 14:06:54 2018 +0100
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Wed Nov 14 09:33:28 2018 +0100
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-11-07 18:21+0100\n"
+"POT-Creation-Date: 2018-11-14 08:59+0100\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -470,7 +470,7 @@
 
 #: src/pyams_content/component/gallery/zmi/file.py:57
 #: src/pyams_content/component/gallery/zmi/file.py:69
-#: src/pyams_content/component/gallery/zmi/paragraph.py:163
+#: src/pyams_content/component/gallery/zmi/paragraph.py:172
 msgid "Add media(s)"
 msgstr "Ajouter un média / un groupe de médias (zip)"
 
@@ -490,11 +490,11 @@
 msgid "Audio content"
 msgstr "Contenu audio associé"
 
-#: src/pyams_content/component/gallery/zmi/__init__.py:57
+#: src/pyams_content/component/gallery/zmi/__init__.py:61
 msgid "Update gallery properties"
 msgstr "Propriétés de la galerie de médias"
 
-#: src/pyams_content/component/gallery/zmi/__init__.py:84
+#: src/pyams_content/component/gallery/zmi/__init__.py:88
 msgid "Update gallery contents"
 msgstr "Contenu de la galerie de médias"
 
@@ -508,35 +508,26 @@
 "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/paragraph.py:61
+#: src/pyams_content/component/gallery/zmi/paragraph.py:63
 msgid "Medias gallery..."
 msgstr "Galerie de médias"
 
-#: src/pyams_content/component/gallery/zmi/paragraph.py:74
+#: src/pyams_content/component/gallery/zmi/paragraph.py:76
 msgid "Add new gallery"
 msgstr "Ajout d'une galerie de médias"
 
-#: src/pyams_content/component/gallery/zmi/paragraph.py:110
+#: src/pyams_content/component/gallery/zmi/paragraph.py:98
 msgid "Edit gallery properties"
 msgstr "Propriétés de la galerie de médias"
 
-#: src/pyams_content/component/gallery/zmi/paragraph.py:95
-msgid "(gallery contains 1 media)"
-msgstr "(1 média dans la galerie)"
-
-#: src/pyams_content/component/gallery/zmi/paragraph.py:97
-msgid "(empty gallery)"
-msgstr "(aucun média dans la galerie)"
-
-#: src/pyams_content/component/gallery/zmi/paragraph.py:184
+#: src/pyams_content/component/gallery/zmi/paragraph.py:134
+msgid "Visible medias"
+msgstr "Médias visibles"
+
+#: src/pyams_content/component/gallery/zmi/paragraph.py:193
 msgid "Media(s) successfully added"
 msgstr "Les médias ont été ajoutés dans la galerie."
 
-#: src/pyams_content/component/gallery/zmi/paragraph.py:93
-#, python-format
-msgid "(gallery contains {0} medias)"
-msgstr "({0} medias dans la galerie)"
-
 #: src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:12
 msgid "Gallery medias"
 msgstr "Contenu de la galerie"
@@ -1039,69 +1030,88 @@
 msgid "Presentation template used for this header"
 msgstr "Mode de rendu utilisé par ce chapô"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:44
+#: src/pyams_content/component/paragraph/interfaces/contact.py:41
 msgid "Contact card"
 msgstr "Fiche contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:51
+#: src/pyams_content/component/paragraph/interfaces/contact.py:48
 msgid "Contact identity"
 msgstr "Nom du contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:52
+#: src/pyams_content/component/paragraph/interfaces/contact.py:49
 msgid "Name of the contact"
 msgstr "Nom complet du contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:55
+#: src/pyams_content/component/paragraph/interfaces/contact.py:52
 #: src/pyams_content/component/paragraph/interfaces/verbatim.py:48
 msgid "In charge of"
 msgstr "Fonction"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:56
+#: src/pyams_content/component/paragraph/interfaces/contact.py:53
 msgid "Label of contact function"
 msgstr "Fonction du contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:59
-msgid "Email address"
-msgstr "Adresse de messagerie"
+#: src/pyams_content/component/paragraph/interfaces/contact.py:56
+msgid "Company"
+msgstr ""
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:57
+msgid "Business name of the employer"
+msgstr ""
 
 #: src/pyams_content/component/paragraph/interfaces/contact.py:60
+msgid "Email address"
+msgstr "Adresse de messagerie"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:61
 msgid "Contact email address"
 msgstr "Adresse de messagerie \"stricte\", soit uniquement \"xxx@yyy.com\""
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:63
+#: src/pyams_content/component/paragraph/interfaces/contact.py:64
 msgid "Contact form"
 msgstr "Formulaire de contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:64
+#: src/pyams_content/component/paragraph/interfaces/contact.py:65
 msgid "Reference of contact form"
 msgstr "Référence d'un formulaire de contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:68
+#: src/pyams_content/component/paragraph/interfaces/contact.py:69
+msgid "Phone number"
+msgstr "Téléphone"
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:70
+msgid ""
+"Phone number in international format.\n"
+" E.g. +33 ...."
+msgstr ""
+"Numéro de téléphone, au format international si besoin (+33...) "
+
+#: src/pyams_content/component/paragraph/interfaces/contact.py:73
 msgid "Photo"
 msgstr "Photo"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:69
+#: src/pyams_content/component/paragraph/interfaces/contact.py:74
 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:77
+#: src/pyams_content/component/paragraph/interfaces/contact.py:82
 msgid "Address"
 msgstr "Adresse"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:80
+#: src/pyams_content/component/paragraph/interfaces/contact.py:85
 msgid "Contact template"
 msgstr "Mode de rendu"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:81
+#: src/pyams_content/component/paragraph/interfaces/contact.py:86
 msgid "Presentation template used for this contact"
 msgstr "Modèle de présentation utilisé pour ce contact"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:73
+#: src/pyams_content/component/paragraph/interfaces/contact.py:78
 #: src/pyams_content/component/paragraph/interfaces/map.py:48
 msgid "GPS location"
 msgstr "Position GPS"
 
-#: src/pyams_content/component/paragraph/interfaces/contact.py:74
+#: src/pyams_content/component/paragraph/interfaces/contact.py:79
 msgid "GPS coordinates used to locate contact"
 msgstr "Coordonnées GPS de situation du contact"
 
@@ -1687,14 +1697,14 @@
 #: src/pyams_content/shared/common/zmi/workflow.py:206
 #: src/pyams_content/shared/common/zmi/workflow.py:246
 #: src/pyams_content/shared/common/zmi/workflow.py:300
-#: src/pyams_content/shared/common/zmi/workflow.py:389
-#: src/pyams_content/shared/common/zmi/workflow.py:445
-#: src/pyams_content/shared/common/zmi/workflow.py:485
-#: src/pyams_content/shared/common/zmi/workflow.py:526
-#: src/pyams_content/shared/common/zmi/workflow.py:569
-#: src/pyams_content/shared/common/zmi/workflow.py:609
-#: src/pyams_content/shared/common/zmi/workflow.py:650
-#: src/pyams_content/shared/common/zmi/workflow.py:701
+#: src/pyams_content/shared/common/zmi/workflow.py:391
+#: src/pyams_content/shared/common/zmi/workflow.py:447
+#: src/pyams_content/shared/common/zmi/workflow.py:487
+#: src/pyams_content/shared/common/zmi/workflow.py:528
+#: src/pyams_content/shared/common/zmi/workflow.py:571
+#: src/pyams_content/shared/common/zmi/workflow.py:611
+#: src/pyams_content/shared/common/zmi/workflow.py:652
+#: src/pyams_content/shared/common/zmi/workflow.py:703
 msgid "Cancel"
 msgstr "Annuler"
 
@@ -1970,7 +1980,7 @@
 #: src/pyams_content/component/illustration/thesaurus.py:32
 #: src/pyams_content/component/illustration/zmi/__init__.py:56
 #: src/pyams_content/component/illustration/zmi/__init__.py:126
-#: src/pyams_content/component/illustration/zmi/paragraph.py:153
+#: src/pyams_content/component/illustration/zmi/paragraph.py:155
 msgid "Illustration"
 msgstr "Illustration"
 
@@ -2321,8 +2331,8 @@
 "temporaire"
 
 #: src/pyams_content/features/redirect/interfaces.py:56
-#: src/pyams_content/features/redirect/zmi/container.py:210
-#: src/pyams_content/features/redirect/zmi/container.py:366
+#: src/pyams_content/features/redirect/zmi/container.py:206
+#: src/pyams_content/features/redirect/zmi/container.py:365
 msgid "URL pattern"
 msgstr "Schéma d'URL"
 
@@ -2355,31 +2365,31 @@
 msgid "You must provide an internal reference OR a target URL"
 msgstr "Vous devez fournir une référence interne OU une URL de redirection !"
 
-#: src/pyams_content/features/redirect/zmi/container.py:67
+#: src/pyams_content/features/redirect/zmi/container.py:63
 msgid "Redirections"
 msgstr "Redirections"
 
-#: src/pyams_content/features/redirect/zmi/container.py:161
+#: src/pyams_content/features/redirect/zmi/container.py:157
 msgid "Enable/disable rule"
 msgstr "Activer/désactiver la règle"
 
-#: src/pyams_content/features/redirect/zmi/container.py:188
+#: src/pyams_content/features/redirect/zmi/container.py:184
 msgid "Chain/unchain rule"
 msgstr "Enchaîner la règle avec la suivante"
 
-#: src/pyams_content/features/redirect/zmi/container.py:220
+#: src/pyams_content/features/redirect/zmi/container.py:216
 msgid "Target"
 msgstr "Cible"
 
-#: src/pyams_content/features/redirect/zmi/container.py:246
+#: src/pyams_content/features/redirect/zmi/container.py:245
 msgid "Redirections list"
 msgstr "Liste des règles de redirection"
 
-#: src/pyams_content/features/redirect/zmi/container.py:261
+#: src/pyams_content/features/redirect/zmi/container.py:260
 msgid "Redirection rules"
 msgstr "Règles de redirection"
 
-#: src/pyams_content/features/redirect/zmi/container.py:262
+#: src/pyams_content/features/redirect/zmi/container.py:261
 msgid ""
 "Redirection rules are use to handle redirections responses when a request "
 "generates \n"
@@ -2416,47 +2426,52 @@
 "\", la nouvelle URL qu'elle génère est passée aux règles suivantes, jusqu'à "
 "ce qu'une règle s'applique à cette nouvelle URL.\n"
 
-#: src/pyams_content/features/redirect/zmi/container.py:288
+#: src/pyams_content/features/redirect/zmi/container.py:287
 msgid "Test"
 msgstr "Tester !"
 
-#: src/pyams_content/features/redirect/zmi/container.py:323
+#: src/pyams_content/features/redirect/zmi/container.py:322
 msgid "Test redirection rules"
 msgstr "Test des règles de redirection"
 
-#: src/pyams_content/features/redirect/zmi/container.py:301
+#: src/pyams_content/features/redirect/zmi/container.py:300
 msgid "Test URL"
 msgstr "URL à tester"
 
+#: src/pyams_content/features/redirect/zmi/container.py:303
+msgid "Check inactive rules?"
+msgstr "Tester les règles inactive ?"
+
 #: src/pyams_content/features/redirect/zmi/container.py:304
-msgid "Check inactive rules?"
-msgstr "Tester les règles inactive ?"
-
-#: src/pyams_content/features/redirect/zmi/container.py:305
 msgid "If 'yes', inactive rules will also be tested"
 msgstr "Si 'oui', les règles inactives seront également testées"
 
+#: src/pyams_content/features/redirect/zmi/container.py:312
+msgid "Close"
+msgstr "Fermer"
+
 #: src/pyams_content/features/redirect/zmi/container.py:313
-msgid "Close"
-msgstr "Fermer"
-
-#: src/pyams_content/features/redirect/zmi/container.py:314
 msgid "Test rules"
 msgstr "Tester cette URL"
 
-#: src/pyams_content/features/redirect/zmi/container.py:123
+#: src/pyams_content/features/redirect/zmi/container.py:119
 msgid "No currently defined redirection rule."
 msgstr "Aucune règle de redirection n'est définie actuellement."
 
-#: src/pyams_content/features/redirect/zmi/container.py:371
+#: src/pyams_content/features/redirect/zmi/container.py:370
 msgid "No matching rule!"
 msgstr "Aucune règle ne correspond !"
 
-#: src/pyams_content/features/redirect/zmi/container.py:365
+#: src/pyams_content/features/redirect/zmi/container.py:227
+#, python-format
+msgid "Internal reference: {0} (not found)"
+msgstr "Référence interne: {0} (non trouvée)"
+
+#: src/pyams_content/features/redirect/zmi/container.py:364
 msgid "Input URL"
 msgstr "URL en entrée"
 
-#: src/pyams_content/features/redirect/zmi/container.py:367
+#: src/pyams_content/features/redirect/zmi/container.py:366
 msgid "Output URL"
 msgstr "URL générée"
 
@@ -2727,10 +2742,6 @@
 msgid "Edit renderer properties"
 msgstr "Propriétés de ce mode de rendu"
 
-#: src/pyams_content/features/renderer/skin/__init__.py:65
-msgid "Hidden content"
-msgstr "NON affiché"
-
 #: src/pyams_content/features/preview/zmi/__init__.py:62
 msgid "Content preview"
 msgstr "Aperçu du contenu"
@@ -2776,10 +2787,6 @@
 msgid "Don't inherit parent footer"
 msgstr "Ne pas hériter du pied de pages du parent"
 
-#: src/pyams_content/features/footer/skin/__init__.py:91
-msgid "Hidden footer"
-msgstr "Ne pas afficher de pied de pages"
-
 #: src/pyams_content/features/menu/interfaces.py:60
 msgid "Menu title"
 msgstr "Libellé"
@@ -2828,30 +2835,34 @@
 msgid "Link has no illustration"
 msgstr "Le lien n'a pas d'illustration"
 
-#: src/pyams_content/features/menu/zmi/__init__.py:77
+#: src/pyams_content/features/menu/zmi/__init__.py:80
 msgid "Add menu..."
 msgstr "Ajouter une entrée"
 
-#: src/pyams_content/features/menu/zmi/__init__.py:88
+#: src/pyams_content/features/menu/zmi/__init__.py:91
 msgid "Add new menu"
 msgstr "Ajout d'un menu"
 
-#: src/pyams_content/features/menu/zmi/__init__.py:121
+#: src/pyams_content/features/menu/zmi/__init__.py:124
 msgid "Edit menu properties"
 msgstr "Propriétés du menu"
 
-#: src/pyams_content/features/menu/zmi/__init__.py:215
+#: src/pyams_content/features/menu/zmi/__init__.py:218
 #: src/pyams_content/shared/form/interfaces.py:60
 #: src/pyams_content/shared/form/zmi/field.py:167
 #: src/pyams_content/shared/common/interfaces/types.py:47
 msgid "Label"
 msgstr "Libellé"
 
-#: src/pyams_content/features/menu/zmi/__init__.py:108
+#: src/pyams_content/features/menu/zmi/__init__.py:230
+msgid "Inner content"
+msgstr "Contenu interne"
+
+#: src/pyams_content/features/menu/zmi/__init__.py:111
 msgid "Menu was correctly added."
 msgstr "Le menu a été ajouté."
 
-#: src/pyams_content/features/menu/zmi/__init__.py:395
+#: src/pyams_content/features/menu/zmi/__init__.py:415
 msgid "Link was correctly added."
 msgstr "Le lien a été ajouté."
 
@@ -3051,9 +3062,25 @@
 msgid "Don't inherit parent header"
 msgstr "Ne pas hériter de l'en-tête de pages du parent"
 
-#: src/pyams_content/features/header/skin/__init__.py:96
-msgid "Hidden header"
-msgstr "Ne pas afficher d'en-tête de pages"
+#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:43
+msgid "Shared sites"
+msgstr "Sites et blogs"
+
+#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:64
+msgid "Shared contents"
+msgstr "Gabarits"
+
+#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:87
+msgid "Shared tools"
+msgstr "Outils"
+
+#: src/pyams_content/zmi/viewlet/toplinks/__init__.py:110
+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/profile/interfaces.py:33
 msgid "User favorites"
@@ -3075,26 +3102,6 @@
 msgid "Admin. profile"
 msgstr "Profil intervenant"
 
-#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:43
-msgid "Shared sites"
-msgstr "Sites et blogs"
-
-#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:64
-msgid "Shared contents"
-msgstr "Gabarits"
-
-#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:87
-msgid "Shared tools"
-msgstr "Outils"
-
-#: src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:110
-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/root/__init__.py:63
 msgid "Site root"
 msgstr "Racine du site"
@@ -4933,7 +4940,7 @@
 msgid "Change owner"
 msgstr "Changer le propriétaire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:843
+#: src/pyams_content/shared/common/zmi/workflow.py:845
 msgid "Prior checks"
 msgstr "Contrôles préalables : avez-vous ?"
 
@@ -4955,32 +4962,32 @@
 msgid "Publish"
 msgstr "Publier"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:390
+#: src/pyams_content/shared/common/zmi/workflow.py:392
 msgid "Request retire"
 msgstr "Demander le retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:446
+#: src/pyams_content/shared/common/zmi/workflow.py:448
 msgid "Cancel retire request"
 msgstr "Annuler la demande de retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:486
+#: src/pyams_content/shared/common/zmi/workflow.py:488
 msgid "Retire"
 msgstr "Retirer"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:527
+#: src/pyams_content/shared/common/zmi/workflow.py:529
 #: src/pyams_content/workflow/__init__.py:437
 msgid "Request archive"
 msgstr "Demander l'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:570
+#: src/pyams_content/shared/common/zmi/workflow.py:572
 msgid "Cancel archive request"
 msgstr "Annuler la demande d'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:610
+#: src/pyams_content/shared/common/zmi/workflow.py:612
 msgid "Archive"
 msgstr "Archiver"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:651
+#: src/pyams_content/shared/common/zmi/workflow.py:653
 #: src/pyams_content/workflow/__init__.py:502
 #: src/pyams_content/workflow/__init__.py:514
 #: src/pyams_content/workflow/__init__.py:526
@@ -4991,39 +4998,39 @@
 msgid "Create new version"
 msgstr "Créer une nouvelle version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:702
+#: src/pyams_content/shared/common/zmi/workflow.py:704
 #: src/pyams_content/workflow/__init__.py:562
 #: src/pyams_content/workflow/basic.py:249
 msgid "Delete version"
 msgstr "Supprimer cette version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:789
+#: src/pyams_content/shared/common/zmi/workflow.py:791
 msgid "Previewed content?"
 msgstr "Prévisualisé ce contenu ?"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:793
+#: src/pyams_content/shared/common/zmi/workflow.py:795
 msgid "Verified content?"
 msgstr "Audité ce contenu ?"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:177
-#: src/pyams_content/shared/common/zmi/workflow.py:359
+#: src/pyams_content/shared/common/zmi/workflow.py:361
 msgid "Publication start date is required"
 msgstr "La date de début de publication est obligatoire"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:270
-#: src/pyams_content/shared/common/zmi/workflow.py:416
+#: src/pyams_content/shared/common/zmi/workflow.py:418
 msgid "A comment is required"
 msgstr "Le commentaire est obligatoire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:728
+#: src/pyams_content/shared/common/zmi/workflow.py:730
 msgid "Delete content"
 msgstr "Supprimer définitivement ce contenu"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:737
+#: src/pyams_content/shared/common/zmi/workflow.py:739
 msgid "Delete definitively"
 msgstr "Supprimer définitivement"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:866
+#: src/pyams_content/shared/common/zmi/workflow.py:868
 msgid ""
 "You must confirm that you previewed and checked this content before "
 "requesting publication!!"
@@ -5036,7 +5043,7 @@
 msgid "{state} | by {principal}"
 msgstr "{state} | par {principal}"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:869
+#: src/pyams_content/shared/common/zmi/workflow.py:871
 msgid ""
 "You must confirm that you checked this content before requesting "
 "publication!!"
@@ -5521,7 +5528,7 @@
 msgid "Rent existing content"
 msgstr "Lier un contenu existant"
 
-#: src/pyams_content/shared/site/zmi/link.py:134
+#: src/pyams_content/shared/site/zmi/link.py:137
 msgid "Edit content link properties"
 msgstr "Propriétés du lien"
 
@@ -6107,6 +6114,24 @@
 msgid "Add automatic content archiver"
 msgstr "Ajout d'une tâche d'archivage automatique"
 
+#~ msgid "(gallery contains 1 media)"
+#~ msgstr "(1 média dans la galerie)"
+
+#~ msgid "(empty gallery)"
+#~ msgstr "(aucun média dans la galerie)"
+
+#~ msgid "(gallery contains {0} medias)"
+#~ msgstr "({0} medias dans la galerie)"
+
+#~ msgid "Hidden content"
+#~ msgstr "NON affiché"
+
+#~ msgid "Hidden footer"
+#~ msgstr "Ne pas afficher de pied de pages"
+
+#~ msgid "Hidden header"
+#~ msgstr "Ne pas afficher d'en-tête de pages"
+
 #~ msgid "Consult content"
 #~ msgstr "Accéder au contenu"
 
@@ -6387,9 +6412,6 @@
 #~ msgid "Add new identity card paragraph"
 #~ msgstr "Ajout d'une vidéo"
 
-#~ 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é"
 
--- a/src/pyams_content/locales/pyams_content.pot	Tue Nov 13 14:06:54 2018 +0100
+++ b/src/pyams_content/locales/pyams_content.pot	Wed Nov 14 09:33:28 2018 +0100
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-11-07 18:21+0100\n"
+"POT-Creation-Date: 2018-11-14 08:59+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"
@@ -456,7 +456,7 @@
 
 #: ./src/pyams_content/component/gallery/zmi/file.py:57
 #: ./src/pyams_content/component/gallery/zmi/file.py:69
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:163
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:172
 msgid "Add media(s)"
 msgstr ""
 
@@ -476,11 +476,11 @@
 msgid "Audio content"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/__init__.py:57
+#: ./src/pyams_content/component/gallery/zmi/__init__.py:61
 msgid "Update gallery properties"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/__init__.py:84
+#: ./src/pyams_content/component/gallery/zmi/__init__.py:88
 msgid "Update gallery contents"
 msgstr ""
 
@@ -492,35 +492,26 @@
 msgid "You can upload a single file or choose to upload a whole ZIP archive"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:61
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:63
 msgid "Medias gallery..."
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:74
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:76
 msgid "Add new gallery"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:110
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:98
 msgid "Edit gallery properties"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:95
-msgid "(gallery contains 1 media)"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:97
-msgid "(empty gallery)"
-msgstr ""
-
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:184
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:134
+msgid "Visible medias"
+msgstr ""
+
+#: ./src/pyams_content/component/gallery/zmi/paragraph.py:193
 msgid "Media(s) successfully added"
 msgstr ""
 
-#: ./src/pyams_content/component/gallery/zmi/paragraph.py:93
-#, python-format
-msgid "(gallery contains {0} medias)"
-msgstr ""
-
 #: ./src/pyams_content/component/gallery/zmi/templates/gallery-medias.pt:12
 msgid "Gallery medias"
 msgstr ""
@@ -989,69 +980,87 @@
 msgid "Presentation template used for this header"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:44
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:41
 msgid "Contact card"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:51
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:48
 msgid "Contact identity"
 msgstr ""
 
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:49
+msgid "Name of the contact"
+msgstr ""
+
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:52
-msgid "Name of the contact"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:55
 #: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:48
 msgid "In charge of"
 msgstr ""
 
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:53
+msgid "Label of contact function"
+msgstr ""
+
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:56
-msgid "Label of contact function"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:59
-msgid "Email address"
+msgid "Company"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:57
+msgid "Business name of the employer"
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:60
+msgid "Email address"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:61
 msgid "Contact email address"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:63
-msgid "Contact form"
-msgstr ""
-
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:64
+msgid "Contact form"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:65
 msgid "Reference of contact form"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:68
-msgid "Photo"
-msgstr ""
-
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:69
-msgid "Use 'browse' button to select contact picture"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:77
-msgid "Address"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:80
-msgid "Contact template"
-msgstr ""
-
-#: ./src/pyams_content/component/paragraph/interfaces/contact.py:81
-msgid "Presentation template used for this contact"
+msgid "Phone number"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:70
+msgid ""
+"Phone number in international format.\n"
+" E.g. +33 ...."
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:73
-#: ./src/pyams_content/component/paragraph/interfaces/map.py:48
-msgid "GPS location"
+msgid "Photo"
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/contact.py:74
+msgid "Use 'browse' button to select contact picture"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:82
+msgid "Address"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:85
+msgid "Contact template"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:86
+msgid "Presentation template used for this contact"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:78
+#: ./src/pyams_content/component/paragraph/interfaces/map.py:48
+msgid "GPS location"
+msgstr ""
+
+#: ./src/pyams_content/component/paragraph/interfaces/contact.py:79
 msgid "GPS coordinates used to locate contact"
 msgstr ""
 
@@ -1597,14 +1606,14 @@
 #: ./src/pyams_content/shared/common/zmi/workflow.py:206
 #: ./src/pyams_content/shared/common/zmi/workflow.py:246
 #: ./src/pyams_content/shared/common/zmi/workflow.py:300
-#: ./src/pyams_content/shared/common/zmi/workflow.py:389
-#: ./src/pyams_content/shared/common/zmi/workflow.py:445
-#: ./src/pyams_content/shared/common/zmi/workflow.py:485
-#: ./src/pyams_content/shared/common/zmi/workflow.py:526
-#: ./src/pyams_content/shared/common/zmi/workflow.py:569
-#: ./src/pyams_content/shared/common/zmi/workflow.py:609
-#: ./src/pyams_content/shared/common/zmi/workflow.py:650
-#: ./src/pyams_content/shared/common/zmi/workflow.py:701
+#: ./src/pyams_content/shared/common/zmi/workflow.py:391
+#: ./src/pyams_content/shared/common/zmi/workflow.py:447
+#: ./src/pyams_content/shared/common/zmi/workflow.py:487
+#: ./src/pyams_content/shared/common/zmi/workflow.py:528
+#: ./src/pyams_content/shared/common/zmi/workflow.py:571
+#: ./src/pyams_content/shared/common/zmi/workflow.py:611
+#: ./src/pyams_content/shared/common/zmi/workflow.py:652
+#: ./src/pyams_content/shared/common/zmi/workflow.py:703
 msgid "Cancel"
 msgstr ""
 
@@ -1866,7 +1875,7 @@
 #: ./src/pyams_content/component/illustration/thesaurus.py:32
 #: ./src/pyams_content/component/illustration/zmi/__init__.py:56
 #: ./src/pyams_content/component/illustration/zmi/__init__.py:126
-#: ./src/pyams_content/component/illustration/zmi/paragraph.py:153
+#: ./src/pyams_content/component/illustration/zmi/paragraph.py:155
 msgid "Illustration"
 msgstr ""
 
@@ -2190,8 +2199,8 @@
 msgstr ""
 
 #: ./src/pyams_content/features/redirect/interfaces.py:56
-#: ./src/pyams_content/features/redirect/zmi/container.py:210
-#: ./src/pyams_content/features/redirect/zmi/container.py:366
+#: ./src/pyams_content/features/redirect/zmi/container.py:206
+#: ./src/pyams_content/features/redirect/zmi/container.py:365
 msgid "URL pattern"
 msgstr ""
 
@@ -2221,31 +2230,31 @@
 msgid "You must provide an internal reference OR a target URL"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:67
+#: ./src/pyams_content/features/redirect/zmi/container.py:63
 msgid "Redirections"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:161
+#: ./src/pyams_content/features/redirect/zmi/container.py:157
 msgid "Enable/disable rule"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:188
+#: ./src/pyams_content/features/redirect/zmi/container.py:184
 msgid "Chain/unchain rule"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:220
+#: ./src/pyams_content/features/redirect/zmi/container.py:216
 msgid "Target"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:246
+#: ./src/pyams_content/features/redirect/zmi/container.py:245
 msgid "Redirections list"
 msgstr ""
 
+#: ./src/pyams_content/features/redirect/zmi/container.py:260
+msgid "Redirection rules"
+msgstr ""
+
 #: ./src/pyams_content/features/redirect/zmi/container.py:261
-msgid "Redirection rules"
-msgstr ""
-
-#: ./src/pyams_content/features/redirect/zmi/container.py:262
 msgid ""
 "Redirection rules are use to handle redirections responses when a request generates \n"
 "a famous « 404 NotFound » error.\n"
@@ -2261,47 +2270,52 @@
 "next rule, until a matching rule is found.\n"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:288
+#: ./src/pyams_content/features/redirect/zmi/container.py:287
 msgid "Test"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:323
+#: ./src/pyams_content/features/redirect/zmi/container.py:322
 msgid "Test redirection rules"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:301
+#: ./src/pyams_content/features/redirect/zmi/container.py:300
 msgid "Test URL"
 msgstr ""
 
+#: ./src/pyams_content/features/redirect/zmi/container.py:303
+msgid "Check inactive rules?"
+msgstr ""
+
 #: ./src/pyams_content/features/redirect/zmi/container.py:304
-msgid "Check inactive rules?"
-msgstr ""
-
-#: ./src/pyams_content/features/redirect/zmi/container.py:305
 msgid "If 'yes', inactive rules will also be tested"
 msgstr ""
 
+#: ./src/pyams_content/features/redirect/zmi/container.py:312
+msgid "Close"
+msgstr ""
+
 #: ./src/pyams_content/features/redirect/zmi/container.py:313
-msgid "Close"
-msgstr ""
-
-#: ./src/pyams_content/features/redirect/zmi/container.py:314
 msgid "Test rules"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:123
+#: ./src/pyams_content/features/redirect/zmi/container.py:119
 msgid "No currently defined redirection rule."
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:371
+#: ./src/pyams_content/features/redirect/zmi/container.py:370
 msgid "No matching rule!"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:365
+#: ./src/pyams_content/features/redirect/zmi/container.py:227
+#, python-format
+msgid "Internal reference: {0} (not found)"
+msgstr ""
+
+#: ./src/pyams_content/features/redirect/zmi/container.py:364
 msgid "Input URL"
 msgstr ""
 
-#: ./src/pyams_content/features/redirect/zmi/container.py:367
+#: ./src/pyams_content/features/redirect/zmi/container.py:366
 msgid "Output URL"
 msgstr ""
 
@@ -2524,10 +2538,6 @@
 msgid "Edit renderer properties"
 msgstr ""
 
-#: ./src/pyams_content/features/renderer/skin/__init__.py:65
-msgid "Hidden content"
-msgstr ""
-
 #: ./src/pyams_content/features/preview/zmi/__init__.py:62
 msgid "Content preview"
 msgstr ""
@@ -2571,10 +2581,6 @@
 msgid "Don't inherit parent footer"
 msgstr ""
 
-#: ./src/pyams_content/features/footer/skin/__init__.py:91
-msgid "Hidden footer"
-msgstr ""
-
 #: ./src/pyams_content/features/menu/interfaces.py:60
 msgid "Menu title"
 msgstr ""
@@ -2617,30 +2623,34 @@
 msgid "Link has no illustration"
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:77
+#: ./src/pyams_content/features/menu/zmi/__init__.py:80
 msgid "Add menu..."
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:88
+#: ./src/pyams_content/features/menu/zmi/__init__.py:91
 msgid "Add new menu"
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:121
+#: ./src/pyams_content/features/menu/zmi/__init__.py:124
 msgid "Edit menu properties"
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:215
+#: ./src/pyams_content/features/menu/zmi/__init__.py:218
 #: ./src/pyams_content/shared/form/interfaces.py:60
 #: ./src/pyams_content/shared/form/zmi/field.py:167
 #: ./src/pyams_content/shared/common/interfaces/types.py:47
 msgid "Label"
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:108
+#: ./src/pyams_content/features/menu/zmi/__init__.py:230
+msgid "Inner content"
+msgstr ""
+
+#: ./src/pyams_content/features/menu/zmi/__init__.py:111
 msgid "Menu was correctly added."
 msgstr ""
 
-#: ./src/pyams_content/features/menu/zmi/__init__.py:395
+#: ./src/pyams_content/features/menu/zmi/__init__.py:415
 msgid "Link was correctly added."
 msgstr ""
 
@@ -2825,8 +2835,24 @@
 msgid "Don't inherit parent header"
 msgstr ""
 
-#: ./src/pyams_content/features/header/skin/__init__.py:96
-msgid "Hidden header"
+#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:43
+msgid "Shared sites"
+msgstr ""
+
+#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:64
+msgid "Shared contents"
+msgstr ""
+
+#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:87
+msgid "Shared tools"
+msgstr ""
+
+#: ./src/pyams_content/zmi/viewlet/toplinks/__init__.py:110
+msgid "My roles"
+msgstr ""
+
+#: ./src/pyams_content/zmi/viewlet/toplinks/templates/user-addings.pt:7
+msgid "Create new content"
 msgstr ""
 
 #: ./src/pyams_content/profile/interfaces.py:33
@@ -2849,26 +2875,6 @@
 msgid "Admin. profile"
 msgstr ""
 
-#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:43
-msgid "Shared sites"
-msgstr ""
-
-#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:64
-msgid "Shared contents"
-msgstr ""
-
-#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:87
-msgid "Shared tools"
-msgstr ""
-
-#: ./src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py:110
-msgid "My roles"
-msgstr ""
-
-#: ./src/pyams_content/skin/zmi/viewlet/toplinks/templates/user-addings.pt:7
-msgid "Create new content"
-msgstr ""
-
 #: ./src/pyams_content/root/__init__.py:63
 msgid "Site root"
 msgstr ""
@@ -4562,7 +4568,7 @@
 msgid "Change owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:843
+#: ./src/pyams_content/shared/common/zmi/workflow.py:845
 msgid "Prior checks"
 msgstr ""
 
@@ -4584,32 +4590,32 @@
 msgid "Publish"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:390
+#: ./src/pyams_content/shared/common/zmi/workflow.py:392
 msgid "Request retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:446
+#: ./src/pyams_content/shared/common/zmi/workflow.py:448
 msgid "Cancel retire request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:486
+#: ./src/pyams_content/shared/common/zmi/workflow.py:488
 msgid "Retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:527
+#: ./src/pyams_content/shared/common/zmi/workflow.py:529
 #: ./src/pyams_content/workflow/__init__.py:437
 msgid "Request archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:570
+#: ./src/pyams_content/shared/common/zmi/workflow.py:572
 msgid "Cancel archive request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:610
+#: ./src/pyams_content/shared/common/zmi/workflow.py:612
 msgid "Archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:651
+#: ./src/pyams_content/shared/common/zmi/workflow.py:653
 #: ./src/pyams_content/workflow/__init__.py:502
 #: ./src/pyams_content/workflow/__init__.py:514
 #: ./src/pyams_content/workflow/__init__.py:526
@@ -4620,39 +4626,39 @@
 msgid "Create new version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:702
+#: ./src/pyams_content/shared/common/zmi/workflow.py:704
 #: ./src/pyams_content/workflow/__init__.py:562
 #: ./src/pyams_content/workflow/basic.py:249
 msgid "Delete version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:789
+#: ./src/pyams_content/shared/common/zmi/workflow.py:791
 msgid "Previewed content?"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:793
+#: ./src/pyams_content/shared/common/zmi/workflow.py:795
 msgid "Verified content?"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:177
-#: ./src/pyams_content/shared/common/zmi/workflow.py:359
+#: ./src/pyams_content/shared/common/zmi/workflow.py:361
 msgid "Publication start date is required"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:270
-#: ./src/pyams_content/shared/common/zmi/workflow.py:416
+#: ./src/pyams_content/shared/common/zmi/workflow.py:418
 msgid "A comment is required"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:728
+#: ./src/pyams_content/shared/common/zmi/workflow.py:730
 msgid "Delete content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:737
+#: ./src/pyams_content/shared/common/zmi/workflow.py:739
 msgid "Delete definitively"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:866
+#: ./src/pyams_content/shared/common/zmi/workflow.py:868
 msgid ""
 "You must confirm that you previewed and checked this content before "
 "requesting publication!!"
@@ -4663,7 +4669,7 @@
 msgid "{state} | by {principal}"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:869
+#: ./src/pyams_content/shared/common/zmi/workflow.py:871
 msgid ""
 "You must confirm that you checked this content before requesting "
 "publication!!"
@@ -5084,7 +5090,7 @@
 msgid "Rent existing content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:134
+#: ./src/pyams_content/shared/site/zmi/link.py:137
 msgid "Edit content link properties"
 msgstr ""