Il est maintenant possible d’entrer son adresse email pour la réinitialisation de...
authorBenoît Pin <benoit.pin@gmail.com>
Sun, 19 Jan 2014 09:55:24 +0000 (10:55 +0100)
committerBenoît Pin <benoit.pin@gmail.com>
Sun, 19 Jan 2014 09:55:24 +0000 (10:55 +0100)
RegistrationTool.py
locales/en/LC_MESSAGES/plinn.mo
locales/en/LC_MESSAGES/plinn.po
locales/fr/LC_MESSAGES/plinn.mo
locales/fr/LC_MESSAGES/plinn.po
locales/plinn.pot
skins/custom_generic/login_form.pt
skins/generic/request_password_reset_template.pt

index 1417f30..bddd44b 100644 (file)
@@ -32,8 +32,10 @@ from AccessControl.Permission import Permission
 from BTrees.OOBTree import OOBTree
 from Products.CMFCore.permissions import ManagePortal, AddPortalMember
 from Products.CMFCore.exceptions import AccessControl_Unauthorized
 from BTrees.OOBTree import OOBTree
 from Products.CMFCore.permissions import ManagePortal, AddPortalMember
 from Products.CMFCore.exceptions import AccessControl_Unauthorized
+from Products.CMFDefault.exceptions import EmailAddressInvalid
 from Products.CMFCore.utils import getToolByName
 from Products.CMFCore.utils import getUtilityByInterfaceName
 from Products.CMFCore.utils import getToolByName
 from Products.CMFCore.utils import getUtilityByInterfaceName
+from Products.CMFDefault.utils import checkEmailAddress
 from Products.GroupUserFolder.GroupsToolPermissions import ManageGroups
 from Products.Plinn.utils import Message as _
 from Products.Plinn.utils import translate
 from Products.GroupUserFolder.GroupsToolPermissions import ManageGroups
 from Products.Plinn.utils import Message as _
 from Products.Plinn.utils import translate
@@ -200,6 +202,15 @@ class RegistrationTool(BaseRegistrationTool) :
         self.clearExpiredPasswordResetRequests()
         mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
         member = mtool.getMemberById(userid)
         self.clearExpiredPasswordResetRequests()
         mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
         member = mtool.getMemberById(userid)
+        if not member :
+            try :
+                checkEmailAddress(userid)
+                member = mtool.searchMembers('email', userid)
+                if member :
+                    userid = member[0]['username']
+                    member = mtool.getMemberById(userid)
+            except EmailAddressInvalid :
+                pass
         if member :
             uuid = str(uuid4())
             while self._passwordResetRequests.has_key(uuid) :
         if member :
             uuid = str(uuid4())
             while self._passwordResetRequests.has_key(uuid) :
index 5be7fed..1dd78a1 100644 (file)
Binary files a/locales/en/LC_MESSAGES/plinn.mo and b/locales/en/LC_MESSAGES/plinn.mo differ
index 8a1cd66..df0b49d 100644 (file)
@@ -1,7 +1,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: Thu Nov 28 13:09:25 2013\n"
+"POT-Creation-Date: Sun Jan 19 10:49:52 2014\n"
 "PO-Revision-Date: 2013-11-28 13:12+0100\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
 "PO-Revision-Date: 2013-11-28 13:12+0100\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
@@ -20,31 +20,31 @@ msgstr ""
 msgid "Object deleted"
 msgstr ""
 
 msgid "Object deleted"
 msgstr ""
 
-#: n/Folder.py:162
+#: n/Folder.py:164
 msgid "Please rename each listed object."
 msgstr ""
 
 msgid "Please rename each listed object."
 msgstr ""
 
-#: n/RegistrationTool.py:217
+#: n/RegistrationTool.py:228
 msgid "How to reset your password on the %s website"
 msgstr ""
 
 msgid "How to reset your password on the %s website"
 msgstr ""
 
-#: n/RegistrationTool.py:232
+#: n/RegistrationTool.py:243
 msgid "Unknown user name. Please retry."
 msgstr ""
 
 msgid "Unknown user name. Please retry."
 msgstr ""
 
-#: n/RegistrationTool.py:247
+#: n/RegistrationTool.py:258
 msgid "Invalid reset password request."
 msgstr ""
 
 msgid "Invalid reset password request."
 msgstr ""
 
-#: n/RegistrationTool.py:253
+#: n/RegistrationTool.py:264
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
-#: n/RegistrationTool.py:262
+#: n/RegistrationTool.py:273
 msgid "Password successfully reset."
 msgstr ""
 
 msgid "Password successfully reset."
 msgstr ""
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:275
 msgid "\"%s\" username not found."
 msgstr ""
 
 msgid "\"%s\" username not found."
 msgstr ""
 
