[kupu-checkins] r44538 - in kupu/trunk/kupu: . apache-lenya/kupu common/kupudrawers default form mmbase multi plone plone/kupu_plone_layer plone/kupu_references widgeteer

duncan at codespeak.net duncan at codespeak.net
Tue Jun 26 12:46:30 CEST 2007


Author: duncan
Date: Tue Jun 26 12:46:28 2007
New Revision: 44538

Added:
   kupu/trunk/kupu/i18n.bat
Modified:
   kupu/trunk/kupu/apache-lenya/kupu/exit.kupu
   kupu/trunk/kupu/common/kupudrawers/drawer.xsl
   kupu/trunk/kupu/default/body.kupu
   kupu/trunk/kupu/default/colorchooser.kupu
   kupu/trunk/kupu/default/drawers.kupu
   kupu/trunk/kupu/default/save.kupu
   kupu/trunk/kupu/default/spellchecker.kupu
   kupu/trunk/kupu/default/toolbar.kupu
   kupu/trunk/kupu/default/toolboxes.kupu
   kupu/trunk/kupu/form/save.kupu
   kupu/trunk/kupu/mmbase/drawers.kupu
   kupu/trunk/kupu/mmbase/toolbar.kupu
   kupu/trunk/kupu/multi/save.kupu
   kupu/trunk/kupu/plone/body.kupu
   kupu/trunk/kupu/plone/colorchooser.kupu
   kupu/trunk/kupu/plone/drawers.kupu
   kupu/trunk/kupu/plone/kupu_config.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/emptypage.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupu_kjax_support.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupu_migration.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupu_wysiwyg_support.html
   kupu/trunk/kupu/plone/kupu_plone_layer/kupucollection.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupulibraries.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupumyitems.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupurecentitems.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupusearch.xml.pt
   kupu/trunk/kupu/plone/kupu_plone_layer/kupuselection.xml.pt
   kupu/trunk/kupu/plone/kupu_references/referencebrowser.pt
   kupu/trunk/kupu/plone/libraries.pt
   kupu/trunk/kupu/plone/resource_types.pt
   kupu/trunk/kupu/plone/save.kupu
   kupu/trunk/kupu/plone/sourceedit.kupu
   kupu/trunk/kupu/plone/spellchecker.kupu
   kupu/trunk/kupu/plone/toolbar.kupu
   kupu/trunk/kupu/plone/wysiwyg_support.kupu
   kupu/trunk/kupu/plone/zmi_links.pt
   kupu/trunk/kupu/plone/zmi_toolbar.pt
   kupu/trunk/kupu/widgeteer/browser.kupu
Log:
Created message ids consistently for all translatable text except for pull-down styles.


Modified: kupu/trunk/kupu/apache-lenya/kupu/exit.kupu
==============================================================================
--- kupu/trunk/kupu/apache-lenya/kupu/exit.kupu	(original)
+++ kupu/trunk/kupu/apache-lenya/kupu/exit.kupu	Tue Jun 26 12:46:28 2007
@@ -11,7 +11,7 @@
     <span class="kupu-tb-buttongroup">
       <button type="button" class="kupu-exit" 
         id="kupu-exit-button" title="exit: alt-e" 
-        i18n:attributes="title" accesskey="e"> &#160;</button>
+        i18n:attributes="title title_exit;" accesskey="e"> &#160;</button>
     </span>
   </kupu:part>
 

Modified: kupu/trunk/kupu/common/kupudrawers/drawer.xsl
==============================================================================
--- kupu/trunk/kupu/common/kupudrawers/drawer.xsl	(original)
+++ kupu/trunk/kupu/common/kupudrawers/drawer.xsl	Tue Jun 26 12:46:28 2007
@@ -131,11 +131,17 @@
                             </table>
                         </div>
                         <div class="kupu-dialogbuttons">
-                            <button type="button" class="kupu-dialog-button" i18n:translate=""
+                            <button type="button"
+                                    class="kupu-dialog-button"
+                                    i18n:translate="button_ok"
                                 onclick="drawertool.current_drawer.save();">Ok</button>
-                            <button type="button" class="kupu-dialog-button" i18n:translate=""
+                            <button type="button"
+                                    class="kupu-dialog-button"
+                                    i18n:translate="button_cancel"
                                 onclick="drawertool.closeDrawer();">Cancel</button>
-                            <button type="button" class="kupu-dialog-button" i18n:translate=""
+                            <button type="button"
+                                    class="kupu-dialog-button"
+                                    i18n:translate="button_reload"
                                 onclick="drawertool.current_drawer.reloadCurrent();">Reload</button>
                         </div>
                     </div>

Modified: kupu/trunk/kupu/default/body.kupu
==============================================================================
--- kupu/trunk/kupu/default/body.kupu	(original)
+++ kupu/trunk/kupu/default/body.kupu	Tue Jun 26 12:46:28 2007
@@ -11,7 +11,7 @@
 
   <kupu:part name="body">
     <body onload="kupu = startKupu()">
-      <h1 i18n:translate="">Kupu Editor Test Page</h1>
+      <h1 i18n:translate="testpage_title">Kupu Editor Test Page</h1>
       <kupu:define-slot name="body" />
     </body>
   </kupu:part>

Modified: kupu/trunk/kupu/default/colorchooser.kupu
==============================================================================
--- kupu/trunk/kupu/default/colorchooser.kupu	(original)
+++ kupu/trunk/kupu/default/colorchooser.kupu	Tue Jun 26 12:46:28 2007
@@ -19,10 +19,12 @@
     <span class="kupu-tb-buttongroup">
       <!-- Note: the event handlers are attached to these buttons dynamically, like for tools -->
       <button type="button" class="kupu-forecolor" id="kupu-forecolor-button" 
-              title="text color: alt-f" i18n:attributes="title" 
+              title="text color: alt-f"
+              i18n:attributes="title title_text_color;" 
               accesskey="f">&#160;</button>
       <button type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button"
-              title="background color: alt-h" i18n:attributes="title"
+              title="background color: alt-h"
+              i18n:attributes="title title_back_color;"
               accesskey="h">&#160;</button>
     </span>
   </kupu:part>

Modified: kupu/trunk/kupu/default/drawers.kupu
==============================================================================
--- kupu/trunk/kupu/default/drawers.kupu	(original)
+++ kupu/trunk/kupu/default/drawers.kupu	Tue Jun 26 12:46:28 2007
@@ -19,14 +19,20 @@
 
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup">
-      <button type="button" class="kupu-image" id="kupu-imagelibdrawer-button" title="Insert image" i18n:attributes="title"
+      <button type="button" class="kupu-image"
+              id="kupu-imagelibdrawer-button" title="Insert image"
+              i18n:attributes="title title_insert_image;"
         >&#160;</button>
       <button type="button" class="kupu-inthyperlink" id="kupu-linklibdrawer-button" title="Insert internal link"
-        i18n:attributes="title">&#160;</button>
+        i18n:attributes="title title_insert_internal_link;">&#160;</button>
       <button type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="Insert external link"
-        i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-anchors" id="kupu-anchors" title="Insert anchors" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-table" id="kupu-tabledrawer-button" title="Insert table" i18n:attributes="title"
+        i18n:attributes="title title_insert_external_link;">&#160;</button>
+      <button type="button" class="kupu-anchors" id="kupu-anchors"
+              title="Insert anchors"
+              i18n:attributes="title title_insert_anchors;">&#160;</button>
+      <button type="button" class="kupu-table"
+              id="kupu-tabledrawer-button" title="Insert table"
+              i18n:attributes="title title_insert_table;"
         >&#160;</button>
     </span>
   </kupu:part>
@@ -44,12 +50,15 @@
 
   <kupu:part name="linkdrawer">
     <div id="kupu-linkdrawer" class="kupu-drawer kupu-linkdrawer">
-      <h1 class="kupu-drawer-title" i18n:translate="">External Link</h1>
+      <h1 class="kupu-drawer-title"
+          i18n:translate="title_external_link">External Link</h1>
 
       <div id="kupu-linkdrawer-addlink" class="kupu-panels kupu-linkdrawer-addlink">
          <ul class="kupu-tabs">
-            <li class="kupu-linkdrawer-addlink selected"><a href="#" i18n:translate="">Link to url</a></li>
-            <li class="kupu-linkdrawer-embed"><a href="#" i18n:translate="">Embed external object</a></li>
+            <li class="kupu-linkdrawer-addlink selected"><a href="#"
+            i18n:translate="tab_link">Link to url</a></li>
+            <li class="kupu-linkdrawer-embed"><a href="#"
+            i18n:translate="tab_embed">Embed external object</a></li>
          </ul>
          <table class="kupu-tabbed">
             <tbody class="kupu-addlink">
@@ -57,7 +66,7 @@
                   <td>
                      <div class="kupu-toolbox-label">
                         <!-- Link to items matching the keyword  -->
-                        <span i18n:translate="">
+                        <span i18n:translate="label_link_text">
                            Link the highlighted text to this URL:
                         </span>
                      </div>
@@ -67,18 +76,19 @@
                   <td class="kupu-preview-button">
                      <button class="kupu-dialog-button"
                              type="button" id="linkdrawer-preview" onclick="drawertool.current_drawer.preview()"
-                             i18n:translate="">Preview</button>
+                             i18n:translate="button_preview">Preview</button>
                   </td>
                </tr>
                <tr class="kupu-linkdrawer-anchors" style="display:none">
                   <td colspan="2">
-                     <label i18n:translate="" for="anchorselect">Anchor</label>
+                     <label i18n:translate="label_anchor" for="anchorselect">Anchor</label>
                      <select id="anchorselect"><option
-                     i18n:translate="" value="">top of page (default)</option></select>
+                     i18n:translate="opt_top_of_page" value="">top of page (default)</option></select>
                   </td>
                </tr>
                <tr><td colspan="2" align="center">
-                  <div class="watermark"><span i18n:translate="">Preview</span></div>
+                  <div class="watermark"><span
+                  i18n:translate="watermark_preview">Preview</span></div>
                   <iframe frameborder="1" scrolling="auto" width="440" height="198"
                           class="kupu-linkdrawer-preview" src="javascript:''">
                   </iframe>
@@ -90,11 +100,13 @@
                   <td>
                      <div class="kupu-toolbox-label">
                         <!-- Link to items matching the keyword  -->
-                        <span i18n:translate="">
+                        <span i18n:translate="help_paste_here">
                            Paste &lt;object&gt; or &lt;embed&gt; tag here:
                         </span>
                      </div>
-                     <textarea class="kupu-toolbox-st kupu-embed-input" i18n:translate="">[insert arbitrary HTML code here]</textarea>
+                     <textarea
+                              class="kupu-toolbox-st kupu-embed-input"
+                              i18n:translate="placeholder_html_code">[insert arbitrary HTML code here]</textarea>
                   </td>
                </tr>
                <tr>
@@ -112,10 +124,10 @@
         <div class="kupu-dialogbuttons">
           <button class="kupu-dialog-button"
                   type="button" onclick="drawertool.current_drawer.save()"
-                  i18n:translate="">Ok</button>
+                  i18n:translate="button_ok">Ok</button>
           <button class="kupu-dialog-button"
                   type="button" onclick="drawertool.closeDrawer()"
-                  i18n:translate="">Cancel</button>
+                  i18n:translate="button_cancel">Cancel</button>
         </div>
 
       </div>
@@ -136,10 +148,10 @@
                   <th i18n:translate="tabledrawer_class_label" class="kupu-toolbox-label">Table Class</th>
                   <td>
                     <select class="kupu-tabledrawer-addclasschooser">
