[CMF-checkins] SVN: CMF/trunk/ - added .pot files for cmf_default and cmf_calendar domain

Yvo Schubbe y.2006_ at wcm-solutions.de
Thu Jan 19 07:13:54 EST 2006


Log message for revision 41363:
  - added .pot files for cmf_default and cmf_calendar domain

Changed:
  U   CMF/trunk/CHANGES.txt
  A   CMF/trunk/CMFCalendar/locales/
  A   CMF/trunk/CMFCalendar/locales/cmf_calendar-manual.pot
  A   CMF/trunk/CMFCalendar/locales/cmf_calendar.pot
  A   CMF/trunk/CMFDefault/locales/
  A   CMF/trunk/CMFDefault/locales/cmf_default-manual.pot
  A   CMF/trunk/CMFDefault/locales/cmf_default.pot
  A   CMF/trunk/i18nextract.py

-=-
Modified: CMF/trunk/CHANGES.txt
===================================================================
--- CMF/trunk/CHANGES.txt	2006-01-19 09:54:34 UTC (rev 41362)
+++ CMF/trunk/CHANGES.txt	2006-01-19 12:13:53 UTC (rev 41363)
@@ -2,6 +2,10 @@
 
   New Features
 
+    - CMFDefault and CMFCalendar: Added locales directories with .pot files.
+      A modified i18nextract.py script from Zope 3 is used to extract
+      translatable strings from .py, .pt, .html and .xml files.
+
     - FSFile: autodetect the encoding of UTF-8 text files with a
       suitable Byte Order Mark (0xEF 0xBB 0xBF).
 
@@ -88,7 +92,7 @@
       MassageID objects instead of strings. This allows to use different i18n
       domains for different TypeInfos and Actions.
 
-    - Replaced user messages by MassageIDs to improve the i18n support.
+    - Replaced user messages by Massage objects to improve the i18n support.
 
     - CMFDefault GenericSetup profile: Added CMF BTree Folder to the list of
       automatically instantiated types in the types tool.

Added: CMF/trunk/CMFCalendar/locales/cmf_calendar-manual.pot
===================================================================
--- CMF/trunk/CMFCalendar/locales/cmf_calendar-manual.pot	2006-01-19 09:54:34 UTC (rev 41362)
+++ CMF/trunk/CMFCalendar/locales/cmf_calendar-manual.pot	2006-01-19 12:13:53 UTC (rev 41363)
@@ -0,0 +1,56 @@
+msgid "Su"
+msgstr ""
+
+msgid "Mo"
+msgstr ""
+
+msgid "Tu"
+msgstr ""
+
+msgid "We"
+msgstr ""
+
+msgid "Th"
+msgstr ""
+
+msgid "Fr"
+msgstr ""
+
+msgid "Sa"
+msgstr ""
+
+msgid "January"
+msgstr ""
+
+msgid "February"
+msgstr ""
+
+msgid "March"
+msgstr ""
+
+msgid "April"
+msgstr ""
+
+msgid "May"
+msgstr ""
+
+msgid "June"
+msgstr ""
+
+msgid "July"
+msgstr ""
+
+msgid "August"
+msgstr ""
+
+msgid "September"
+msgstr ""
+
+msgid "October"
+msgstr ""
+
+msgid "November"
+msgstr ""
+
+msgid "December"
+msgstr ""


Property changes on: CMF/trunk/CMFCalendar/locales/cmf_calendar-manual.pot
___________________________________________________________________
Name: svn:eol-style
   + native

Added: CMF/trunk/CMFCalendar/locales/cmf_calendar.pot
===================================================================
--- CMF/trunk/CMFCalendar/locales/cmf_calendar.pot	2006-01-19 09:54:34 UTC (rev 41362)
+++ CMF/trunk/CMFCalendar/locales/cmf_calendar.pot	2006-01-19 12:13:53 UTC (rev 41363)
@@ -0,0 +1,196 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+msgid ""
+msgstr ""
+"Project-Id-Version: CMF 2.0\n"
+"POT-Creation-Date: Thu Jan 19 12:44:25 2006\n"
+"Language-Team: CMF Developers <zope-cmf at zope.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: CMFCalendar/profiles/default/types/Event.xml:5
+msgid "Event"
+msgstr ""
+
+#: CMFCalendar/profiles/default/types/Event.xml:6
+msgid "Events are objects for use in Calendar topical queries on the catalog."
+msgstr ""
+
+#: CMFCalendar/setuphandlers.py:42
+msgid "Appointment"
+msgstr ""
+
+#: CMFCalendar/setuphandlers.py:43
+msgid "Convention"
+msgstr ""
+
+#: CMFCalendar/setuphandlers.py:44
+msgid "Meeting"
+msgstr ""
+
+#: CMFCalendar/setuphandlers.py:45
+msgid "Social Event"
+msgstr ""
+
+#: CMFCalendar/setuphandlers.py:46
+msgid "Work"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/calendarBox.pt:12
+msgid "CMF Calendar"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/calendarBox.pt:28
+#: CMFCalendar/skins/zpt_calendar/calendarBox.pt:41
+msgid "${DYNAMIC_CONTENT}"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_form.py:20
+msgid "Change"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_form.py:21
+msgid "Change and View"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:101
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:47
+msgid "Stop Date"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:129
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:51
+msgid "Start Time"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:142
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:161
+msgid "am"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:145
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:164
+msgid "pm"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:148
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:53
+msgid "Stop Time"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:169
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:60
+msgid "Description"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:17
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:14
+msgid "Event Name"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:23
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:16
+msgid "Contact Name"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:31
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:20
+msgid "Location"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:37
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:22
+msgid "Contact Email"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:45
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:29
+msgid "Event type"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:5
+msgid "Edit: ${obj_title}"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:59
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:32
+msgid "Contact Phone"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:67
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:36
+msgid "Event URL"
+msgstr ""
+
+#: CMFCalendar/skins/zpt_calendar/event_edit_template.pt:75
+#: CMFCalendar/skins/zpt_calendar/event_view.pt:45
+msgid "Start Date"
+msgstr ""
+
+msgid "Su"
+msgstr ""
+
+msgid "Mo"
+msgstr ""
+
+msgid "Tu"
+msgstr ""
+
+msgid "We"
+msgstr ""
+
+msgid "Th"
+msgstr ""
+
+msgid "Fr"
+msgstr ""
+
+msgid "Sa"
+msgstr ""
+
+msgid "January"
+msgstr ""
+
+msgid "February"
+msgstr ""
+
+msgid "March"
+msgstr ""
+
+msgid "April"
+msgstr ""
+
+msgid "May"
+msgstr ""
+
+msgid "June"
+msgstr ""
+
+msgid "July"
+msgstr ""
+
+msgid "August"
+msgstr ""
+
+msgid "September"
+msgstr ""
+
+msgid "October"
+msgstr ""
+
+msgid "November"
+msgstr ""
+
+msgid "December"
+msgstr ""