@@ -143,8 +143,21 @@ msgstr ""
 msgid "search between %s and %s"
 msgstr ""
 
 msgid "search between %s and %s"
 msgstr ""
 
+#: n/skins/content/folder_factories.pt:18 n/skins/generic/gruf_macros.pt:256
+#: n/skins/generic/gruf_macros.pt:378 n/skins/generic/last_member_logs.pt:23
+#: n/skins/generic/pending_members.pt:13
+msgid "Name"
+msgstr ""
+
+#: n/skins/content/folder_factories.pt:34
+#: n/skins/content/topic_edit_template.pt:51
+#: n/skins/generic/gruf_macros.pt:288 n/skins/generic/gruf_macros.pt:327
+msgid "Add"
+msgstr ""
+
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
+#: n/skins/custom_content/document_edit_template.pt:23
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
@@ -191,11 +204,6 @@ msgstr ""
 msgid "Type:"
 msgstr ""
 
 msgid "Type:"
 msgstr ""
 
-#: n/skins/content/topic_edit_template.pt:51
-#: n/skins/generic/gruf_macros.pt:288 n/skins/generic/gruf_macros.pt:327
-msgid "Add"
-msgstr ""
-
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr ""
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr ""
@@ -380,27 +388,29 @@ msgstr ""
 msgid "%d item moved down.%d items moved down."
 msgstr ""
 
 msgid "%d item moved down.%d items moved down."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:13
+#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:42
 msgid "Item renamed."
 msgstr ""
 
 msgid "Item renamed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:15
+#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:44
 msgid "Items renamed."
 msgstr ""
 
 msgid "Items renamed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:18
+#: n/skins/custom_control/folder_rename_control.py:29
 msgid "This item has not been renamed: \"%s\""
 msgstr ""
 
 msgid "This item has not been renamed: \"%s\""
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:21
+#: n/skins/custom_control/folder_rename_control.py:32
 msgid "These items have not been renamed: %s"
 msgstr ""
 
 msgid "These items have not been renamed: %s"
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:35
 msgid "Rename failed."
 msgstr ""
 
 msgid "Rename failed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:39
 msgid "Nothing to change."
 msgstr ""
 
 msgid "Nothing to change."
 msgstr ""
 
@@ -433,6 +443,14 @@ msgstr ""
 msgid "Bottom"
 msgstr ""
 
 msgid "Bottom"
 msgstr ""
 
+#: n/skins/custom_generic/folder_rename_template.pt:6
+msgid "Rename Items"
+msgstr ""
+
+#: n/skins/custom_generic/folder_rename_template.pt:16
+msgid "URL"
+msgstr ""
+
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
@@ -491,6 +509,50 @@ msgstr ""
 msgid "Change password"
 msgstr ""
 
 msgid "Change password"
 msgstr ""
 
+#: n/skins/custom_generic/login_form.pt:11
+msgid "Log in"
+msgstr ""
+
+#. Default: "Login"
+#: n/skins/custom_generic/login_form.pt:22
+msgid "user_name"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:28 n/skins/generic/gruf_macros.pt:268
+#: n/skins/generic/gruf_macros.pt:390
+#: n/skins/generic/password_reset_template.pt:28
+msgid "Password"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:37
+msgid "Remember my name."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:43
+#: n/skins/generic/password_reset_form.py:26
+msgid " Login "
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:49
+msgid "Forgot your login or password?"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:51
+msgid ""
+"Having trouble logging in? Make sure to enable cookies in your web browser."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:55
+msgid "Don't forget to logout or exit your browser when you're done."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:58
+msgid ""
+"Setting the 'Remember my name' option will set a cookie with your username, "
+"so that when you next log in, your user name will already be filled in for "
+"you."
+msgstr ""
+
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr ""
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr ""
@@ -847,21 +909,10 @@ msgstr ""
 msgid "Login"
 msgstr ""
 
 msgid "Login"
 msgstr ""
 
-#: n/skins/generic/gruf_macros.pt:256 n/skins/generic/gruf_macros.pt:378
-#: n/skins/generic/last_member_logs.pt:23
-#: n/skins/generic/pending_members.pt:13
-msgid "Name"
-msgstr ""
-
 #: n/skins/generic/gruf_macros.pt:262 n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr ""
 
 #: n/skins/generic/gruf_macros.pt:262 n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr ""
 