-                      <option i18n:translate="" value="plain">Plain</option>
-                      <option i18n:translate="" value="listing">Listing</option>
-                      <option i18n:translate="" value="grid">Grid</option>
-                      <option i18n:translate="" value="data">Data</option>
+                      <option i18n:translate="Plain" value="plain">Plain</option>
+                      <option i18n:translate="Listing" value="listing">Listing</option>
+                      <option i18n:translate="Grid" value="grid">Grid</option>
+                      <option i18n:translate="Data" value="data">Data</option>
                     </select>
                   </td>
                 </tr>
@@ -190,10 +202,10 @@
                   <td>
                     <select class="kupu-tabledrawer-editclasschooser"
                             onchange="drawertool.current_drawer.setTableClass(this.options[this.selectedIndex].value)">
-                      <option i18n:translate="" value="plain">Plain</option>
-                      <option i18n:translate="" value="listing">Listing</option>
-                      <option i18n:translate="" value="grid">Grid</option>
-                      <option i18n:translate="" value="data">Data</option>
+                      <option i18n:translate="Plain" value="plain">Plain</option>
+                      <option i18n:translate="Listing" value="listing">Listing</option>
+                      <option i18n:translate="Grid" value="grid">Grid</option>
+                      <option i18n:translate="Data" value="data">Data</option>
                     </select>
                   </td>
                 </tr>
@@ -275,9 +287,11 @@
       <h1 class="kupu-drawer-title" i18n:translate="anchordrawer_title">Anchors</h1>
       <div class="kupu-panels kupu-ins-bm">
          <ul class="kupu-tabs">
-            <li class="kupu-ins-bm selected"><a href="#" i18n:translate="">Link to anchor</a></li>
-            <li class="kupu-anchor"><a href="#" i18n:translate="">Manage Anchors</a></li>
-            <li class="kupu-toc"><a href="#" i18n:translate="">Table of contents</a></li>
+            <li class="kupu-ins-bm selected"><a href="#"
+            i18n:translate="tab_link_anchor">Link to anchor</a></li>
+            <li class="kupu-anchor"><a href="#"
+            i18n:translate="tab_manage_anchors">Manage Anchors</a></li>
+            <li class="kupu-toc"><a href="#" i18n:translate="tab_toc">Table of contents</a></li>
          </ul>
         <table class="kupu-tabbed">
           <tr>
@@ -287,21 +301,21 @@
             <td rowspan="2">
               <div class="kupu-bm-heading hide-ins-bm">
                 <div style="float:right" class="hide-anchor">
-                  <label i18n:translate="" for="kupu-bm-outcls">
+                  <label i18n:translate="label_table_style" for="kupu-bm-outcls">
                     Table style
                   </label>
                   <select id="kupu-bm-outcls" size="1">
-                    <option value="" i18n:translate="">Normal</option>
+                    <option value="" i18n:translate="Normal">Normal</option>
                   </select>
                 </div>
                 <div style="float:right" class="hide-anchor">
-                  <label i18n:translate="" for="kupu-bm-number">
+                  <label i18n:translate="label_numbering" for="kupu-bm-number">
                     Numbering
                   </label>
                   <input type="checkbox" checked="checked" id="kupu-bm-number"/>
                 </div>
                 <label for="kupu-bm-checkall">
-                  <em i18n:translate="">toggle all</em>
+                  <em i18n:translate="label_toggle_all">toggle all</em>
                 </label>
                 <input type="checkbox" checked="checked" id="kupu-bm-checkall"/>
               </div>
@@ -324,15 +338,19 @@
           <tr>
             <td class="hide-ins-bm hide-anchor">
               <select id="kupu-bm-sel2" size="1" class="hide-ins-bm hide-anchor">
-                <option value="" i18n:translate="">(optional 2nd style)</option>
+                <option value="" i18n:translate="opt_2nd_style">(optional 2nd style)</option>
               </select>
             </td>
           </tr>
         </table>
         <div class="kupu-dialogbuttons">
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate=""
+          <button class="kupu-dialog-button" type="button"
+                  onclick="drawertool.current_drawer.save()"
+                  i18n:translate="button_ok"
             >Ok</button>
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate=""
+          <button class="kupu-dialog-button" type="button"
+                  onclick="drawertool.closeDrawer()"
+                  i18n:translate="button_cancel"
           >Cancel</button>
         </div>
       </div>

Modified: kupu/trunk/kupu/default/save.kupu
==============================================================================
--- kupu/trunk/kupu/default/save.kupu	(original)
+++ kupu/trunk/kupu/default/save.kupu	Tue Jun 26 12:46:28 2007
@@ -12,7 +12,8 @@
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup">
       <button type="button" class="kupu-save" id="kupu-save-button" 
-              title="save: alt-s" i18n:attributes="title" accesskey="s">&#160;</button>
+              title="save: alt-s"
+              i18n:attributes="title title_save_alts;" accesskey="s">&#160;</button>
     </span>
   </kupu:part>
 

Modified: kupu/trunk/kupu/default/spellchecker.kupu
==============================================================================
--- kupu/trunk/kupu/default/spellchecker.kupu	(original)
+++ kupu/trunk/kupu/default/spellchecker.kupu	Tue Jun 26 12:46:28 2007
@@ -18,7 +18,7 @@
               class="kupu-spellchecker"
               id="kupu-spellchecker-button"
               title="Check spelling"
-              i18n:attributes="title"
+              i18n:attributes="title title_check_spelling;"
               >&#160;</button>
     </span>
   </kupu:part>

Modified: kupu/trunk/kupu/default/toolbar.kupu
==============================================================================
--- kupu/trunk/kupu/default/toolbar.kupu	(original)
+++ kupu/trunk/kupu/default/toolbar.kupu	Tue Jun 26 12:46:28 2007
@@ -45,7 +45,7 @@
   <kupu:part name="zoom">
     <span class="kupu-tb-buttongroup" style="float: right" id="kupu-zoom">
       <button type="button" class="kupu-zoom" id="kupu-zoom-button"
-                i18n:attributes="title"
+                i18n:attributes="title title_zoom;"
                 title="Zoom: Access key (Alt or Ctrl) + X" accesskey="x">&#160;</button>
     </span>
   </kupu:part>
@@ -53,35 +53,35 @@
   <kupu:part name="logo">
     <span class="kupu-tb-buttongroup kupu-logo" style="float: right" id="kupu-logo">
       <button type="button" class="kupu-logo" title="Kupu 1.4" 
-              i18n:attributes="title" accesskey="k"
+              i18n:attributes="title title_logo;" accesskey="k"
               onclick="window.open('http://kupu.oscom.org');">&#160;</button>
     </span>
   </kupu:part>
 
   <kupu:part name="select-styles">
     <select id="kupu-tb-styles">
-      <option value="P" i18n:translate="">
+      <option value="P" i18n:translate="Normal">
         Normal
       </option>
       <option value="H1">
-        <span i18n:translate="">Heading 1</span>
+        <span i18n:translate="Heading 1">Heading 1</span>
       </option>
       <option value="H2">
-        <span i18n:translate="">Heading 2</span>
+        <span i18n:translate="Heading 2">Heading 2</span>
       </option>
       <option value="H3">
-        <span i18n:translate="">Heading 3</span>
+        <span i18n:translate="Heading 3">Heading 3</span>
       </option>
       <option value="H4">
-        <span i18n:translate="">Heading 4</span>
+        <span i18n:translate="Heading 4">Heading 4</span>
       </option>
       <option value="H5">
-        <span i18n:translate="">Heading 5</span>
+        <span i18n:translate="Heading 5">Heading 5</span>
       </option>
       <option value="H6">
-        <span i18n:translate="">Heading 6</span>
+        <span i18n:translate="Heading 6">Heading 6</span>
       </option>
-      <option value="PRE" i18n:translate="">
+      <option value="PRE" i18n:translate="Formatted">
         Formatted
       </option>
     </select>
@@ -90,34 +90,35 @@
   <kupu:part name="buttongroup-basicmarkup">
     <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
       <button type="button" class="kupu-bold" id="kupu-bold-button" title="Bold: Access key (Alt or Ctrl) + B"
-              i18n:attributes="title" accesskey="b">&#160;</button>
+              i18n:attributes="title title_bold;" accesskey="b">&#160;</button>
       <button type="button" class="kupu-italic" id="kupu-italic-button" title="Italic: Access key (Alt or Ctrl) + I"
-              i18n:attributes="title" accesskey="i">&#160;</button>
+              i18n:attributes="title title_italic;" accesskey="i">&#160;</button>
       <button type="button" class="kupu-underline" id="kupu-underline-button" title="Underline: Access key (Alt or Ctrl) + U"
-              i18n:attributes="title" accesskey="u">&#160;</button>
+              i18n:attributes="title title_underline;" accesskey="u">&#160;</button>
     </span>
   </kupu:part>
 
   <kupu:part name="buttongroup-subsuper">
     <span class="kupu-tb-buttongroup" id="kupu-bg-subsuper">
       <button type="button" class="kupu-subscript" id="kupu-subscript-button" title="Subscript: Access key (Alt or Ctrl) + -"
-              i18n:attributes="title" accesskey="-">&#160;</button>
+              i18n:attributes="title title_subscript;" accesskey="-">&#160;</button>
       <button type="button" class="kupu-superscript" id="kupu-superscript-button" title="Superscript: Access key (Alt or Ctrl) + +"
-              i18n:attributes="title" accesskey="+">&#160;</button>
+              i18n:attributes="title title_superscript;" accesskey="+">&#160;</button>
     </span>
   </kupu:part>
 
   <kupu:part name="buttongroup-justify">
     <span class="kupu-tb-buttongroup" id="kupu-bg-justify">
       <button type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" 
-              title="Left justify: Access key (Alt or Ctrl) + L" i18n:attributes="title"
+              title="Left justify: Access key (Alt or Ctrl) + L"
+              i18n:attributes="title title_ljust;"
               accesskey="l">&#160;</button>
       <button type="button" class="kupu-justifycenter" 
               id="kupu-justifycenter-button" title="Center justify: Access key (Alt or Ctrl) + C" 
-              i18n:attributes="title" accesskey="c">&#160;</button>
+              i18n:attributes="title title_center;" accesskey="c">&#160;</button>
       <button type="button" class="kupu-justifyright" 
               id="kupu-justifyright-button" title="Right justify: Access key (Alt or Ctrl) + R"
-              i18n:attributes="title" accesskey="r">&#160;</button>
+              i18n:attributes="title title_rjust;" accesskey="r">&#160;</button>
     </span>
   </kupu:part>
 
@@ -126,10 +127,10 @@
       <!-- list button events are set on the list tool -->
       <button type="button" class="kupu-insertorderedlist" 
               title="Numbered list: Access key (Alt or Ctrl) + #" id="kupu-list-ol-addbutton" 
-              i18n:attributes="title" accesskey="#">&#160;</button>
+              i18n:attributes="title title_numlist;" accesskey="#">&#160;</button>
       <button type="button" class="kupu-insertunorderedlist" 
               title="Unordered list: Access key (Alt or Ctrl) + *" id="kupu-list-ul-addbutton" 
-              i18n:attributes="title" accesskey="*">&#160;</button>
+              i18n:attributes="title title_unorderedlist;" accesskey="*">&#160;</button>
               </span>
   </kupu:part>
 
