Version 0.1.12 0.1.12
authorThierry Florac <thierry.florac@onf.fr>
Thu, 28 Jun 2018 08:41:56 +0200
changeset 142 e5e3406cf037
parent 141 2ac6f3379d14
child 143 90c4f4085e97
Version 0.1.12
.installed.cfg
docs/HISTORY.txt
src/pyams_portal.egg-info/PKG-INFO
src/pyams_portal.egg-info/SOURCES.txt
src/pyams_portal/locales/fr/LC_MESSAGES/pyams_portal.po~
--- a/.installed.cfg	Tue Jun 26 15:00:06 2018 +0200
+++ b/.installed.cfg	Thu Jun 28 08:41:56 2018 +0200
@@ -93,3 +93,38 @@
 location = /home/tflorac/Dropbox/src/PyAMS/pyams_portal/parts/test
 recipe = zc.recipe.testrunner
 script = /home/tflorac/Dropbox/src/PyAMS/pyams_portal/bin/test
+
+[buildout]
+installed_develop_eggs = /home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-media.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-file.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-sequence.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-content.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/lingua.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-template.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-default-theme.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-security.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-workflow.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-skin.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-pagelet.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-viewlet.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-i18n.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-mail.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-thesaurus.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-portal.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-zmi.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-zmq.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-catalog.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-form.egg-link
+	/home/tflorac/Dropbox/src/PyAMS/pyams_portal/develop-eggs/pyams-utils.egg-link
+
+[buildout]
+parts = i18n pyflakes test package
+
+[buildout]
+parts = pyflakes test package i18n
+
+[buildout]
+parts = test package i18n pyflakes
+
+[buildout]
+parts = package i18n pyflakes test
--- a/docs/HISTORY.txt	Tue Jun 26 15:00:06 2018 +0200
+++ b/docs/HISTORY.txt	Thu Jun 28 08:41:56 2018 +0200
@@ -1,6 +1,15 @@
 History
 =======
 
+0.1.12
+------
+ - added support for portlet renderer settings
+ - renamed "settings_class" portlet attribute to "settings_factory"; this factory can now be a
+   function, a class or an interface: in this last case, current implementation will look for
+   registered object factory for given interface to create portlet settings.
+ - handle portlets rendering cache; portlets cache is cleared on any portlet settings modification
+ - updated breadcrumbs
+
 0.1.11
 ------
  - updated forms and widgets prefix
--- a/src/pyams_portal.egg-info/PKG-INFO	Tue Jun 26 15:00:06 2018 +0200
+++ b/src/pyams_portal.egg-info/PKG-INFO	Thu Jun 28 08:41:56 2018 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pyams-portal
-Version: 0.1.11
+Version: 0.1.12
 Summary: PyAMS portal and portlets interfaces and classes
 Home-page: http://hg.ztfy.org/pyams/pyams_portal
 Author: Thierry Florac
@@ -99,6 +99,15 @@
         History
         =======
         
+        0.1.12
+        ------
+         - added support for portlet renderer settings
+         - renamed "settings_class" portlet attribute to "settings_factory"; this factory can now be a
+           function, a class or an interface: in this last case, current implementation will look for
+           registered object factory for given interface to create portlet settings.
+         - handle portlets rendering cache; portlets cache is cleared on any portlet settings modification
+         - updated breadcrumbs
+        
         0.1.11
         ------
          - updated forms and widgets prefix
--- a/src/pyams_portal.egg-info/SOURCES.txt	Tue Jun 26 15:00:06 2018 +0200
+++ b/src/pyams_portal.egg-info/SOURCES.txt	Thu Jun 28 08:41:56 2018 +0200
@@ -41,7 +41,9 @@
 src/pyams_portal/resources/js/portal.js
 src/pyams_portal/resources/js/portal.min.js
 src/pyams_portal/resources/less/portal.less
+src/pyams_portal/skin/__init__.py
 src/pyams_portal/templates/pagelet.pt
+src/pyams_portal/templates/portlet-hidden.pt
 src/pyams_portal/tests/__init__.py
 src/pyams_portal/tests/test_utilsdocs.py
 src/pyams_portal/tests/test_utilsdocstrings.py
@@ -52,5 +54,7 @@
 src/pyams_portal/zmi/page.py
 src/pyams_portal/zmi/portlet.py
 src/pyams_portal/zmi/template.py
+src/pyams_portal/zmi/widget.py
 src/pyams_portal/zmi/templates/layout.pt