-#: n/skins/generic/gruf_macros.pt:268 n/skins/generic/gruf_macros.pt:390
-#: n/skins/generic/password_reset_template.pt:28
-msgid "Password"
-msgstr ""
-
 #: n/skins/generic/gruf_macros.pt:274 n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
 msgid "Confirm"
 #: n/skins/generic/gruf_macros.pt:274 n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
 msgid "Confirm"
@@ -1039,10 +1090,6 @@ msgstr ""
 msgid "Exit boxes editing"
 msgstr ""
 
 msgid "Exit boxes editing"
 msgstr ""
 
-#: n/skins/generic/password_reset_form.py:26
-msgid " Login "
-msgstr ""
-
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr ""
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr ""
@@ -1162,18 +1209,18 @@ msgstr ""
 
 #: n/skins/generic/request_password_reset_template.pt:12
 msgid ""
 
 #: n/skins/generic/request_password_reset_template.pt:12
 msgid ""
-"Enter your username below and click on the \"Send\" button. You will receive "
-"an email with a link to reset your password."
+"Enter your email or your username below and click on the \"Send\" button. "
+"You will receive an email with a link to reset your password."
 msgstr ""
 
 msgstr ""
 
-#: n/skins/generic/request_password_reset_template.pt:18
+#: n/skins/generic/request_password_reset_template.pt:19
 msgid ""
 "If this will not work for you (for example, if you forget your username or "
 "didn't enter your email address) send email to ${admin_email}."
 msgstr ""
 
 #. Default: "Send"
 msgid ""
 "If this will not work for you (for example, if you forget your username or "
 "didn't enter your email address) send email to ${admin_email}."
 msgstr ""
 
 #. Default: "Send"
-#: n/skins/generic/request_password_reset_template.pt:25
+#: n/skins/generic/request_password_reset_template.pt:26
 msgid " Send "
 msgstr ""
 
 msgid " Send "
 msgstr ""
 
index d239832..8ed1dc2 100644 (file)
Binary files a/locales/fr/LC_MESSAGES/plinn.mo and b/locales/fr/LC_MESSAGES/plinn.mo differ
index 21249ec..fe1b82d 100755 (executable)
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: Thu Nov 28 13:09:25 2013\n"
-"PO-Revision-Date: 2013-08-02 10:29+0200\n"
+"POT-Creation-Date: Sun Jan 19 10:49:52 2014\n"
+"PO-Revision-Date: 2014-01-19 10:51+0100\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
 "Language: \n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
 "Language: \n"
@@ -20,33 +20,33 @@ msgstr ""
 msgid "Object deleted"
 msgstr "Objet supprimé"
 
 msgid "Object deleted"
 msgstr "Objet supprimé"
 
-#: n/Folder.py:162
+#: n/Folder.py:164
 msgid "Please rename each listed object."
 msgstr "Veuillez renommer tous les éléments listés."
 
 msgid "Please rename each listed object."
 msgstr "Veuillez renommer tous les éléments listés."
 
-#: n/RegistrationTool.py:217
+#: n/RegistrationTool.py:228
 msgid "How to reset your password on the %s website"
 msgstr "Comment réinitialiser votre mot de passe sur le site %s"
 
 msgid "How to reset your password on the %s website"
 msgstr "Comment réinitialiser votre mot de passe sur le site %s"
 
-#: n/RegistrationTool.py:232
+#: n/RegistrationTool.py:243
 msgid "Unknown user name. Please retry."
 msgstr "Nom d'utilisateur inconnu. Veuillez réessayer."
 
 msgid "Unknown user name. Please retry."
 msgstr "Nom d'utilisateur inconnu. Veuillez réessayer."
 
-#: n/RegistrationTool.py:247
+#: n/RegistrationTool.py:258
 msgid "Invalid reset password request."
 msgstr "Demande de réinitialisation de mot de passe invalide."
 
 msgid "Invalid reset password request."
 msgstr "Demande de réinitialisation de mot de passe invalide."
 
-#: n/RegistrationTool.py:253
+#: n/RegistrationTool.py:264
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 "Votre demande de réinitialisation de mot de passe a expiré. Vous pouvez en "
 "demander une nouvelle."
 
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 "Votre demande de réinitialisation de mot de passe a expiré. Vous pouvez en "
 "demander une nouvelle."
 