@@ -138,7 +139,7 @@
       <!-- list button events are set on the list tool -->
       <button type="button" class="kupu-insertdefinitionlist" 
               title="Definition list: Access key (Alt or Ctrl) + =" id="kupu-list-dl-addbutton" 
-              i18n:attributes="title" accesskey="=">&#160;</button>
+              i18n:attributes="title title_deflist;" accesskey="=">&#160;</button>
     </span>
   </kupu:part>
 
@@ -146,10 +147,10 @@
     <span class="kupu-tb-buttongroup" id="kupu-bg-indent">
       <button type="button" class="kupu-outdent" 
               id="kupu-outdent-button" title="Decrease quote level: Access key (Alt or Ctrl) + &lt;"
-              i18n:attributes="title" accesskey="&lt;">&#160;</button>
+              i18n:attributes="title title_decrease_quote;" accesskey="&lt;">&#160;</button>
       <button type="button" class="kupu-indent" 
               id="kupu-indent-button" title="Increase quote level: Access key (Alt or Ctrl) + &gt;"
-              i18n:attributes="title" accesskey="&gt;">&#160;</button>
+              i18n:attributes="title title_increase_quote;" accesskey="&gt;">&#160;</button>
     </span>
   </kupu:part>
 
@@ -157,10 +158,10 @@
     <span class="kupu-tb-buttongroup" id="kupu-bg-undo">
       <button type="button" class="kupu-undo" 
               id="kupu-undo-button" title="Undo: Access key (Alt or Ctrl) + Z"
-              i18n:attributes="title" accesskey="z">&#160;</button>
+              i18n:attributes="title title_undo;" accesskey="z">&#160;</button>
       <button type="button" class="kupu-redo" 
               id="kupu-redo-button" title="Redo: Access key (Alt or Ctrl) + Y"
-              i18n:attributes="title" accesskey="y">&#160;</button>
+              i18n:attributes="title title_redo;" accesskey="y">&#160;</button>
     </span>
   </kupu:part>
 
@@ -168,10 +169,10 @@
     <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
       <button type="button" class="kupu-removeimage invisible"
               id="kupu-removeimage-button" title="Remove image"
-              i18n:attributes="title">&#160;</button>
+              i18n:attributes="title title_removeimage;">&#160;</button>
       <button type="button" class="kupu-removelink invisible"
               id="kupu-removelink-button" title="Remove link"
-              i18n:attributes="title">&#160;</button>
+              i18n:attributes="title title_removelink;">&#160;</button>
     </span>
   </kupu:part>
 

Modified: kupu/trunk/kupu/default/toolboxes.kupu
==============================================================================
--- kupu/trunk/kupu/default/toolboxes.kupu	(original)
+++ kupu/trunk/kupu/default/toolboxes.kupu	Tue Jun 26 12:46:28 2007
@@ -17,12 +17,14 @@
 
   <kupu:part name="properties">
     <div class="kupu-toolbox" id="kupu-toolbox-properties">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Properties</h1>
+      <h1 class="kupu-toolbox-heading"
+          i18n:translate="title_properties">Properties</h1>
 
       <div>
-        <div class="kupu-toolbox-label" i18n:translate="">Title:</div>
+        <div class="kupu-toolbox-label" i18n:translate="label_title">Title:</div>
         <input class="wide" id="kupu-properties-title" />
-        <div class="kupu-toolbox-label" i18n:translate="">Description:</div>
+        <div class="kupu-toolbox-label"
+             i18n:translate="label_description">Description:</div>
         <textarea class="wide" id="kupu-properties-description"> </textarea>
       </div>
     </div>
@@ -30,12 +32,12 @@
 
   <kupu:part name="links">
     <div class="kupu-toolbox" id="kupu-toolbox-links">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Links</h1>
+      <h1 class="kupu-toolbox-heading" i18n:translate="label_links">Links</h1>
 
       <div id="kupu-toolbox-addlink">
         <div class="kupu-toolbox-label">
           <!-- Link to items matching the keyword  -->
-          <span i18n:translate="">
+          <span i18n:translate="label_link_text">
             Link the highlighted text to this URL:
           </span>
         </div>
@@ -47,7 +49,7 @@
         <div class="kupu-toolbox-buttons">
           <button type="button" id="kupu-link-button"
                   class="kupu-toolbox-action" 
-                  i18n:translate="">Make Link</button>
+                  i18n:translate="button_makelink">Make Link</button>
         </div>
       </div>
     </div>
@@ -55,20 +57,20 @@
 
   <kupu:part name="images">
     <div class="kupu-toolbox" id="kupu-toolbox-images">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Images</h1>
+      <h1 class="kupu-toolbox-heading" i18n:translate="title_images">Images</h1>
 
       <div>
         <div class="kupu-toolbox-label">
-          <span i18n:translate="">Image class:</span>
+          <span i18n:translate="label_image_class">Image class:</span>
         </div>
         <select class="wide" id="kupu-image-float-select">
-          <option value="image-inline" i18n:translate="">Inline</option>
-          <option value="image-left" i18n:translate="">Left</option>
-          <option value="image-right" i18n:translate="">Right</option>
+          <option value="image-inline" i18n:translate="opt_inline">Inline</option>
+          <option value="image-left" i18n:translate="opt_left">Left</option>
+          <option value="image-right" i18n:translate="opt_right">Right</option>
         </select>
 
         <div class="kupu-toolbox-label">
-          <span i18n:translate="">Insert image at the following URL:</span>
+          <span i18n:translate="label_insert_image_url">Insert image at the following URL:</span>
         </div>
         <input id="kupu-image-input"
                value="kupuimages/kupu_icon.gif"
@@ -77,7 +79,8 @@
 
         <div class="kupu-toolbox-buttons">
           <button type="button" id="kupu-image-addbutton"
-                  class="kupu-toolbox-action" i18n:translate=""
+                  class="kupu-toolbox-action"
+                  i18n:translate="button_insert_image"
                   >Insert Image</button>
         </div>
       </div>
@@ -86,35 +89,36 @@
 
   <kupu:part name="tables">
     <div class="kupu-toolbox" id="kupu-toolbox-tables">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Tables</h1>
+      <h1 class="kupu-toolbox-heading" i18n:translate="title_tables">Tables</h1>
 
       <div>
       <div class="kupu-toolbox-label">
-        <span i18n:translate="">Table Class:</span>
+        <span i18n:translate="label_table_class">Table Class:</span>
         <select class="wide" id="kupu-table-classchooser"> </select>
       </div>
 
       <div id="kupu-toolbox-addtable" class="kupu-toolbox-addtable">
-        <div class="kupu-toolbox-label" i18n:translate="">Rows:</div>
+        <div class="kupu-toolbox-label" i18n:translate="label_rows">Rows:</div>
         <input class="wide" type="text" id="kupu-table-newrows" />
 
-        <div class="kupu-toolbox-label" i18n:translate="">Columns:</div>
+        <div class="kupu-toolbox-label" i18n:translate="label_columns">Columns:</div>
         <input class="wide" type="text" id="kupu-table-newcols" />
 
         <div class="kupu-toolbox-label">
-          <span i18n:translate="">Headings:</span>
+          <span i18n:translate="label_headings">Headings:</span>
           <input name="kupu-table-makeheader"
                  id="kupu-table-makeheader"
                  type="checkbox"
                  />
-          <label for="kupu-table-makeheader" i18n:translate="">Create</label>
+          <label for="kupu-table-makeheader"
+                 i18n:translate="label_create">Create</label>
         </div>
 
         <div class="kupu-toolbox-buttons">
           <button type="button" id="kupu-table-fixall-button" 
-                  i18n:translate="">Fix Table</button> 
+                  i18n:translate="button_fix_table">Fix Table</button> 
           <button type="button" id="kupu-table-addtable-button" 
-                  i18n:translate="">Add Table</button> 
+                  i18n:translate="button_add_table">Add Table</button> 
         </div>
 
       </div>
@@ -122,31 +126,31 @@
       <div id="kupu-toolbox-edittable" class="kupu-toolbox-edittable">
       
           <div class="kupu-toolbox-label">
-            <span i18n:translate="">Col Align:</span>
+            <span i18n:translate="label_col_align">Col Align:</span>
             <select class="wide" id="kupu-table-alignchooser">
-              <option value="left" i18n:translate="">Left</option>
-              <option value="center" i18n:translate="">Center</option>
-              <option value="right" i18n:translate="">Right</option>
+              <option value="left" i18n:translate="tabledrawer_left_option">Left</option>
+              <option value="center" i18n:translate="tabledrawer_center_option">Center</option>
+              <option value="right" i18n:translate="tabledrawer_right_option">Right</option>
             </select>
           </div>
       
           <div class="kupu-toolbox-buttons">
             <br />
             <button type="button" id="kupu-table-addcolumn-button" 
-                    i18n:translate="">Add Column</button>
+                    i18n:translate="button_add_column">Add Column</button>
             <button type="button" id="kupu-table-delcolumn-button" 
-                    i18n:translate="">Remove Column</button>
+                    i18n:translate="button_remove_column">Remove Column</button>
             
             <br />
             <button type="button" id="kupu-table-addrow-button" 
-                    i18n:translate="">Add Row</button>
+                    i18n:translate="button_add_row">Add Row</button>
             <button type="button" id="kupu-table-delrow-button" 
-                    i18n:translate="">Remove Row</button>
+                    i18n:translate="button_remove_row">Remove Row</button>
           
             <button type="button" id="kupu-table-fix-button" 
-                    i18n:translate="">Fix Table</button>
+                    i18n:translate="button_fix_table">Fix Table</button>
             <button type="button" id="kupu-table-del-button" 
-                    i18n:translate="">Remove Table</button>
+                    i18n:translate="button_remove_table">Remove Table</button>
           </div>
           
       </div>
@@ -157,7 +161,7 @@
 
   <kupu:part name="debug">
     <div class="kupu-toolbox" id="kupu-toolbox-debug">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Debug Log</h1>
+      <h1 class="kupu-toolbox-heading" i18n:translate="title_debug_log">Debug Log</h1>
       <div id="kupu-toolbox-debuglog"
            class="kupu-toolbox-label">
       </div>
@@ -166,11 +170,12 @@
 
   <kupu:part name="cleanupexpressions">
     <div class="kupu-toolbox" id="kupu-toolbox-cleanupexpressions">
-      <h1 class="kupu-toolbox-heading" i18n:translate="">Cleanup expressions</h1>
+      <h1 class="kupu-toolbox-heading"
+          i18n:translate="title_cleanup_expressions">Cleanup expressions</h1>
 
       <div>
         <div class="kupu-toolbox-label">
-          <span i18n:translate="">
+          <span i18n:translate="label_select_cleanup">
             Select a cleanup action:
           </span>
         </div>

Modified: kupu/trunk/kupu/form/save.kupu
==============================================================================
--- kupu/trunk/kupu/form/save.kupu	(original)
+++ kupu/trunk/kupu/form/save.kupu	Tue Jun 26 12:46:28 2007
@@ -10,7 +10,7 @@
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup">
       <button type="button" class="kupu-save" id="kupu-save-button" 
-              title="Save" i18n:attributes="title" accesskey="s"
+              title="Save" i18n:attributes="title title_save;" accesskey="s"
               >&#160;</button>
     </span>
   </kupu:part>

