Index: qPingTool/branches/plone-3.1/History.txt
===================================================================
--- qPingTool/branches/plone-3.1/History.txt	(revision 215)
+++ qPingTool/branches/plone-3.1/History.txt	(revision 225)
@@ -4,4 +4,5 @@
   * Updated tests to run with Plone 3.x.
   * General code cleanup and modernization.
+  * Added form for setup links of feed.
 
 0.3
Index: qPingTool/branches/plone-3.1/PingInfo.py
===================================================================
--- qPingTool/branches/plone-3.1/PingInfo.py	(revision 215)
+++ qPingTool/branches/plone-3.1/PingInfo.py	(revision 225)
@@ -8,34 +8,63 @@
 from Products.ATContentTypes.lib.historyaware import HistoryAwareMixin
 from config import RSS_LIST, PROJECTNAME
+from zope.i18nmessageid import MessageFactory
+
+from Products.qPingTool import qPingToolMessageFactory as _
 
 PingInfoSchema =  ATContentTypeSchema.copy() +  Schema((
     TextField('description',
-        default = '',
-        searchable = 0,
-        widget = TextAreaWidget(
-            label_msgid = 'label_description',
-            description_msgid = 'help_description',),
-               ),
+        default='',
+        searchable=False,
+        widget=TextAreaWidget(
+            label=_(
+                u'label_description',
+                default=u'Description'),
+            description=_(
+                u'help_description',
+                default=u'Description of ping info'),
+        ),
+    ),
     StringField('url',
-                required=1,
-                widget=StringWidget(label_msgid = 'label_url',
-                                    description_msgid = 'help_url'),
-               ),
+        default='',
+        required=1,
+        searchable=False,
+        widget=StringWidget(
+            label=_(
+                u'label_url',
+                default=u'Url ping servies'),
+            description=_(
+                u'help_url',
+                default=u''),
+        ),
+    ),
     StringField('method_name',
-                default='weblogUpdates.ping',
-                required=1,
-                widget=StringWidget(label_msgid = 'label_method_name',
-                                    description_msgid = 'help_method_name'),
-               ),
+        default='weblogUpdates.ping',
+        required=1,
+        searchable=False,
+        widget=StringWidget(
+            label=_(
+                u'label_method_name',
+                default=u'Method name'),
+            description=_(
+                u'help_method_name',
+                default=u''),
+        ),
+    ),
     StringField('rss_version',
-		vocabulary=RSS_LIST,
-		default='Weblog',
-                widget=SelectionWidget(label_msgid = 'label_rss_version',
-                                    description_msgid = 'help_rss_version'),
-    )),
-    marshall=RFC822Marshaller()
-    )
-    
-finalizeATCTSchema(PingInfoSchema)
+        default='Weblog',
+        searchable=False,
+	vocabulary=RSS_LIST,
+        widget=SelectionWidget(
+            label=_(
+                u'label_rss_version',
+                default=u'RSS version'),
+            description=_(
+                u'help_rss_version',
+                default=u''),
+        ),
+    ),
+),marshall=RFC822Marshaller())
+
+#finalizeATCTSchema(PingInfoSchema)
 
 class PingInfo(ATCTContent, HistoryAwareMixin):
Index: qPingTool/branches/plone-3.1/PingTool.py
===================================================================
--- qPingTool/branches/plone-3.1/PingTool.py	(revision 215)
+++ qPingTool/branches/plone-3.1/PingTool.py	(revision 225)
@@ -14,12 +14,8 @@
 from Products.XMLRPCMethod.XMLRPCMethod import RPCThread, XMLRPCMethod
 
+from Products.qPingTool import qPingToolMessageFactory as _
 from interfaces import IPingTool
 from adapter import ICanonicalURL
 from config import PROJECTNAME
-
-try:
-    from Products.qRSS2Syndication.interfaces import IPublishFeed
-except ImportError:
-    IPublishFeed = None
 
 _marker = []
@@ -71,16 +67,16 @@
         pingProp = self.getPingProperties(context)
     	if not pingProp['enable_ping']:
-    	    message = 'Ping is dissabled.'
+    	    message = _(u'Ping is dissabled.')
     	    return status, message
         canonical_url = ICanonicalURL(self).getCanonicalURL()
         if not canonical_url:
-            return status, 'Ping is impossible.Setup canonical_url.'
+            return status, _(u'Ping is impossible.Setup canonical_url.')
     	ps = getToolByName(context,'portal_syndication')
     	if ps.isSyndicationAllowed(context):
 	    sites = pingProp['ping_sites']
-            message = 'Select servers.'
+            message = _(u'Select servers.')
             for site in sites:
                 status = 'success'
-                message = 'The servers are pinged.'
+                message = _(u'The servers are pinged.')
                 site_obj = getattr(self, site)
                 site_method = site_obj.getMethod_name()
@@ -112,9 +108,9 @@
         obj=aq_base(context)
         status = 'success'
-        message = "Changes saved."
+        message = _(u'Changes saved.')
         syInfo = getattr(obj, 'syndication_information', None)
 
         if syInfo is None:
-            message = 'Syndication is Disabled'
+            message = _(u'Syndication is Disabled')
             status = 'failed'
         else:
Index: qPingTool/branches/plone-3.1/__init__.py
===================================================================
--- qPingTool/branches/plone-3.1/__init__.py	(revision 215)
+++ qPingTool/branches/plone-3.1/__init__.py	(revision 225)
@@ -1,4 +1,8 @@
+from zope.i18nmessageid import MessageFactory
 from Products.Archetypes.public import process_types, listTypes
 from Products.CMFCore import utils
+
+qPingToolMessageFactory = MessageFactory('qPingTool')
+
 import PingInfo, PingTool
 from config import *
Index: qPingTool/branches/plone-3.1/browser/ping.py
===================================================================
--- qPingTool/branches/plone-3.1/browser/ping.py	(revision 215)
+++ qPingTool/branches/plone-3.1/browser/ping.py	(revision 225)
@@ -1,4 +1,4 @@
 from Acquisition import aq_inner
-from Products.CMFPlone import PloneMessageFactory as _
+from Products.qPingTool import qPingToolMessageFactory as _
 from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
 from Products.Five import BrowserView
Index: qPingTool/branches/plone-3.1/browser/ping_setup.pt
===================================================================
--- qPingTool/branches/plone-3.1/browser/ping_setup.pt	(revision 215)
+++ qPingTool/branches/plone-3.1/browser/ping_setup.pt	(revision 225)
@@ -62,5 +62,5 @@
                        tal:attributes="value python:pingProperties['ping_Weblog']"
                        />
-                <label  for="ping_Weblog" class="hiddenStructure">Weblog Url</label>
+                <label for="ping_Weblog" class="hiddenStructure">Weblog Url</label>
               </td>
             </tr>
@@ -109,5 +109,5 @@
                 <label  for="select_all_items" class="hiddenStructure">Ping Site</label>
               </th>
-              <th i18n:translate="listingheader_group_user_name">Ping Site</th>
+              <th i18n:translate="listing_ping_servies">Ping Site</th>
             </tr>
             <tal:block tal:repeat="id here/portal_pingtool/objectIds">
@@ -129,5 +129,5 @@
                 </td>
                 <td  tal:content="python:here.portal_pingtool[id].Title()"
-                     tal:attributes="for id" >Site name</td>
+                     i18n:translate="" >Site name</td>
 
               </tr>
