[Zope3-checkins] CVS: zopeproducts/bugtracker/browser - add.pt:1.2 bug.py:1.9 bug_add.pt:1.2 bug_edit.pt:1.2 bug_overview.pt:1.3 configure.zcml:1.8 dependencies.pt:1.3 exportimport.pt:1.2 legend.pt:1.2 subscriptions.pt:1.2 tracker.py:1.10 tracker_add.pt:1.2 tracker_overview.pt:1.6 tracker_settings.pt:1.3

Stephan Richter srichter at cosmos.phy.tufts.edu
Tue Aug 12 15:55:52 EDT 2003


Update of /cvs-repository/zopeproducts/bugtracker/browser
In directory cvs.zope.org:/tmp/cvs-serv11962/browser

Modified Files:
	add.pt bug.py bug_add.pt bug_edit.pt bug_overview.pt 
	configure.zcml dependencies.pt exportimport.pt legend.pt 
	subscriptions.pt tracker.py tracker_add.pt tracker_overview.pt 
	tracker_settings.pt 
Log Message:
- Fixed bug that would not allow Web-based users to create and view bugs.

- Internationalized the Bug Tracker Product.

- Localized the Bug Tracker to German.


=== zopeproducts/bugtracker/browser/add.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/add.pt:1.1	Thu Jul 24 14:08:10 2003
+++ zopeproducts/bugtracker/browser/add.pt	Tue Aug 12 14:55:11 2003
@@ -5,7 +5,7 @@
 <form action="action.html" method="POST">
 <table class="TypeListing" cellpadding="3">
 
-  <caption>Add Content</caption>
+  <caption i18n:translate="">Add Content</caption>
 
     <tbody tal:repeat="info view/addingInfo">
 
@@ -62,7 +62,8 @@
                tal:condition="view/namesAccepted"
 	       tal:attributes="value request/id | nothing"
         />
-        <input type="submit" value=" Add " />
+        <input type="submit" value="Add" 
+               i18n:attributes="value add-button"/>
     </td>
   </tr>
 


=== zopeproducts/bugtracker/browser/bug.py 1.8 => 1.9 ===
--- zopeproducts/bugtracker/browser/bug.py:1.8	Fri Aug  1 00:46:33 2003
+++ zopeproducts/bugtracker/browser/bug.py	Tue Aug 12 14:55:11 2003
@@ -82,6 +82,10 @@
             return self.created()
         return formatter.format(dc.modified)
 