Added: kupu/trunk/kupu/i18n.bat
==============================================================================
--- (empty file)
+++ kupu/trunk/kupu/i18n.bat	Tue Jun 26 12:46:28 2007
@@ -0,0 +1,81 @@
+ at echo off
+if cmdextversion 2 goto :cmdok
+echo Sorry, this batch file requires a more recent version of Windows.
+goto :eof
+
+:cmdok
+setlocal
+setlocal enabledelayedexpansion
+cd %~P0
+
+set I18NDUDE=c:\python25\python.exe c:\python25\scripts\i18ndude-script.py
+if "%1"=="" goto :help
+goto :%1
+:help
+echo This script does some common i18n tasks:
+echo    %0 check
+echo          --- checks i18n attributes on all files
+echo    %0 kupu
+echo          --- checks i18n attributes for domain "kupu" only  
+echo    %0 kupuconfig
+echo          --- checks i18n attributes for domain "kupuconfig" only  
+echo    %0 kupu.pot
+echo          --- creates a new kupu.pot file
+echo    %0 kupuconfig.pot
+echo          --- creates a new kupuconfig.pot file
+echo    %0 kupusync
+echo          --- synchronises kupu.pot with all kupu-XX.po files
+echo    %0 kupuconfigsync
+echo          --- synchronises kupuconfig.pot with all kupuconfig-XX.po files
+goto :eof
+:check
+REM %I18NDUDE% find-untranslated common\drawers\* default\* plone\*
+goto :eof
+:kupupox
+for %%f in (common\kupu.pox) do %I18NDUDE% find-untranslated %%f
+goto :eof
+:kupu
+call :setKUPU
+for %%f in (%KUPU%) do %I18NDUDE% find-untranslated %%f
+goto :eof
+:kupuconfig
+call :setKUPUCONFIG
+for %%f in (%KUPUCONFIG%) do %I18NDUDE% find-untranslated %%f
+goto :eof
+
+:kupuconfig.pot
+call :setKUPUCONFIG
+%I18NDUDE% rebuild-pot --pot i18n\kupuconfig.pot --create kupuconfig %KUPUCONFIG%
+goto :eof
+
+:kupuconfigsync
+set KCPO=
+for %%f in (i18n\kupuconfig-*.po) do set KCPO=!KCPO! %%f
+%I18NDUDE% sync --pot i18n\kupuconfig.pot %KCPO%
+goto :eof
+
+:kupu.pot
+call :setKUPU
+%I18NDUDE% rebuild-pot --pot i18n\kupu.pot --create kupu %KUPU%
+goto :eof
+
+:kupusync
+set KPO=
+for %%f in (i18n\kupu-*.po) do set KCPO=!KCPO! %%f
+%I18NDUDE% sync --pot i18n\kupu.pot %KCPO%
+goto :eof
+
+:setKUPUCONFIG
+set KUPUCONFIG=
+for %%f in (default\*) do (find /C "i18n:domain=""kupuconfig""" %%f && set KUPUCONFIG=!KUPUCONFIG! %%f) >nul
+for %%f in (plone\*) do (find /C "i18n:domain=""kupuconfig""" %%f && set KUPUCONFIG=!KUPUCONFIG! %%f) >nul
+for %%f in (plone\kupu_plone_layer\*) do (find /C "i18n:domain=""kupuconfig""" %%f && set KUPUCONFIG=!KUPUCONFIG! %%f) >nul
+for %%f in (common\drawers\*) do (find /C "i18n:domain=""kupuconfig""" %%f && set KUPUCONFIG=!KUPUCONFIG! %%f) >nul
+goto :eof
+:setKUPU
+set KUPU=
+for %%f in (default\*) do (find /C "i18n:domain=""kupu""" %%f && set KUPU=!KUPU! %%f) >nul
+for %%f in (plone\*) do (find /C "i18n:domain=""kupu""" %%f && set KUPU=!KUPU! %%f) >nul
+for %%f in (plone\kupu_plone_layer\*) do (find /C "i18n:domain=""kupu""" %%f && set KUPU=!KUPU! %%f) >nul
+for %%f in (common\drawers\*) do (find /C "i18n:domain=""kupu""" %%f && set KUPU=!KUPU! %%f) >nul
+goto :eof

Modified: kupu/trunk/kupu/mmbase/drawers.kupu
==============================================================================
--- kupu/trunk/kupu/mmbase/drawers.kupu	(original)
+++ kupu/trunk/kupu/mmbase/drawers.kupu	Tue Jun 26 12:46:28 2007
@@ -23,12 +23,15 @@
 
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup">
-      <button type="button" class="kupu-image"        id="kupu-imagelibdrawer-button"  title="image" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-inthyperlink" id="kupu-linklibdrawer-button"   title="link"  i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-exthyperlink" id="kupu-linkdrawer-button" title="external link" i18n:attributes="title">&#160;</button>
-      <!--
-      <button type="button" class="kupu-table"        id="kupu-tabledrawer-button"     title="table" i18n:attributes="title">&#160;</button>
-      -->
+      <button type="button" class="kupu-image"
+              id="kupu-imagelibdrawer-button"  title="image"
+              i18n:attributes="title title_image;">&#160;</button>
+      <button type="button" class="kupu-inthyperlink"
+              id="kupu-linklibdrawer-button"   title="link"
+              i18n:attributes="title title_link;">&#160;</button>
+      <button type="button" class="kupu-exthyperlink"
+              id="kupu-linkdrawer-button" title="external link"
+              i18n:attributes="title title_external_link;">&#160;</button>
     </span>
   </kupu:part>
 
@@ -59,21 +62,25 @@
 
   <kupu:part name="linkdrawer">
     <div id="kupu-linkdrawer" class="kupu-drawer kupu-linkdrawer">
-      <h1 i18n:translate="">External Link</h1>
+      <h1 i18n:translate="title_ext_link">External Link</h1>
       <div id="kupu-linkdrawer-addlink" class="kupu-panels kupu-linkdrawer-addlink">
         <table>
         <tr><td><div class="kupu-toolbox-label">
 
-          <span i18n:translate="">Link the highlighted text to this URL:</span>
+          <span i18n:translate="label_link_text">Link the highlighted text to this URL:</span>
         </div>
 
         <input class="kupu-toolbox-st kupu-linkdrawer-input" type="text" />
         </td><td class="kupu-preview-button">
-        <button type="button" onclick="drawertool.current_drawer.preview()" i18n:translate="">Preview</button>
+        <button type="button"
+                onclick="drawertool.current_drawer.preview()"
+                i18n:translate="button_preview">Preview</button>
         </td></tr>
         <tr class="kupu-linkdrawer-anchors" style="display:none">
           <td colspan="2">
-            <label>Bookmark<select><option i18n:translate="" value="">(none)</option></select></label> 
+            <label
+                  i18n:translate="label_anchor">Anchor<select><option
+                  i18n:translate="opt_top_of_page" value="">top of page (default)</option></select></label> 
           </td>
         </tr>
         <tr><td colspan="2" align="center">
@@ -84,8 +91,11 @@
         </td></tr>
         </table>
         <div class="kupu-dialogbuttons">
-          <button type="button" onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
-          <button type="button" onclick="drawertool.closeDrawer()" i18n:translate="">Cancel</button>
+          <button type="button"
+                  onclick="drawertool.current_drawer.save()"
+                  i18n:translate="button_ok">Ok</button>
+          <button type="button" onclick="drawertool.closeDrawer()"
+                  i18n:translate="button_cancel">Cancel</button>
         </div>
 
       </div>

Modified: kupu/trunk/kupu/mmbase/toolbar.kupu
==============================================================================
--- kupu/trunk/kupu/mmbase/toolbar.kupu	(original)
+++ kupu/trunk/kupu/mmbase/toolbar.kupu	Tue Jun 26 12:46:28 2007
@@ -14,8 +14,12 @@
   <kupu:part name="buttongroup-basicmarkup">
     <fmt:bundle basename="org.mmbase.kupu.Messages">
       <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup">
-        <button type="button" class="kupu-bold"   id="kupu-bold-button"   title="strong: alt-b"   i18n:attributes="title" accesskey="b">&#160;</button>
-        <button type="button" class="kupu-italic" id="kupu-italic-button" title="emphasis: alt-i" i18n:attributes="title" accesskey="i">&#160;</button>
+        <button type="button" class="kupu-bold"
+                id="kupu-bold-button"   title="strong: alt-b"
+                i18n:attributes="title title_strong;" accesskey="b">&#160;</button>
+        <button type="button" class="kupu-italic"
+                id="kupu-italic-button" title="emphasis: alt-i"
+                i18n:attributes="title title_emphasis;" accesskey="i">&#160;</button>
       </span>
     </fmt:bundle>
   </kupu:part>
@@ -36,7 +40,7 @@
   <kupu:part name="logo">
     <span class="kupu-tb-buttongroup kupu-logo" style="float: right">
       <button type="button" class="kupu-logo" title="Kupu SVN/unreleased" 
-              id="kupu-logo-button" i18n:attributes="title"
+              id="kupu-logo-button" i18n:attributes="title title_logo;"
               onclick="window.open('http://kupu.oscom.org');"
               >&#160;</button>
       <button type="button" class="mmbase-logo" title="MMBase 1.8"  id="mmbase-logo-button"
@@ -49,13 +53,13 @@
     <span class="kupu-tb-buttongroup" id="kupu-bg-remove">
       <button type="button" class="kupu-removeimage invisible"
               id="kupu-removeimage-button" title="Remove image"
-              i18n:attributes="title">&#160;</button>
+              i18n:attributes="title title_removeimage;">&#160;</button>
       <button type="button" class="kupu-removelink invisible"
               id="kupu-removelink-button" title="Remove link"
-              i18n:attributes="title">&#160;</button>
+              i18n:attributes="title title_removelink;">&#160;</button>
       <button type="button" class="kupu-removediv invisible"
               id="kupu-removediv-button" title="Remove block"
-              i18n:attributes="title">&#160;</button>
+              i18n:attributes="title title_removediv;">&#160;</button>
     </span>
   </kupu:part>
 

Modified: kupu/trunk/kupu/multi/save.kupu
==============================================================================
--- kupu/trunk/kupu/multi/save.kupu	(original)
+++ kupu/trunk/kupu/multi/save.kupu	Tue Jun 26 12:46:28 2007
@@ -10,7 +10,7 @@
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup">
       <button type="button" class="kupu-save" id="kupu-save-button" 
-              title="Save" i18n:attributes="title" accesskey="s"
+              title="Save" i18n:attributes="title title_save;" accesskey="s"
               onclick="kupu.prepareForm(this.form, 'kupu'); this.form.submit()">&#160;</button>
     </span>
   </kupu:part>

Modified: kupu/trunk/kupu/plone/body.kupu
==============================================================================
--- kupu/trunk/kupu/plone/body.kupu	(original)
+++ kupu/trunk/kupu/plone/body.kupu	Tue Jun 26 12:46:28 2007
@@ -4,7 +4,8 @@
     xmlns="http://www.w3.org/1999/xhtml"
     xmlns:kupu="http://kupu.oscom.org/namespaces/dist"
     xmlns:tal="http://xml.zope.org/namespaces/tal"
-    xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
+    i18n:domain="kupu">
   <kupu:id>$Id$</kupu:id>
   <kupu:part name="editorframe"><script type="text/javascript">var focuscount = 0;</script>
     <div>
@@ -68,7 +69,7 @@
         tal:define="floated widget/allow_file_upload | python:1;"
         tal:attributes="style python:test(floated, 'float:left;;', '');"
       ><span class="discreet"><a class="forcekupu" href="#"
-        i18n:translate="suppress-kupu" i18n:attributes="title"
+        i18n:translate="suppress-kupu" i18n:attributes="title title_suppress_kupu;"
         tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);"
         tal:attributes="href string:${request/URL0}?kupu.suppress=${fieldName}${fs};"
         title="reload current page without kupu">