Index: qPingTool/branches/plone-3.1/i18n/qPingTool.pot
===================================================================
--- qPingTool/branches/plone-3.1/i18n/qPingTool.pot	(revision 225)
+++ qPingTool/branches/plone-3.1/i18n/qPingTool.pot	(revision 225)
@@ -0,0 +1,193 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: qPingTool 1.0.0\n"
+"POT-Creation-Date: 2008-09-16 14:37+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
+"Last-Translator: Vitaliy Stepanov <liebster@quintagroup.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"Language-Code: en\n"
+"Language-Name: English\n"
+"Preferred-Encodings: utf-8 latin1\n"
+"Domain: qPingTool\n"
+
+#: ./browser/ping.py:41
+msgid "Changes canceled."
+msgstr ""
+
+#: ./PingTool.py:110
+msgid "Changes saved."
+msgstr ""
+
+#. Default: "Edit"
+#: ./profiles/default/types/PingInfo.xml
+#: ./profiles/default/types/PingTool.xml
+msgid "Edit"
+msgstr ""
+
+#. Default: "Ping"
+#: ./browser/ping_setup.pt:159
+msgid "Ping"
+msgstr ""
+
+#. Default: "Ping Info"
+#: ./profiles/default/types/PingInfo.xml
+msgid "Ping Info"
+msgstr ""
+
+#. Default: "Ping Info container\n  id - name of the server to ping\n  url - server ping url\n  method_name - ping method\n  rss_version - rss version supported by the server"
+#: ./profiles/default/types/PingInfo.xml
+msgid "Ping Info container
+  id - name of the server to ping
+  url - server ping url
+  method_name - ping method
+  rss_version - rss version supported by the server"
+msgstr ""
+
+#. Default: "Ping Tool"
+#: ./profiles/default/controlpanel.xml
+#: ./profiles/default/actionicons.xml
+msgid "Ping Tool"
+msgstr ""
+
+#: ./PingTool.py:69
+msgid "Ping is dissabled."
+msgstr ""
+
+#: ./PingTool.py:73
+msgid "Ping is impossible.Setup canonical_url."
+msgstr ""
+
+#. Default: "PingTool"
+#: ./profiles/default/types/PingTool.xml
+msgid "PingTool"
+msgstr ""
+
+#. Default: "Properties"
+#: ./profiles/default/types/PingInfo.xml
+msgid "Properties"
+msgstr ""
+
+#. Default: "References"
+#: ./profiles/default/types/PingInfo.xml
+msgid "References"
+msgstr ""
+
+#: ./PingTool.py:77
+msgid "Select servers."
+msgstr ""
+
+#: ./PingTool.py:114
+msgid "Syndication is Disabled"
+msgstr ""
+
+#: ./PingTool.py:80
+msgid "The servers are pinged."
+msgstr ""
+
+#. Default: "This tool serve for operation with ActionInfo objects."
+#: ./profiles/default/types/PingTool.xml
+msgid "This tool serve for operation with ActionInfo objects."
+msgstr ""
+
+#. Default: "View"
+#: ./profiles/default/types/PingInfo.xml
+#: ./profiles/default/types/PingTool.xml
+msgid "View"
+msgstr ""
+
+#. Default: "Fill in the details of this document."
+#: ./browser/ping_setup.pt:20
+msgid "description_edit_document"
+msgstr ""
+
+#. Default: "Edit ${itemtype}"
+#: ./browser/ping_setup.pt:13
+msgid "heading_edit_item"
+msgstr ""
+
+#. Default: "Description of ping info"
+#: ./PingInfo.py:22
+msgid "help_description"
+msgstr ""
+
+#: ./PingInfo.py:48
+msgid "help_method_name"
+msgstr ""
+
+#: ./PingInfo.py:61
+msgid "help_rss_version"
+msgstr ""
+
+#: ./PingInfo.py:35
+msgid "help_url"
+msgstr ""
+
+#. Default: "Apply Changes"
+#: ./browser/ping_setup.pt:138
+msgid "label_apply_changes"
+msgstr ""
+
+#. Default: "Cancel"
+#: ./browser/ping_setup.pt:144
+msgid "label_cancel"
+msgstr ""
+
+#. Default: "Description"
+#: ./PingInfo.py:19
+msgid "label_description"
+msgstr ""
+
+#. Default: "Enable Ping"
+#: ./browser/ping_setup.pt:46
+msgid "label_enable_ping"
+msgstr ""
+
+#. Default: "Method name"
+#: ./PingInfo.py:45
+msgid "label_method_name"
+msgstr ""
+
+#. Default: "RSS1"
+#: ./browser/ping_setup.pt:68
+msgid "label_ping_RSS1"
+msgstr ""
+
+#. Default: "RSS2"
+#: ./browser/ping_setup.pt:80
+msgid "label_ping_RSS2"
+msgstr ""
+
+#. Default: "Name Alternative Ping Url"
+#: ./browser/ping_setup.pt:52
+msgid "label_ping_Weblog"
+msgstr ""
+
+#. Default: "RSS version"
+#: ./PingInfo.py:58
+msgid "label_rss_version"
+msgstr ""
+
+#. Default: "Url ping servies"
+#: ./PingInfo.py:32
+msgid "label_url"
+msgstr ""
+
+#. Default: "Ping Now"
+#: ./browser/ping_setup.pt:155
+msgid "legend_ping"
+msgstr ""
+
+#. Default: "Ping Setup Details"
+#: ./browser/ping_setup.pt:34
+msgid "legend_ping_setup"
+msgstr ""
+
+#. Default: "Ping Site"
+#: ./browser/ping_setup.pt:111
+msgid "listing_ping_servies"
+msgstr ""
+
Index: qPingTool/branches/plone-3.1/profiles/default/actions.xml
===================================================================
--- qPingTool/branches/plone-3.1/profiles/default/actions.xml	(revision 215)
+++ qPingTool/branches/plone-3.1/profiles/default/actions.xml	(revision 225)
@@ -4,5 +4,5 @@
 <!-- PORTAL ACTIONS -->
 <object name="portal_actions" meta_type="Plone Actions Tool"