-#: n/RegistrationTool.py:262
+#: n/RegistrationTool.py:273
 msgid "Password successfully reset."
 msgstr "Mot de passe correctement réinitialisé."
 
 msgid "Password successfully reset."
 msgstr "Mot de passe correctement réinitialisé."
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:275
 msgid "\"%s\" username not found."
 msgstr "Nom : « %s » non trouvé."
 
 msgid "\"%s\" username not found."
 msgstr "Nom : « %s » non trouvé."
 
@@ -68,9 +68,8 @@ msgid ""
 "the community.\n"
 msgstr ""
 "\n"
 "the community.\n"
 msgstr ""
 "\n"
-"Vous venez d'être inscrit en tant que membre du portail "
-"« %(portal_title)s », ce qui vous permet de participer à la rédaction des "
-"contenus.\n"
+"Vous venez d'être inscrit en tant que membre du portail « %(portal_title)"
+"s », ce qui vous permet de participer à la rédaction des contenus.\n"
 
 #: n/profiles/default/workflows/member_workflow/scripts/sendNotificationEmail.py:43
 #: n/profiles/photo/workflows/member_workflow/scripts/sendNotificationEmail.py:43
 
 #: n/profiles/default/workflows/member_workflow/scripts/sendNotificationEmail.py:43
 #: n/profiles/photo/workflows/member_workflow/scripts/sendNotificationEmail.py:43
@@ -151,8 +150,21 @@ msgstr "recherche depuis le %s jusqu'à la fin du monde"
 msgid "search between %s and %s"
 msgstr "recherche entre le %s et le %s"
 
 msgid "search between %s and %s"
 msgstr "recherche entre le %s et le %s"
 
+#: n/skins/content/folder_factories.pt:18 n/skins/generic/gruf_macros.pt:256
+#: n/skins/generic/gruf_macros.pt:378 n/skins/generic/last_member_logs.pt:23
+#: n/skins/generic/pending_members.pt:13
+msgid "Name"
+msgstr "Nom"
+
+#: n/skins/content/folder_factories.pt:34
+#: n/skins/content/topic_edit_template.pt:51
+#: n/skins/generic/gruf_macros.pt:288 n/skins/generic/gruf_macros.pt:327
+msgid "Add"
+msgstr "Ajouter"
+
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
+#: n/skins/custom_content/document_edit_template.pt:23
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
@@ -199,11 +211,6 @@ msgstr "Nom :"
 msgid "Type:"
 msgstr "Type :"
 
 msgid "Type:"
 msgstr "Type :"
 
-#: n/skins/content/topic_edit_template.pt:51
-#: n/skins/generic/gruf_macros.pt:288 n/skins/generic/gruf_macros.pt:327
-msgid "Add"
-msgstr "Ajouter"
-
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr "%(type)s restauré."
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr "%(type)s restauré."
@@ -390,27 +397,29 @@ msgstr "%d élément déplacé en bas.%d éléments déplacés en bas."
 msgid "%d item moved down.%d items moved down."
 msgstr "%d élément déplacé vers le bas.%d éléments déplacés vers le bas."
 
 msgid "%d item moved down.%d items moved down."
 msgstr "%d élément déplacé vers le bas.%d éléments déplacés vers le bas."
 
-#: n/skins/custom_control/folder_rename_control.py:13
+#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:42
 msgid "Item renamed."
 msgstr "Élément renommé."
 
 msgid "Item renamed."
 msgstr "Élément renommé."
 
-#: n/skins/custom_control/folder_rename_control.py:15
+#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:44
 msgid "Items renamed."
 msgstr "Éléments renommés."
 
 msgid "Items renamed."
 msgstr "Éléments renommés."
 
-#: n/skins/custom_control/folder_rename_control.py:18
+#: n/skins/custom_control/folder_rename_control.py:29
 msgid "This item has not been renamed: \"%s\""
 msgstr "Cet élément n'a pas été renommé : \"%s\""
 
 msgid "This item has not been renamed: \"%s\""
 msgstr "Cet élément n'a pas été renommé : \"%s\""
 
-#: n/skins/custom_control/folder_rename_control.py:21
+#: n/skins/custom_control/folder_rename_control.py:32
 msgid "These items have not been renamed: %s"
 msgstr "Ces éléments n'ont pas été renommés : %s"
 
 msgid "These items have not been renamed: %s"
 msgstr "Ces éléments n'ont pas été renommés : %s"
 
-#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:35
 msgid "Rename failed."
 msgstr "Renommage échoué."
 
 msgid "Rename failed."
 msgstr "Renommage échoué."
 
-#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:39
 msgid "Nothing to change."
 msgstr "Aucun changement."
 
 msgid "Nothing to change."
 msgstr "Aucun changement."
 