@@ -85,7 +86,7 @@
         tal:attributes="style python:test(floated, 'float:left;;', '');"
         >
         <span class="discreet"><a class="forcekupu" href="#"
-           i18n:translate="force-kupu" i18n:attributes="title"
+           i18n:translate="force-kupu" i18n:attributes="title title_force_kupu;"
            tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)"
            tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);"
            tal:attributes="href string:${request/URL0}?kupu.convert=${fieldName}${fs};"

Modified: kupu/trunk/kupu/plone/colorchooser.kupu
==============================================================================
--- kupu/trunk/kupu/plone/colorchooser.kupu	(original)
+++ kupu/trunk/kupu/plone/colorchooser.kupu	Tue Jun 26 12:46:28 2007
@@ -6,16 +6,19 @@
     xmlns:kupu="http://kupu.oscom.org/namespaces/dist"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
     xmlns:tal="http://xml.zope.org/namespaces/tal"
+    i18n:domain="kupu"
     >
   <kupu:part name="buttons">
     <span class="kupu-tb-buttongroup" tal:condition="filter/bg-colorchooser">
       <button type="button" class="kupu-forecolor" id="kupu-forecolor-button"
               tal:condition="filter/forecolor-button"
-              title="text color: alt-f" i18n:attributes="title" 
+              title="text color: alt-f"
+              i18n:attributes="title title_text_color;" 
               accesskey="f">&#160;</button>
       <button type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button"
               tal:condition="filter/hilitecolor-button"
-              title="background color: alt-h" i18n:attributes="title"
+              title="background color: alt-h"
+              i18n:attributes="title title_back_color;"
               accesskey="h">&#160;</button>
     </span>
   </kupu:part>

Modified: kupu/trunk/kupu/plone/drawers.kupu
==============================================================================
--- kupu/trunk/kupu/plone/drawers.kupu	(original)
+++ kupu/trunk/kupu/plone/drawers.kupu	Tue Jun 26 12:46:28 2007
@@ -5,6 +5,7 @@
     xmlns:kupu="http://kupu.oscom.org/namespaces/dist"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
     xmlns:tal="http://xml.zope.org/namespaces/tal"
+    i18n:domain="kupu"
     >
     <kupu:id>$Id$</kupu:id>
 
@@ -19,26 +20,26 @@
       <button type="button" class="kupu-image"
               tal:condition="filter/imagelibdrawer-button"
               id="kupu-imagelibdrawer-button"
-              title="Insert image" i18n:attributes="title"
+              title="Insert image" i18n:attributes="title title_insert_image;"
         >&#160;</button>
       <button type="button" class="kupu-inthyperlink"
               tal:condition="filter/linklibdrawer-button"
               id="kupu-linklibdrawer-button"
               title="Insert internal link"
-        i18n:attributes="title">&#160;</button>
+        i18n:attributes="title title_insert_internal_link;">&#160;</button>
       <button type="button" class="kupu-exthyperlink"
               tal:condition="filter/linkdrawer-button"
               id="kupu-linkdrawer-button"
               title="Insert external link"
-        i18n:attributes="title">&#160;</button>
+        i18n:attributes="title title_insert_external_link;">&#160;</button>
       <button type="button" class="kupu-anchors"
               tal:condition="filter/anchors-button"
               id="kupu-anchors"
-              title="Insert anchors" i18n:attributes="title">&#160;</button>
+              title="Insert anchors" i18n:attributes="title title_insert_anchors;">&#160;</button>
       <button type="button" class="kupu-table"
               tal:condition="filter/tabledrawer-button"
               id="kupu-tabledrawer-button"
-              title="Insert table" i18n:attributes="title"
+              title="Insert table" i18n:attributes="title title_insert_table;"
         >&#160;</button>
     </span>
   </kupu:part>

Modified: kupu/trunk/kupu/plone/kupu_config.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_config.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_config.pt	Tue Jun 26 12:46:28 2007
@@ -323,7 +323,7 @@
                             type="submit"
                             name="configure_kupu:method"
                             value="Save"
-                            i18n:attributes="value"
+                            i18n:attributes="value button_save;"
                             />
                   </form>
                </div>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/emptypage.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/emptypage.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/emptypage.pt	Tue Jun 26 12:46:28 2007
@@ -1,6 +1,6 @@
 <html class="kupu-html">
   <head>
-    <title>Kupu contentarea</title>
+    <title i18n:translate="emptypage_title">Kupu contentarea</title>
     <link rel="stylesheet" type="text/css" href="#" tal:attributes="href string:${here/portal_url}/kupuplone.css" />
     <tal:plone21 condition="exists:here/portal_css">
        <tal:plone25 condition="exists:here/renderAllTheStylesheets">

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupu_kjax_support.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupu_kjax_support.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupu_kjax_support.xml.pt	Tue Jun 26 12:46:28 2007
@@ -3,8 +3,9 @@
           xmlns:tal="http://xml.zope.org/namespaces/tal"
           xmlns:metal="http://xml.zope.org/namespaces/metal"
           xmlns:html="http://www.w3.org/TR/REC-html40"
-          xmlns:i18n="http://xml.zope.org/namespaces/i18n" 
-    define="charset here/portal_properties/site_properties/default_charset|here/portal_properties/default_charset|string:utf-8;
+          xmlns:i18n="http://xml.zope.org/namespaces/i18n"
+          i18n:domain="atreferencebrowserwidget"
+          define="charset here/portal_properties/site_properties/default_charset|here/portal_properties/default_charset|string:utf-8;
         content_type python:request.RESPONSE.setHeader('Content-Type', 'text/xml;;charset=%s' % charset);">
 <html
      xmlns:tal="http://xml.zope.org/namespaces/tal"
@@ -64,7 +65,7 @@
                       <img tal:attributes="src i/preview; title i/title;"
                            onload="kupuFixImage(this);" width="1" height="1"/>
                     </div>
-                    <h1 class="kupu-title-row" tal:content="i/title">Item heading</h1>
+                    <h1 class="kupu-title-row" tal:content="i/title" />
                     <div class="kupu-description-row" tal:content="structure i/description" tal:condition="i/description"></div>
                     <div style="clear:both;line-height:1px;">&#xa0;</div>
                   </a>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupu_migration.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupu_migration.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupu_migration.xml.pt	Tue Jun 26 12:46:28 2007
@@ -76,13 +76,15 @@
             You will be given an opportunity to review and filter any changes before committing them.
           </div>
           <input type="submit" value="check links" name="checklinks"
-                 i18n:attributes="value"
+                 i18n:attributes="value button_check_links;"
                 onclick="this.form.button.value='check'" />
           <input type="submit" value="relative path -> uids"
-                 name="touids" i18n:attributes="value"
+                 name="touids"
+                 i18n:attributes="value button_rel_to_uid;"
                  onclick="this.form.button.value='touid'" />
           <input type="submit" value="uids -> relative path"
-                 name="topath" i18n:attributes="value"
+                 name="topath"
+                 i18n:attributes="value button_uid_to_rel;"
                  onclick="this.form.button.value='topath'" />
         </form>
       </div>
@@ -105,7 +107,7 @@
 
             <input type="button"
                    value="&lt;&lt; back to form"
-                   i18n:attributes="value back_to_form"
+                   i18n:attributes="value back_to_form;"
                    tal:condition="not:m/nexturi"
                    tal:attributes="onclick string:kj.newRequest('${uri}')" />
 
@@ -193,7 +195,7 @@
                 <input type="hidden" name="commit:int" value="1" />
                 <input type="button"
                        value="commit selected changes"
-                       i18n:attributes="value commit_changes"
+                       i18n:attributes="value commit_changes;"
                        onclick="kj.submitForm(this.form);"
                        tal:condition="not:m/nexturi" />
               </div>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupu_wysiwyg_support.html
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupu_wysiwyg_support.html	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupu_wysiwyg_support.html	Tue Jun 26 12:46:28 2007
@@ -13,10 +13,10 @@
     <!--$Id: sourceedit.kupu 9779 2005-03-15 11:34:47Z duncan $-->
     <!--$Id: contextmenu.kupu 9520 2005-02-26 16:30:23Z duncan $-->
     <!--$Id: toolbar.kupu 27597 2006-05-22 14:27:32Z guido $-->
-    <!--$Id: toolboxes.kupu 37754 2007-02-01 17:24:29Z yuppie $-->
+    <!--$Id: toolboxes.kupu 44515 2007-06-25 15:18:53Z duncan $-->
     <!--$Id: colorchooser.kupu 35491 2006-12-08 15:41:49Z duncan $-->
     <!--$Id: save.kupu 9520 2005-02-26 16:30:23Z duncan $-->
-    <!--$Id: drawers.kupu 44423 2007-06-22 10:44:38Z duncan $-->
+    <!--$Id: drawers.kupu 44515 2007-06-25 15:18:53Z duncan $-->
     <!--$Id: include.kupu 39202 2007-02-19 12:06:45Z duncan $-->
     <!--$Id: wire.kupu 25247 2006-04-03 11:23:02Z fschulze $-->
     <!--$Id: head.kupu 34332 2006-11-07 14:50:40Z duncan $-->
@@ -124,70 +124,70 @@
       
   
     <span class="kupu-tb-buttongroup" style="float: right" id="kupu-zoom" tal:condition="filter/zoom">