-   xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="qPingTool">
  <object name="object" meta_type="CMF Action Category">
   <object name="ping" meta_type="CMF Action">
Index: qPingTool/branches/plone-3.1/setuphandlers.py
===================================================================
--- qPingTool/branches/plone-3.1/setuphandlers.py	(revision 215)
+++ qPingTool/branches/plone-3.1/setuphandlers.py	(revision 225)
@@ -16,4 +16,4 @@
     for site in SITES_LIST:
         if not site[0] in existent_sites:
-            portal.portal_pingtool.invokeFactory(id = site[0], type_name = "PingInfo", title = site[1],url = site[2])
+            portal.portal_pingtool.invokeFactory(id = site[0], type_name = "PingInfo", title = site[1], url = site[2])
 
Index: qPingTool/branches/plone-3.1/tests/browser.txt
===================================================================
--- qPingTool/branches/plone-3.1/tests/browser.txt	(revision 215)
+++ qPingTool/branches/plone-3.1/tests/browser.txt	(revision 225)
@@ -46,5 +46,5 @@
     True
     >>> self.browser.getLink(url='/createObject?type_name=PingInfo').click()
-    >>> self.browser.getControl('Method_name').value == 'weblogUpdates.ping'
+    >>> self.browser.getControl('Method name').value == 'weblogUpdates.ping'
     True
     >>> self.browser.getControl('Weblog').selected
@@ -60,7 +60,7 @@
      ...documentFirstHeading...Test ping info...
      ...formQuestion...Description...Test description...
-     ...formQuestion...Url...http://www.testsite.com...
-     ...formQuestion...Method_name...weblogUpdates.ping...
-     ...formQuestion...Rss_version...Weblog...'
+     ...formQuestion...Url ping servies...http://www.testsite.com...
+     ...formQuestion...Method name...weblogUpdates.ping...
+     ...formQuestion...RSS version...Weblog...'
 
 Create PingInfo in portal_pingtool
@@ -83,7 +83,7 @@
      ...documentFirstHeading...Ping info...
      ...formQuestion...Description...Test description...
-     ...formQuestion...Url...http://www.testsite.com...
-     ...formQuestion...Method_name...weblogUpdates.ping...
-     ...formQuestion...Rss_version...Weblog...'
+     ...formQuestion...Url ping servies...http://www.testsite.com...
+     ...formQuestion...Method name...weblogUpdates.ping...
+     ...formQuestion...RSS version...Weblog...'
 
 Ping