-src/pyams_portal/zmi/templates/portlet.pt
\ No newline at end of file
+src/pyams_portal/zmi/templates/portlet.pt
+src/pyams_portal/zmi/templates/renderer-input.pt
\ No newline at end of file
--- a/src/pyams_portal/locales/fr/LC_MESSAGES/pyams_portal.po~	Tue Jun 26 15:00:06 2018 +0200
+++ b/src/pyams_portal/locales/fr/LC_MESSAGES/pyams_portal.po~	Thu Jun 28 08:41:56 2018 +0200
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-06-10 03:17+0200\n"
+"POT-Creation-Date: 2018-06-26 08:40+0200\n"
 "PO-Revision-Date: 2015-05-12 12:10+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -16,6 +16,10 @@
 "Generated-By: Lingua 3.10.dev0\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#: src/pyams_portal/template.py:86
+msgid "Portal template"
+msgstr "Modèle de présentation"
+
 #: src/pyams_portal/__init__.py:43
 msgid "Manage portal templates"
 msgstr "Gérer les modèles de présentation"
@@ -24,18 +28,292 @@
 msgid "Portal templates manager"
 msgstr "Gestionnaire des modèles"
 
+#: src/pyams_portal/zmi/portlet.py:59
+msgid "Edit portlet settings"
+msgstr "Propriétés du composant"
+
+#: src/pyams_portal/zmi/portlet.py:105
+msgid ""
+"WARNING: Portlet properties are saved automatically when changing inherit "
+"mode!!"
+msgstr ""
+"ATTENTION : les propriétés du composant sont enregistrées automatiquement "
+"lorsque vous modifiez le mode d'utilisation des paramètres du parent !!"
+
+#: src/pyams_portal/zmi/portlet.py:115
+msgid "Main properties"
+msgstr "Propriétés"
+
+#: src/pyams_portal/zmi/portlet.py:162
+#: src/pyams_portal/zmi/templates/renderer-input.pt:4
+msgid "Edit renderer properties"
+msgstr "Propriétés du mode de rendu"
+
+#: src/pyams_portal/zmi/portlet.py:80 src/pyams_portal/zmi/portlet.py:86
+msgid "Override template settings"
+msgstr "Remplacer le paramétrage du modèle"
+
+#: src/pyams_portal/zmi/portlet.py:56
+#, python-format
+msgid "« {0} »  portal template - {1}"
+msgstr "Modèle de présentation « {0} »  - {1}"
+
+#: src/pyams_portal/zmi/portlet.py:84
+msgid "Override parent settings"
+msgstr "Remplacer le paramétrage du parent"
+
+#: src/pyams_portal/zmi/page.py:66
+msgid "Presentation"
+msgstr "Présentation"
+
+#: src/pyams_portal/zmi/page.py:129
+msgid "Edit template configuration"
+msgstr "Choix du modèle de présentation"
+
+#: src/pyams_portal/zmi/page.py:130
+msgid "Override parent template"
+msgstr "Ne pas hériter du modèle de présentation du parent"
+
+#: src/pyams_portal/zmi/page.py:203
+msgid ""
+"If you choose a shared template, you can only adjust settings of each "
+"portlet individually but can't change portlets list or page configuration.\n"
+"If you use a local template, you can define a whole custom configuration but "
+"the template definition can't be reused anywhere..."
+msgstr ""
+"Si vous choisissez d'utiliser un modèle de présentation partagé, vous "
+"pourrez ajuster les paramètres de chaque composant mais ne pourrez pas "
+"modifier la liste des composants ou leur position et la configuration de la "
+"page.\n"
+"Dans le cas contraire, vous définirez un modèle de présentation « local » "
+"dont vous pourrez définir l'ensemble de la configuration, mais ce modèle ne "
+"pourra pas être réutilisé en dehors des sous-niveaux qui pourront en "
+"hériter...\n"
+"ATTENTION : si vous choisissez d'hériter du modèle du parent, les autres "
+"paramètres modifiés ici seront sans effet !!!"
+
+#: src/pyams_portal/zmi/page.py:219
+msgid "Template properties"
+msgstr "Configuration du modèle"
+
+#: src/pyams_portal/zmi/page.py:97 src/pyams_portal/zmi/page.py:161
+msgid "Use shared template"
+msgstr "Utiliser un modèle de présentation partagé"
+
+#: src/pyams_portal/zmi/page.py:114 src/pyams_portal/zmi/page.py:189
+msgid "You must choose to use a local template or select a shared one!"
+msgstr ""
+"Vous devez choisir un modèle de présentation partagé lorsque vous "
+"n'appliquez pas de modèle local !"
+
+#: src/pyams_portal/zmi/template.py:132
+msgid "Add template"
+msgstr "Ajouter un modèle"
+
+#: src/pyams_portal/zmi/template.py:144 src/pyams_portal/zmi/container.py:64
+#: src/pyams_portal/zmi/container.py:93
+msgid "Portal templates"
+msgstr "Modèles de présentation"
+
+#: src/pyams_portal/zmi/template.py:145
+msgid "Add shared template"
+msgstr "Ajout d'un modèle de présentation"
+
+#: src/pyams_portal/zmi/template.py:60
+msgid "Presentation template"
+msgstr "Présentation"
+
+#: src/pyams_portal/zmi/template.py:169 src/pyams_portal/zmi/layout.py:271
+msgid "Specified name is already used!"
+msgstr "Le nom indiqué est déjà utilisé !"
+
+#: src/pyams_portal/zmi/template.py:111 src/pyams_portal/zmi/layout.py:235
+#: src/pyams_portal/zmi/layout.py:316 src/pyams_portal/zmi/layout.py:400
+#, python-format
+msgid "« {0} »  portal template"
+msgstr "Modèle de présentation « {0} »"
+
+#: src/pyams_portal/zmi/template.py:87
+#, python-format
+msgid "{0} (local template)"
+msgstr "{0} (modèle local)"
+
+#: src/pyams_portal/zmi/layout.py:79
+msgid "Properties"
+msgstr "Propriétés"
+
+#: src/pyams_portal/zmi/layout.py:177
+msgid "Add row..."
+msgstr "Ajouter une ligne"
+
+#: src/pyams_portal/zmi/layout.py:219
+msgid "Add slot..."
+msgstr "Ajouter un panneau"
+
+#: src/pyams_portal/zmi/layout.py:237
+msgid "Add slot"
+msgstr "Ajouter un panneau"
+
+#: src/pyams_portal/zmi/layout.py:384
+msgid "Add portlet..."
+msgstr "Ajouter un composant"
+
+#: src/pyams_portal/zmi/layout.py:402
+msgid "Add portlet"
+msgstr "Ajouter un composant"
+
+#: src/pyams_portal/zmi/layout.py:69
+msgid "Template management"
+msgstr "Ce modèle"
+
+#: src/pyams_portal/zmi/layout.py:103
+msgid "Template configuration"
+msgstr "Configuration d'un modèle"
+
+#: src/pyams_portal/zmi/layout.py:98
+msgid "Local template configuration"
+msgstr "Configuration d'un modèle local"
+
+#: src/pyams_portal/zmi/layout.py:146
+msgid "{{ missing portlet }}"
+msgstr "{{ composant indisponible }}"
+
+#: src/pyams_portal/zmi/layout.py:137
+#, fuzzy, python-format
+msgid ""
+"Add component: {0}<br />Drag and drop button to page template to position "
+"new row"
+msgstr ""
+"Ajouter une ligne<br />Faire un lisser/déposer du bouton dans le modèle de "
+"présentation pour positionner la nouvelle ligne."
+
+#: src/pyams_portal/zmi/layout.py:321
+#, python-format
+msgid "Edit « {0} » slot properties"
+msgstr "Propriétés du panneau « {0} »"
+
+#: src/pyams_portal/zmi/layout.py:101
+#, python-format
+msgid "Shared template configuration ({0})"
+msgstr "Configuration d'un modèle partagé ({0})"
+
+#: src/pyams_portal/zmi/container.py:102
+msgid "Shared portal templates"
+msgstr "Modèles de présentation partagés"
+
+#: src/pyams_portal/zmi/container.py:139
+msgid "Delete template"
+msgstr "Supprimer le modèle"
+
+#: src/pyams_portal/zmi/container.py:189
+msgid "Selected portlets..."
+msgstr "Composants sélectionnés"
+
+#: src/pyams_portal/zmi/container.py:208
+msgid "Portal templates container"
+msgstr "Gestionnaire des modèles"
+
+#: src/pyams_portal/zmi/container.py:209
+msgid "Edit selected portlets"
+msgstr "Sélection des composants"
+
+#: src/pyams_portal/zmi/templates/portlet.pt:137
+msgid "Title"
+msgstr "Titre"
+
+#: src/pyams_portal/zmi/templates/portlet.pt:152
+msgid "Legend"
+msgstr "Légende"
+
+#: src/pyams_portal/zmi/templates/portlet.pt:167
+msgid "Tab label"
+msgstr "Libellé de l'onglet"
+
+#: src/pyams_portal/zmi/templates/layout.pt:24
+msgid "Add row<br />Drag and drop button to page template to position new row"
+msgstr ""
+"Ajouter une ligne<br />Faire un lisser/déposer du bouton dans le modèle de "
+"présentation pour positionner la nouvelle ligne."
+
+#: src/pyams_portal/zmi/templates/layout.pt:29
+msgid ""
+"Add slot<br />Drag and drop button to page template to position new slot"
+msgstr ""
+"Ajouter un panneau<br />Faire un glisser/déposer du bouton dans le modèle de "
+"présentation pour positionner le nouveau panneau."
+
+#: src/pyams_portal/zmi/templates/layout.pt:48
+msgid "Add another portlet..."
+msgstr "Ajouter un composant"
+
+#: src/pyams_portal/zmi/templates/layout.pt:55
+msgid "Selected display:"
+msgstr "Type de périphérique sélectionné :"
+
+#: src/pyams_portal/zmi/templates/layout.pt:60
+msgid "Current device"
+msgstr "Périphérique actuel"
+
+#: src/pyams_portal/zmi/templates/layout.pt:61
+msgid "Extra small device (phone)"
+msgstr "Très petits périphériques (téléphone)"
+
+#: src/pyams_portal/zmi/templates/layout.pt:62
+msgid "Small device (tablet)"
+msgstr "Petits périphériques (tablette)"
+
+#: src/pyams_portal/zmi/templates/layout.pt:63
+msgid "Medium desktop device (> 970px)"
+msgstr "Écrans de taille moyenne (> 970 px)"
+
+#: src/pyams_portal/zmi/templates/layout.pt:64
+msgid "Large desktop device (> 1170px)"
+msgstr "Écrans de grande taille (> 1170 px)"
+
+#: src/pyams_portal/zmi/templates/layout.pt:114
+msgid "Override parent or template settings"
+msgstr "Remplacer le paramétrage du parent ou du modèle"
+
+#: src/pyams_portal/zmi/templates/layout.pt:133
+msgid "Delete row..."
+msgstr "Supprimer la ligne"
+
+#: src/pyams_portal/zmi/templates/layout.pt:142
+msgid "Edit slot properties..."
+msgstr "Propriétés"
+
+#: src/pyams_portal/zmi/templates/layout.pt:149
+msgid "Delete slot..."
+msgstr "Supprimer le panneau"
+
+#: src/pyams_portal/zmi/templates/layout.pt:157
+msgid "Edit portlet properties..."
+msgstr "Propriétés"
+
+#: src/pyams_portal/zmi/templates/layout.pt:165
+msgid "Delete portlet..."
+msgstr "Supprimer le composant"
+
+#: src/pyams_portal/portlets/image/__init__.py:58
+msgid "Image"
+msgstr "Image"
+
 #: src/pyams_portal/portlets/image/interfaces.py:30
 msgid "Selected image"
 msgstr "Image sélectionnée"
 