-      <button type="button" class="kupu-zoom" id="kupu-zoom-button" i18n:attributes="title" title="Zoom: Access key (Alt or Ctrl) + X" accesskey="x">&#160;</button>
+      <button type="button" class="kupu-zoom" id="kupu-zoom-button" i18n:attributes="title title_zoom;" title="Zoom: Access key (Alt or Ctrl) + X" accesskey="x">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" tal:condition="not:context/checkCreationFlag|python:True">
-      <button type="button" class="kupu-save" id="kupu-save-button" title="Save" i18n:attributes="title" accesskey="s" tal:condition="filter/save-button">&#160;</button>
+      <button type="button" class="kupu-save" id="kupu-save-button" title="Save" i18n:attributes="title title_save;" accesskey="s" tal:condition="filter/save-button">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-basicmarkup" tal:condition="filter/bg-basicmarkup">
-      <button type="button" class="kupu-bold" id="kupu-bold-button" title="Bold: Access key (Alt or Ctrl) + B" tal:condition="filter/bold-button" i18n:attributes="title" accesskey="b">&#160;</button>
-      <button type="button" class="kupu-italic" id="kupu-italic-button" title="Italic: Access key (Alt or Ctrl) + I" tal:condition="filter/italic-button" i18n:attributes="title" accesskey="i">&#160;</button>
+      <button type="button" class="kupu-bold" id="kupu-bold-button" title="Bold: Access key (Alt or Ctrl) + B" tal:condition="filter/bold-button" i18n:attributes="title title_bold;" accesskey="b">&#160;</button>
+      <button type="button" class="kupu-italic" id="kupu-italic-button" title="Italic: Access key (Alt or Ctrl) + I" tal:condition="filter/italic-button" i18n:attributes="title title_italic;" accesskey="i">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-subsuper" tal:condition="filter/bg-subsuper">
-      <button type="button" class="kupu-subscript" id="kupu-subscript-button" title="Subscript: Access key (Alt or Ctrl) + -" tal:condition="filter/subscript-button" i18n:attributes="title" accesskey="-">&#160;</button>
-      <button type="button" class="kupu-superscript" id="kupu-superscript-button" title="Superscript: Access key (Alt or Ctrl) + +" tal:condition="filter/superscript-button" i18n:attributes="title" accesskey="+">&#160;</button>
+      <button type="button" class="kupu-subscript" id="kupu-subscript-button" title="Subscript: Access key (Alt or Ctrl) + -" tal:condition="filter/subscript-button" i18n:attributes="title title_subscript;" accesskey="-">&#160;</button>
+      <button type="button" class="kupu-superscript" id="kupu-superscript-button" title="Superscript: Access key (Alt or Ctrl) + +" tal:condition="filter/superscript-button" i18n:attributes="title title_superscript;" accesskey="+">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" tal:condition="filter/bg-colorchooser">
-      <button type="button" class="kupu-forecolor" id="kupu-forecolor-button" tal:condition="filter/forecolor-button" title="text color: alt-f" i18n:attributes="title" accesskey="f">&#160;</button>
-      <button type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button" tal:condition="filter/hilitecolor-button" title="background color: alt-h" i18n:attributes="title" accesskey="h">&#160;</button>
+      <button type="button" class="kupu-forecolor" id="kupu-forecolor-button" tal:condition="filter/forecolor-button" title="text color: alt-f" i18n:attributes="title title_text_color;" accesskey="f">&#160;</button>
+      <button type="button" class="kupu-hilitecolor" id="kupu-hilitecolor-button" tal:condition="filter/hilitecolor-button" title="background color: alt-h" i18n:attributes="title title_back_color;" accesskey="h">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-justify" tal:condition="filter/bg-justify">
-      <button type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" tal:condition="filter/justifyleft-button" title="Left justify: Access key (Alt or Ctrl) + L" i18n:attributes="title" accesskey="l">&#160;</button>
-      <button type="button" class="kupu-justifycenter" tal:condition="filter/justifycenter-button" id="kupu-justifycenter-button" title="Center justify: Access key (Alt or Ctrl) + C" i18n:attributes="title" accesskey="c">&#160;</button>
-      <button type="button" class="kupu-justifyright" tal:condition="filter/justifyright-button" id="kupu-justifyright-button" title="Right justify: Access key (Alt or Ctrl) + R" i18n:attributes="title" accesskey="r">&#160;</button>
+      <button type="button" class="kupu-justifyleft" id="kupu-justifyleft-button" tal:condition="filter/justifyleft-button" title="Left justify: Access key (Alt or Ctrl) + L" i18n:attributes="title title_ljust;" accesskey="l">&#160;</button>
+      <button type="button" class="kupu-justifycenter" tal:condition="filter/justifycenter-button" id="kupu-justifycenter-button" title="Center justify: Access key (Alt or Ctrl) + C" i18n:attributes="title title_center;" accesskey="c">&#160;</button>
+      <button type="button" class="kupu-justifyright" tal:condition="filter/justifyright-button" id="kupu-justifyright-button" title="Right justify: Access key (Alt or Ctrl) + R" i18n:attributes="title title_rjust;" accesskey="r">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-list" tal:condition="filter/bg-list">
       
-      <button type="button" class="kupu-insertorderedlist" tal:condition="filter/list-ol-addbutton" title="Numbered list: Access key (Alt or Ctrl) + #" id="kupu-list-ol-addbutton" i18n:attributes="title" accesskey="#">&#160;</button>
-      <button type="button" class="kupu-insertunorderedlist" tal:condition="filter/list-ul-addbutton" title="Unordered list: Access key (Alt or Ctrl) + *" id="kupu-list-ul-addbutton" i18n:attributes="title" accesskey="*">&#160;</button>
+      <button type="button" class="kupu-insertorderedlist" tal:condition="filter/list-ol-addbutton" title="Numbered list: Access key (Alt or Ctrl) + #" id="kupu-list-ol-addbutton" i18n:attributes="title title_numlist;" accesskey="#">&#160;</button>
+      <button type="button" class="kupu-insertunorderedlist" tal:condition="filter/list-ul-addbutton" title="Unordered list: Access key (Alt or Ctrl) + *" id="kupu-list-ul-addbutton" i18n:attributes="title title_unorderedlist;" accesskey="*">&#160;</button>
               </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-definitionlist" tal:condition="filter/definitionlist">
       
-      <button type="button" class="kupu-insertdefinitionlist" title="Definition list: Access key (Alt or Ctrl) + =" id="kupu-list-dl-addbutton" i18n:attributes="title" accesskey="=">&#160;</button>
+      <button type="button" class="kupu-insertdefinitionlist" title="Definition list: Access key (Alt or Ctrl) + =" id="kupu-list-dl-addbutton" i18n:attributes="title title_deflist;" accesskey="=">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-indent" tal:condition="filter/bg-indent">
-      <button type="button" class="kupu-outdent" tal:condition="filter/outdent-button" id="kupu-outdent-button" title="Decrease quote level: Access key (Alt or Ctrl) + &lt;" i18n:attributes="title" accesskey="&lt;">&#160;</button>
-      <button type="button" class="kupu-indent" tal:condition="filter/indent-button" id="kupu-indent-button" title="Increase quote level: Access key (Alt or Ctrl) + &gt;" i18n:attributes="title" accesskey="&gt;">&#160;</button>
+      <button type="button" class="kupu-outdent" tal:condition="filter/outdent-button" id="kupu-outdent-button" title="Decrease quote level: Access key (Alt or Ctrl) + &lt;" i18n:attributes="title title_decrease_quote;" accesskey="&lt;">&#160;</button>
+      <button type="button" class="kupu-indent" tal:condition="filter/indent-button" id="kupu-indent-button" title="Increase quote level: Access key (Alt or Ctrl) + &gt;" i18n:attributes="title title_increase_quote;" accesskey="&gt;">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" tal:condition="filter/bg-drawers">
-      <button type="button" class="kupu-image" tal:condition="filter/imagelibdrawer-button" id="kupu-imagelibdrawer-button" title="Insert image" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-inthyperlink" tal:condition="filter/linklibdrawer-button" id="kupu-linklibdrawer-button" title="Insert internal link" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-exthyperlink" tal:condition="filter/linkdrawer-button" id="kupu-linkdrawer-button" title="Insert external link" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-anchors" tal:condition="filter/anchors-button" id="kupu-anchors" title="Insert anchors" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-table" tal:condition="filter/tabledrawer-button" id="kupu-tabledrawer-button" title="Insert table" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-image" tal:condition="filter/imagelibdrawer-button" id="kupu-imagelibdrawer-button" title="Insert image" i18n:attributes="title title_insert_image;">&#160;</button>
+      <button type="button" class="kupu-inthyperlink" tal:condition="filter/linklibdrawer-button" id="kupu-linklibdrawer-button" title="Insert internal link" i18n:attributes="title title_insert_internal_link;">&#160;</button>
+      <button type="button" class="kupu-exthyperlink" tal:condition="filter/linkdrawer-button" id="kupu-linkdrawer-button" title="Insert external link" i18n:attributes="title title_insert_external_link;">&#160;</button>
+      <button type="button" class="kupu-anchors" tal:condition="filter/anchors-button" id="kupu-anchors" title="Insert anchors" i18n:attributes="title title_insert_anchors;">&#160;</button>
+      <button type="button" class="kupu-table" tal:condition="filter/tabledrawer-button" id="kupu-tabledrawer-button" title="Insert table" i18n:attributes="title title_insert_table;">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-remove" tal:condition="filter/bg-remove">
-      <button type="button" class="kupu-removeimage invisible" tal:condition="filter/removeimage-button" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title">&#160;</button>
-      <button type="button" class="kupu-removelink invisible" tal:condition="filter/removelink-button" id="kupu-removelink-button" title="Remove link" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-removeimage invisible" tal:condition="filter/removeimage-button" id="kupu-removeimage-button" title="Remove image" i18n:attributes="title title_removeimage;">&#160;</button>
+      <button type="button" class="kupu-removelink invisible" tal:condition="filter/removelink-button" id="kupu-removelink-button" title="Remove link" i18n:attributes="title title_removelink;">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup" id="kupu-bg-undo" tal:condition="filter/bg-undo">
-      <button type="button" class="kupu-undo" tal:condition="filter/undo-button" id="kupu-undo-button" title="Undo: Access key (Alt or Ctrl) + Z" i18n:attributes="title" accesskey="z">&#160;</button>
-      <button type="button" class="kupu-redo" tal:condition="filter/redo-button" id="kupu-redo-button" title="Redo: Access key (Alt or Ctrl) + Y" i18n:attributes="title" accesskey="y">&#160;</button>
+      <button type="button" class="kupu-undo" tal:condition="filter/undo-button" id="kupu-undo-button" title="Undo: Access key (Alt or Ctrl) + Z" i18n:attributes="title title_undo;" accesskey="z">&#160;</button>
+      <button type="button" class="kupu-redo" tal:condition="filter/redo-button" id="kupu-redo-button" title="Redo: Access key (Alt or Ctrl) + Y" i18n:attributes="title title_redo;" accesskey="y">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup kupu-spellchecker-span" id="kupu-spellchecker" tal:condition="filter/spellchecker">
-      <button type="button" class="kupu-spellchecker" id="kupu-spellchecker-button" title="Check spelling" i18n:attributes="title">&#160;</button>
+      <button type="button" class="kupu-spellchecker" id="kupu-spellchecker-button" title="Check spelling" i18n:attributes="title title_spelling;">&#160;</button>
     </span>
   
     <span class="kupu-tb-buttongroup kupu-source-span" id="kupu-source" tal:condition="filter/source">
@@ -195,7 +195,7 @@
     </span>
   
     <select class="kupu-tb-styles" tal:condition="filter/styles" tal:define="field field|nothing;styles python:tool.getStyleList(field);">
-      <option value="p" i18n:translate="">Normal</option>
+      <option value="p" i18n:translate="Normal">Normal</option>
       <tal:block condition="styles" repeat="style styles">
         <option i18n:translate="" tal:attributes="value style/value" tal:content="style/content"/>
       </tal:block>
@@ -224,12 +224,12 @@
     </div>
   
     <div id="kupu-linkdrawer" class="kupu-drawer kupu-linkdrawer">
-      <h1 class="kupu-drawer-title" i18n:translate="">External Link</h1>
+      <h1 class="kupu-drawer-title" i18n:translate="title_external_link">External Link</h1>
 
       <div id="kupu-linkdrawer-addlink" class="kupu-panels kupu-linkdrawer-addlink">
          <ul class="kupu-tabs">
-            <li class="kupu-linkdrawer-addlink selected"><a href="#" i18n:translate="">Link to url</a></li>
-            <li class="kupu-linkdrawer-embed"><a href="#" i18n:translate="">Embed external object</a></li>
+            <li class="kupu-linkdrawer-addlink selected"><a href="#" i18n:translate="tab_link">Link to url</a></li>
+            <li class="kupu-linkdrawer-embed"><a href="#" i18n:translate="tab_embed">Embed external object</a></li>
          </ul>
          <table class="kupu-tabbed">
             <tbody class="kupu-addlink">
@@ -237,24 +237,24 @@
                   <td>
                      <div class="kupu-toolbox-label">
                         
-                        <span i18n:translate="">
+                        <span i18n:translate="label_link_text">
                            Link the highlighted text to this URL:
                         </span>
                      </div>
                      <input class="kupu-toolbox-st kupu-linkdrawer-input" type="text" onkeypress="return HandleDrawerEnter(event, 'linkdrawer-preview');"/>
                   </td>
                   <td class="kupu-preview-button">