Property changes on: CMF/trunk/CMFCalendar/locales/cmf_calendar.pot
___________________________________________________________________
Name: svn:eol-style
   + native

Added: CMF/trunk/CMFDefault/locales/cmf_default-manual.pot
===================================================================
--- CMF/trunk/CMFDefault/locales/cmf_default-manual.pot	2006-01-19 09:54:34 UTC (rev 41362)
+++ CMF/trunk/CMFDefault/locales/cmf_default-manual.pot	2006-01-19 12:13:53 UTC (rev 41363)
@@ -0,0 +1,29 @@
+msgid "Next ${count} items"
+msgstr ""
+
+msgid "Next ${count} members"
+msgstr ""
+
+msgid "Next item"
+msgstr ""
+
+msgid "Next member"
+msgstr ""
+
+msgid "Previous ${count} items"
+msgstr ""
+
+msgid "Previous ${count} members"
+msgstr ""
+
+msgid "Previous item"
+msgstr ""
+
+msgid "Previous member"
+msgstr ""
+
+msgid "View"
+msgstr ""
+
+msgid "Local Roles"
+msgstr ""


Property changes on: CMF/trunk/CMFDefault/locales/cmf_default-manual.pot
___________________________________________________________________
Name: svn:eol-style
   + native

Added: CMF/trunk/CMFDefault/locales/cmf_default.pot
===================================================================
--- CMF/trunk/CMFDefault/locales/cmf_default.pot	2006-01-19 09:54:34 UTC (rev 41362)
+++ CMF/trunk/CMFDefault/locales/cmf_default.pot	2006-01-19 12:13:53 UTC (rev 41363)
@@ -0,0 +1,1909 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+msgid ""
+msgstr ""
+"Project-Id-Version: CMF 2.0\n"
+"POT-Creation-Date: Thu Jan 19 12:44:21 2006\n"
+"Language-Team: CMF Developers <zope-cmf at zope.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: CMFCore/RegistrationTool.py:144
+#: CMFDefault/RegistrationTool.py:80
+msgid "The login name you selected is already in use or is not valid. Please choose another."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:118
+#: CMFDefault/RegistrationTool.py:152
+msgid "The username you entered could not be found."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:124
+msgid "That user does not have an email address."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:161
+msgid "No email address is registered for member: ${member_id}"
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:54
+msgid "You must enter a password."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:57
+msgid "Your password must contain at least 5 characters."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:60
+msgid "Your password and confirmation did not match. Please try again."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:77
+msgid "You must enter a valid name."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:85
+msgid "You must enter an email address."
+msgstr ""
+
+#: CMFDefault/RegistrationTool.py:89
+#: CMFDefault/RegistrationTool.py:98
+#: CMFDefault/RegistrationTool.py:104
+msgid "You must enter a valid email address."
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:10
+#: CMFDefault/skins/zpt_generic/login_form.pt:46
+msgid "Login"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:100
+msgid "Used by scripts"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:11
+msgid "Click here to Login"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:113
+#: CMFDefault/skins/zpt_generic/discussion_reply_form.pt:32
+#: CMFDefault/skins/zpt_generic/discussion_reply_preview.pt:24
+msgid "Reply"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:126
+msgid "Syndication"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:141
+msgid "Folder contents"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:156
+msgid "Manage members"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:157
+msgid "Manage portal members"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:170
+msgid "Delete members"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:171
+msgid "Delete portal members"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:183
+#: CMFDefault/skins/zpt_generic/undo_form.pt:47
+#: CMFDefault/skins/zpt_generic/undo_form.pt:103
+msgid "Undo"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:195
+msgid "Reconfigure Portal"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:196
+msgid "Reconfigure the portal"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:22
+msgid "Join"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:23
+msgid "Click here to Join"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:34
+msgid "Preferences"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:35
+msgid "Change your user preferences"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:46
+msgid "Log out"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:47
+msgid "Click here to logout"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:58
+msgid "Add to favorites"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:59
+msgid "Add this item to your favorites"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:71
+msgid "My stuff"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:72
+msgid "Goto your home folder"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:85
+msgid "My favorites"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:86
+msgid "Browse your favorites"
+msgstr ""
+
+#: CMFDefault/profiles/default/actions.xml:99
+msgid "Logged in"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/CMF_BTree_Folder.xml:4
+msgid "CMF BTree Folder"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/CMF_BTree_Folder.xml:5
+msgid "Folder for holding very large numbers of items."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Discussion_Item.xml:4
+msgid "Discussion Item"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Discussion_Item.xml:5
+msgid "Discussion Items are documents which reply to other content. They should *not* be addable through the standard 'folder_factories' interface."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Document.xml:4
+msgid "Document"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Document.xml:5
+msgid "Documents contain text that can be formatted using 'Structured Text.' They may also contain HTML, or \"plain\" text."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Favorite.xml:4
+msgid "Favorite"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Favorite.xml:5
+msgid "A Favorite is a Link to an intra-portal resource."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/File.xml:4
+msgid "File"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/File.xml:5
+msgid "File objects can contain arbitrary downloadable files."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Folder.xml:4
+msgid "Folder"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Folder.xml:5
+msgid "Use folders to put content in categories."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Image.xml:4
+msgid "Image"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Image.xml:5
+msgid "Image objects can be embedded in Portal documents."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Link.xml:4
+msgid "Link"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/Link.xml:5
+msgid "Link items are annotated URLs."
+msgstr ""
+
+#: CMFDefault/profiles/default/types/News_Item.xml:4
+msgid "News Item"
+msgstr ""
+
+#: CMFDefault/profiles/default/types/News_Item.xml:5
+msgid "News Items contain short text articles and carry a title as well as an optional description."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_hide_form.pt:10
+msgid "Use this form to hide a content item by setting its status to <b>Private</b>, thereby making it unavailable to other portal members and visitors."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_hide_form.pt:19
+msgid "Hide this item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_hide_form.pt:7
+msgid "Hide ${objectid}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_publish_form.pt:10
+msgid "A <b>published</b> item is available to the general member base and anonymous visitors."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_publish_form.pt:13
+#: CMFDefault/skins/zpt_content/content_show_form.pt:13
+#: CMFDefault/skins/zpt_content/content_status_history.pt:21
+#: CMFDefault/skins/zpt_content/content_submit_form.pt:15
+msgid "Another way to control the visibility of an item is with its <b>effective date</b>. An item is not publicly available before its effective date, <em>even if its status is <b>published</b></em>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_publish_form.pt:22
+msgid "Publish this item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_publish_form.pt:7
+msgid "Publish ${objectid}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_reject_form.pt:10
+msgid "Use this form to reject the publication of a content item and set its status to <b>Private</b>, thereby making it unavailable to other portal members and visitors."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_reject_form.pt:19
+msgid "Reject this item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_reject_form.pt:7
+msgid "Reject ${objectid}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_retract_form.pt:10
+msgid "Use this form to retract a content item by setting its status to <b>Private</b>, thereby making it unavailable to other portal members and visitors."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_retract_form.pt:19
+msgid "Retract this item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_retract_form.pt:7
+msgid "Retract ${objectid}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_show_form.pt:10
+msgid "A <b>Visible</b> item is available other portal members and visitors, however it won't show up in the list of published items."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_show_form.pt:22
+msgid "Make this item visible"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_show_form.pt:7
+msgid "Make Visible ${objectid}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:11
+msgid "Content Item status history"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:13
+msgid "An item's status (also called its review state) determines who can see it. A <b>private</b> item can only be viewed by its Owner and by the site management. Only <b>published</b> items are available to the general member base and anonymous visitors. To make an item published, it has to be reviewed by one of the site's Reviewers. You can request that an item be reviewed by setting its status to <b>pending</b>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:25
+msgid "Current state"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:27
+msgid "This item is in ${status} state."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:27
+#: CMFDefault/skins/zpt_content/content_status_history.pt:34
+#: CMFDefault/skins/zpt_content/transition_form.pt:28
+#: CMFDefault/skins/zpt_content/transition_form.pt:58
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:87
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:35
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:49
+#: CMFDefault/skins/zpt_generic/folder_factories_template.pt:23
+#: CMFDefault/skins/zpt_generic/folder_factories_template.pt:28
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:51
+#: CMFDefault/skins/zpt_generic/folder_rename_template.pt:19
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:32
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:32
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:70
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:70
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:106
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:106
+#: CMFDefault/skins/zpt_generic/join_template.pt:5
+#: CMFDefault/skins/zpt_generic/logged_out.pt:6
+#: CMFDefault/skins/zpt_generic/main_template.pt:69
+#: CMFDefault/skins/zpt_generic/main_template.pt:116
+#: CMFDefault/skins/zpt_generic/main_template.pt:155
+#: CMFDefault/skins/zpt_generic/main_template.pt:173
+#: CMFDefault/skins/zpt_generic/main_template.pt:199
+#: CMFDefault/skins/zpt_generic/main_template.pt:205
+#: CMFDefault/skins/zpt_generic/main_template.pt:219
+#: CMFDefault/skins/zpt_generic/main_template.pt:233
+#: CMFDefault/skins/zpt_generic/main_template.pt:268
+#: CMFDefault/skins/zpt_generic/review.pt:59
+#: CMFDefault/skins/zpt_generic/roster.pt:46
+#: CMFDefault/skins/zpt_generic/search_form.pt:126
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:38
+msgid "${DYNAMIC_CONTENT}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:31
+#: CMFDefault/skins/zpt_content/transition_form.pt:54
+msgid "Reviewing history"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:36
+#: CMFDefault/skins/zpt_content/transition_form.pt:60
+msgid "(effective: ${eff_date})"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:39
+#: CMFDefault/skins/zpt_content/transition_form.pt:63
+msgid "by ${actor}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_status_history.pt:45
+msgid "This item has not had any status changes."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_submit_form.pt:10
+msgid "To make an item published, it has to be reviewed by one of the site's reviewers. A <b>published</b> item is available to the general member base and anonymous visitors."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_submit_form.pt:24
+msgid "Submit item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/content_submit_form.pt:7
+msgid "Submit ${objectid} for Review."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_control.py:10
+msgid "Document changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_control.py:14
+#: CMFDefault/skins/zpt_content/folder_edit_control.py:9
+#: CMFDefault/skins/zpt_content/link_edit_control.py:13
+#: CMFDefault/skins/zpt_content/newsitem_edit_control.py:15
+#: CMFDefault/skins/zpt_control/folder_bottom_control.py:13
+#: CMFDefault/skins/zpt_control/folder_down_control.py:13
+#: CMFDefault/skins/zpt_control/folder_rename_control.py:17
+#: CMFDefault/skins/zpt_control/folder_top_control.py:13
+#: CMFDefault/skins/zpt_control/folder_up_control.py:13
+msgid "Nothing to change."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_form.py:24
+#: CMFDefault/skins/zpt_content/file_edit_form.py:20
+#: CMFDefault/skins/zpt_content/folder_edit_form.py:20
+#: CMFDefault/skins/zpt_content/full_metadata_edit_form.py:27
+#: CMFDefault/skins/zpt_content/image_edit_form.py:20
+#: CMFDefault/skins/zpt_content/link_edit_form.py:20
+#: CMFDefault/skins/zpt_content/metadata_edit_form.py:27
+#: CMFDefault/skins/zpt_content/newsitem_edit_form.py:22
+#: CMFDefault/skins/zpt_generic/reconfig_form.py:21
+#: CMFDefault/skins/zpt_generic/password_form.pt:44
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:92
+msgid "Change"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_form.py:25
+#: CMFDefault/skins/zpt_content/file_edit_form.py:21
+#: CMFDefault/skins/zpt_content/folder_edit_form.py:21
+#: CMFDefault/skins/zpt_content/full_metadata_edit_form.py:29
+#: CMFDefault/skins/zpt_content/image_edit_form.py:21
+#: CMFDefault/skins/zpt_content/link_edit_form.py:21
+#: CMFDefault/skins/zpt_content/metadata_edit_form.py:29
+#: CMFDefault/skins/zpt_content/newsitem_edit_form.py:23
+msgid "Change and View"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:19
+#: CMFDefault/skins/zpt_content/file_edit_template.pt:17
+#: CMFDefault/skins/zpt_content/folder_edit_template.pt:17
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:38
+#: CMFDefault/skins/zpt_content/image_edit_template.pt:17
+#: CMFDefault/skins/zpt_content/link_edit_template.pt:17
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:44
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:17
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:15
+#: CMFDefault/skins/zpt_generic/review.pt:28
+#: CMFDefault/skins/zpt_generic/search_form.pt:52
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:17
+msgid "Title"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:23
+#: CMFDefault/skins/zpt_content/file_edit_template.pt:21
+#: CMFDefault/skins/zpt_content/folder_edit_template.pt:27
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:48
+#: CMFDefault/skins/zpt_content/image_edit_template.pt:21
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:54
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:56
+#: CMFDefault/skins/zpt_generic/search_form.pt:73
+msgid "Description"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:27
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:100
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:79
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:21
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:128
+msgid "Format"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:32
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:26
+msgid "structured-text"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:35
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:29
+msgid "plain text"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:38
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:32
+msgid "html"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:42
+msgid "Upload"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:48
+#: CMFDefault/skins/zpt_generic/discussion_reply_preview.pt:21
+msgid "Edit"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/document_edit_template.pt:5
+#: CMFDefault/skins/zpt_content/file_edit_template.pt:5
+#: CMFDefault/skins/zpt_content/folder_edit_template.pt:5
+#: CMFDefault/skins/zpt_content/image_edit_template.pt:5
+#: CMFDefault/skins/zpt_content/link_edit_template.pt:5
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:5
+msgid "Edit: ${obj_title}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/favorite_view.pt:26
+#: CMFDefault/skins/zpt_content/link_view.pt:26
+msgid "Link: ${link}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_edit_control.py:8
+msgid "File changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_edit_template.pt:25
+#: CMFDefault/skins/zpt_content/image_edit_template.pt:25
+msgid "Content type"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_edit_template.pt:29
+msgid "Upload file"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_view.pt:26
+msgid "File Properties"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_view.pt:31
+msgid "Filename"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_view.pt:36
+msgid "Size"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_view.pt:41
+msgid "Content-type"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/file_view.pt:52
+msgid "Download File"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/folder_edit_control.py:7
+msgid "Folder changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_form.py:28
+#: CMFDefault/skins/zpt_content/metadata_edit_form.py:28
+msgid "Change and Edit"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:106
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:153
+msgid "Language"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:112
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:203
+msgid "Rights"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:17
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:17
+msgid "Enable Discussion?"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:20
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:20
+msgid "Default"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:23
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:23
+msgid "Off"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:26
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:26
+msgid "On"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:33
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:39
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:140
+msgid "Identifier"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:5
+msgid "Resource Metadata: ${obj_title}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:56
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:62
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:43
+#: CMFDefault/skins/zpt_generic/search_form.pt:59
+msgid "Subject"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:73
+msgid "Contributors"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:80
+msgid "Creation Date"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:83
+msgid "Last Modified Date"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:88
+msgid "Effective Date"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/full_metadata_edit_template.pt:93
+msgid "Expiration Date"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/image_edit_control.py:8
+msgid "Image changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/image_edit_template.pt:29
+msgid "Upload image"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/link_edit_control.py:9
+msgid "Link changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/link_edit_template.pt:21
+msgid "URL"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/metadata_edit_control.py:67
+msgid "Metadata changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:32
+msgid "Edit all metadata"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/metadata_edit_template.pt:5
+msgid "Standard Resource Metadata: ${obj_title}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/newsitem_edit_control.py:11
+msgid "News Item changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:36
+msgid "Lead-in"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/newsitem_edit_template.pt:43
+msgid "Body"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:13
+msgid "Transition of ${objectid}."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:16
+msgid "Transition description."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:24
+msgid "Status"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:28
+msgid "This item is currently in ${status} status."
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:35
+msgid "Comments"
+msgstr ""
+
+#: CMFDefault/skins/zpt_content/transition_form.pt:45
+msgid "Transition"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:12
+msgid "The first thing you should do is visit the ${reconfig_link}."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:12
+msgid "basic configuration form"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:16
+msgid "management interface"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:19
+msgid "home page"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:19
+msgid "Then visit the ${manage_link} and the ${home_link}."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/finish_portal_construction.pt:5
+msgid "Welcome to the CMF!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_bottom_control.py:11
+msgid "Items moved to bottom."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_bottom_control.py:15
+#: CMFDefault/skins/zpt_control/folder_down_control.py:15
+#: CMFDefault/skins/zpt_control/folder_top_control.py:15
+#: CMFDefault/skins/zpt_control/folder_up_control.py:15
+msgid "ValueError: Move failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_bottom_control.py:9
+msgid "Item moved to bottom."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_copy_control.py:10
+msgid "Item copied."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_copy_control.py:12
+msgid "Items copied."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_copy_control.py:14
+msgid "CopyError: Copy failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_cut_control.py:11
+msgid "Item cut."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_cut_control.py:13
+msgid "Items cut."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_cut_control.py:15
+msgid "CopyError: Cut failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_cut_control.py:17
+msgid "Unauthorized: Cut failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_delete_control.py:11
+msgid "Items deleted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_delete_control.py:9
+msgid "Item deleted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_down_control.py:11
+msgid "Items moved down."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_down_control.py:9
+msgid "Item moved down."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_paste_control.py:12
+msgid "Item pasted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_paste_control.py:14
+msgid "Items pasted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_paste_control.py:16
+msgid "CopyError: Paste failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_paste_control.py:18
+msgid "Unauthorized: Paste failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_paste_control.py:20
+msgid "Please copy or cut one or more items to paste first."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_rename_control.py:11
+msgid "Item renamed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_rename_control.py:13
+msgid "Items renamed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_rename_control.py:15
+msgid "CopyError: Rename failed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_top_control.py:11
+msgid "Items moved to top."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_top_control.py:9
+msgid "Item moved to top."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_up_control.py:11
+msgid "Items moved up."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/folder_up_control.py:9
+msgid "Item moved up."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/members_add_control.py:22
+msgid "Member registered."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/members_add_control.py:24
+#: CMFDefault/skins/zpt_generic/join_form.py:31
+msgid "Success!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/members_delete_control.py:12
+msgid "Selected member deleted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/members_delete_control.py:14
+msgid "Selected members deleted."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/portal_config_control.py:12
+msgid "CMF Settings changed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:100
+msgid "UpdateFrequency"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:109
+msgid "UpdateBase"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:117
+msgid "Max Syndicated Items"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:124
+msgid "Save"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:147
+msgid "Disable Syndication"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:15
+msgid "Default Syndication Properties"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:159
+msgid "Enable Syndication"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:165
+msgid "Syndication is Disabled"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:26
+msgid "Channel Properties"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:39
+msgid "Channel Title:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:46
+msgid "Channel Description:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:66
+msgid "Syndication Module Properties"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:79
+msgid "Element"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:80
+msgid "Default Value"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/synPropertiesForm.pt:84
+msgid "UpdatePeriod"
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/validateId.py:11
+msgid "Please enter an ID."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/validateId.py:9
+msgid "Please choose another ID."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/validateItemIds.py:8
+msgid "Please select one or more items first."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/validateMemberIds.py:8
+msgid "Please select one or more members first."
+msgstr ""
+
+#: CMFDefault/skins/zpt_control/validateType.py:8
+msgid "Please select a content type."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/breadcrumbs.py:13
+msgid "root"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/content_byline.pt:14
+#: CMFDefault/skins/zpt_generic/recent_news.pt:36
+msgid "and"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/content_byline.pt:22
+#: CMFDefault/skins/zpt_generic/recent_news.pt:40
+msgid "unknown"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/content_byline.pt:23
+msgid "Last modified"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/content_byline.pt:8
+msgid "Created by"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/discussion_reply_form.pt:14
+msgid "Subject (Title)"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/discussion_reply_form.pt:21
+msgid "Reply body"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/discussion_reply_form.pt:29
+msgid "Preview"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:109
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:114
+#: CMFDefault/skins/zpt_generic/review.pt:29
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:18
+msgid "Type"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:113
+msgid "Name"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:117
+msgid "Last Modified"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:121
+msgid "Position"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:168
+#: CMFDefault/skins/zpt_generic/members_manage_form.py:49
+msgid "New..."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:170
+#: CMFDefault/skins/zpt_generic/folder_rename_form.py:42
+msgid "Rename"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:172
+msgid "Cut"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:173
+msgid "Copy"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:175
+msgid "Paste"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents.py:177
+#: CMFDefault/skins/zpt_generic/members_delete_form.py:27
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:201
+msgid "Delete"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:18
+msgid "[Link]"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:20
+msgid "Up to"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:24
+msgid "Root"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:5
+msgid "Folder Contents: ${obj_title}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:70
+msgid "Up"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:73
+msgid "Down"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:83
+msgid "Top"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:85
+msgid "Bottom"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_contents_template.pt:88
+msgid "Set Sorting as Default"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_factories_template.pt:33
+msgid "ID:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_factories_template.pt:36
+msgid "Add"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_factories_template.pt:5
+msgid "Add Content"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:32
+msgid "Contents View Filter"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:37
+msgid "Subject:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:46
+msgid "Content Type:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:65
+msgid "Set Filter"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:69
+msgid "Close View Filter"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:73
+msgid "Clear View Filter"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_filter_form.pt:79
+msgid "Set View Filter"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:102
+msgid "Role to assign:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:121
+msgid "Assign Roles"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:131
+msgid "Sorry, no members matched your search."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:139
+msgid "Currently assigned local roles"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:141
+msgid "These users currently have local roles assigned in this folder:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:15
+msgid "Assign local roles: Search Members"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:154
+msgid "Role(s)"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:23
+msgid "Search by"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:26
+msgid "User Name"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:27
+#: CMFDefault/skins/zpt_generic/join_template.pt:66
+#: CMFDefault/skins/zpt_generic/members_manage_template.pt:21
+msgid "Email Address"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:32
+msgid "Search Term"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:38
+#: CMFDefault/skins/zpt_generic/search_form.pt:158
+msgid "Search"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:60
+msgid "Assign local roles: Search Results"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:64
+msgid "Select Member(s) and a role to assign:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:75
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:153
+msgid "User"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_localrole_form.pt:76
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:41
+msgid "Email address"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_rename_form.py:43
+#: CMFDefault/skins/zpt_generic/join_form.py:55
+#: CMFDefault/skins/zpt_generic/members_delete_form.py:28
+msgid "Cancel"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_rename_template.pt:27
+msgid "to"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/folder_rename_template.pt:5
+msgid "Rename Items"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:102
+msgid "Folders"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:145
+#: CMFDefault/skins/zpt_generic/news_box.pt:12
+msgid "News"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:157
+#: CMFDefault/skins/zpt_generic/news_box.pt:27
+msgid "No news is no news."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:163
+#: CMFDefault/skins/zpt_generic/news_box.pt:33
+msgid "More..."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:28
+msgid "Content"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/index_html_utils.html:66
+msgid "Related Resources"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_form.py:35
+msgid "Register Member"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_form.py:36
+msgid "Become a Member"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_form.py:51
+#: CMFDefault/skins/zpt_generic/login_form.pt:5
+msgid "Log in"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_form.py:54
+msgid "Register"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:13
+msgid "You are already a member. You may use the <a href=\"personalize_form\">personalization form</a> to change your membership information."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:19
+msgid "You have been registered as a member."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:21
+msgid "You will receive an email shortly containing your password and instructions on how to activate your membership."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:37
+msgid "Return to homepage"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:42
+msgid "Becoming a member gives you the ability to personalize the site and participate in the community."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:45
+msgid "It does not cost any money to become a member and your email and other personal information will remain private."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:48
+msgid "You must submit a valid email address. This address will be used to send you a randomly-generated password. Once you have logged in with this password, you may change it to anything you like."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:59
+#: CMFDefault/skins/zpt_generic/login_form.pt:24
+msgid "Member ID"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:73
+#: CMFDefault/skins/zpt_generic/login_form.pt:31
+msgid "Password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:79
+msgid "Password (confirm)"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:85
+msgid "Mail Password?"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/join_template.pt:89
+msgid "Check this box to have the password mailed."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:117
+msgid "Login success"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:119
+msgid "Welcome. You are currently logged in."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:27
+msgid "Login failure"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:32
+msgid "You are not currently logged in. Your username and or password may be incorrect. Your browser may also not be configured to accept HTTP cookies. If you need help please contact ${admin_email}."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:50
+msgid "Welcome!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:54
+msgid "This is the first time that you've logged in to ${portal_title}. Before you start exploring you need to change your original password. This will ensure that the password we sent you via email cannot be used in a malicious manner."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:59
+msgid "Please use the form below to change your password."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:74
+#: CMFDefault/skins/zpt_generic/password_form.pt:19
+msgid "Username"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:79
+#: CMFDefault/skins/zpt_generic/password_form.pt:24
+msgid "New password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:84
+#: CMFDefault/skins/zpt_generic/password_form.pt:29
+msgid "Confirm new password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_in.pt:91
+msgid "Change password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/logged_out.pt:9
+msgid "You are logged in outside the portal. You may need to <a href=\"/manage_zmi_logout\">log out of the Zope management interface</a>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/login_form.pt:40
+msgid "Remember my ID."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/login_form.pt:53
+msgid "I forgot my password!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/login_form.pt:58
+msgid "Having trouble logging in? Make sure to enable cookies in your web browser."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/login_form.pt:61
+msgid "Don't forget to logout or exit your browser when you're done."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/login_form.pt:64
+msgid "Setting the 'Remember my ID' option will set a cookie with your member ID, so that when you next log in, your member ID will already be filled in for you."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_form.pt:11
+msgid "Don't panic!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_form.pt:13
+msgid "Just enter your username below, click <em>Send</em>, and your password will be mailed to you if you gave a valid email address when you signed on."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_form.pt:19
+msgid "If this will not work for you (for example, if you forget your member name or didn't enter your email address) send email to ${admin_email}."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_form.pt:28
+msgid "Send"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_response.pt:6
+msgid "Your password has been mailed. <br /> It should arrive in your mailbox momentarily."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_template.pt:12
+msgid "Your password: ${password}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_template.pt:17
+msgid "Request made by IP ${ip} at ${time}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/mail_password_template.pt:4
+msgid "${portal_title}: Membership reminder"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/main_template.pt:197
+msgid "Status:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/main_template.pt:305
+msgid "Permanent Link:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/main_template.pt:65
+msgid "home"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/main_template.pt:74
+msgid "news"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/main_template.pt:77
+msgid "search"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_delete_template.pt:15
+msgid "The following members - including all their data, home folders and roles - are selected for deletion:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_delete_template.pt:5
+msgid "Delete Members"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_manage_form.py:51
+msgid "Delete..."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_manage_template.pt:20
+#: CMFDefault/skins/zpt_generic/roster.pt:24
+msgid "Member"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_manage_template.pt:22
+msgid "Last Login"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_manage_template.pt:45
+msgid "Currently there are no members registered."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/members_manage_template.pt:5
+msgid "Manage Members"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:101
+msgid "this one has modifiers, of which the approved set is: 'Created', 'Valid', 'Available', 'Issued', and 'Modified'. I propose extending the interface to include CreationDate(), EffectiveDate(), ExpirationDate(), and ModificationDate(). The current Date() could just return the CreationDate(), while the DCI 'Valid' and 'Available' would be ranges derived from EffectiveDate() and ExpirationDate()."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:119
+msgid "like the Zope 'meta_type', this is the main conceptual classification; 'meta_type' is often spelled identically to the class, which makes it less appropriate for the DCI usage."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:133
+msgid "the kind of physical representation, e.g., 'text/html'."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:145
+msgid "should be the fully-qualified URL of the document (the current implementation returns the object's id, which is only required to be unique within its container)."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:158
+msgid "'en-us', 'pt-br', 'de', etc. Should be set at creation, with an appropriate default (and a picklist of values)."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:166
+msgid "Source"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:171
+msgid "the original from which a piece of content is derived. I'd like to ignore this one."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:178
+msgid "Relation"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:183
+msgid "more relationships to other documents. Again, I'd like to ignore it (ZopeStudio and other such tools need this, however, to build site maps)."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:191
+msgid "Coverage"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:196
+msgid "geographic/chronological/jurisdictional scope. Again, ignore."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:20
+msgid "the standard Zope 'title' attribute; we should look at making it mandatory for all PortalContent derivatives."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:208
+msgid "copyright and other IP information related to the document. Most portals should care about this: witness the brouhaha on Slashdot over the compilation of the Hellmouth postings into a book."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:28
+#: CMFDefault/skins/zpt_generic/search_form.pt:142
+msgid "Creator"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:33
+msgid "where possible, this should be one or more full names, of either persons or organizations. The current implementation finds the first user in the list returned by 'get_local_roles' who has the 'Owner' role; userids are not considered appropriate for this field by the DCI."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:48
+msgid "this is supposed to be drawn from a controlled list of keywords (e.g., selected from a multi-select list used across the whole site)."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:61
+msgid "a short summary, an abstract, or a table-of-contents are all considered acceptable. We might look at making this required, as well, at least for some kinds of content."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:70
+msgid "Publisher"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:75
+msgid "a site-wide property, should be done through acquisition (do I smell a 'portal_metadata' tool about to appear?) Again, this is supposed to be a formal name."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:83
+msgid "Contributor"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:88
+msgid "used to convey others besides the Creator who have contributed to the document (the current implementation aliases 'Creator', which is not what DCI intends)."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:9
+msgid "Dublin Core Metadata"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/metadata_help.pt:96
+#: CMFDefault/skins/zpt_generic/review.pt:30
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:19
+msgid "Date"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/password_form.pt:34
+msgid "Domains"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/password_form.pt:37
+msgid "If you do not know what this field is for, leave it blank."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/password_form.pt:9
+msgid "Change your Password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:25
+msgid "Member Preferences"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:31
+msgid "${link} to change your password."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:31
+msgid "Click here"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:48
+msgid "Listed status"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:53
+msgid "Listed"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:56
+msgid "You will show up on the public membership roster."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:64
+msgid "Unlisted"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:66
+msgid "You will <i>not</i> show up on the public membership roster. Your Member folder will still be publicly accessible unless you change its security settings."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/personalize_form.pt:74
+msgid "Skin"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/recent_news.pt:13
+msgid "${count} more recent articles"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/recent_news.pt:51
+msgid "No news is good news!"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/recent_news.pt:56
+msgid "${count} older articles"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:12
+msgid "This form is used to set the portal configuration options."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:19
+msgid "Portal 'From' name"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:24
+msgid "When the portal generates mail, it uses this name as its (apparent) sender."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:30
+msgid "Portal 'From' address"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:35
+msgid "When the portal generates mail, it uses this address as its (apparent) return address."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:41
+msgid "SMTP server"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:46
+msgid "This is the address of your local SMTP (out-going mail) server."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:5
+msgid "Configure the Portal"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:52
+msgid "Portal title"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:56
+msgid "This is the title which appears at the top of every portal page."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:62
+msgid "Portal description"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:67
+msgid "This description is made available via syndicated content and elsewhere. It should be fairly brief."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:73
+msgid "Password policy"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:77
+msgid "Generate and email members' initial password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:82
+msgid "Allow members to select their initial password"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:87
+msgid "Portal default encoding"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/reconfig_template.pt:92
+msgid "Charset used to decode portal content strings. If empty, 'ascii' is used."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:16
+msgid "You have been registered as a member of \"${portal_title}\", which allows you to personalize your view of the website and participate in the community."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:21
+msgid "This describes the purpose of the website:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:27
+msgid "Visit us at ${portal_url}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:35
+msgid "Your member id and password are: Member ID: ${member_id} Password: ${password}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:38
+msgid "You can use this URL to log in:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:43
+msgid "Be aware that this URL might wrap over two lines. If your browser shows an error message when you try to access the URL please make sure that you put in the complete string."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/registered_notify_template.pt:7
+msgid "${portal_title}: Your Membership Information"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/review.pt:106
+msgid "There are no items matching your specified criteria."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/review.pt:18
+msgid "Items pending review"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/review.pt:83
+msgid "Comment:"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/review.pt:91
+msgid "Publish"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/review.pt:93
+msgid "Reject"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/roster.pt:15
+msgid "Portal Members"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/roster.pt:25
+msgid "Listed?"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search.py:37
+msgid "item"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search.py:37
+msgid "items"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:102
+msgid "Yesterday"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:105
+msgid "Last week"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:108
+msgid "Last month"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:114
+msgid "You may find only recent items by selecting a time-frame."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:122
+msgid "Item type"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:133
+msgid "You may limit your results to particular kinds of items by selecting them above. To find all kinds of items, do not select anything."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:147
+msgid "To find items by a particular user only, enter their username above. Note that you must enter their username <i>exactly</i>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:19
+msgid "Review Status"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:22
+#: CMFDefault/skins/zpt_generic/search_form.pt:62
+#: CMFDefault/skins/zpt_generic/search_form.pt:125
+msgid "-- any --"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:23
+msgid "private"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:24
+msgid "pending"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:25
+msgid "published"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:28
+msgid "As a reviewer, you may search for items based on their review state. If you wish to constrain results to items in certain states, select them from this list."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:37
+msgid "Full Text"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:41
+msgid "For a simple text search, enter your search term here. Multiple words may be found by combining them with <b>AND</b> and <b>OR</b>. This will find text in items' contents, title and description."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:77
+msgid "You may also search the items' descriptions and titles specifically. Multiple words may be found by combining them with <b>AND</b> and <b>OR</b>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:86
+msgid "Find new items since..."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:9
+msgid "Search ${title}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:96
+msgid "Ever"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_form.pt:98
+msgid "Last login"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:34
+msgid "(No title)"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:45
+msgid "(No description)"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/search_results_template.pt:5
+msgid "Search Results"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:13
+msgid "Site Error"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:15
+msgid "An error was encountered while publishing this resource."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:20
+msgid "Error Type: ${error_type}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:24
+msgid "Error Value: ${error_value}"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:31
+msgid "Troubleshooting Suggestions"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:38
+msgid "This resource may be trying to reference a nonexistent object or variable <strong>${error_value}</strong>."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:41
+msgid "The URL may be incorrect."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:42
+msgid "The parameters passed to this resource may be incorrect."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:44
+msgid "A resource that this resource relies on may be encountering an error."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:48
+msgid "For more detailed information about the error, please refer to the HTML source for this page."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:52
+msgid "If the error persists please contact the site maintainer. Thank you for your patience."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/standard_error_message.pt:60
+msgid "Show Error Log Entry"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:110
+msgid "There are no transactions that can be undone."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:33
+msgid "This application's transactional feature allows you to easily undo changes made to the application's settings or data. You can revert the application to a &quot;snapshot&quot; of its state at a previous point in time."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:38
+msgid "Select one or more transactions below and then click on the &quot;Undo&quot; button to undo the transactions. Note that even though a transaction is shown below, you will not be able to undo it if later transactions modified objects that were modified by the transaction."
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:56
+msgid "Later Transactions"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:70
+msgid "by"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:76
+msgid "Zope"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:79
+msgid "on"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:8
+msgid "Undo Transactions"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:82
+msgid "at"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/undo_form.pt:90
+msgid "Earlier Transactions"
+msgstr ""
+
+#: CMFDefault/skins/zpt_generic/viewThreadsAtBottom.pt:3
+msgid "Comments:"
+msgstr ""
+
+#: CMFTopic/profiles/default/types/Topic.xml:4
+msgid "Topic"
+msgstr ""
+
+#: CMFTopic/profiles/default/types/Topic.xml:5
+msgid "Topics are canned queries for organizing content with up to date queries into the catalog."
+msgstr ""
+
+msgid "Next ${count} items"
+msgstr ""
+
+msgid "Next ${count} members"
+msgstr ""
+
+msgid "Next item"
+msgstr ""
+
+msgid "Next member"
+msgstr ""
+
+msgid "Previous ${count} items"
+msgstr ""
+
+msgid "Previous ${count} members"
+msgstr ""
+
+msgid "Previous item"
+msgstr ""
+
+msgid "Previous member"
+msgstr ""
+
+msgid "View"
+msgstr ""
+
+msgid "Local Roles"
+msgstr ""