-#: src/pyams_portal/portlets/image/__init__.py:56
-msgid "Image"
-msgstr "Image"
-
 #: src/pyams_portal/portlets/image/skin/__init__.py:37
 msgid "Responsive image renderer"
 msgstr "Image responsive (par défaut)"
 
+#: src/pyams_portal/portlets/html/__init__.py:51
+msgid "Raw HTML"
+msgstr "Code HTML"
+
+#: src/pyams_portal/portlets/html/__init__.py:78
+msgid "Rich text"
+msgstr "Texte enrichi"
+
 #: src/pyams_portal/portlets/html/interfaces.py:31
 msgid "Raw HTML code"
 msgstr "Code HTML"
@@ -52,14 +330,6 @@
 msgid "Body"
 msgstr "Contenu HTML"
 
-#: src/pyams_portal/portlets/html/__init__.py:49
-msgid "Raw HTML"
-msgstr "Code HTML"
-
-#: src/pyams_portal/portlets/html/__init__.py:75
-msgid "Rich text"
-msgstr "Texte enrichi"
-
 #: src/pyams_portal/portlets/html/skin/__init__.py:37
 msgid "Default code renderer"
 msgstr "Rendu de code HTML (par défaut)"
@@ -68,246 +338,16 @@
 msgid "Default text renderer"
 msgstr "Rendu de code HTML (par défaut)"
 