@@ -443,6 +452,14 @@ msgstr "Premier"
 msgid "Bottom"
 msgstr "Dernier"
 
 msgid "Bottom"
 msgstr "Dernier"
 
+#: n/skins/custom_generic/folder_rename_template.pt:6
+msgid "Rename Items"
+msgstr "Renommer des éléments"
+
+#: n/skins/custom_generic/folder_rename_template.pt:16
+msgid "URL"
+msgstr "URL"
+
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
@@ -510,6 +527,57 @@ msgstr "Confirmation"
 msgid "Change password"
 msgstr "Changer le mot de passe"
 
 msgid "Change password"
 msgstr "Changer le mot de passe"
 
+#: n/skins/custom_generic/login_form.pt:11
+msgid "Log in"
+msgstr "Connexion"
+
+#. Default: "Login"
+#: n/skins/custom_generic/login_form.pt:22
+msgid "user_name"
+msgstr "Login"
+
+#: n/skins/custom_generic/login_form.pt:28 n/skins/generic/gruf_macros.pt:268
+#: n/skins/generic/gruf_macros.pt:390
+#: n/skins/generic/password_reset_template.pt:28
+msgid "Password"
+msgstr "Mot de passe"
+
+#: n/skins/custom_generic/login_form.pt:37
+msgid "Remember my name."
+msgstr "Se souvenir de mon login."
+
+#: n/skins/custom_generic/login_form.pt:43
+#: n/skins/generic/password_reset_form.py:26
+msgid " Login "
+msgstr "Connexion"
+
+#: n/skins/custom_generic/login_form.pt:49
+msgid "Forgot your login or password?"
+msgstr "Login ou mot de passe oublié ?"
+
+#: n/skins/custom_generic/login_form.pt:51
+msgid ""
+"Having trouble logging in? Make sure to enable cookies in your web browser."
+msgstr ""
+"Vous rencontrez des difficultés pour la connexion ? Vérifiez que votre "
+"navigateur accepte les cookies."
+
+#: n/skins/custom_generic/login_form.pt:55
+msgid "Don't forget to logout or exit your browser when you're done."
+msgstr ""
+"N'oubliez pas de vous déconnecter ou de fermer votre navigateur à la fin de "
+"la session."
+
+#: n/skins/custom_generic/login_form.pt:58
+msgid ""
+"Setting the 'Remember my name' option will set a cookie with your username, "
+"so that when you next log in, your user name will already be filled in for "
+"you."
+msgstr ""
+"L'option « Se souvenir de mon login » permet de le sauvegarder dans un "
+"cookie : vous n’aurez pas à le saisir de nouveau lors de votre prochaine "
+"visite."
+
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr "${portal_title} : rappel du mot de passe"
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr "${portal_title} : rappel du mot de passe"
@@ -892,21 +960,10 @@ msgstr "Nouveau membre"
 msgid "Login"
 msgstr "Login"
 
 msgid "Login"
 msgstr "Login"
 
-#: n/skins/generic/gruf_macros.pt:256 n/skins/generic/gruf_macros.pt:378
-#: n/skins/generic/last_member_logs.pt:23
-#: n/skins/generic/pending_members.pt:13
-msgid "Name"
-msgstr "Nom"
-
 #: n/skins/generic/gruf_macros.pt:262 n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr "Prénom"
 
 #: n/skins/generic/gruf_macros.pt:262 n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr "Prénom"
 
-#: n/skins/generic/gruf_macros.pt:268 n/skins/generic/gruf_macros.pt:390
-#: n/skins/generic/password_reset_template.pt:28
-msgid "Password"
-msgstr "Mot de passe"
-
 #: n/skins/generic/gruf_macros.pt:274 n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
 msgid "Confirm"
 #: n/skins/generic/gruf_macros.pt:274 n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
 msgid "Confirm"
@@ -1084,10 +1141,6 @@ msgstr "Coller"
 msgid "Exit boxes editing"
 msgstr "Quitter l'édition des boîtes"
 
 msgid "Exit boxes editing"
 msgstr "Quitter l'édition des boîtes"
 
-#: n/skins/generic/password_reset_form.py:26
-msgid " Login "
-msgstr "Connexion"
-
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr "Bonjour %(fullName)s,"
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr "Bonjour %(fullName)s,"
@@ -1217,13 +1270,11 @@ msgstr "Réinitialisation de mot de passe"
 
 #: n/skins/generic/request_password_reset_template.pt:12
 msgid ""
 
 #: n/skins/generic/request_password_reset_template.pt:12
 msgid ""