+    def submitter(self):
+        auth = getService(self.context, Authentication)
+        return auth.getPrincipal(self.context.submitter)
+
     def description(self):
         html = HTML(self.context.description, level=3)
         html = re.sub(


=== zopeproducts/bugtracker/browser/bug_add.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/bug_add.pt:1.1	Sat Jul 26 12:59:14 2003
+++ zopeproducts/bugtracker/browser/bug_add.pt	Tue Aug 12 14:55:11 2003
@@ -1,97 +1,79 @@
 <html metal:use-macro="context/@@standard_macros/dialog">
-  <body>
-  <div metal:fill-slot="body">
+<body>
+<div metal:fill-slot="body">
 
-  <div metal:define-macro="body">
+  <form action="." tal:attributes="action request/URL" method="post"
+        enctype="multipart/form-data">
 
-    <form action="." tal:attributes="action request/URL" method="post"
-          enctype="multipart/form-data"
-          >
-
-      <div metal:define-macro="formbody">
-
-        <h3 tal:condition="view/label"
-            tal:content="view/label"
-            metal:define-slot="heading"
-            >Edit something</h3>
-
-        <p tal:define="status view/update"
-           tal:condition="status"
-           tal:content="status" />
-
-        <p tal:condition="view/errors">
-          <span i18n:translate="">There are</span>
-          <strong tal:content="python:len(view.errors)">6</strong>
-          <span i18n:translate="">input errors.</span>
-        </p>
-
-        <div metal:define-slot="extra_info" tal:replace="nothing">
-        </div>
-
-        <div class="row" metal:define-slot="extra_top" tal:replace="nothing">
-            <div class="label">Extra top</div>
-            <div class="label"><input type="text" style="width:100%" /></div>
-        </div>
-
-      <div>
-
-        <div class="row">
-          <div class="label">Title:</div>
-          <div class="field" tal:content="structure view/title_widget"></div>
-        </div>
-
-        <div class="row">
-          <div class="label md_label">Type:</div>
-          <div class="field md_field" 
-              tal:content="structure view/type_widget" />
-          <div class="label md_label">Status:</div>
-          <div class="field md_field"
-              tal:content="structure view/status_widget" />
-        </div>
-
-        <div class="row">
-          <div class="label md_label">Priority:</div>
-          <div class="field md_field"
-              tal:content="structure view/priority_widget" />
-          <div class="label md_label">Release Target:</div>
-          <div class="field md_field"
-              tal:content="structure view/release_widget" />
-        </div>
-
-        <div class="row">
-          <div class="label">Owners:</div>
-          <div class="field"
-              tal:content="structure view/owners_widget" />
-        </div>
-
-      </div>
-
-      <h4>Description</h4>
-      <div tal:content="structure view/description_widget" />
-
-
-        <div class="row"
-             metal:define-slot="extra_bottom" tal:replace="nothing">
-            <div class="label">Extra bottom</div>
-            <div class="field"><input type="text" style="width:100%" /></div>
-        </div>
+    <h3 tal:condition="view/label"
+        tal:content="view/label"
+        >Edit something</h3>
+  
+    <p tal:define="status view/update"
+       tal:condition="status"
+       tal:content="status" />
+  
+    <p tal:condition="view/errors">
+      <span i18n:translate="">There are
+      <strong tal:content="python:len(view.errors)" 
+              i18n:name="num_errors">6</strong>
+      input errors.</span>
+    </p>
+  
+    <div>
 
+      <div class="row">
+        <div class="label" i18n:translate="">Title:</div>
+        <div class="field" tal:content="structure view/title_widget"></div>
+      </div>
+
+      <div class="row">
+        <div class="label md_label" i18n:translate="">Type:</div>
+        <div class="field md_field" 
+             tal:content="structure view/type_widget" />
+        <div class="label md_label" i18n:translate="">Status:</div>
+        <div class="field md_field" 
+             tal:content="structure view/status_widget" />
+      </div>
+
+      <div class="row">
+        <div class="label md_label" i18n:translate="">Priority:</div>
+        <div class="field md_field"
+            tal:content="structure view/priority_widget" />
+        <div class="label md_label" i18n:translate="">Release Target:</div>
+        <div class="field md_field"
+            tal:content="structure view/release_widget" />
       </div>
 
       <div class="row">
-        <div class="controls">
-          <input type="submit" value="Refresh" 
-              i18n:attributes="value refresh-button" />
-          <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
-              i18n:attributes="value submit-button"/>
-        </div>
+        <div class="label" i18n:translate="">Owners:</div>
+        <div class="field"
+            tal:content="structure view/owners_widget" />
+      </div>
+
+    </div>
+
+    <h4 i18n:translate="">Description</h4>
+    <div tal:content="structure view/description_widget">
+
+      <div class="row" tal:replace="nothing">
+        <div class="label">Extra bottom</div>
+        <div class="field"><input type="text" style="width:100%" /></div>
       </div>
 
-    </form>
+    </div>
 
-  </div>
+    <div class="row">
+      <div class="controls">
+        <input type="submit" value="Refresh" 
+            i18n:attributes="value refresh-button" />
+        <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
+            i18n:attributes="value submit-button"/>
+      </div>
+    </div>
 
-  </div>
-  </body>
+  </form>
 
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/bug_edit.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/bug_edit.pt:1.1	Thu Jul 24 14:08:10 2003
+++ zopeproducts/bugtracker/browser/bug_edit.pt	Tue Aug 12 14:55:11 2003
@@ -1,82 +1,85 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot"
-        type="text/css" media="all"
-        tal:content=
-            "string: @import url(${context/++resource++tracker.css});">
-      @import url(tracker.css);>
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body">
-
-    <form action="." tal:attributes="action request/URL" method="POST"
-          enctype="multipart/form-data"
-          >
-
-      <p tal:define="status view/update"
-         tal:condition="status"
-         tal:content="status" />
-      
-       <p tal:condition="view/errors">
-         <span i18n:translate="">There are</span> 
-         <strong tal:content="python:len(view.errors)">6</strong>
-         <span i18n:translate="">input errors.</span>
-      </p>
-
-      <h1 tal:content="structure view/title_widget">
-        <input type="text" name="title" value="title" />
-      </h1>
-      From <b tal:content="context/submitter">user</b> at
-      <b tal:content="view/created">2001/01/01 12:00</b> 
-
-      <div>
-
-        <div class="row">
-          <div class="label md_label">Type:</div>
-          <div class="field md_field" 
-              tal:content="structure view/type_widget" />
-          <div class="label md_label">Status:</div>
-          <div class="field md_field"
-              tal:content="structure view/status_widget" />
-        </div>
-
-        <div class="row">
-          <div class="label md_label">Priority:</div>
-          <div class="field md_field"
-              tal:content="structure view/priority_widget" />
-          <div class="label md_label">Release Target:</div>
-          <div class="field md_field"
-              tal:content="structure view/release_widget" />
-        </div>
-
-        <div class="row">
-          <div class="label">Owners:</div>
-          <div class="field"
-              tal:content="structure view/owners_widget" />
-        </div>
-
-        <div class="row">
-          <div class="label">Last modified:</div>
-          <div class="field" tal:content="view/modified"></div>
-        </div>
+<head>
+  <style metal:fill-slot="style_slot"
+      type="text/css" media="all"
+      tal:content=
+          "string: @import url(${context/++resource++tracker.css});">
+    @import url(tracker.css);>
+  </style>
+</head>
+
+<body>
+<div metal:fill-slot="body">
+
+  <form action="." tal:attributes="action request/URL" method="POST"
+        enctype="multipart/form-data">
+
+    <p tal:define="status view/update"
+       tal:condition="status"
+       tal:content="status" />
+    
+    <p tal:condition="view/errors">
+      <span i18n:translate="">There are
+      <strong tal:content="python:len(view.errors)" 
+              i18n:name="num_errors">6</strong>
+      input errors.</span>
+    </p>
+
+    <h1 tal:content="structure view/title_widget">
+      <input type="text" name="title" value="title" />
+    </h1>
+    <span i18n:translate="" i18n:domain="bugtracker">From 
+      <b tal:content="view/submitter/getTitle" i18n:name="user">user</b> at
+      <b tal:content="view/created" i18n:name="date">2001/01/01 12:00</b>
+    </span>
+
+    <div>
+
+      <div class="row" i18n:domain="bugtracker">
+        <div class="label md_label" i18n:translate="">Type:</div>
+        <div class="field md_field" 
+            tal:content="structure view/type_widget" />
+        <div class="label md_label" i18n:translate="">Status:</div>
+        <div class="field md_field"
+            tal:content="structure view/status_widget" />
+      </div>
 
+      <div class="row" i18n:domain="bugtracker">
+        <div class="label md_label" i18n:translate="">Priority:</div>
+        <div class="field md_field"
+            tal:content="structure view/priority_widget" />
+        <div class="label md_label" i18n:translate="">Release Target:</div>
+        <div class="field md_field"
+            tal:content="structure view/release_widget" />
       </div>
 
-      <h4>Description</h4>
-      <div tal:content="structure view/description_widget" />
+      <div class="row" i18n:domain="bugtracker">
+        <div class="label" i18n:translate="">Owners:</div>
+        <div class="field"
+            tal:content="structure view/owners_widget" />
+      </div>
 
       <div class="row">
-        <div class="controls">
-          <input type="submit" value="Refresh" 
-              i18n:attributes="value refresh-button" />
-          <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
-              i18n:attributes="value submit-button"/>
-        </div>
+        <div class="label" i18n:translate="">Last modified:</div>
+        <div class="field" tal:content="view/modified"></div>
+      </div>
+
+    </div>
+
+    <h4 i18n:translate="">Description</h4>
+    <div tal:content="structure view/description_widget" />
+
+    <div class="row">
+      <div class="controls">
+        <input type="submit" value="Refresh" 
+            i18n:attributes="value refresh-button" />
+        <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
+            i18n:attributes="value submit-button"/>
       </div>
-      
-      </form>
-      
     </div>
-  </body>
+    
+    </form>
+    
+  </div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/bug_overview.pt 1.2 => 1.3 ===
--- zopeproducts/bugtracker/browser/bug_overview.pt:1.2	Thu Jul 24 17:39:10 2003
+++ zopeproducts/bugtracker/browser/bug_overview.pt	Tue Aug 12 14:55:11 2003
@@ -1,99 +1,102 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot"
-        type="text/css" media="all"
-        tal:content=
-            "string: @import url(${context/++resource++tracker.css});">
-      @import url(tracker.css);>
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body">
-
-      <h1 tal:content="context/title">Bug Number 1</h1>
-      From <b tal:content="context/submitter">user</b> at
-      <b tal:content="view/created">2001/01/01 12:00</b> 
-
-      <div>
-
-        <div class="row">
-          <div class="label md_label">Type:</div>
-          <div class="field md_field" tal:content="view/type/title"></div>
-          <div class="label md_label">Status:</div>
-          <div class="field md_field">
-            <span tal:attributes="class context/status" 
-                tal:content="view/status/title" />
-          </div>
-        </div>
-
-        <div class="row">
-          <div class="label md_label">Priority:</div>
-          <div class="field md_field">
-            <span tal:attributes="class context/priority" 
-                tal:content="view/priority/title" />
-          </div>
-          <div class="label md_label">Release Target:</div>
-          <div class="field md_field" tal:content="view/release/title"></div>
-        </div>
-
-        <div class="row">
-          <div class="label">Owners:</div>
-          <div class="field">
-            <tal:block repeat="owner view/owners">
-	      <d tal:content="owner/principal/title" tal:omit-tag="" />
-              <d tal:condition="not:repeat/owner/end" tal:omit-tag="">,</d>
-            </tal:block>
-          </div>
-        </div>
-
-        <div class="row">
-          <div class="label">Last modified:</div>
-          <div class="field" tal:content="view/modified"></div>
-        </div>
+<head>
+  <style metal:fill-slot="style_slot"
+      type="text/css" media="all"
+      tal:content=
+          "string: @import url(${context/++resource++tracker.css});">
+    @import url(tracker.css);>
+  </style>
+</head>
+
+<body>
+<div metal:fill-slot="body">
+
+  <h1 tal:content="context/title">Bug Number 1</h1>
+  <span i18n:translate="" i18n:domain="bugtracker">From 
+    <b tal:content="view/submitter/getTitle" i18n:name="user">user</b> at
+    <b tal:content="view/created" i18n:name="date">2001/01/01 12:00</b>
+  </span>
+
+  <div>
+
+    <div class="row" i18n:domain="bugtracker">
+      <div class="label md_label">Type:</div>
+      <div class="field md_field" tal:content="view/type/title"></div>
+      <div class="label md_label">Status:</div>
+      <div class="field md_field">
+        <span tal:attributes="class context/status" 
+            tal:content="view/status/title" />
+      </div>
+    </div>
 
+    <div class="row" i18n:domain="bugtracker">
+      <div class="label md_label" i18n:translate="">Priority:</div>
+      <div class="field md_field">
+        <span tal:attributes="class context/priority" 
+            tal:content="view/priority/title" />
       </div>
+      <div class="label md_label" i18n:translate="">Release Target:</div>
+      <div class="field md_field" tal:content="view/release/title"></div>
+    </div>
 
-      <h4>Description</h4>
-      <div class="single_p" id="description"
-          tal:content="structure view/description">Bug Description</div>
-      
-      <h4>Direct Dependencies</h4>
-      <div class="single_p">
-        <tal:block repeat="dep view/dependencies" tal:omit-tag="">
-          <a href="" tal:attributes="href string:../$dep"
-                     tal:content="dep">Dep Bug</a>
-          <d tal:condition="not:repeat/dep/end" tal:replace="string:," />
-      
+    <div class="row" i18n:domain="bugtracker">
+      <div class="label" i18n:translate="">Owners:</div>
+      <div class="field">
+        <tal:block repeat="owner view/owners">
+          <d tal:content="owner/principal/title" tal:omit-tag="" />
+          <d tal:condition="not:repeat/owner/end" tal:omit-tag="">,</d>
         </tal:block>
       </div>
-      
-      <h4>Attachments</h4>
-      <ul id="attachments" tal:condition="view/attachments">
-        <li tal:repeat="attch view/attachments">
-            <a href="" tal:attributes="href string: ./${attch/name}" 
-                       tal:content="attch/name">Attachment 1</a>
-            (<div tal:replace="attch/size">Size here</div>)
-        </li>
-      </ul>
-      <div class="action">
-        <a href="./@@+/UploadFile=">Add File</a> |
-        <a href="./@@+/UploadImage=">Add Image</a>
-      </div>
+    </div>
 
-      <h4>Comments</h4>
-      <div tal:repeat="comment view/comments">
-          <h5 style="margin: 0em 0.6em">
-            Entry #<d tal:replace="repeat/comment/number" /> by 
-            <d tal:replace="comment/creator" /> on 
-            <d tal:replace="comment/modified" />
-          </h5>
-        <div class="comment"
-           tal:content="structure comment/body">Comment body</div>
-      </div>
-      <div class="action">
-        <a href="./@@+/AddBugComment=">Add Comment</a>
-      </div>
-      
+    <div class="row">
+      <div class="label" i18n:translate="">Last modified:</div>
+      <div class="field" tal:content="view/modified"></div>
     </div>
-  </body>
+
+  </div>
+
+  <h4 i18n:translate="">Description</h4>
+  <div class="single_p" id="description"
+      tal:content="structure view/description">Bug Description</div>
+  
+  <h4 i18n:translate="" i18n:domain="bugtracker">Direct Dependencies</h4>
+  <div class="single_p">
+    <tal:block repeat="dep view/dependencies" tal:omit-tag="">
+      <a href="" tal:attributes="href string:../$dep"
+                 tal:content="dep">Dep Bug</a>
+      <d tal:condition="not:repeat/dep/end" tal:replace="string:," />
+  
+    </tal:block>
+  </div>
+  
+  <h4 i18n:translate="" i18n:domain="bugtracker">Attachments</h4>
+  <ul id="attachments" tal:condition="view/attachments">
+    <li tal:repeat="attch view/attachments">
+        <a href="" tal:attributes="href string: ./${attch/name}" 
+                   tal:content="attch/name">Attachment 1</a>
+        (<div tal:replace="attch/size">Size here</div>)
+    </li>
+  </ul>
+  <div class="action" i18n:domain="bugtracker">
+    <a href="./@@+/UploadFile=" i18n:translate="">Add File</a> |
+    <a href="./@@+/UploadImage=" i18n:translate="">Add Image</a>
+  </div>
+
+  <h4 i18n:translate="" i18n:domain="bugtracker">Comments</h4>
+  <div tal:repeat="comment view/comments" i18n:domain="">
+      <h5 style="margin: 0em 0.6em" i18n:translate="">
+        Entry #<d tal:replace="repeat/comment/number" i18n:name="bug_id"/> by 
+        <d tal:replace="comment/creator" i18n:name="creator"/> on 
+        <d tal:replace="comment/modified" i18n:name="modified_datetime"/>
+      </h5>
+    <div class="comment"
+       tal:content="structure comment/body">Comment body</div>
+  </div>
+  <div class="action" i18n:domain="bugtracker">
+    <a href="./@@+/AddBugComment=" i18n:translate="">Add Comment</a>
+  </div>
+
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/configure.zcml 1.7 => 1.8 ===
--- zopeproducts/bugtracker/browser/configure.zcml:1.7	Sun Aug  3 14:33:58 2003
+++ zopeproducts/bugtracker/browser/configure.zcml	Tue Aug 12 14:55:11 2003
@@ -1,30 +1,27 @@
 <configure
-   xmlns="http://namespaces.zope.org/zope"
-   xmlns:browser="http://namespaces.zope.org/browser"
-   i18n_domain="bugtracker"
-   >
+   xmlns:zope="http://namespaces.zope.org/zope"
+   xmlns="http://namespaces.zope.org/browser">
 
-  <include package=".skin" />
+  <zope:include package=".skin" />
 
-  <browser:resource 
+  <resource 
        name="tracker.css" file="tracker.css" layer="rotterdam" />
 
-  <browser:menu
+  <menu
        id="add_bugtracker"
        title="Menu of objects to be added to Bug Trackers."/>
 
-  <browser:menu
+  <menu
        id="add_bug"
        title="Menu of objects to be added to Bugs."/>
 
-  <browser:icon
+  <icon
       name="zmi_icon"
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
-      file="tracker_icon.png"
-      />
+      file="tracker_icon.png" />
 
   <!-- Custom adding views.  -->
-  <browser:view
+  <view
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       name="+"
       class=".tracker.BugTrackerAdding"
@@ -32,24 +29,24 @@
       allowed_attributes="addingInfo"
       menu="zmi_actions"
       title="Add">
-      <browser:page name="index.html"  template="add.pt" />
-      <browser:page name="action.html" attribute="action" />
-  </browser:view>
+    <page name="index.html"  template="add.pt" />
+    <page name="action.html" attribute="action" />
+  </view>
 
-  <browser:view
+  <view
       for="zopeproducts.bugtracker.interfaces.IBug"
       name="+"
       class=".bug.BugAdding"
       permission="bugtracker.ViewBug"
       allowed_attributes="addingInfo">
-      <browser:page name="index.html"  template="add.pt" />
-      <browser:page name="action.html" attribute="action" />
-  </browser:view>
+    <page name="index.html"  template="add.pt" />
+    <page name="action.html" attribute="action" />
+  </view>
 
 
   <!-- Bug tracker configuration -->
 
-  <browser:addform
+  <addform
       label="Add Bug Tracker"
       name="AddBugTracker"
       schema="zopeproducts.bugtracker.interfaces.IBugTracker"
@@ -59,47 +56,47 @@
       template="tracker_add.pt"      
       menu="add_content" title="Bug Tracker"/>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       class=".tracker.Overview"
       permission="bugtracker.ViewBugTracker">
-      <browser:page name="overview.html" template="tracker_overview.pt"
+    <page name="overview.html" template="tracker_overview.pt"
           menu="zmi_views" title="Overview" />
-      <browser:page name="updateOverviewSettings.html" 
+    <page name="updateOverviewSettings.html" 
           attribute="updateSettings" />
-  </browser:pages>
+  </pages>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       class=".tracker.Settings"
       permission="bugtracker.ManageBugTracker">
-      <browser:page name="settings.html" template="tracker_settings.pt"
+    <page name="settings.html" template="tracker_settings.pt"
           menu="zmi_views" title="Settings" />
-      <browser:page name="addValue.html" attribute="addValue" />
-      <browser:page name="deleteValues.html" attribute="deleteValues" />
-      <browser:page name="setDefaultValue.html" attribute="setDefaultValue" />
-  </browser:pages>
+    <page name="addValue.html" attribute="addValue" />
+    <page name="deleteValues.html" attribute="deleteValues" />
+    <page name="setDefaultValue.html" attribute="setDefaultValue" />
+  </pages>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       class=".mail.MailSubscriptions"
       permission="bugtracker.ManageBugTracker">
-      <browser:page name="subscriptions.html" template="subscriptions.pt"
+    <page name="subscriptions.html" template="subscriptions.pt"
           menu="zmi_views" title="Subscriptions" />
-      <browser:page name="changeSubscriptions.html" attribute="change" />
-  </browser:pages>
+    <page name="changeSubscriptions.html" attribute="change" />
+  </pages>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       class=".exportimport.XMLExportImport"
       permission="bugtracker.ManageBugTracker">
-      <browser:page name="xmlexportimport.html" template="exportimport.pt"
+    <page name="xmlexportimport.html" template="exportimport.pt"
           menu="zmi_views" title="XML Export/Import" />
-      <browser:page name="tracker.xml" attribute="exportXML" />
-      <browser:page name="import.html" attribute="importXML" />
-  </browser:pages>
+    <page name="tracker.xml" attribute="exportXML" />
+    <page name="import.html" attribute="importXML" />
+  </pages>
 
-  <browser:page
+  <page
       name="contents.html"
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       permission="zope.ManageContent"
@@ -107,19 +104,19 @@
       attribute="contents"
       menu="zmi_views" title="Contents"/>
 
-  <browser:menuItem
+  <menuItem
       menu="zmi_actions" title="Add Bug"
       for="zopeproducts.bugtracker.interfaces.IBugTracker"
       action="+/AddBug="/>
 
-  <browser:defaultView
+  <defaultView
       name="overview.html"
       for="zopeproducts.bugtracker.interfaces.IBugTracker"/>
 
 
   <!-- Bug configuration -->
 
-  <browser:addform
+  <addform
       label="Add Bug"
       name="AddBug"
       schema="zopeproducts.bugtracker.interfaces.IBug"
@@ -130,7 +127,7 @@
       class=".bug.AddBug"
       menu="add_bugtracker" title="Bug"/>
 
-  <browser:editform
+  <editform
       schema="zopeproducts.bugtracker.interfaces.IBug"
       for="zopeproducts.bugtracker.interfaces.IBug"
       label="Change Bug"
@@ -141,33 +138,33 @@
       class=".bug.EditBug"
       menu="zmi_views" title="Edit" />
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBug"
       class=".bug.Overview"
       permission="bugtracker.ViewBug">
-      <browser:page name="overview.html" template="bug_overview.pt"
-          menu="zmi_views" title="Overview" />
-  </browser:pages>
+      <page name="overview.html" template="bug_overview.pt"
+            menu="zmi_views" title="Overview" />
+  </pages>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBug"
       class=".bug.Dependencies"
       permission="bugtracker.ViewBug">
-      <browser:page name="dependencies.html" template="dependencies.pt"
-          menu="zmi_views" title="Dependencies" />
-      <browser:page name="setDependencies.html" attribute="setDependencies" />
-  </browser:pages>
+      <page name="dependencies.html" template="dependencies.pt"
+            menu="zmi_views" title="Dependencies" />
+      <page name="setDependencies.html" attribute="setDependencies" />
+  </pages>
 
-  <browser:pages
+  <pages
       for="zopeproducts.bugtracker.interfaces.IBug"
       class=".mail.MailSubscriptions"
       permission="bugtracker.EditBug">
-      <browser:page name="subscriptions.html" template="subscriptions.pt"
-          menu="zmi_views" title="Subscriptions" />
-      <browser:page name="changeSubscriptions.html" attribute="change" />
-  </browser:pages>
+      <page name="subscriptions.html" template="subscriptions.pt"
+            menu="zmi_views" title="Subscriptions" />
+      <page name="changeSubscriptions.html" attribute="change" />
+  </pages>
 
-  <browser:page
+  <page
       name="contents.html"
       for="zopeproducts.bugtracker.interfaces.IBug"
       permission="zope.ManageContent"
@@ -175,11 +172,11 @@
       attribute="contents"
       menu="zmi_views" title="Contents"/>
 
-  <browser:defaultView
+  <defaultView
       name="overview.html"
       for="zopeproducts.bugtracker.interfaces.IBug"/>
 
-  <browser:icon
+  <icon
       name="zmi_icon"
       for="zopeproducts.bugtracker.interfaces.IBug"
       file="bug_icon.png"/>
@@ -188,7 +185,7 @@
 
   <!-- Comment configuration -->
 
-  <browser:addform
+  <addform
       label="Add Comment"
       name="AddBugComment"
       schema="zopeproducts.bugtracker.interfaces.IComment"
@@ -196,7 +193,7 @@
       permission="bugtracker.AddComment"
       menu="add_bug" title="Comment"/>
 
-  <browser:editform
+  <editform
       schema="zopeproducts.bugtracker.interfaces.IComment"
       for="zopeproducts.bugtracker.interfaces.IComment"
       label="Change Comment"
@@ -204,13 +201,13 @@
       permission="bugtracker.ManageBugTracker"
       menu="zmi_views" title="Edit" />
 
-  <browser:defaultView
+  <defaultView
       name="edit.html"
       for="zopeproducts.bugtracker.interfaces.IComment"/>
 
   <!-- Attachments configuration -->
 
-  <browser:addform
+  <addform
       label="Upload File Attachment"
       name="UploadFile"
       schema="zope.app.interfaces.content.file.IFile"
@@ -220,7 +217,7 @@
       class=".attachments.FileUpload"
       menu="add_bug" title="File Attachment"/>
 
-  <browser:addform
+  <addform
       label="Upload Image Attachment"
       name="UploadImage"
       schema="zope.app.interfaces.content.image.IImage"


=== zopeproducts/bugtracker/browser/dependencies.pt 1.2 => 1.3 ===
--- zopeproducts/bugtracker/browser/dependencies.pt:1.2	Thu Jul 24 17:39:10 2003
+++ zopeproducts/bugtracker/browser/dependencies.pt	Tue Aug 12 14:55:11 2003
@@ -1,94 +1,92 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot" tal:define="global pagetip view/legend"
-        type="text/css" media="all"
-        tal:content=
-            "string: @import url(${context/++resource++tracker.css});">
-      @import url(tracker.css);>
-    </style>
-  </head>
-  <body i18n:domain="bugtracker">
-
-    <div metal:fill-slot="body">
-
-      <form action="setDependencies.html" method="post"
-          tal:condition="view/canChangeDependencies">
-
-        <div id="explanation">
-           In the selection box below you can select the bugs that have to be
-           completed <em>before</em> this bug can be completed.
-        </div>
+<head>
+  <style metal:fill-slot="style_slot" tal:define="global pagetip view/legend"
+      type="text/css" media="all"
+      tal:content=
+          "string: @import url(${context/++resource++tracker.css});">
+    @import url(tracker.css);>
+  </style>
+</head>
+
+<body i18n:domain="bugtracker">
+<div metal:fill-slot="body">
+
+  <form action="setDependencies.html" method="post"
+      tal:condition="view/canChangeDependencies">
+
+    <div id="explanation" i18n:translate="">
+       In the selection box below you can select the bugs that have to be
+       completed <em>before</em> this bug can be completed.
+    </div>
 
-        <div>
-          <div class="row">
-            <div class="label" i18n:translate="">Dependencies</div>
-            <div class="field">
-	      <select name="dependencies:list" size="5" multiple="">
-                  <div tal:repeat="bug view/availableBugs" tal:omit-tag="">
-                  <b tal:content="bug/name" />
-                  <b tal:content="bug/title" />
-                <option 
-                    value="" selected=""
-                    tal:content="string: ${bug/title} (${bug/name})"
-                    tal:attributes="value bug/name"
-                    tal:condition="python: bug['name'] in view.dependencies()">
-                  Bug1
-                </option>
-                <option 
-                   tal:content="string: ${bug/title} (${bug/name})"
-                   tal:attributes="value bug/name"
-                   tal:condition="
-                       python: bug['name'] not in view.dependencies()">
-                  Bug1
-                </option>
-                </div>
-              </select>
+    <div>
+      <div class="row">
+        <div class="label" i18n:translate="">Dependencies</div>
+        <div class="field">
+          <select name="dependencies:list" size="5" multiple="">
+              <div tal:repeat="bug view/availableBugs" tal:omit-tag="">
+              <b tal:content="bug/name" />
+              <b tal:content="bug/title" />
+            <option 
+                value="" selected=""
+                tal:content="string: ${bug/title} (${bug/name})"
+                tal:attributes="value bug/name"
+                tal:condition="python: bug['name'] in view.dependencies()">
+              Bug1
+            </option>
+            <option 
+               tal:content="string: ${bug/title} (${bug/name})"
+               tal:attributes="value bug/name"
+               tal:condition="
+                   python: bug['name'] not in view.dependencies()">
+              Bug1
+            </option>
             </div>
-          </div>
-        </div>
-        <div class="row">
-          <input type="submit" name="submit" value="Change" 
-                 i18n:attributes="value change-button" />
-        </div>
-
-      </form>
-
-      <h4 i18n:translate="">Dependency Statistics</h4>
-
-      <div class="stats"
-           tal:define="stats view/getStatistics"
-           tal:condition="view/getStatistics">
-        <div class="row">
-          <div class="label" i18n:translate="">Closed/Deferred Bugs:</div>
-          <div class="field">
-            <b tal:content="stats/closed_perc">75%</b>
-            (<d tal:replace="stats/closed" /> /
-             <d tal:replace="stats/total" />)
-          </div>
+          </select>
         </div>
-        <div class="row">
-          <div class="label" i18n:translate="">New (unseen) Bugs:</div>
-          <div class="field">
-            <b tal:content="stats/new_perc">75%</b>
-            (<d tal:replace="stats/new" /> /
-             <d tal:replace="stats/total" />)
-          </div>
-        </div>
-        <div class="row">
-          <div class="label" i18n:translate="">Opened/Assigned Bugs:</div>
-          <div class="field">
-            <b tal:content="stats/open_perc">75%</b>
-            (<d tal:replace="stats/open" /> /
-             <d tal:replace="stats/total" />)
-          </div>
-        </div>
-      </div> 
+      </div>
+    </div>
+    <div class="row">
+      <input type="submit" name="submit" value="Change" 
+             i18n:attributes="value change-button" />
+    </div>
 
-      <h4 i18n:translate="">Dependency Tree</h4>
+  </form>
 
-      <p tal:replace="structure view/branch" />
+  <h4 i18n:translate="">Dependency Statistics</h4>
 
+  <div class="stats"
+       tal:define="stats view/getStatistics"
+       tal:condition="view/getStatistics">
+    <div class="row">
+      <div class="label" i18n:translate="">Closed/Deferred Bugs:</div>
+      <div class="field">
+        <b tal:content="stats/closed_perc">75%</b>
+        (<d tal:replace="stats/closed" /> /
+         <d tal:replace="stats/total" />)
+      </div>
     </div>
+    <div class="row">
+      <div class="label" i18n:translate="">New (unseen) Bugs:</div>
+      <div class="field">
+        <b tal:content="stats/new_perc">75%</b>
+        (<d tal:replace="stats/new" /> /
+         <d tal:replace="stats/total" />)
+      </div>
+    </div>
+    <div class="row">
+      <div class="label" i18n:translate="">Opened/Assigned Bugs:</div>
+      <div class="field">
+        <b tal:content="stats/open_perc">75%</b>
+        (<d tal:replace="stats/open" /> /
+         <d tal:replace="stats/total" />)
+      </div>
+    </div>
+  </div> 
+
+  <h4 i18n:translate="">Dependency Tree</h4>
+  <p tal:replace="structure view/branch" />
 
-  </body>
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/exportimport.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/exportimport.pt:1.1	Sat Jul 26 09:40:47 2003
+++ zopeproducts/bugtracker/browser/exportimport.pt	Tue Aug 12 14:55:11 2003
@@ -1,37 +1,37 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot" 
-        type="text/css" media="all"
-        tal:content=
-            "string: @import url(${context/++resource++tracker.css});">
-      @import url(tracker.css);>
-    </style>
-  </head>
-  <body i18n:domain="bugtracker">
-
-    <div metal:fill-slot="body">
-
-      <h3>Export XML</h3>
-
-      <p> Simply click <a href="./tracker.xml">here</a>.</p>
-
-      <h3>Import XML</h3>
-
-      <form action="import.html" method="post" enctype="multipart/form-data">
-
-        <div class="row">
-          <div class="label">XML File</div>
-          <div class="field">
-            <input class="fileType" name="xmlfile" size="20" type="file"/>
-          </div>
-        </div>
-        <div class="row">
-          <input type="submit" name="import" value="Import" 
-                 i18n:attributes="value import-button" />
-        </div>
+<head>
+  <style metal:fill-slot="style_slot" 
+      type="text/css" media="all"
+      tal:content=
+          "string: @import url(${context/++resource++tracker.css});">
+    @import url(tracker.css);>
+  </style>
+</head>
+
+<body i18n:domain="bugtracker">
+<div metal:fill-slot="body">
+
+  <h3 i18n:translate="">Export XML</h3>
+
+  <p i18n:translate=""> Simply click <a href="./tracker.xml">here</a>.</p>
+
+  <h3 i18n:translate="">Import XML</h3>
+
+  <form action="import.html" method="post" enctype="multipart/form-data">
+
+    <div class="row">
+      <div class="label" i18n:translate="">XML File</div>
+      <div class="field">
+        <input class="fileType" name="xmlfile" size="20" type="file"/>
+      </div>
+    </div>
+    <div class="row">
+      <input type="submit" name="import" value="Import" 
+             i18n:attributes="value import-button" />
+    </div>
 
-      </form>
+  </form>
 
-    </div>
-  </body>
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/legend.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/legend.pt:1.1	Thu Jul 24 14:08:10 2003
+++ zopeproducts/bugtracker/browser/legend.pt	Tue Aug 12 14:55:11 2003
@@ -1,12 +1,14 @@
-<h6>Status Markup</h6>
-  <a href="" class="node new">New</a><br/>
-  <a href="" class="node open">Open</a><br/>
-  <a href="" class="node assigned">Assigned</a><br/>
-  <a href="" class="node deferred">Deferred</a><br/>
-  <a href="" class="node closed">Closed</a><br/>
+<span i18n:domain="bugtracker">
+  <h6 i18n:translate="">Status Markup</h6>
+    <a href="" class="node new" i18n:translate="">New</a><br/>
+    <a href="" class="node open" i18n:translate="">Open</a><br/>
+    <a href="" class="node assigned" i18n:translate="">Assigned</a><br/>
+    <a href="" class="node deferred" i18n:translate="">Deferred</a><br/>
+    <a href="" class="node closed" i18n:translate="">Closed</a><br/>
 
-<h6>Priority Markup</h6>
-  <a href="" class="node low">Low</a><br/>
-  <a href="" class="node normal">Normal</a><br/>
-  <a href="" class="node urgent">Urgent</a><br/>
-  <a href="" class="node critical">Critial</a><br/>
+  <h6 i18n:translate="">Priority Markup</h6>
+    <a href="" class="node low" i18n:translate="">Low</a><br/>
+    <a href="" class="node normal" i18n:translate="">Normal</a><br/>
+    <a href="" class="node urgent" i18n:translate="">Urgent</a><br/>
+    <a href="" class="node critical" i18n:translate="">Critial</a><br/>
+</span>


=== zopeproducts/bugtracker/browser/subscriptions.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/subscriptions.pt:1.1	Thu Jul 24 14:08:10 2003
+++ zopeproducts/bugtracker/browser/subscriptions.pt	Tue Aug 12 14:55:11 2003
@@ -1,46 +1,42 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot">
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body" i18n:domain="bugtracker">
-
-      <form action="changeSubscriptions.html" method="post">
-
-        <div class="row">
-            <div class="label" i18n:translate="">Current Subscriptions</div>
-            <div class="field">
-	      <div tal:repeat="email view/subscriptions">
-                <input type="checkbox" name="remails:list" 
-                       value="" tal:attributes="value email">
-                <div tal:replace="email">zope3 at zope3.org</div>
-              </div>
-              <input type="submit" name="REMOVE" value="Remove" 
-                   i18n:attributes="value remove-button">
-            </div>
+<body>
+<div metal:fill-slot="body" i18n:domain="bugtracker">
+
+  <form action="changeSubscriptions.html" method="post">
+
+    <div class="row">
+        <div class="label" i18n:translate="">Current Subscriptions</div>
+        <div class="field">
+          <div tal:repeat="email view/subscriptions">
+            <input type="checkbox" name="remails:list" 
+                   value="" tal:attributes="value email">
+            <div tal:replace="email">zope3 at zope3.org</div>
+          </div>
+          <input type="submit" name="REMOVE" value="Remove" 
+               i18n:attributes="value remove-button">
         </div>
+    </div>
 
-        <div class="row">
-            <div class="label" i18n:translate="">
-              Enter new Users (separate by 'Return')
-            </div>
-            <div class="field">
-	      <textarea name="emails" cols="40" rows="10"></textarea>
-            </div>
+    <div class="row">
+        <div class="label" i18n:translate="">
+          Enter new Users (separate by 'Return')
         </div>
+        <div class="field">
+          <textarea name="emails" cols="40" rows="10"></textarea>
+        </div>
+    </div>
 
-      	<div class="row">
-      	  <div class="controls">
-      	    <input type="submit" value="Refresh" 
-                i18n:attributes="value refresh-button" />
-      	    <input type="submit" name="ADD" value="Add" 
-      		i18n:attributes="value add-button" />
-      	  </div>
-      	</div>
+  	<div class="row">
+  	  <div class="controls">
+  	    <input type="submit" value="Refresh" 
+            i18n:attributes="value refresh-button" />
+  	    <input type="submit" name="ADD" value="Add" 
+  		i18n:attributes="value add-button" />
+  	  </div>
+  	</div>
 
-      </form>
+  </form>
 
-    </div>
-  </body>
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/tracker.py 1.9 => 1.10 ===
--- zopeproducts/bugtracker/browser/tracker.py:1.9	Fri Aug  1 07:14:10 2003
+++ zopeproducts/bugtracker/browser/tracker.py	Tue Aug 12 14:55:11 2003
@@ -23,13 +23,13 @@
 from zope.component import getAdapter
 from zope.schema.vocabulary import getVocabularyRegistry
 
-
 from zopeproducts.bugtracker.browser.bug import BugBaseView
 from zopeproducts.bugtracker.interfaces import \
      IStatusVocabulary, IReleaseVocabulary
 from zopeproducts.bugtracker.interfaces import \
      IPriorityVocabulary, IBugTypeVocabulary
 from zopeproducts.bugtracker.interfaces import IComment
+from zopeproducts.bugtracker import TrackerMessageID as _
 
 
 class BugTrackerAdding(Adding):
@@ -50,22 +50,22 @@
 
         if self.request.get('setup_vocabs'):
             vocab = getAdapter(content, IStatusVocabulary)
-            vocab.add('new', u'New', True)
-            vocab.add('open', u'Open')
-            vocab.add('assigned', u'Assigned')
-            vocab.add('deferred', u'Deferred')
-            vocab.add('closed', u'Closed')
+            vocab.add('new', _('New'), True)
+            vocab.add('open', _('Open'))
+            vocab.add('assigned', _('Assigned'))
+            vocab.add('deferred', _('Deferred'))
+            vocab.add('closed', _('Closed'))
             vocab = getAdapter(content, IBugTypeVocabulary)
-            vocab.add('bug', u'Bug', True)
-            vocab.add('feature', u'Feature')
-            vocab.add('release', u'Release')
+            vocab.add('bug', _('Bug'), True)
+            vocab.add('feature', _('Feature'))
+            vocab.add('release', _('Release'))
             vocab = getAdapter(content, IReleaseVocabulary)
-            vocab.add('None', u'(not specified)', True)
+            vocab.add('None', _('(not specified)'), True)
             vocab = getAdapter(content, IPriorityVocabulary)
-            vocab.add('low', u'Low')
-            vocab.add('normal', u'Normal', True)
-            vocab.add('urgent', u'Urgent')
-            vocab.add('critical', u'Critical')
+            vocab.add('low', _('Low'))
+            vocab.add('normal', _('Normal'), True)
+            vocab.add('urgent', _('Urgent'))
+            vocab.add('critical', _('Critical'))
 
         return content
 


=== zopeproducts/bugtracker/browser/tracker_add.pt 1.1 => 1.2 ===
--- zopeproducts/bugtracker/browser/tracker_add.pt:1.1	Thu Jul 24 14:08:10 2003
+++ zopeproducts/bugtracker/browser/tracker_add.pt	Tue Aug 12 14:55:11 2003
@@ -1,46 +1,42 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot">
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body" i18n:domain="bugtracker">
-
-      <p tal:define="status view/update"
-         tal:condition="status"
-         tal:content="status" />
-
-      <form action="." tal:attributes="action request/URL" method="post">
-
-        <div class="row">
-            <div class="field">
-              <h3><input type="checkbox" name="setup_vocabs:int" value="1"
-                    checked=""/>
-                <span i18n:translate="">Create Initial Vocabulary Entries</span>
-              </h3>
-              <span i18n:translate=''>To make your life easier, when this
-                    option is selected, it creates vocabulary entries for the
-                    status, release, priority and type fields of a bug. This
-                    will save you some time with the setup.</span>
-            </div>
-        </div>
-        <h3 i18n:translate="">Bug Tracker Fields</h3>
-        <div class="row"
-             metal:define-macro="widget_rows" tal:repeat="widget view/widgets"
-             tal:content="structure widget/row">
-            <div class="label">Name</div>
-            <div class="field"><input type="text" style="width:100%" /></div>
-        </div>
+<body>
+<div metal:fill-slot="body" i18n:domain="bugtracker">
 
-        <div class="row">
-          <div class="controls">
-            <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
-                i18n:attributes="value submit-button" />
-          </div>
+  <p tal:define="status view/update"
+     tal:condition="status"
+     tal:content="status" />
+
+  <form action="." tal:attributes="action request/URL" method="post">
+
+    <div class="row">
+        <div class="field">
+          <h3><input type="checkbox" name="setup_vocabs:int" value="1"
+                checked=""/>
+            <span i18n:translate="">Create Initial Vocabulary Entries</span>
+          </h3>
+          <span i18n:translate="">To make your life easier, when this
+                option is selected, it creates vocabulary entries for the
+                status, release, priority and type fields of a bug. This
+                will save you some time with the setup.</span>
         </div>
+    </div>
+    <h3 i18n:translate="">Bug Tracker Fields</h3>
+    <div class="row"
+         metal:define-macro="widget_rows" tal:repeat="widget view/widgets"
+         tal:content="structure widget/row">
+        <div class="label">Name</div>
+        <div class="field"><input type="text" style="width:100%" /></div>
+    </div>
 
-      </form>
-
+    <div class="row">
+      <div class="controls">
+        <input type="submit" name="UPDATE_SUBMIT" value="Submit" 
+            i18n:attributes="value submit-button" />
+      </div>
     </div>
-  </body>
+
+  </form>
+
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/tracker_overview.pt 1.5 => 1.6 ===
--- zopeproducts/bugtracker/browser/tracker_overview.pt:1.5	Fri Aug  1 13:19:57 2003
+++ zopeproducts/bugtracker/browser/tracker_overview.pt	Tue Aug 12 14:55:11 2003
@@ -1,164 +1,178 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot"
-        type="text/css" media="all"
-        tal:content=
-            "string: @import url(${context/++resource++tracker.css});">
-      @import url(tracker.css);>
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body" tal:define="bugs view/getBugs">
-
-      <form action="updateOverviewSettings.html" method="post"
-          tal:define="settings view/getSettingsInfo">
-
-        <div class="row">
-          <div class="field">
-            Filter Text: 
-            <input type="text" name="search_text" value=""
-                tal:attributes="value view/getSearchText">
-          </div>
-        </div>
-
-        <div class="row">
-          <div class="field" tal:repeat="var settings">
+<head>
+  <style metal:fill-slot="style_slot"
+      type="text/css" media="all"
+      tal:content=
+          "string: @import url(${context/++resource++tracker.css});">
+    @import url(tracker.css);>
+  </style>
+</head>
+
+<body>
+<div metal:fill-slot="body" tal:define="bugs view/getBugs">
+
+  <form action="updateOverviewSettings.html" method="post"
+      tal:define="settings view/getSettingsInfo">
+
+    <div class="row">
+      <div class="field">
+        Filter Text: 
+        <input type="text" name="search_text" value=""
+            tal:attributes="value view/getSearchText">
+      </div>
+    </div>
 
-        <tal:block replace="var/title">Status</tal:block>:<br> 
-	<select size="5" name="stati:list" multiple="yes"
-            tal:attributes="name string:${var/name}:list">
-	  <tal:block repeat="entry var/all">
-            <option value=""
-	      tal:condition="python: entry.value in var['setting']"
-	      tal:attributes="value entry/value"
-	      tal:content="entry/title" selected="">New</option>
-            <option value=""
-	      tal:condition="python: entry.value not in var['setting']"
-	      tal:attributes="value entry/value"
-	      tal:content="entry/title">New</option>
-	  </tal:block>
-        </select>
-
-          </div>
-          <div class="field">
-            <input type="submit" value="Apply Filter" 
-                i18n:attributes="value save_filter-button" />
-          </div>
-        </div>
+    <div class="row">
+      <div class="field" tal:repeat="var settings">
 
-      </form>
+    <tal:block replace="var/title">Status</tal:block>:<br> 
+    <select size="5" name="stati:list" multiple="yes"
+        tal:attributes="name string:${var/name}:list">
+      <tal:block repeat="entry var/all">
+        <option value=""
+          tal:condition="python: entry.value in var['setting']"
+          tal:attributes="value entry/value"
+          tal:content="entry/title" selected="">New</option>
+        <option value=""
+          tal:condition="python: entry.value not in var['setting']"
+          tal:attributes="value entry/value"
+          tal:content="entry/title">New</option>
+      </tal:block>
+    </select>
 
-      <div class="row">
-        <div class="control">
-          <form action="./@@+/AddBug=" method="post">
-            <input type="submit" name="add" value="Add Bug" />
-          </form>
-        </div>
       </div>
-      <div class="batch" tal:condition="bugs/startNumber">
-        <div class="prev_batch" tal:define="prev bugs/prevBatch">
-          <a href=""
-              tal:condition="prev"
-              tal:attributes="href 
-              string:./@@overview.html?start=${prev/start}&size=${prev/size}">
-            Previous
-            (<d tal:replace="prev/startNumber" /> to 
-             <d tal:replace="prev/endNumber" />) 
-          </a>&nbsp;
-        </div>
-        <div class="curr_batch">
-            <d tal:replace="bugs/startNumber" /> to 
-            <d tal:replace="bugs/endNumber" />
-            of <d tal:replace="bugs/total" /> found
-            (<d tal:replace="view/numberOfBugs" /> total)
-        </div>
-        <div class="next_batch" tal:define="next bugs/nextBatch">
-          <a href=""
-              tal:condition="next"
-              tal:attributes="href 
-              string:./@@overview.html?start=${next/start}&size=${next/size}">
-            Next
-            (<d tal:replace="next/startNumber" /> to 
-             <d tal:replace="next/endNumber" />) 
-          </a>&nbsp;
-        </div>
-        <div class="clear"></div> 
+      <div class="field">
+        <input type="submit" value="Apply Filter" 
+            i18n:attributes="value save_filter-button" />
       </div>
+    </div>
 
-      <tal:block repeat="bug bugs">
-        <div class=""
-            tal:define="oddrow repeat/bug/odd"
-            tal:attributes="class python:oddrow and 'even' or 'odd'">
-          <h5 class="summary_title" >
-            <a href="" 
-                tal:attributes="href string:./${bug/name}/@@overview.html">
-              Bug #<d tal:replace="bug/name">1</d> - 
-              <d tal:replace="bug/context/title">Bug Title</d> 
-            </a>
-          </h5>
-
-          <div class="summary_content">
-            <div class="summary_condition">
-              Status: 
-                <span tal:attributes="class bug/context/status" 
-                      tal:content="bug/status/title">New</span> - 
-              Priority: 
-                <span tal:attributes="class bug/context/priority"
-                      tal:content="bug/priority/title">Normal</span> - 
-              Type: <b tal:replace="bug/type/title">Bug</b>
-            </div>
-  
-            <div class="summary_body" tal:content="bug/descriptionPreview">
-              Message Description Sneak Preview goes here...
-            </div>
-  
-            <div class="summary_metadata">
-              Posted by <b tal:content="bug/context/submitter">Submitter</b> 
-              on <b tal:replace="bug/created">2003/01/01</b>
-              - <b tal:replace="bug/numberOfComments">3</b> comments
-            </div>
-          </div>
-        </div>
+  </form>
 
-      </tal:block>
+  <div class="row" i18n:domain="bugtracker">
+    <div class="control">
+      <form action="./@@+/AddBug=" method="post">
+        <input type="submit" name="add" value="Add Bug" 
+               i18n:attributes="value add-bug-button"/>
+      </form>
+    </div>
+  </div>
+  <div class="batch" tal:condition="bugs/startNumber" i18n:domain="bugtracker">
+    <div class="prev_batch" tal:define="prev bugs/prevBatch">
+      <a href=""
+          tal:condition="prev"
+          tal:attributes="href 
+              string:./@@overview.html?start=${prev/start}&size=${prev/size}"
+          i18n:translate="">
+        Previous
+        (<d tal:replace="prev/startNumber" i18n:name="start_number" /> to 
+         <d tal:replace="prev/endNumber" i18n:name="end_number" />) 
+      </a>&nbsp;
+    </div>
+    <div class="curr_batch" i18n:translate="">
+        <d tal:replace="bugs/startNumber" i18n:name="start_number"/> to 
+        <d tal:replace="bugs/endNumber" i18n:name="end_number"/>
+        of <d tal:replace="bugs/total" i18n:name="batch_total_number"/> found
+        (<d tal:replace="view/numberOfBugs" i18n:name="bug_number"/> total)
+    </div>
+    <div class="next_batch" tal:define="next bugs/nextBatch">
+      <a href=""
+          tal:condition="next"
+          tal:attributes="href 
+              string:./@@overview.html?start=${next/start}&size=${next/size}"
+          i18n:translate="">
+        Next
+        (<d tal:replace="next/startNumber" i18n:name="start_number" /> to 
+         <d tal:replace="next/endNumber" i18n:name="end_number" />) 
+      </a>&nbsp;
+    </div>
+    <div class="clear"></div> 
+  </div>
 
-      <div class="batch" tal:condition="bugs/startNumber">
-        <div class="prev_batch" tal:define="prev bugs/prevBatch">
-          <a href=""
-              tal:condition="prev"
-              tal:attributes="href 
-              string:./@@overview.html?start=${prev/start}&size=${prev/size}">
-            Previous
-            (<d tal:replace="prev/startNumber" /> to 
-             <d tal:replace="prev/endNumber" />) 
-          </a>&nbsp;
-        </div>
-        <div class="curr_batch">
-            <d tal:replace="bugs/startNumber" /> to 
-            <d tal:replace="bugs/endNumber" />
-            of <d tal:replace="bugs/total" /> found
-            (<d tal:replace="view/numberOfBugs" /> total)
-        </div>
-        <div class="next_batch" tal:define="next bugs/nextBatch">
-          <a href=""
-              tal:condition="next"
-              tal:attributes="href 
-              string:./@@overview.html?start=${next/start}&size=${next/size}">
-            Next
-            (<d tal:replace="next/startNumber" /> to 
-             <d tal:replace="next/endNumber" />) 
-          </a>&nbsp;
-        </div>
-        <div class="clear"></div> 
-      </div>
-      <div class="row">
-        <div class="control">
-          <form action="./@@+/AddBug=" method="post">
-            <input type="submit" name="add" value="Add Bug" />
-          </form>
+  <tal:block repeat="bug bugs" i18n:domain="bugtracker">
+    <div class=""
+        tal:define="oddrow repeat/bug/odd"
+        tal:attributes="class python:oddrow and 'even' or 'odd'">
+      <h5 class="summary_title" >
+        <a href="" 
+            tal:attributes="href string:./${bug/name}/@@overview.html"
+            i18n:translate="">
+          Bug #<d tal:replace="bug/name" i18n:name="bug_id">1</d> - 
+          <d tal:replace="bug/context/title" i18n:name="bug_title">
+            Bug Title
+          </d> 
+        </a>
+      </h5>
+
+      <div class="summary_content">
+        <div class="summary_condition">
+          <span i18n:translate="">Status:</span> 
+            <span tal:attributes="class bug/context/status" 
+                  tal:content="bug/status/title">New</span> - 
+          <span i18n:translate="">Priority:</span> 
+            <span tal:attributes="class bug/context/priority"
+                  tal:content="bug/priority/title">Normal</span> - 
+          <span i18n:translate="">Type: </span>
+            <b tal:replace="bug/type/title">Bug</b>
+        </div>
+
+        <div class="summary_body" tal:content="bug/descriptionPreview">
+          Message Description Sneak Preview goes here...
+        </div>
+
+        <div class="summary_metadata" i18n:translate="">
+          Posted by <b tal:content="bug/context/submitter" 
+                       i18n:name="submitter">Submitter</b> 
+          on <b tal:replace="bug/created" 
+                i18n:name="created_date">2003/01/01</b>
+          - <b tal:replace="bug/numberOfComments" 
+               i18n:name="num_comments">3</b> comments
         </div>
       </div>
+    </div>
+
+  </tal:block>
 
+  <div class="batch" tal:condition="bugs/startNumber" i18n:domain="bugtracker">
+    <div class="prev_batch" tal:define="prev bugs/prevBatch">
+      <a href=""
+          tal:condition="prev"
+          tal:attributes="href 
+              string:./@@overview.html?start=${prev/start}&size=${prev/size}"
+          i18n:translate="">
+        Previous
+        (<d tal:replace="prev/startNumber" i18n:name="start_number" /> to 
+         <d tal:replace="prev/endNumber" i18n:name="end_number" />) 
+      </a>&nbsp;
+    </div>
+    <div class="curr_batch" i18n:translate="">
+        <d tal:replace="bugs/startNumber" i18n:name="start_number"/> to 
+        <d tal:replace="bugs/endNumber" i18n:name="end_number"/>
+        of <d tal:replace="bugs/total" i18n:name="batch_total_number"/> found
+        (<d tal:replace="view/numberOfBugs" i18n:name="bug_number"/> total)
+    </div>
+    <div class="next_batch" tal:define="next bugs/nextBatch">
+      <a href=""
+          tal:condition="next"
+          tal:attributes="href 
+              string:./@@overview.html?start=${next/start}&size=${next/size}"
+          i18n:translate="">
+        Next
+        (<d tal:replace="next/startNumber" i18n:name="start_number" /> to 
+         <d tal:replace="next/endNumber" i18n:name="end_number" />) 
+      </a>&nbsp;
     </div>
-  </body>
+    <div class="clear"></div> 
+  </div>
+  <div class="row" i18n:domain="bugtracker">
+    <div class="control">
+      <form action="./@@+/AddBug=" method="post">
+        <input type="submit" name="add" value="Add Bug" 
+               i18n:attributes="value add-bug-button"/>
+      </form>
+    </div>
+  </div>
+
+</div>
+</body>
 </html>


=== zopeproducts/bugtracker/browser/tracker_settings.pt 1.2 => 1.3 ===
--- zopeproducts/bugtracker/browser/tracker_settings.pt:1.2	Mon Jul 28 13:13:45 2003
+++ zopeproducts/bugtracker/browser/tracker_settings.pt	Tue Aug 12 14:55:11 2003
@@ -1,44 +1,46 @@
 <html metal:use-macro="views/standard_macros/page">
-  <head>
-    <style metal:fill-slot="style_slot">
-    </style>
-  </head>
-  <body>
-    <div metal:fill-slot="body">
-
-      <div tal:repeat="vocab view/getManagableVocabularyViews">     
-
-      <h2 tal:content="vocab/title">Some Variable Definitions</h2>
-      <br />
-      <form action="." method="post">
-
-        <input type="hidden" name="iface" value=""
-            tal:attributes="value vocab/vocab_iface/getName" />
-
-        <b>Existing Values:</b> 
-	<select size="5" name="values:list" multiple="yes">
-	  <tal:block repeat="entry vocab/getExistingValues">
-            <option value=""
-	      tal:attributes="value entry/value"
-	      tal:content="string: ${entry/title} (${entry/value})">New</option>
-	  </tal:block>
-        </select>
-        <input type="submit" name="deleteValues.html:method" value="Delete" />
-        <input type="submit" name="setDefaultValue.html:method" 
-            value="Set Default" />
-        <br>
-        <b>Default Value:</b>
-        <span tal:define="default vocab/default" 
-              tal:content="string: ${default/title} (${default/value})" />
-
-        <br>
-        Value: <input type="text" size="10" name="value" />
-        Title: <input type="text" size="10" name="title" />
-        <input type="submit" name="addValue.html:method" value="Add" />
-      </form>
+<body>
+<div metal:fill-slot="body">
 
-      </div>
+  <div tal:repeat="vocab view/getManagableVocabularyViews">     
 
-    </div>
-  </body>
+  <h2 tal:content="vocab/title">Some Variable Definitions</h2>
+  <br />
+  <form action="." method="post">
+
+    <input type="hidden" name="iface" value=""
+        tal:attributes="value vocab/vocab_iface/getName" />
+
+    <b i18n:translate="" i18n:domain="bugtracker">Existing Values:</b> 
+    <select size="5" name="values:list" multiple="yes">
+      <tal:block repeat="entry vocab/getExistingValues">
+        <option value=""
+            tal:attributes="value entry/value"
+            tal:content="string: ${entry/title} (${entry/value})">
+          New
+        </option>
+      </tal:block>
+    </select>
+    <input type="submit" name="deleteValues.html:method" value="Delete" 
+           i18n:attributes="value delete-button"/>
+    <input type="submit" name="setDefaultValue.html:method" 
+           value="Set Default" i18n:attributes="value set-default-button"/>
+    <br>
+    <b i18n:translate="" i18n:domain="bugtracker">Default Value:</b>
+    <span tal:define="default vocab/default" 
+          tal:content="string: ${default/title} (${default/value})" />
+
+    <br>
+    <span i18n:translate="">Value:</span> 
+      <input type="text" size="10" name="value" />
+    <span i18n:translate="">Title:</span>
+      <input type="text" size="10" name="title" />
+    <input type="submit" name="addValue.html:method" value="Add" 
+           i18n:attributes="value add-button"/>
+  </form>
+
+  </div>
+
+</div>
+</body>
 </html>




More information about the Zope3-Checkins mailing list