-#: src/pyams_portal/zmi/portlet.py:50
-msgid "Edit portlet settings"
-msgstr "Propriétés du composant"
-
-#: src/pyams_portal/zmi/portlet.py:92
-msgid "Main properties"
-msgstr "Propriétés"
-
-#: src/pyams_portal/zmi/portlet.py:66 src/pyams_portal/zmi/portlet.py:72
-msgid "Override template settings"
-msgstr "Remplacer le paramétrage du modèle"
-
-#: src/pyams_portal/zmi/portlet.py:47
-#, python-format
-msgid "« {0} »  portal template - {1}"
-msgstr "Modèle de présentation « {0} »  - {1}"
-
-#: src/pyams_portal/zmi/portlet.py:70
-msgid "Override parent settings"
-msgstr "Remplacer le paramétrage du parent"
-
-#: src/pyams_portal/zmi/container.py:78 src/pyams_portal/zmi/template.py:102
-msgid "Portal templates"
-msgstr "Modèles de présentation"
-
-#: src/pyams_portal/zmi/container.py:87
-msgid "Shared portal templates"
-msgstr "Modèles de présentation partagés"
-
-#: src/pyams_portal/zmi/container.py:124
-msgid "Delete template"
-msgstr "Supprimer le modèle"
-
-#: src/pyams_portal/zmi/container.py:174
-msgid "Selected portlets..."
-msgstr "Composants sélectionnés"
-
-#: src/pyams_portal/zmi/container.py:193
-msgid "Portal templates container"
-msgstr "Gestionnaire des modèles"
-
-#: src/pyams_portal/zmi/container.py:194
-msgid "Edit selected portlets"
-msgstr "Sélection des composants"
-
-#: src/pyams_portal/zmi/page.py:66
-msgid "Presentation"
-msgstr "Présentation"
-
-#: src/pyams_portal/zmi/page.py:124
-msgid "Edit template configuration"
-msgstr "Choix du modèle de présentation"
-
-#: src/pyams_portal/zmi/page.py:194
-msgid ""
-"If you choose a shared template, you can only adjust settings of each "
-"portlet individually but can't change portlets list or page configuration.\n"
-"If you use a local template, you can define a whole custom configuration but "
-"the template definition can't be reused anywhere..."
-msgstr ""
-"Si vous choisissez d'utiliser un modèle de présentation partagé, vous "
-"pourrez ajuster les paramètres de chaque composant mais ne pourrez pas "
-"modifier la liste des composants ou leur position et la configuration de la "
-"page.\n"
-"Si vous choisissez d'utiliser un modèle de présentation local, vous pourrez "
-"définir l'ensemble de la configuration mais le modèle de présentation ne "
-"pourra pas être réutilisé en dehors des sous-niveaux qui pourront en "
-"hériter...\n"
-"ATTENTION : si vous choisissez d'hériter du modèle du parent, les autres "
-"paramètres modifiés ici seront sans effet !!!"
-
-#: src/pyams_portal/zmi/page.py:210
-msgid "Template properties"
-msgstr "Configuration du modèle"
-
-#: src/pyams_portal/zmi/page.py:92 src/pyams_portal/zmi/page.py:155
-msgid "Use shared template"
-msgstr "Utiliser un modèle de présentation partagé"
-
-#: src/pyams_portal/zmi/page.py:109 src/pyams_portal/zmi/page.py:180
-msgid "You must choose to use a local template or select a shared one!"
-msgstr ""
-"Vous devez choisir un modèle de présentation partagé lorsque vous "
-"n'appliquez pas de modèle local !"
-
-#: src/pyams_portal/zmi/page.py:145
-msgid "Override parent template"
-msgstr "Ne pas hériter du modèle de présentation du parent"
-
-#: src/pyams_portal/zmi/template.py:54
-msgid "Portal template"
-msgstr "Modèle de présentation"
-
-#: src/pyams_portal/zmi/template.py:90
-msgid "Add template"
-msgstr "Ajouter un modèle"
-
-#: src/pyams_portal/zmi/template.py:103
-msgid "Add shared template"
-msgstr "Ajout d'un modèle de présentation"
-
-#: src/pyams_portal/zmi/template.py:127 src/pyams_portal/zmi/layout.py:262
-msgid "Specified name is already used!"
-msgstr "Le nom indiqué est déjà utilisé !"
-
-#: src/pyams_portal/zmi/template.py:69 src/pyams_portal/zmi/layout.py:226
-#: src/pyams_portal/zmi/layout.py:388
-#, python-format
-msgid "« {0} »  portal template"
-msgstr "Modèle de présentation « {0} »"
-
-#: src/pyams_portal/zmi/layout.py:77
-msgid "Properties"
-msgstr "Propriétés"
-
-#: src/pyams_portal/zmi/layout.py:168
-msgid "Add row..."
-msgstr "Ajouter une ligne"
-
-#: src/pyams_portal/zmi/layout.py:210
-msgid "Add slot..."
-msgstr "Ajouter un panneau"
-
-#: src/pyams_portal/zmi/layout.py:228
-#: src/pyams_portal/zmi/templates/layout.pt:27
-msgid "Add slot"
-msgstr "Ajouter un panneau"
-
-#: src/pyams_portal/zmi/layout.py:310
-msgid "Edit slot properties"
-msgstr "Propriétés d'un panneau"
-
-#: src/pyams_portal/zmi/layout.py:372
-msgid "Add portlet..."
-msgstr "Ajouter un composant"
-
-#: src/pyams_portal/zmi/layout.py:390
-msgid "Add portlet"
-msgstr "Ajouter un composant"
-
-#: src/pyams_portal/zmi/layout.py:67
-msgid "Template management"
-msgstr "Ce modèle"
-
-#: src/pyams_portal/zmi/layout.py:101
-msgid "Template configuration"
-msgstr "Configuration d'un modèle"
-
-#: src/pyams_portal/zmi/layout.py:96
-msgid "Local template configuration"
-msgstr "Configuration d'un modèle local"
-
-#: src/pyams_portal/zmi/layout.py:137
-msgid "{{ missing portlet }}"
-msgstr "{{ composant indisponible }}"
-
-#: src/pyams_portal/zmi/layout.py:307
-#, python-format
-msgid "« {0} »  portal template - {1} slot"
-msgstr "Modèle de présentation « {0} » - Panneau {1}"
-
-#: src/pyams_portal/zmi/layout.py:99
-#, python-format
-msgid "Shared template configuration ({0})"
-msgstr "Configuration d'un modèle partagé ({0})"
-
-#: src/pyams_portal/zmi/templates/layout.pt:23
-msgid "Add row"
-msgstr "Ajouter une ligne"
-
-#: src/pyams_portal/zmi/templates/layout.pt:47
-msgid "Add another portlet..."
-msgstr "Ajouter un composant"
-
-#: src/pyams_portal/zmi/templates/layout.pt:54
-msgid "Selected display:"
-msgstr "Type de périphérique sélectionné :"
-
-#: src/pyams_portal/zmi/templates/layout.pt:59
-msgid "Current device"
-msgstr "Périphérique actuel"
-
-#: src/pyams_portal/zmi/templates/layout.pt:60
-msgid "Extra small device (phone)"
-msgstr "Très petits périphériques (téléphone)"
-
-#: src/pyams_portal/zmi/templates/layout.pt:61
-msgid "Small device (tablet)"
-msgstr "Petits périphériques (tablette)"
-
-#: src/pyams_portal/zmi/templates/layout.pt:62
-msgid "Medium desktop device (> 970px)"
-msgstr "Écrans de taille moyenne (> 970 px)"
-
-#: src/pyams_portal/zmi/templates/layout.pt:63
-msgid "Large desktop device (> 1170px)"
-msgstr "Écrans de grande taille (> 1170 px)"
-
-#: src/pyams_portal/zmi/templates/layout.pt:113
-msgid "Override parent or template settings"
-msgstr "Remplacer le paramétrage du parent ou du modèle"
-
-#: src/pyams_portal/zmi/templates/layout.pt:132
-msgid "Delete row..."
-msgstr "Supprimer la ligne"
-
-#: src/pyams_portal/zmi/templates/layout.pt:141
-msgid "Edit slot properties..."
-msgstr "Propriétés"
-
-#: src/pyams_portal/zmi/templates/layout.pt:148
-msgid "Delete slot..."
-msgstr "Supprimer le panneau"
-
-#: src/pyams_portal/zmi/templates/layout.pt:156
-msgid "Edit portlet properties..."
-msgstr "Propriétés"
-
-#: src/pyams_portal/zmi/templates/layout.pt:164
-msgid "Delete portlet..."
-msgstr "Supprimer le composant"
-
-#: src/pyams_portal/zmi/templates/portlet.pt:134
-msgid "Title"
-msgstr "Titre"
-
-#: src/pyams_portal/zmi/templates/portlet.pt:149
-msgid "Legend"
-msgstr "Légende"
-
-#: src/pyams_portal/zmi/templates/portlet.pt:164
-msgid "Tab label"
-msgstr "Libellé de l'onglet"
+#: src/pyams_portal/skin/__init__.py:36
+msgid "Hidden portlet"
+msgstr "Composant non affiché"
 
 #: src/pyams_portal/interfaces/__init__.py:65
 msgid "Portlet"
 msgstr "Composant"
 
 #: src/pyams_portal/interfaces/__init__.py:68