-"Enter your username below and click on the \"Send\" button. You will receive "
-"an email with a link to reset your password."
-msgstr ""
-"Entrez votre login ci-dessous et cliquez sur « Envoyer ». Vous recevrez un "
-"email contenant un lien pour réinitialiser votre mot de passe."
+"Enter your email or your username below and click on the \"Send\" button. "
+"You will receive an email with a link to reset your password."
+msgstr "Entrez votre email ou votre login ci-dessous et cliquez sur « Envoyer ». Vous recevrez un email contenant un lien pour réinitialiser votre mot de passe."
 
 
-#: n/skins/generic/request_password_reset_template.pt:18
+#: n/skins/generic/request_password_reset_template.pt:19
 msgid ""
 "If this will not work for you (for example, if you forget your username or "
 "didn't enter your email address) send email to ${admin_email}."
 msgid ""
 "If this will not work for you (for example, if you forget your username or "
 "didn't enter your email address) send email to ${admin_email}."
@@ -1233,7 +1284,7 @@ msgstr ""
 "un email à ${admin_email}."
 
 #. Default: "Send"
 "un email à ${admin_email}."
 
 #. Default: "Send"
-#: n/skins/generic/request_password_reset_template.pt:25
+#: n/skins/generic/request_password_reset_template.pt:26
 msgid " Send "
 msgstr " Envoyer "
 
 msgid " Send "
 msgstr " Envoyer "
 
@@ -2291,6 +2342,16 @@ msgstr "Ceci est la page d'accueil par défaut."
 msgid "Huge Folder"
 msgstr "Dossier"
 
 msgid "Huge Folder"
 msgstr "Dossier"
 
+#~ msgid ""
+#~ "Enter your username below and click on the \"Send\" button. You will "
+#~ "receive an email with a link to reset your password."
+#~ msgstr ""
+#~ "Entrez votre login ci-dessous et cliquez sur « Envoyer ». Vous recevrez "
+#~ "un email contenant un lien pour réinitialiser votre mot de passe."
+
+#~ msgid "Forgot your password?"
+#~ msgstr "Mot de passe oublié ?"
+
 #~ msgid "Structured text"
 #~ msgstr "Texte structuré"
 
 #~ msgid "Structured text"
 #~ msgstr "Texte structuré"
 
index c4bfcfb..6a60223 100644 (file)
@@ -14,7 +14,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 2.0 beta 1\n"
 msgid ""
 msgstr ""
 "Project-Id-Version: 2.0 beta 1\n"
-"POT-Creation-Date: Thu Nov 28 13:09:25 2013\n"
+"POT-Creation-Date: Sun Jan 19 10:49:52 2014\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Zope 3 Developers <zope-dev@zope.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Zope 3 Developers <zope-dev@zope.org>\n"
@@ -27,31 +27,31 @@ msgstr ""
 msgid "Object deleted"
 msgstr ""
 
 msgid "Object deleted"
 msgstr ""
 
-#: n/Folder.py:162
+#: n/Folder.py:164
 msgid "Please rename each listed object."
 msgstr ""
 
 msgid "Please rename each listed object."
 msgstr ""
 
-#: n/RegistrationTool.py:217
+#: n/RegistrationTool.py:228
 msgid "How to reset your password on the %s website"
 msgstr ""
 
 msgid "How to reset your password on the %s website"
 msgstr ""
 
-#: n/RegistrationTool.py:232
+#: n/RegistrationTool.py:243
 msgid "Unknown user name. Please retry."
 msgstr ""
 
 msgid "Unknown user name. Please retry."
 msgstr ""
 
-#: n/RegistrationTool.py:247
+#: n/RegistrationTool.py:258
 msgid "Invalid reset password request."
 msgstr ""
 
 msgid "Invalid reset password request."
 msgstr ""
 
-#: n/RegistrationTool.py:253
+#: n/RegistrationTool.py:264
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
-#: n/RegistrationTool.py:262
+#: n/RegistrationTool.py:273
 msgid "Password successfully reset."
 msgstr ""
 
 msgid "Password successfully reset."
 msgstr ""
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:275
 msgid "\"%s\" username not found."
 msgstr ""
 
 msgid "\"%s\" username not found."
 msgstr ""
 
@@ -151,8 +151,24 @@ msgstr ""
 msgid "search between %s and %s"
 msgstr ""
 
 msgid "search between %s and %s"
 msgstr ""
 