-                     <button class="kupu-dialog-button" type="button" id="linkdrawer-preview" onclick="drawertool.current_drawer.preview()" i18n:translate="">Preview</button>
+                     <button class="kupu-dialog-button" type="button" id="linkdrawer-preview" onclick="drawertool.current_drawer.preview()" i18n:translate="button_preview">Preview</button>
                   </td>
                </tr>
                <tr class="kupu-linkdrawer-anchors" style="display:none">
                   <td colspan="2">
-                     <label i18n:translate="" for="anchorselect">Anchor</label>
-                     <select id="anchorselect"><option i18n:translate="" value="">top of page (default)</option></select>
+                     <label i18n:translate="label_anchor" for="anchorselect">Anchor</label>
+                     <select id="anchorselect"><option i18n:translate="opt_top_of_page" value="">top of page (default)</option></select>
                   </td>
                </tr>
                <tr><td colspan="2" align="center">
-                  <div class="watermark"><span i18n:translate="">Preview</span></div>
+                  <div class="watermark"><span i18n:translate="watermark_preview">Preview</span></div>
                   <iframe frameborder="1" scrolling="auto" width="440" height="198" class="kupu-linkdrawer-preview" src="javascript:''">
                   </iframe>
                   </td>
@@ -265,11 +265,11 @@
                   <td>
                      <div class="kupu-toolbox-label">
                         
-                        <span i18n:translate="">
+                        <span i18n:translate="help_paste_here">
                            Paste &lt;object&gt; or &lt;embed&gt; tag here:
                         </span>
                      </div>
-                     <textarea class="kupu-toolbox-st kupu-embed-input" i18n:translate="">[insert arbitrary HTML code here]</textarea>
+                     <textarea class="kupu-toolbox-st kupu-embed-input" i18n:translate="placeholder_html_code">[insert arbitrary HTML code here]</textarea>
                   </td>
                </tr>
                <tr>
@@ -285,8 +285,8 @@
         </table>
 
         <div class="kupu-dialogbuttons">
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="">Cancel</button>
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="button_ok">Ok</button>
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="button_cancel">Cancel</button>
         </div>
 
       </div>
@@ -305,10 +305,10 @@
                   <th i18n:translate="tabledrawer_class_label" class="kupu-toolbox-label">Table Class</th>
                   <td>
                     <select class="kupu-tabledrawer-addclasschooser">
-                      <option i18n:translate="" value="plain">Plain</option>
-                      <option i18n:translate="" value="listing">Listing</option>
-                      <option i18n:translate="" value="grid">Grid</option>
-                      <option i18n:translate="" value="data">Data</option>
+                      <option i18n:translate="Plain" value="plain">Plain</option>
+                      <option i18n:translate="Listing" value="listing">Listing</option>
+                      <option i18n:translate="Grid" value="grid">Grid</option>
+                      <option i18n:translate="Data" value="data">Data</option>
                     </select>
                   </td>
                 </tr>
@@ -346,10 +346,10 @@
                   <th class="kupu-toolbox-label" i18n:translate="tabledrawer_class_label">Table Class</th>
                   <td>
                     <select class="kupu-tabledrawer-editclasschooser" onchange="drawertool.current_drawer.setTableClass(this.options[this.selectedIndex].value)">
-                      <option i18n:translate="" value="plain">Plain</option>
-                      <option i18n:translate="" value="listing">Listing</option>
-                      <option i18n:translate="" value="grid">Grid</option>
-                      <option i18n:translate="" value="data">Data</option>
+                      <option i18n:translate="Plain" value="plain">Plain</option>
+                      <option i18n:translate="Listing" value="listing">Listing</option>
+                      <option i18n:translate="Grid" value="grid">Grid</option>
+                      <option i18n:translate="Data" value="data">Data</option>
                     </select>
                   </td>
                 </tr>
@@ -400,9 +400,9 @@
       <h1 class="kupu-drawer-title" i18n:translate="anchordrawer_title">Anchors</h1>
       <div class="kupu-panels kupu-ins-bm">
          <ul class="kupu-tabs">
-            <li class="kupu-ins-bm selected"><a href="#" i18n:translate="">Link to anchor</a></li>
-            <li class="kupu-anchor"><a href="#" i18n:translate="">Manage Anchors</a></li>
-            <li class="kupu-toc"><a href="#" i18n:translate="">Table of contents</a></li>
+            <li class="kupu-ins-bm selected"><a href="#" i18n:translate="tab_link_anchor">Link to anchor</a></li>
+            <li class="kupu-anchor"><a href="#" i18n:translate="tab_manage_anchors">Manage Anchors</a></li>
+            <li class="kupu-toc"><a href="#" i18n:translate="tab_toc">Table of contents</a></li>
          </ul>
         <table class="kupu-tabbed">
           <tr>
@@ -412,21 +412,21 @@
             <td rowspan="2">
               <div class="kupu-bm-heading hide-ins-bm">
                 <div style="float:right" class="hide-anchor">
-                  <label i18n:translate="" for="kupu-bm-outcls">
+                  <label i18n:translate="label_table_style" for="kupu-bm-outcls">
                     Table style
                   </label>
                   <select id="kupu-bm-outcls" size="1">
-                    <option value="" i18n:translate="">Normal</option>
+                    <option value="" i18n:translate="Normal">Normal</option>
                   </select>
                 </div>
                 <div style="float:right" class="hide-anchor">
-                  <label i18n:translate="" for="kupu-bm-number">
+                  <label i18n:translate="label_numbering" for="kupu-bm-number">
                     Numbering
                   </label>
                   <input type="checkbox" checked="checked" id="kupu-bm-number"/>
                 </div>
                 <label for="kupu-bm-checkall">
-                  <em i18n:translate="">toggle all</em>
+                  <em i18n:translate="label_toggle_all">toggle all</em>
                 </label>
                 <input type="checkbox" checked="checked" id="kupu-bm-checkall"/>
               </div>
@@ -447,14 +447,14 @@
           <tr>
             <td class="hide-ins-bm hide-anchor">
               <select id="kupu-bm-sel2" size="1" class="hide-ins-bm hide-anchor">
-                <option value="" i18n:translate="">(optional 2nd style)</option>
+                <option value="" i18n:translate="opt_2nd_style">(optional 2nd style)</option>
               </select>
             </td>
           </tr>
         </table>
         <div class="kupu-dialogbuttons">
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
-          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="">Cancel</button>
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.current_drawer.save()" i18n:translate="button_ok">Ok</button>
+          <button class="kupu-dialog-button" type="button" onclick="drawertool.closeDrawer()" i18n:translate="button_cancel">Cancel</button>
         </div>
       </div>
     </div>
@@ -477,7 +477,7 @@
     </textarea>
     </div>
   
-    <div class="kupuoverride" tal:condition="python:exists('kupu_content') and len(kupu_content)==0" tal:define="floated widget/allow_file_upload | python:1;" tal:attributes="style python:test(floated, 'float:left;;', '');"><span class="discreet"><a class="forcekupu" href="#" i18n:translate="suppress-kupu" i18n:attributes="title" tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);" tal:attributes="href string:${request/URL0}?kupu.suppress=${fieldName}${fs};" title="reload current page without kupu">
+    <div class="kupuoverride" tal:condition="python:exists('kupu_content') and len(kupu_content)==0" tal:define="floated widget/allow_file_upload | python:1;" tal:attributes="style python:test(floated, 'float:left;;', '');"><span class="discreet"><a class="forcekupu" href="#" i18n:translate="suppress-kupu" i18n:attributes="title title_suppress_kupu;" tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);" tal:attributes="href string:${request/URL0}?kupu.suppress=${fieldName}${fs};" title="reload current page without kupu">
          Edit without visual editor
       </a></span>
     </div>
@@ -501,7 +501,7 @@
   
     <tal:archetypes tal:condition="fieldName|nothing">
       <div class="kupuoverride" tal:condition="python:path('widget/allow_format_edit|python:True') and not path('kupu_convert_message_generated|nothing')" tal:define="floated widget/allow_file_upload | python:1;" tal:attributes="style python:test(floated, 'float:left;;', '');">
-        <span class="discreet"><a class="forcekupu" href="#" i18n:translate="force-kupu" i18n:attributes="title" tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)" tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);" tal:attributes="href string:${request/URL0}?kupu.convert=${fieldName}${fs};" title="reload current page using kupu to edit this field">
+        <span class="discreet"><a class="forcekupu" href="#" i18n:translate="force-kupu" i18n:attributes="title title_force_kupu;" tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)" tal:define="fs fieldset|nothing;fs python:test(fs,'&amp;fieldset=%s'%fs,None);" tal:attributes="href string:${request/URL0}?kupu.convert=${fieldName}${fs};" title="reload current page using kupu to edit this field">
            Edit with visual editor
         </a></span>
       </div>
@@ -521,7 +521,7 @@
     <tal:archetypes tal:condition="fieldName|nothing">
          <div metal:use-macro="here/widgets/visual/macros/area_format"/>
          <span tal:condition="python:portal.kupu_library_tool.isKupuEnabled(REQUEST=context.REQUEST, context=context, fieldName=fieldName)" tal:define="global kupu_convert_message_generated python:True">
-           <a href="#" tal:attributes="href python:portal.kupu_library_tool.forcekupu_url(fieldName);" i18n:translate="">Convert to HTML and edit with the visual editor</a></span>
+           <a href="#" tal:attributes="href python:portal.kupu_library_tool.forcekupu_url(fieldName);" i18n:translate="convert-to-kupu">Convert to HTML and edit with the visual editor</a></span>
     </tal:archetypes>
     <tal:nonat condition="not:fieldName|nothing">
      <label for="text_format" i18n:translate="label_format">Format</label>
@@ -535,7 +535,7 @@
      <label for="cb_structuredtext" i18n:translate="structured_text">Structured Text</label> <br/>
 
      <input class="noborder" type="radio" name="text_format" value="html" id="cb_html" tal:attributes="checked python:test(text_format=='html', 1, None);"/>
-     <label for="cb_html" i18n:translate="html">HTML</label> <br/>
+     <label for="cb_html" i18n:translate="format_html">HTML</label> <br/>
 
      <input class="noborder" type="radio" name="text_format" value="plain" id="cb_plain" tal:attributes="checked python:test(text_format=='plain', 1, None);"/>
      <label for="cb_plain" i18n:translate="plain_text">Plain Text</label>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupucollection.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupucollection.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupucollection.xml.pt	Tue Jun 26 12:46:28 2007
@@ -34,20 +34,20 @@
                 tal:condition="not:info/collection">
         <metal:macro define-macro="commonToAllItems">
           <uri metal:define-slot="uri"
-               tal:content="info/url">URI</uri>
+               tal:content="info/url" />
           <icon metal:define-slot="icon"
-                tal:content="info/icon">icon</icon>
+                tal:content="info/icon" />
           <media tal:condition="info/media|nothing" tal:content="info/media">mime type</media>
           <class tal:condition="info/classes|nothing" tal:repeat="c info/classes"
                    tal:attributes="title c/title; name c/classname" />
           <size metal:define-slot="size"
                 tal:condition="info/size"
-                tal:content="info/size">size</size>
+                tal:content="info/size" />
           <tal:block condition="python:info.get('width') and info.get('height')">
               <width metal:define-slot="width"
-                     tal:content="info/width">width</width>
+                     tal:content="info/width" />
               <height metal:define-slot="height"
-                     tal:content="info/height">height</height>
+                     tal:content="info/height" />
           </tal:block>
           <preview metal:define-slot="preview"
                    tal:condition="info/preview"