-#: src/pyams_portal/interfaces/__init__.py:181
+#: src/pyams_portal/interfaces/__init__.py:195
 msgid "Slot name"
 msgstr "Nom du panneau"
 
@@ -316,26 +356,18 @@
 msgstr "Nom du panneau correspondant à la configuration"
 
 #: src/pyams_portal/interfaces/__init__.py:82
-msgid "Visible portlet?"
-msgstr "Composant visible ?"
-
-#: src/pyams_portal/interfaces/__init__.py:83
-msgid "Select 'no' to hide this portlet..."
-msgstr "Sélectionnez 'non' pour masquer ce composant..."
-
-#: src/pyams_portal/interfaces/__init__.py:87
 msgid "Portlet renderer"
 msgstr "Mode de rendu"
 
-#: src/pyams_portal/interfaces/__init__.py:88
+#: src/pyams_portal/interfaces/__init__.py:83
 msgid "Name of renderer used to render this portlet"
 msgstr "Mode de rendu utilisé pour restituer ce composant"
 
-#: src/pyams_portal/interfaces/__init__.py:115
+#: src/pyams_portal/interfaces/__init__.py:113
 msgid "Inherit parent configuration?"
 msgstr "Hériter de la configuration du parent ?"
 
-#: src/pyams_portal/interfaces/__init__.py:116
+#: src/pyams_portal/interfaces/__init__.py:114
 msgid ""
 "This option is only available if context's parent is using the same "
 "template..."