+#: n/skins/content/folder_factories.pt:18
+#: n/skins/generic/gruf_macros.pt:256
+#: n/skins/generic/gruf_macros.pt:378
+#: n/skins/generic/last_member_logs.pt:23
+#: n/skins/generic/pending_members.pt:13
+msgid "Name"
+msgstr ""
+
+#: n/skins/content/folder_factories.pt:34
+#: n/skins/content/topic_edit_template.pt:51
+#: n/skins/generic/gruf_macros.pt:288
+#: n/skins/generic/gruf_macros.pt:327
+msgid "Add"
+msgstr ""
+
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
 #: n/skins/content/folder_notifications_template.pt:23
 #: n/skins/content/topic_edit_template.pt:26
+#: n/skins/custom_content/document_edit_template.pt:23
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
 #: n/skins/custom_content/event_edit_template.pt:135
 #: n/skins/generic/search_results_template.pt:87
 msgid "Save"
@@ -200,12 +216,6 @@ msgstr ""
 msgid "Type:"
 msgstr ""
 
 msgid "Type:"
 msgstr ""
 
-#: n/skins/content/topic_edit_template.pt:51
-#: n/skins/generic/gruf_macros.pt:288
-#: n/skins/generic/gruf_macros.pt:327
-msgid "Add"
-msgstr ""
-
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr ""
 #: n/skins/control/restore_revision.py:9
 msgid "%(type)s restored."
 msgstr ""
@@ -390,27 +400,29 @@ msgstr ""
 msgid "%d item moved down.%d items moved down."
 msgstr ""
 
 msgid "%d item moved down.%d items moved down."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:13
+#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:42
 msgid "Item renamed."
 msgstr ""
 
 msgid "Item renamed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:15
+#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:44
 msgid "Items renamed."
 msgstr ""
 
 msgid "Items renamed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:18
+#: n/skins/custom_control/folder_rename_control.py:29
 msgid "This item has not been renamed: \"%s\""
 msgstr ""
 
 msgid "This item has not been renamed: \"%s\""
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:21
+#: n/skins/custom_control/folder_rename_control.py:32
 msgid "These items have not been renamed: %s"
 msgstr ""
 
 msgid "These items have not been renamed: %s"
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:24
+#: n/skins/custom_control/folder_rename_control.py:35
 msgid "Rename failed."
 msgstr ""
 
 msgid "Rename failed."
 msgstr ""
 
-#: n/skins/custom_control/folder_rename_control.py:26
+#: n/skins/custom_control/folder_rename_control.py:39
 msgid "Nothing to change."
 msgstr ""
 
 msgid "Nothing to change."
 msgstr ""
 
@@ -443,6 +455,14 @@ msgstr ""
 msgid "Bottom"
 msgstr ""
 
 msgid "Bottom"
 msgstr ""
 
+#: n/skins/custom_generic/folder_rename_template.pt:6
+msgid "Rename Items"
+msgstr ""
+
+#: n/skins/custom_generic/folder_rename_template.pt:16
+msgid "URL"
+msgstr ""
+
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
 #: n/skins/custom_generic/logged_in.py:28
 #: n/skins/custom_generic/logged_in_template.pt:9
 msgid "Login failure"
@@ -495,6 +515,47 @@ msgstr ""
 msgid "Change password"
 msgstr ""
 
 msgid "Change password"
 msgstr ""
 
+#: n/skins/custom_generic/login_form.pt:11
+msgid "Log in"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:22
+#. Default: "Login"
+msgid "user_name"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:28
+#: n/skins/generic/gruf_macros.pt:268
+#: n/skins/generic/gruf_macros.pt:390
+#: n/skins/generic/password_reset_template.pt:28
+msgid "Password"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:37
+msgid "Remember my name."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:43
+#: n/skins/generic/password_reset_form.py:26
+msgid " Login "
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:49
+msgid "Forgot your login or password?"
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:51
+msgid "Having trouble logging in? Make sure to enable cookies in your web browser."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:55
+msgid "Don't forget to logout or exit your browser when you're done."
+msgstr ""
+
+#: n/skins/custom_generic/login_form.pt:58
+msgid "Setting the 'Remember my name' option will set a cookie with your username, so that when you next log in, your user name will already be filled in for you."
+msgstr ""
+
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr ""
 #: n/skins/custom_generic/mail_password_template.py:30
 msgid "${portal_title}: Membership reminder"
 msgstr ""
@@ -854,24 +915,11 @@ msgstr ""
 msgid "Login"
 msgstr ""
 
 msgid "Login"
 msgstr ""
 