Property changes on: CMF/trunk/CMFDefault/locales/cmf_default.pot
___________________________________________________________________
Name: svn:eol-style
   + native

Copied: CMF/trunk/i18nextract.py (from rev 41357, Zope3/trunk/utilities/i18nextract.py)
===================================================================
--- Zope3/trunk/utilities/i18nextract.py	2006-01-18 21:08:52 UTC (rev 41357)
+++ CMF/trunk/i18nextract.py	2006-01-19 12:13:53 UTC (rev 41363)
@@ -0,0 +1,327 @@
+#!/usr/bin/env python2.4
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Program to extract internationalization markup from Python Code,
+Page Templates and ZCML.
+
+This tool will extract all findable message strings from all
+internationalizable files in your Zope 3 product. It only extracts message ids
+of the specified domain. It defaults to the 'zope' domain and the zope
+package.
+
+Note: The Python Code extraction tool does not support domain
+      registration, so that all message strings are returned for
+      Python code.
+
+Note: The script expects to be executed either from inside the Zope 3 source
+      tree or with the Zope 3 source tree on the Python path.  Execution from
+      a symlinked directory inside the Zope 3 source tree will not work.
+
+Usage: i18nextract.py [options]
+Options:
+    -h / --help
+        Print this message and exit.
+    -d / --domain <domain>
+        Specifies the domain that is supposed to be extracted (i.e. 'zope')
+    -p / --path <path>
+        Specifies the package that is supposed to be searched
+        (i.e. 'zope/app')
+    -o dir
+        Specifies a directory, relative to the package in which to put the
+        output translation template.
+    -x dir
+        Specifies a directory, relative to the package, to exclude.
+        May be used more than once.
+
+$Id$
+"""
+# XXX: This is a modified copy of zope3's utilities/i18nextract.py (r41131).
+#      It includes some modified code from zope.app.locales.extract (r41131).
+#      Extracting from ZCML is disabled for now.
+#
+#      This is just used to create .pot files for CMF. Don't make your code
+#      depend on it, it might be changed or removed without further notice!
+
+import fnmatch
+import time
+import tokenize
+import traceback
+
+from zope.app.locales.extract import POTMaker, TokenEater
+from zope.app.locales.pygettext import safe_eval, normalize, make_escapes
+
+
+DEFAULT_CHARSET = 'UTF-8'
+DEFAULT_ENCODING = '8bit'
+
+pot_header = '''\
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+msgid ""
+msgstr ""
+"Project-Id-Version: CMF 2.0\\n"
+"POT-Creation-Date: %(time)s\\n"
+"Language-Team: CMF Developers <zope-cmf at zope.org>\\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=%(charset)s\\n"
+"Content-Transfer-Encoding: %(encoding)s\\n"
+
+'''
+
+class POTMaker(POTMaker):
+    """This class inserts sets of strings into a POT file.
+    """
+
+    def write(self):
+        file = open(self._output_filename, 'w')
+        file.write(pot_header % {'time':     time.ctime(),
+                                 'version':  self._getProductVersion(),
+                                 'charset':  DEFAULT_CHARSET,
+                                 'encoding': DEFAULT_ENCODING})
+
+        # Sort the catalog entries by filename
+        catalog = self.catalog.values()
+        catalog.sort()
+
+        # Write each entry to the file
+        for entry in catalog:
+            entry.write(file)
+
+        file.close()
+
+def find_files(dir, pattern, exclude=()):
+    files = []
+
+    def visit(files, dirname, names):
+        names[:] = filter(lambda x:x not in exclude, names)
+        files += [os.path.join(dirname, name)
+                  for name in fnmatch.filter(names, pattern)
+                  if name not in exclude]
+
+    os.path.walk(dir, visit, files)
+    return files
+
+def py_strings(dir, domain="zope", exclude=()):
+    """Retrieve all Python messages from `dir` that are in the `domain`.
+    """
+    eater = TokenEater()
+    make_escapes(0)
+    for filename in find_files(
+            dir, '*.py', exclude=('extract.py', 'pygettext.py')+tuple(exclude)):
+        fp = open(filename)
+        try:
+            eater.set_filename(filename)
+            try:
+                tokenize.tokenize(fp.readline, eater)
+            except tokenize.TokenError, e:
+                print >> sys.stderr, '%s: %s, line %d, column %d' % (
+                    e[0], filename, e[1][0], e[1][1])
+        finally:
+            fp.close()
+    # One limitation of the Python message extractor is that it cannot
+    # determine the domain of the string, since it is not contained anywhere
+    # directly. The only way this could be done is by loading the module and
+    # inspect the '_' function. For now we simply assume that all the found
+    # strings have the domain the user specified.
+    return eater.getCatalog()
+
+def zcml_strings(dir, domain="zope", site_zcml=None):
+    """Retrieve all ZCML messages from `dir` that are in the `domain`.
+    """
+    return {}
+
+def tal_strings(dir, domain="zope", include_default_domain=False, exclude=()):
+    """Retrieve all TAL messages from `dir` that are in the `domain`.
+    """
+    # We import zope.tal.talgettext here because we can't rely on the
+    # right sys path until app_dir has run
+    from zope.pagetemplate.pagetemplatefile import sniff_type
+    from zope.pagetemplate.pagetemplatefile import XML_PREFIX_MAX_LENGTH
+    from zope.tal.talgettext import POEngine, POTALInterpreter
+    from zope.tal.htmltalparser import HTMLTALParser
+    from zope.tal.talparser import TALParser
+    engine = POEngine()
+
+    class Devnull(object):
+        def write(self, s):
+            pass
+
+    filenames = find_files(dir, '*.pt', exclude=tuple(exclude)) \
+              + find_files(dir, '*.html', exclude=tuple(exclude)) \
+              + find_files(dir, '*.xml', exclude=tuple(exclude))
+
+    for filename in sorted(filenames):
+        # This is taken from zope/pagetemplate/pagetemplatefile.py (r40504)
+        f = open(filename, "rb")
+        try:
+            text = f.read(XML_PREFIX_MAX_LENGTH)
+        except:
+            f.close()
+            raise
+        type_ = sniff_type(text)
+        if type_ == "text/xml":
+            text += f.read()
+        else:
+            # For HTML, we really want the file read in text mode:
+            f.close()
+            f = open(filename)
+            text = f.read()
+        f.close()
+
+        try:
+            engine.file = filename
+            if type_ != "text/xml":
+                p = HTMLTALParser()
+            else:
+                p = TALParser()
+            p.parseString(text)
+            program, macros = p.getCode()
+            POTALInterpreter(program, macros, engine, stream=Devnull(),
+                             metal=False)()
+        except: # Hee hee, I love bare excepts!
+            print 'There was an error processing', filename
+            traceback.print_exc()
+
+    # See whether anything in the domain was found
+    if not engine.catalog.has_key(domain):
+        return {}
+    # We do not want column numbers.
+    catalog = engine.catalog[domain].copy()
+    # When the Domain is 'default', then this means that none was found;
+    # Include these strings; yes or no?
+    if include_default_domain:
+        catalog.update(engine.catalog['zope'])
+    for msgid, locations in catalog.items():
+        catalog[msgid] = map(lambda l: (l[0], l[1][0]), locations)
+    return catalog
+
+
+import os, sys, getopt
+
+def usage(code, msg=''):
+    # Python 2.1 required
+    print >> sys.stderr, __doc__
+    if msg:
+        print >> sys.stderr, msg
+    sys.exit(code)
+
+def app_dir():
+    try:
+        import zope
+    except ImportError:
+        # Couldn't import zope, need to add something to the Python path
+
+        # Get the path of the src
+        path = os.path.abspath(os.getcwd())
+        while not path.endswith('src'):
+            parentdir = os.path.dirname(path)
+            if path == parentdir:
+                # root directory reached
+                break
+            path = parentdir
+        sys.path.insert(0, path)
+
+        try:
+            import zope
+        except ImportError:
+            usage(1, "Make sure the script has been executed "
+                     "inside Zope 3 source tree.")
+
+    return os.path.dirname(zope.__file__)
+
+def main(argv=sys.argv):
+    try:
+        opts, args = getopt.getopt(
+            sys.argv[1:],
+            'hd:p:o:x:',
+            ['help', 'domain=', 'path=', 'python-only'])
+    except getopt.error, msg:
+        usage(1, msg)
+
+    domain = 'zope'
+    path = app_dir()
+    include_default_domain = True
+    output_dir = None
+    exclude_dirs = []
+    python_only = None
+    for opt, arg in opts:
+        if opt in ('-h', '--help'):
+            usage(0)
+        elif opt in ('-d', '--domain'):
+            domain = arg
+            include_default_domain = False
+        elif opt in ('-o', ):
+            output_dir = arg
+        elif opt in ('-x', ):
+            exclude_dirs.append(arg)
+        elif opt in ('--python-only',):
+            python_only = True
+        elif opt in ('-p', '--path'):
+            if not os.path.exists(arg):
+                usage(1, 'The specified path does not exist.')
+            path = arg
+            # We might not have an absolute path passed in.
+            if not path == os.path.abspath(path):
+                cwd = os.getcwd()
+                # This is for symlinks. Thanks to Fred for this trick.
+                if os.environ.has_key('PWD'):
+                    cwd = os.environ['PWD']
+                path = os.path.normpath(os.path.join(cwd, arg))
+
+    # When generating the comments, we will not need the base directory info,
+    # since it is specific to everyone's installation
+    base_dir = path+os.sep
+
+    output_file = domain+'.pot'
+    if output_dir:
+        output_dir = os.path.join(path, output_dir)
+        if not os.path.exists(output_dir):
+            os.mkdir(output_dir)
+        output_file = os.path.join(output_dir, output_file)
+
+    print "base path: %r\n" \
+          "search path: %s\n" \
+          "exclude dirs: %r\n" \
+          "domain: %r\n" \
+          "output file: %r" \
+          % (base_dir, path, exclude_dirs, domain, output_file)
+
+    maker = POTMaker(output_file, path)
+    maker.add(py_strings(path, domain, exclude=exclude_dirs), base_dir)
+    if not python_only:
+        maker.add(zcml_strings(path, domain), base_dir)
+        maker.add(tal_strings(path, domain, include_default_domain,
+                              exclude=exclude_dirs), base_dir)
+    maker.write()
+
+    manual_file = os.path.join(output_dir, domain+'-manual.pot')
+    if os.path.exists(manual_file):
+        manual = file(manual_file, 'r')
+        auto = file(output_file, 'a')
+        auto.write(manual.read())
+        auto.close()
+        manual.close()
+
+if __name__ == '__main__':
+    main()



More information about the CMF-checkins mailing list