@@ -343,27 +375,27 @@
 "Cette option n'est disponible que si le parent utilise le même modèle de "
 "présentation..."
 
-#: src/pyams_portal/interfaces/__init__.py:182
+#: src/pyams_portal/interfaces/__init__.py:196
 msgid "This name must be unique in a given template"
 msgstr "Ce nom doit être unique au sein d'un modèle de présentation"
 
-#: src/pyams_portal/interfaces/__init__.py:185
+#: src/pyams_portal/interfaces/__init__.py:199
 msgid "Row ID"
 msgstr "ID de la ligne"
 
-#: src/pyams_portal/interfaces/__init__.py:199
+#: src/pyams_portal/interfaces/__init__.py:213
 msgid "Visible slot?"
 msgstr "Panneau visible ?"
 
-#: src/pyams_portal/interfaces/__init__.py:200
+#: src/pyams_portal/interfaces/__init__.py:214
 msgid "Select 'no' to hide this slot..."
 msgstr "Choisir 'non' pour masquer ce panneau..."
 
-#: src/pyams_portal/interfaces/__init__.py:204
+#: src/pyams_portal/interfaces/__init__.py:218
 msgid "Extra small device width"
 msgstr "Largeur sur très petits périphériques"
 
-#: src/pyams_portal/interfaces/__init__.py:205
+#: src/pyams_portal/interfaces/__init__.py:219
 msgid ""
 "Slot width, in columns count, on extra small devices (phones...); set to 0 "
 "to hide the portlet"