-#: n/skins/generic/gruf_macros.pt:256
-#: n/skins/generic/gruf_macros.pt:378
-#: n/skins/generic/last_member_logs.pt:23
-#: n/skins/generic/pending_members.pt:13
-msgid "Name"
-msgstr ""
-
 #: n/skins/generic/gruf_macros.pt:262
 #: n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr ""
 
 #: n/skins/generic/gruf_macros.pt:262
 #: n/skins/generic/gruf_macros.pt:384
 msgid "Given Name"
 msgstr ""
 
-#: n/skins/generic/gruf_macros.pt:268
-#: n/skins/generic/gruf_macros.pt:390
-#: n/skins/generic/password_reset_template.pt:28
-msgid "Password"
-msgstr ""
-
 #: n/skins/generic/gruf_macros.pt:274
 #: n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
 #: n/skins/generic/gruf_macros.pt:274
 #: n/skins/generic/gruf_macros.pt:396
 #: n/skins/generic/password_reset_template.pt:34
@@ -1054,10 +1102,6 @@ msgstr ""
 msgid "Exit boxes editing"
 msgstr ""
 
 msgid "Exit boxes editing"
 msgstr ""
 
-#: n/skins/generic/password_reset_form.py:26
-msgid " Login "
-msgstr ""
-
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr ""
 #: n/skins/generic/password_reset_mail.py:4
 msgid "Hi %(fullName)s,"
 msgstr ""
@@ -1171,14 +1215,14 @@ msgid "Password reset"
 msgstr ""
 
 #: n/skins/generic/request_password_reset_template.pt:12
 msgstr ""
 
 #: n/skins/generic/request_password_reset_template.pt:12
-msgid "Enter your username below and click on the \"Send\" button. You will receive an email with a link to reset your password."
+msgid "Enter your email or your username below and click on the \"Send\" button. You will receive an email with a link to reset your password."
 msgstr ""
 
 msgstr ""
 
-#: n/skins/generic/request_password_reset_template.pt:18
+#: n/skins/generic/request_password_reset_template.pt:19
 msgid "If this will not work for you (for example, if you forget your username or didn't enter your email address) send email to ${admin_email}."
 msgstr ""
 
 msgid "If this will not work for you (for example, if you forget your username or didn't enter your email address) send email to ${admin_email}."
 msgstr ""
 
-#: n/skins/generic/request_password_reset_template.pt:25
+#: n/skins/generic/request_password_reset_template.pt:26
 #. Default: "Send"
 msgid " Send "
 msgstr ""
 #. Default: "Send"
 msgid " Send "
 msgstr ""
index 3ab0724..09d9729 100644 (file)
@@ -6,7 +6,7 @@
     <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
   </head>
   <body>
     <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
   </head>
   <body>
-    <div metal:fill-slot="main_no_tabs" i18n:domain="cmf_default">
+    <div metal:fill-slot="main_no_tabs" i18n:domain="plinn">
       <div id="Desktop">
         <h1 i18n:translate="">Log in</h1>
         <form action="" method="post" tal:attributes="action string:${here/portal_url}/logged_in">
       <div id="Desktop">
         <h1 i18n:translate="">Log in</h1>
         <form action="" method="post" tal:attributes="action string:${here/portal_url}/logged_in">
@@ -46,7 +46,7 @@
           </table>
         </form>
         <p>
           </table>
         </form>
         <p>
-          <a href="" tal:attributes="href string:${here/portal_url}/request_password_reset_form" i18n:translate="">Forgot your password?</a>
+          <a href="" tal:attributes="href string:${here/portal_url}/request_password_reset_form" i18n:translate="">Forgot your login or password?</a>
         </p>
         <p i18n:translate="">
           Having trouble logging in? Make sure to enable cookies in your web
         </p>
         <p i18n:translate="">
           Having trouble logging in? Make sure to enable cookies in your web
index 46106ca..3604a2b 100644 (file)
@@ -10,8 +10,9 @@
       <div id="Desktop" tal:define="ptool here/portal_properties">
         <h1 i18n:translate="">Password reset</h1>
         <p i18n:translate="">
       <div id="Desktop" tal:define="ptool here/portal_properties">
         <h1 i18n:translate="">Password reset</h1>
         <p i18n:translate="">
-          Enter your username below and click on the "Send" button. You will
-          receive an email with a link to reset your password.
+          Enter your email or your username below and click on the "Send"
+          button. You will receive an email with a link to reset your
+          password.
         </p>
         <p i18n:translate="">
           If this will not work for you (for example, if you forget your
         </p>
         <p i18n:translate="">
           If this will not work for you (for example, if you forget your