@@ -56,13 +56,13 @@
                 tal:attributes="class info/class" tal:content="info/state" />
           <label metal:define-slot="label"
                 tal:condition="info/label|nothing"
-                tal:content="info/label">label</label>
+                tal:content="info/label" />
           <title metal:define-slot="title"
-                 tal:content="info/title">title</title>
+                 tal:content="info/title" />
           <description metal:define-slot="description"
-                       tal:content="structure info/description">description</description>
+                       tal:content="structure info/description" />
           <anchor tal:condition="info/anchor|nothing" />
-          <src tal:condition="info/src" tal:content="info/src">Source</src>
+          <src tal:condition="info/src" tal:content="info/src" />
           <tal:sizes tal:condition="info/sizes|nothing">
             <sizes>
               <size tal:repeat="size info/sizes">

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupulibraries.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupulibraries.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupulibraries.xml.pt	Tue Jun 26 12:46:28 2007
@@ -19,11 +19,11 @@
 
   <library tal:repeat="library libraries"
            tal:attributes="id library/id;selected library/selected;">
-    <uri tal:content="library/uri">URI</uri>
-    <title i18n:translate="" tal:define="title library/title"
-           tal:content="structure python:pss.html_quote(title)">Title</title>
-    <src tal:content="library/src">Source</src>
-    <icon tal:content="library/icon">Icon</icon>
+    <uri tal:content="library/uri" />
+    <title tal:define="title library/title"
+           tal:content="structure python:pss.html_quote(title)" />
+    <src tal:content="library/src" />
+    <icon tal:content="library/icon" />
   </library>
 
 </tal:with>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupumyitems.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupumyitems.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupumyitems.xml.pt	Tue Jun 26 12:46:28 2007
@@ -7,19 +7,21 @@
     xmlns:tal="http://xml.zope.org/namespaces/tal"
     xmlns:metal="http://xml.zope.org/namespaces/metal"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-    i18n_domain="plone"
+    i18n:domain="kupu"
     tal:define="kupu nocall:context/kupu_library_tool;">
-  <uri tal:content="template/absolute_url">URI</uri>
-  <icon tal:content="string:${here/portal_url}/kupuimages/kupusearch_icon.gif">icon</icon>
-  <title i18n_translate="box_myitems">My Items</title>
-  <description>My recently edited items.</description>
+  <uri tal:content="template/absolute_url" />
+  <icon
+       tal:content="string:${here/portal_url}/kupuimages/kupusearch_icon.gif" />
+  <title i18n:translate="heading_myitems">My Items</title>
+  <description i18n:translate="descr_myitems">My recently edited items.</description>
   <src tal:define="url string:${context/absolute_url}/${template/getId};"
-       tal:content="python:kupu.kupuUrl(url)">Source</src>
+       tal:content="python:kupu.kupuUrl(url)" />
 
   <breadcrumbs class="kupu-locate">
     <crumb tal:define="locator here/kupulocate.xml/absolute_url;
                        url python:kupu.kupuUrl(locator);"
-      tal:attributes="href string:$url&src=$$src$$" i18n:translate="locate_content">
+           tal:attributes="href string:$url&amp;src=$$src$$"
+           i18n:translate="locate_content">
       Locate
     </crumb>
   </breadcrumbs>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupurecentitems.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupurecentitems.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupurecentitems.xml.pt	Tue Jun 26 12:46:28 2007
@@ -7,19 +7,20 @@
     xmlns:tal="http://xml.zope.org/namespaces/tal"
     xmlns:metal="http://xml.zope.org/namespaces/metal"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-    i18n_domain="plone"
+    i18n:domain="kupu"
     tal:define="kupu context/kupu_library_tool;">
-  <uri tal:content="template/absolute_url">URI</uri>
-  <icon tal:content="string:${here/portal_url}/kupuimages/kupusearch_icon.gif">icon</icon>
-  <title i18n_translate="box_recentitems">Recent Items</title>
-  <description>Recently published items.</description>
+  <uri tal:content="template/absolute_url" />
+  <icon
+       tal:content="string:${here/portal_url}/kupuimages/kupusearch_icon.gif" />
+  <title i18n:translate="heading_recentitems">Recent Items</title>
+  <description i18n:translate="descr_recentitems">Recently published items.</description>
   <src tal:define="url string:${context/absolute_url}/${template/getId};"
-       tal:content="python:kupu.kupuUrl(url)">Source</src>
+       tal:content="python:kupu.kupuUrl(url)" />
 
   <breadcrumbs class="kupu-locate">
     <crumb tal:define="locator here/kupulocate.xml/absolute_url;
                        url python:kupu.kupuUrl(locator);"
-      tal:attributes="href string:$url&src=$$src$$" i18n:translate="locate_content">
+      tal:attributes="href string:$url&amp;src=$$src$$" i18n:translate="locate_content">
       Locate
     </crumb>
   </breadcrumbs>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupusearch.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupusearch.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupusearch.xml.pt	Tue Jun 26 12:46:28 2007
@@ -7,19 +7,20 @@
     xmlns:tal="http://xml.zope.org/namespaces/tal"
     xmlns:metal="http://xml.zope.org/namespaces/metal"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-    i18n_domain="plone"
+    i18n:domain="kupu"
     tal:define="kupu context/kupu_library_tool;searchlib python:kupu.getSingleLibrary(context,'_search')">
-  <uri tal:content="template/absolute_url">URI</uri>
-  <icon tal:content="searchlib/icon|string:${here/portal_url}/kupuimages/kupusearch_icon.gif">icon</icon>
-  <title i18n_translate="heading_search_results"
+  <uri tal:content="template/absolute_url"/>
+  <icon
+       tal:content="searchlib/icon|string:${here/portal_url}/kupuimages/kupusearch_icon.gif"/>
+  <title i18n:translate="heading_search_results"
          tal:define="tpl searchlib/title|string:Search '$$';txt request/SearchableText;"
          tal:content="python:tpl.replace('$',txt,1)">Search Results</title>
-  <description>Search results.</description>
+  <description i18n:translate="descr_search_results">Search results.</description>
 
   <breadcrumbs class="kupu-locate">
     <crumb tal:define="locator here/kupulocate.xml/absolute_url;
                        url python:kupu.kupuUrl(locator);"
-      tal:attributes="href string:$url&src=$$src$$" i18n:translate="locate_content">
+      tal:attributes="href string:$url&amp;src=$$src$$" i18n:translate="locate_content">
       Locate
     </crumb>
   </breadcrumbs>

Modified: kupu/trunk/kupu/plone/kupu_plone_layer/kupuselection.xml.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_plone_layer/kupuselection.xml.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_plone_layer/kupuselection.xml.pt	Tue Jun 26 12:46:28 2007
@@ -10,16 +10,18 @@
     xmlns:tal="http://xml.zope.org/namespaces/tal"
     xmlns:metal="http://xml.zope.org/namespaces/metal"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-    i18n_domain="plone"
+    i18n:domain="kupu"
     tal:define="kupu context/kupu_library_tool;
         objects kupu/getCurrentObject;
         object python:objects and objects[0] or context;
         lib python:kupu.getSingleLibrary(object,'_selection')">
-  <uri tal:content="template/absolute_url">URI</uri>
-  <icon tal:content="lib/icon|string:${here/portal_url}/kupuimages/kupusearch_icon.gif">icon</icon>
-  <title i18n_translate="box_selected" tal:content="lib/title|default">Selected</title>
-  <description>Current selection.</description>
-  <src tal:content="string:${request/URL0}?${context/kupu_library_tool/query_string}">Source</src>
+  <uri tal:content="template/absolute_url"/>
+  <icon
+       tal:content="lib/icon|string:${here/portal_url}/kupuimages/kupusearch_icon.gif"/>
+  <title i18n:translate="heading_selected" tal:content="lib/title|default">Selected</title>
+  <description i18n:translate="descr_selected">Current selection.</description>
+  <src
+      tal:content="string:${request/URL0}?${context/kupu_library_tool/query_string}"/>
 
   <breadcrumbs class="kupu-locate">
     <crumb

Modified: kupu/trunk/kupu/plone/kupu_references/referencebrowser.pt
==============================================================================
--- kupu/trunk/kupu/plone/kupu_references/referencebrowser.pt	(original)
+++ kupu/trunk/kupu/plone/kupu_references/referencebrowser.pt	Tue Jun 26 12:46:28 2007
@@ -45,22 +45,17 @@
         <tal:block tal:condition="not:field/multiValued"
                tal:define="ref python:refs[0];
                            obj ref/getTargetObject">
-
             <a href="#"
                tal:attributes="href obj/absolute_url;
                                class python:obj.portal_type.replace(' ', '_')"
-               tal:content="python:obj.Title() or obj.absolute_url(relative=1)">
-              Sole target object's title
-            </a>
+               tal:content="python:obj.Title() or obj.absolute_url(relative=1)"
+               />
 
             <a href="#"
                tal:condition="python:portal.portal_interface.objectImplements(ref,'Products.Archetypes.interfaces.referenceengine.IContentReference')"
                tal:attributes="href python:ref.getContentObject().absolute_url();
                                class python:obj.portal_type.replace(' ', '_')"
-               tal:content="field/relationship">
-              reference object link
-            </a>
-
+               tal:content="field/relationship" />
         </tal:block>
 
         <ul tal:condition="field/multiValued">
@@ -69,17 +64,14 @@
                 <a href="#"
                    tal:attributes="href obj/absolute_url;
                                    class python:obj.portal_type.replace(' ', '_')"
-                   tal:content="python:obj.Title() or obj.absolute_url(relative=1)">
-                  Target Title
-                </a>
+                   tal:content="python:obj.Title() or obj.absolute_url(relative=1)"
+                   />
 
                 <a href="#"
                    tal:condition="python:portal.portal_interface.objectImplements(ref,'Products.Archetypes.interfaces.referenceengine.IContentReference')"
                    tal:attributes="href python:ref.getContentObject().absolute_url();
                                    class python:obj.portal_type.replace(' ', '_')"
-                   tal:content="field/relationship">
-                  reference object link
-                </a>
+                   tal:content="field/relationship" />
              </tal:block>
           </li>
         </ul>
@@ -133,7 +125,7 @@
            <img tal:attributes="src i/preview; title i/title;"
                         onload="kupuFixImage(this);" width="1" height="1"/>
          </div>
-         <h1 class="kupu-title-row" tal:content="i/title">Item heading</h1>
+         <h1 class="kupu-title-row" tal:content="i/title" />
          <div class="kupu-description-row" tal:content="structure i/description" tal:condition="i/description"></div>
          <div style="clear:both;line-height:1px;">&nbsp;</div>
        </a>
@@ -212,9 +204,8 @@
                         <option value=""
                                      selected="selected"
                                     tal:attributes="value python:set[1];"
-                                    tal:content="python:set[0].title_or_id()">
-                            option
-                        </option>
+                                    tal:content="python:set[0].title_or_id()"
+                                />
                   </tal:block>
                 </select>
           </tal:multi>

Modified: kupu/trunk/kupu/plone/libraries.pt
==============================================================================
--- kupu/trunk/kupu/plone/libraries.pt	(original)
+++ kupu/trunk/kupu/plone/libraries.pt	Tue Jun 26 12:46:28 2007
@@ -31,19 +31,19 @@
                   <tr>
                      <td><input type="checkbox" name="indices:int:list"
                      tal:attributes="value repeat/library/index"/></td>
-