@@ -371,11 +403,11 @@
 "Largeur du panneau, en nombre de colonnes, sur les très petits périphériques "
 "(téléphones...) ; indiquez une valeur de 0 pour masquer ce composant"
 
-#: src/pyams_portal/interfaces/__init__.py:211
+#: src/pyams_portal/interfaces/__init__.py:225
 msgid "Small device width"
 msgstr "Largeur sur petits périphériques"
 
-#: src/pyams_portal/interfaces/__init__.py:212
+#: src/pyams_portal/interfaces/__init__.py:226
 msgid ""
 "Slot width, in columns count, on small devices (tablets...); set to 0 to "
 "hide the portlet"
@@ -383,11 +415,11 @@
 "Largeur du panneau, en nombre de colonnes, sur les petits périphériques "
 "(tablettes...) ; indiquez une valeur de 0 pour masquer ce composant"
 
-#: src/pyams_portal/interfaces/__init__.py:218
+#: src/pyams_portal/interfaces/__init__.py:232
 msgid "Medium devices width"
 msgstr "Largeur sur périphériques moyens"
 
-#: src/pyams_portal/interfaces/__init__.py:219
+#: src/pyams_portal/interfaces/__init__.py:233
 msgid ""
 "Slot width, in columns count, on medium desktop devices (>= 992 pixels); set "
 "to 0 to hide the portlet"
@@ -395,11 +427,11 @@
 "Largeur du panneau, en nombre de colonnes, sur les périphériques moyens (>= "
 "992 pixels) ; indiquez une valeur de 0 pour masquer ce composant"
 
-#: src/pyams_portal/interfaces/__init__.py:225
+#: src/pyams_portal/interfaces/__init__.py:239
 msgid "Large devices width"
 msgstr "Largeur sur grands périphériques"
 
-#: src/pyams_portal/interfaces/__init__.py:226
+#: src/pyams_portal/interfaces/__init__.py:240
 msgid ""
 "Slot width, in columns count, on large desktop devices (>= 1200 pixels); set "
 "to 0 to hide the portlet"
@@ -407,27 +439,27 @@
 "Largeur du panneau, en nombre de colonnes, sur les grands périphériques (>= "
 "1200 pixels) ; indiquez une valeur de 0 pour masquer ce composant"
 
-#: src/pyams_portal/interfaces/__init__.py:232
+#: src/pyams_portal/interfaces/__init__.py:246
 msgid "CSS class"
 msgstr "Class CSS"
 
-#: src/pyams_portal/interfaces/__init__.py:233
+#: src/pyams_portal/interfaces/__init__.py:247
 msgid "CSS class applied to this slot"
 msgstr "Classe CSS spécifique appliquée à ce panneau"
 
-#: src/pyams_portal/interfaces/__init__.py:346
+#: src/pyams_portal/interfaces/__init__.py:360
 msgid "Template name"
 msgstr "Nom du modèle"
 
-#: src/pyams_portal/interfaces/__init__.py:347
+#: src/pyams_portal/interfaces/__init__.py:361
 msgid "Two registered templates can't share the same name..."
 msgstr "Deux modèles partagés ne peuvent pas utiliser le même nom..."
 
-#: src/pyams_portal/interfaces/__init__.py:368
+#: src/pyams_portal/interfaces/__init__.py:382
 msgid "Toolbar portlets"
 msgstr "Composants de la barre d'outils"
 
-#: src/pyams_portal/interfaces/__init__.py:369
+#: src/pyams_portal/interfaces/__init__.py:383
 msgid ""
 "These portlets will be directly available in templates configuration page "
 "toolbar"
@@ -435,55 +467,67 @@
 "Ces composants seront directement accessibles dans la page de configuration "
 "des modèles de présentation sous la forme d'une barre d'icônes"
 
-#: src/pyams_portal/interfaces/__init__.py:395
+#: src/pyams_portal/interfaces/__init__.py:412
 msgid "Inherit parent template?"
 msgstr "Hériter du modèle du parent ?"
 
-#: src/pyams_portal/interfaces/__init__.py:396
+#: src/pyams_portal/interfaces/__init__.py:413
 msgid "Should we reuse parent template?"
 msgstr "Doit-on ré-utiliser le modèle du parent ?"
 
-#: src/pyams_portal/interfaces/__init__.py:400
+#: src/pyams_portal/interfaces/__init__.py:417
 msgid "Override parent template?"
 msgstr "Ne pas hériter du modèle du parent ?"
 
-#: src/pyams_portal/interfaces/__init__.py:401
+#: src/pyams_portal/interfaces/__init__.py:418
 msgid "Should we override parent template?"
 msgstr "Doit-on remplacer le modèle de présentation du parent ?"
 
-#: src/pyams_portal/interfaces/__init__.py:405
+#: src/pyams_portal/interfaces/__init__.py:422
 msgid "Use local template?"
 msgstr "Utiliser un modèle local ?"
 
-#: src/pyams_portal/interfaces/__init__.py:406
+#: src/pyams_portal/interfaces/__init__.py:423
 msgid ""
 "If 'yes', you can define a custom local template instead of a shared template"
 msgstr ""
 "Si 'oui', vous pouvez définir un modèle de présentation local au lieu d'un "
 "modèle partagé"
 
-#: src/pyams_portal/interfaces/__init__.py:411
+#: src/pyams_portal/interfaces/__init__.py:428
 msgid "Local template"
 msgstr "Modèle local"
 
-#: src/pyams_portal/interfaces/__init__.py:416
+#: src/pyams_portal/interfaces/__init__.py:433
 msgid "Use shared template?"
 msgstr "Utiliser un modèle partagé"
 
-#: src/pyams_portal/interfaces/__init__.py:417
+#: src/pyams_portal/interfaces/__init__.py:434
 msgid "If 'yes', you can select a shared template"
 msgstr ""
 "Si 'oui', vous pouvez sélectionner un modèle de présentation partagé au lieu "
 "d'un modèle local"
 
-#: src/pyams_portal/interfaces/__init__.py:421
+#: src/pyams_portal/interfaces/__init__.py:438
 msgid "Page template"
 msgstr "Modèle de page"
 
-#: src/pyams_portal/interfaces/__init__.py:422
+#: src/pyams_portal/interfaces/__init__.py:439
 msgid "Template used for this page"
 msgstr "Modèle de présentation utilisé pour cette page"
 
+#~ msgid "« {0} »  portal template - {1} slot"
+#~ msgstr "Modèle de présentation « {0} » - Panneau {1}"
+
+#~ msgid "Visible portlet?"
+#~ msgstr "Composant visible ?"
+
+#~ msgid "Select 'no' to hide this portlet..."
+#~ msgstr "Sélectionnez 'non' pour masquer ce composant..."
+
+#~ msgid "Add row"
+#~ msgstr "Ajouter une ligne"
+
 #~ msgid "Context content"
 #~ msgstr "Contenu du contexte"