diff -u8pdNr orig-029/chrome/content/contents.rdf exten-026/chrome/content/contents.rdf
--- orig-029/chrome/content/contents.rdf	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome/content/contents.rdf	2008-12-18 23:40:30.000000000 +0100
@@ -38,24 +38,32 @@
 <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
             xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> 
 
   <RDF:Seq about="urn:mozilla:package:root"> 
     <RDF:li resource="urn:mozilla:package:tinderstatus"/> 
   </RDF:Seq> 
 
   <RDF:Description about="urn:mozilla:package:tinderstatus" 
-        chrome:displayName="Mozilla Tinderstatus Extension" 
+        chrome:displayName="Tinderstatus Extended" 
         chrome:author="Myk Melez" 
         chrome:name="tinderstatus"
         chrome:extension="true"
         chrome:description="icon displaying the status of Mozilla tinderboxen"> 
   </RDF:Description>
 
   <RDF:Seq about="urn:mozilla:overlays">
     <RDF:li resource="chrome://navigator/content/navigator.xul"/>
+    <RDF:li resource="chrome://calendar/content/calendar.xul"/>
   </RDF:Seq>
 
   <RDF:Seq about="chrome://navigator/content/navigator.xul">
     <RDF:li>chrome://tinderstatus/content/overlay.xul</RDF:li>
   </RDF:Seq>
 
+  <RDF:Seq about="chrome://calendar/content/calendar.xul">
+    <RDF:li>chrome://tinderstatus/content/overlay.xul</RDF:li>
+  </RDF:Seq>
+    <RDF:Seq about="chrome://sunbird/content/calendar.xul">
+    <RDF:li>chrome://tinderstatus/content/overlay.xul</RDF:li>
+  </RDF:Seq>
+
 </RDF:RDF>
diff -u8pdNr orig-029/chrome/content/overlay.xul exten-026/chrome/content/overlay.xul
--- orig-029/chrome/content/overlay.xul	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome/content/overlay.xul	2008-04-02 19:41:24.000000000 +0200
@@ -30,52 +30,58 @@
    - under the terms of either the GPL or the LGPL, and not to allow others to
    - use your version of this file under the terms of the MPL, indicate your
    - decision by deleting the provisions above and replace them with the notice
    - and other provisions required by the LGPL or the GPL. If you do not delete
    - the provisions above, a recipient may use your version of this file under
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
-<?xml-stylesheet href="chrome://tinderstatus/content/tinderstatus.css" type="text/css"?> 
+<?xml-stylesheet href="chrome://tinderstatus/content/tinderstatus.css" type="text/css"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://tinderstatus/locale/overlay.dtd">
+
 <overlay id="tinderstatusOverlay" 
          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
+  <script type="application/x-javascript" src="chrome://global/content/strres.js"/>
   <script type="application/x-javascript" src="chrome://tinderstatus/content/tinderstatus.js" />
 
   <statusbar id="status-bar">
     <!-- We use a box within the statusbarpanel instead of just treating 
        - the panel like a button so we can obtain native appearance on the panel
        - with "-moz-appearance: statusbarpanel" while still being able to style 
        - the background color of the box to reflect build status. -->
     <statusbarpanel id="tinderstatus-panel"
                     class="statusbarpanel-iconic"
                     tooltip="tinderstatus-tooltip"
                     insertbefore="security-button"
                     onclick="loadTinderboxURI(event);"
                     context="tinderstatus-context">
 
       <menupopup id="tinderstatus-context">
-        <menuitem id="tinderstatus-open-tree" label="Open Tree:"
+        <menuitem id="tinderstatus-open-tree" label="&tinderstatus.context.opentree;"
                   disabled="true"/>
         <menuseparator id="tinderstatus-separator"/>
-        <menuitem id="tinderstatus-prefs" label="Options" accesskey="p"
+        <menuitem id="tinderstatus-prefs" label="&tinderstatus.context.preferences;"
+                  accesskey="&tinderstatus.context.preferences.accesskey;"
                   oncommand="openTinderstatusPreferences();"/>
-        <menuitem id="tinderstatus-refresh" label="Refresh Now" accesskey="R"
+        <menuitem id="tinderstatus-refresh" label="&tinderstatus.context.refresh.now;"
+                  accesskey="&tinderstatus.context.refresh.now.accesskey;"
                   oncommand="refreshTinderboxenStatus();"/>
       </menupopup>
 
       <box id="tinderstatus-box" buildstatus="none" tooltip="tinderstatus-tooltip">
         <image id="tinderstatus-icon" treestatus="none"/>
       </box>
 
     </statusbarpanel>
 
     <hbox>
       <tooltip id="tinderstatus-tooltip">
         <vbox>
-          <description id="tinderstatus-description" value="No status retrieved yet."/>
+          <description id="tinderstatus-description" value="&tinderstatus.tooltip;"/>
         </vbox>
       </tooltip>
     </hbox>
   </statusbar>
 
 </overlay>
diff -u8pdNr orig-029/chrome/content/prefs.js exten-026/chrome/content/prefs.js
--- orig-029/chrome/content/prefs.js	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome/content/prefs.js	2008-04-02 20:05:16.000000000 +0200
@@ -37,16 +37,21 @@
 if (!Cc)
   var Cc = Components.classes;
 if (!Ci)
   var Ci = Components.interfaces;
 
 var gPrefService = Cc["@mozilla.org/preferences-service;1"]
                    .getService(Ci.nsIPrefService);
 var gPrefBranch = gPrefService.getBranch("extensions.tinderstatus.");
+var gPrefDefaultBranch = gPrefService.getDefaultBranch("extensions.tinderstatus.");
+var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
+              .getService(Components.interfaces.nsIPromptService);
+
+var bundle = srGetStrBundle("chrome://tinderstatus/locale/tinderstatus.properties");
 
 function onLoadTinderstatusPrefsPane()
 {
   var watchList = document.getElementById("watchList");
   var gotoTreePopup = document.getElementById("gotoTreePopup");
   var selectedList = gPrefBranch.getComplexValue("watchList",
                                                  Ci.nsISupportsString).data;
   var fullList = gPrefBranch.getComplexValue("fullList",
@@ -86,8 +91,59 @@ function syncToWatchList()
   var wlArray = [];
   for (var i = 0; i < watchList.getRowCount(); ++i) {
     var wlNode = watchList.getItemAtIndex(i);
     if (wlNode.checked)
       wlArray.push(wlNode.id);
   }
   return wlArray.join(",");
 }
+
+function tinderstatus_showhideTinderboxesDialog() {
+    document.documentElement.openSubDialog("chrome://tinderstatus/content/showhideTinderboxes.xul", "chrome", "add");
+}
+
+function tinderstatus_clearWatchList() {
+  var oldList = document.getElementById("watchList");
+  while(oldList.hasChildNodes()){
+    oldList.removeChild(oldList.firstChild);
+  }
+}
+
+function tinderstatus_resetFullList() {
+  var defaultList = gPrefDefaultBranch.getComplexValue("fullList",
+                                           Ci.nsISupportsString).data;
+  void gPrefBranch.setCharPref("fullList",defaultList);
+}
+
+function tinderstatus_clearGotoTreePopup() {
+  var oldList = document.getElementById("gotoTreePopup");
+  while(oldList.hasChildNodes()){
+    oldList.removeChild(oldList.firstChild);
+  }
+ }
+
+function tinderstatus_resetWatchList() {
+  var defaultList = gPrefDefaultBranch.getComplexValue("watchList",
+                                           Ci.nsISupportsString).data;
+  void gPrefBranch.setCharPref("watchList",defaultList);
+}
+
+function tinderstatus_resetGoToTreePopup() {
+  var defaultList = gPrefDefaultBranch.getComplexValue("gotoTree",
+                                           Ci.nsISupportsString).data;
+  void gPrefBranch.setCharPref("gotoTree",defaultList);
+}
+
+function tinderstatus_resetRefreshTime() {
+  var defaultTime = gPrefDefaultBranch.getIntPref("refreshTime");
+  void gPrefBranch.setIntPref("refreshTime",defaultTime);
+}
+
+function tinderstatus_reset() {
+  tinderstatus_resetRefreshTime()
+  tinderstatus_resetFullList();
+  tinderstatus_clearWatchList();
+  tinderstatus_clearGotoTreePopup();
+  tinderstatus_resetWatchList();
+  tinderstatus_resetGoToTreePopup();
+  onLoadTinderstatusPrefsPane();
+}
diff -u8pdNr orig-029/chrome/content/prefs.xul exten-026/chrome/content/prefs.xul
--- orig-029/chrome/content/prefs.xul	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome/content/prefs.xul	2008-04-02 19:42:42.000000000 +0200
@@ -30,59 +30,75 @@
    - use your version of this file under the terms of the MPL, indicate your
    - decision by deleting the provisions above and replace them with the notice
    - and other provisions required by the LGPL or the GPL. If you do not delete
    - the provisions above, a recipient may use your version of this file under
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+
+<!DOCTYPE dialog SYSTEM "chrome://tinderstatus/locale/prefs.dtd">
  
 <prefwindow id="tinderstatus-prefs"
-     title="Tinderstatus Preferences"
+     title="&tinderstatus.preferences.title;"
      xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  
-<prefpane id="tinderstatus-prefspane" label="Tinderstatus Settings"
+<prefpane id="tinderstatus-prefspane" label="&tinderstatus.preferences.prefspane.label;"
           onpaneload="onLoadTinderstatusPrefsPane();">
 
   <script type="application/x-javascript"
+          src="chrome://global/content/strres.js"/>
+  <script type="application/x-javascript"
           src="chrome://tinderstatus/content/prefs.js" />
 
   <preferences>
     <preference id="extensions.tinderstatus.watchList"
                 name="extensions.tinderstatus.watchList" type="string"/>
     <preference id="extensions.tinderstatus.gotoTree"
                 name="extensions.tinderstatus.gotoTree" type="string"/>
     <preference id="extensions.tinderstatus.refreshTime"
                 name="extensions.tinderstatus.refreshTime" type="int"/>
   </preferences>
 
   <vbox>
     <hbox>
-      <label control="refreshTime" accesskey="i"
-             value="Time between status updates (minutes):"/>
+      <label control="refreshTime" accesskey="&tinderstatus.preferences.refreshtime.accesskey;"
+             value="&tinderstatus.preferences.refreshtime;"/>
       <textbox id="refreshTime" type="number" size="2" min="1" max="60"
                preference="extensions.tinderstatus.refreshTime"/>
     </hbox>
 
-    <label control="gotoTree" accesskey="C"
-           value="Clicking tinderstatus icon loads the tree:"/>
-    <hbox align="right">
+    <hbox>
+      <label control="gotoTree" accesskey="&tinderstatus.preferences.gototree.accesskey;"
+             value="&tinderstatus.preferences.gototree;"/>
+    </hbox>
+      <hbox align="right">
       <menulist id="gotoTree" preference="extensions.tinderstatus.gotoTree"
                 flex="0">
         <menupopup id="gotoTreePopup"/>
       </menulist>
     </hbox>
 
     <spacer flex="1"/>
 
-    <label control="watchList" value="Trees to Watch: " accesskey="T"/>
+    <label control="watchList" value="&tinderstatus.preferences.watchlist;"
+           accesskey="&tinderstatus.preferences.watchlist.accesskey;"/>
 
     <!-- onclick/onkeyup used due to the listitems not reporting up that
          they have been changed -->
     <listbox preference="extensions.tinderstatus.watchList" id="watchList"
              onsynctopreference="return syncToWatchList();"
              onclick="userChangedValue(event.target);"
              onkeyup="userChangedValue(event.target);"/>
+    <hbox>
+      <button id="ts-addTinderbox-button" label="&tinderstatus.preferences.showhide.tinderboxes.button;"
+              accesskey="&tinderstatus.preferences.showhide.tinderboxes.accesskey;"
+              oncommand="tinderstatus_showhideTinderboxesDialog();"/>
+      <button id="ts-resetWatchList-button" label="&tinderstatus.preferences.resettodefault;"
+              accesskey="&tinderstatus.preferences.resettodefault.accesskey;"
+              oncommand="tinderstatus_reset();"/>
+    </hbox>
   </vbox>
+
 </prefpane>
 
 </prefwindow>
diff -u8pdNr orig-029/chrome/content/showhideTinderboxes.js exten-026/chrome/content/showhideTinderboxes.js
--- orig-029/chrome/content/showhideTinderboxes.js	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/content/showhideTinderboxes.js	2008-06-21 22:57:24.000000000 +0200
@@ -0,0 +1,111 @@
+if (!Cc)
+  var Cc = Components.classes;
+if (!Ci)
+  var Ci = Components.interfaces;
+
+var gPrefService = Cc["@mozilla.org/preferences-service;1"]
+                   .getService(Ci.nsIPrefService);
+var gPrefBranch = gPrefService.getBranch("extensions.tinderstatus.");
+var gPrefDefaultBranch = gPrefService.getDefaultBranch("extensions.tinderstatus.");
+var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
+              .getService(Components.interfaces.nsIPromptService);
+
+var bundle = srGetStrBundle("chrome://tinderstatus/locale/tinderstatus.properties");
+
+function initializeCustomizeWindow()
+{
+  initializeApplicationsList();
+  initializeL10nList();
+}
+
+function initializeApplicationsList()
+{
+  var listApplications = document.getElementById("listApplications");
+  var fullList = gPrefBranch.getComplexValue("fullList",
+                                             Ci.nsISupportsString).data;
+  var fullListApplications = gPrefBranch.getComplexValue("fullList.applications",
+                                             Ci.nsISupportsString).data;
+  fullList = fullList.split(",");
+  var applicationsList = fullListApplications.split(",");
+
+  var item;
+
+  for (var i = 0; i < applicationsList.length; ++i) {
+    // Add the item to the watch list
+    item = document.createElement("listitem");
+    item.setAttribute("id", applicationsList[i]);
+    item.setAttribute("label", applicationsList[i]);
+    item.setAttribute("type", "checkbox");
+    item.setAttribute("checked", fullList.indexOf(applicationsList[i]) != -1);
+    listApplications.appendChild(item);
+  }
+}
+
+function initializeL10nList()
+{
+  var listL10n = document.getElementById("listL10n");
+  var fullList = gPrefBranch.getComplexValue("fullList",
+                                             Ci.nsISupportsString).data;
+  var fullListMozillaL10n = gPrefBranch.getComplexValue("fullList.localizations",
+                                             Ci.nsISupportsString).data;
+  fullList = fullList.split(",");
+  var mozillaL10nList = fullListMozillaL10n.split(",");
+
+  var item;
+
+  for (var i = 0; i < mozillaL10nList.length; ++i) {
+    // Add the item to the watch list
+    item = document.createElement("listitem");
+    item.setAttribute("id", mozillaL10nList[i]);
+    item.setAttribute("label", mozillaL10nList[i]);
+    item.setAttribute("type", "checkbox");
+    item.setAttribute("checked", fullList.indexOf(mozillaL10nList[i]) != -1);
+    listL10n.appendChild(item);
+  }
+}
+
+function syncToFullListApplications()
+{
+  var syncItems = document.getElementById("listApplications");
+  var syncItemsChecked = new Array();
+  syncItemsChecked = syncItems.getElementsByAttribute( "checked", true );
+  var syncApplications = new Array();
+  for (var i = 0; i < syncItemsChecked.length; ++i) {
+    var syncNode = syncItemsChecked[i];
+  	syncApplications.push(syncNode.id);
+  }
+  return syncApplications;
+}
+
+function syncToFullListL10n()
+{
+  var syncItems = document.getElementById("listL10n");
+  var syncItemsChecked = new Array();
+  syncItemsChecked = syncItems.getElementsByAttribute( "checked", true );
+  var syncL10n = new Array();
+  for (var i = 0; i < syncItemsChecked.length; ++i) {
+    var syncNode = syncItemsChecked[i];
+      syncL10n.push(syncNode.id);
+  }
+  return syncL10n;
+}
+
+function mergeAndSync()
+{
+  var syncArray = [];
+  var syncApplications = syncToFullListApplications();
+  var syncL10n = syncToFullListL10n();
+  syncArray = syncApplications.concat(syncL10n);
+  syncArray.sort();
+  syncArray.join(",");
+  // Workaround for Win: Write changes immediately
+  void gPrefBranch.setCharPref("fullList",syncArray);
+  return syncArray;
+}
+
+function refreshParent()
+{
+  opener.tinderstatus_clearWatchList();
+  opener.tinderstatus_clearGotoTreePopup();
+  opener.onLoadTinderstatusPrefsPane();
+}
diff -u8pdNr orig-029/chrome/content/showhideTinderboxes.xul exten-026/chrome/content/showhideTinderboxes.xul
--- orig-029/chrome/content/showhideTinderboxes.xul	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/content/showhideTinderboxes.xul	2008-04-03 01:09:42.000000000 +0200
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+
+<!DOCTYPE dialog SYSTEM "chrome://tinderstatus/locale/showhideTinderboxes.dtd">
+
+<prefwindow
+        id="tinderstatus-showhide-tinderboxes-dialog"
+        title="&tinderstatus.showhide.tinderboxes.title;"
+        buttons="accept"
+        type="child"
+        ondialogaccept="refreshParent();"
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<prefpane id="tinderstatus-showhide-tinderboxes-prefspane" label="&tinderstatus.showhide.tinderboxes.caption;"
+          onpaneload="initializeCustomizeWindow();">
+
+  <script type="application/x-javascript"
+          src="chrome://global/content/strres.js"/>
+  <script type="application/x-javascript"
+          src="chrome://tinderstatus/content/prefs.js" />
+  <script type="application/x-javascript"
+          src="chrome://tinderstatus/content/showhideTinderboxes.js" />
+
+  <preferences>
+    <preference id="extensions.tinderstatus.fullList"
+                name="extensions.tinderstatus.fullList" type="string"/>
+  </preferences>
+
+  <vbox flex="1">
+  <hbox>
+
+    <groupbox orient="vertical">
+      <caption label="&tinderstatus.showhide.tinderboxes.applications;"/>
+        <listbox preference="extensions.tinderstatus.fullList" id="listApplications" rows="10"
+               onsynctopreference="return mergeAndSync();"
+               onclick="userChangedValue(event.target);"
+               onkeyup="userChangedValue(event.target);"/>
+    </groupbox>
+
+    <groupbox orient="vertical">
+      <caption label="&tinderstatus.showhide.tinderboxes.localizations;"/>
+        <listbox preference="extensions.tinderstatus.fullList" id="listL10n" rows="10"
+               onsynctopreference="return mergeAndSync();"
+               onclick="userChangedValue(event.target);"
+               onkeyup="userChangedValue(event.target);"/>
+    </groupbox>
+  </hbox>
+
+  <hbox>
+    <vbox>
+      <description>&tinderstatus.showhide.tinderboxes.info1;</description>
+    </vbox>
+  </hbox>
+  <hbox>
+    <vbox>
+      <description>&tinderstatus.showhide.tinderboxes.info2;</description>
+    </vbox>
+  </hbox>
+</vbox>
+
+</prefpane>
+
+</prefwindow>
diff -u8pdNr orig-029/chrome/content/tinderstatus.css exten-026/chrome/content/tinderstatus.css
--- orig-029/chrome/content/tinderstatus.css	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome/content/tinderstatus.css	2008-12-19 00:52:28.000000000 +0100
@@ -37,20 +37,21 @@
 
 statusbarpanel#tinderstatus-panel {
   /* Make the contents of the status panel stretch to fill it so the entire 
    * panel is colored by the background color of the enclosed box. */
   -moz-box-align: stretch;
 }
 
 box#tinderstatus-box {
-  background-color: #000000;
+  background-color: grey;
   
   /* Center-align the enclosed icon so it doesn't stretch to fill the box. */
   -moz-box-align: center;
+  min-width: 14px;
 
   padding: 0px 2px 0px 2px;
 }
 
 /* Style the background color of the box to reflect build status. */
 box#tinderstatus-box[buildstatus="success"] {
   background-color: #11DD11;
 }
@@ -58,23 +59,24 @@ box#tinderstatus-box[buildstatus="succes
 box#tinderstatus-box[buildstatus="testfailed"] {
   background-color: #FFAA00;
 }
 
 box#tinderstatus-box[buildstatus="busted"] {
   background-color: #EE0000;
 }
 
-box#tinderstatus-box[buildstatus="none"] {
-  display: none;
-}
-
 /* Superimpose an icon on the box to reflect tree status. */
 image#tinderstatus-icon[treestatus="open"] {
   list-style-image: url("chrome://tinderstatus/content/tree-open.png");
   padding-top: 1px;
 }
 
 image#tinderstatus-icon[treestatus="closed"] {
   list-style-image: url("chrome://tinderstatus/content/tree-closed.png");
 }
 
 
+image#tinderstatus-icon {
+  list-style-image: url("chrome://tinderstatus/content/tree-unknown.png");
+}
+
+
diff -u8pdNr orig-029/chrome/content/tinderstatus.js exten-026/chrome/content/tinderstatus.js
--- orig-029/chrome/content/tinderstatus.js	2008-05-26 16:02:42.000000000 +0200
+++ exten-026/chrome/content/tinderstatus.js	2009-02-28 11:28:06.000000000 +0100
@@ -41,16 +41,30 @@ const tsOptionsURL = "chrome://tindersta
 
 if (!Cc)
   var Cc = Components.classes;
 if (!Ci)
   var Ci = Components.interfaces;
 
 var gXMLHttpRequest;
 
+var ioservice = Cc["@mozilla.org/network/io-service;1"]
+  .getService(Ci.nsIIOService);
+var extps = Cc["@mozilla.org/uriloader/external-protocol-service;1"]
+  .getService(Components.interfaces.nsIExternalProtocolService);
+var appInfo = Cc['@mozilla.org/xre/app-info;1']
+  .getService(Components.interfaces.nsIXULAppInfo);
+
+var bundle = srGetStrBundle("chrome://tinderstatus/locale/tinderstatus.properties");
+var preferencesLabel = bundle.GetStringFromName( "preferencesLabel" );
+var noTinderboxSelected = bundle.GetStringFromName( "noTinderboxSelected" );
+var lastUpdate = bundle.GetStringFromName( "lastUpdate" );
+var tinderboxesAllGreen = bundle.GetStringFromName( "tinderboxesAllGreen" );
+var tinderboxesUnknownStatus = bundle.GetStringFromName( "tinderboxesUnknownStatus" );
+
 // The order in this list somewhat matters, as the first item is the one
 // that gets loaded when you click on the statusbar icon.
 var gTinderboxList  = [];
 var gTinderboxListUpdateRequired = true;
 var gTinderboxIndex = -1;
 var gTinderboxText  = "";
 var gTinderboxURIIndex = 0;
 var gTinderboxStatus = null;
@@ -97,31 +111,30 @@ var tinderstatusPrefObserver = 
       case "fullList":
         setUpTinderboxMenuPopup();
         break;
     }
   }
 };
 
 function initializeTinderstatus() {
-  var appInfo = Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULAppInfo);
 
   // If we're running in SeaMonkey and the version is less than 2.*, then the
   // options dialog won't work, so disable the menu option.
   if (appInfo.ID == "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}") {
     var versionChecker = Cc["@mozilla.org/xpcom/version-comparator;1"]
       .getService(Ci.nsIVersionComparator);
 
     if (versionChecker.compare(appInfo.version, "2.0a1pre") < 0)
       document.getElementById("tinderstatus-prefs").hidden = true;
   }
 
   // If we're not on windows, use preferences for the menu instead of Options.
   if (navigator.platform.toLowerCase().indexOf('win') == -1)
-    document.getElementById("tinderstatus-prefs").label = "Preferences";
+    document.getElementById("tinderstatus-prefs").label = preferencesLabel;
 
   // Kick off the first update.
   refreshTinderboxenStatus();
 
   // Setup the menu
   setUpTinderboxMenuPopup();
 }
 
@@ -140,17 +153,17 @@ function setUpTinderboxMenuPopup() {
   // Get the full list of tinderboxes that we know about.
   var fullList;
 
   try {
     fullList = gPrefBranch.getComplexValue("fullList",
                                            Ci.nsISupportsString).data;
   }
   catch (ex) {
-    fullList = "Bugzilla,Camino,Firefox,Firefox-Ports,Mozilla2,SeaMonkey,SeaMonkey-Ports,Sunbird,Thunderbird,XULRunner";
+    fullList = "Bugzilla,Camino,Firefox,Firefox-Ports,Firefox3.0,Firefox3.1,Mobile,SeaMonkey,SeaMonkey-Ports,Sunbird,Thunderbird,Thunderbird3.0,XULRunner";
   }
 
   fullList = fullList.split(",");
 
   // Now add the tinderboxes onto the menu
   var item;
   for (var i = 0; i < fullList.length; ++i) {
     item = document.createElement("menuitem");
@@ -213,19 +226,22 @@ function updateCurrentTinderboxList() {
 
     if (gTinderboxList.length == 1 && gTinderboxList[0] == "")
       gTinderboxList = [];
   }
   catch (ex) {
     // Set to the default list
     gTinderboxList  = ["Camino",
                        "Firefox",
-                       "Mozilla2",
+                       "Firefox3.0",
+                       "Firefox3.1",
+                       "Mobile",
                        "SeaMonkey",
                        "Thunderbird",
+                       "Thunderbird3.0",
                        "XULRunner"];
   }
   gTinderboxListUpdateRequired = false;
 }
 
 /**
  * Load into the browser a current tinderbox page.
  */
@@ -241,23 +257,37 @@ function loadTinderboxURI(evt) {
   }
   catch (ex) {
     // If we can't get the pref, set to the default
     tinderboxToLoad = "Firefox";
   }
 
   if (tinderboxToLoad != "") {
     var url = "http://tinderbox.mozilla.org/" + tinderboxToLoad + "/";
-    if (!handleLinkClick(evt, url, null))
-      loadURI(url);
+      if(appInfo.name == 'Sunbird') {
+        var uriTinderbox = ioservice.newURI(url, null, null);
+        extps.loadURI(uriTinderbox, null);
+        }
+      else {
+        if (!handleLinkClick(evt, url, null)) {
+          loadURI(url);
+        }
+    }
   }
 }
 
 function loadTinderboxPage(pageName) {
-  loadURI("http://tinderbox.mozilla.org/" + pageName + "/");
+  var url = "http://tinderbox.mozilla.org/" + pageName + "/";
+  if(appInfo.name == 'Sunbird') {
+    var uriTinderbox = ioservice.newURI(url, null, null);
+    extps.loadURI(uriTinderbox, null);
+  }
+  else {
+    loadURI(url);
+  }
 }
 
 function refreshTinderboxenStatus() {
   // Check we aren't currently doing an update
   if (gTinderboxIndex != -1)
     return;
 
   if (gTinderboxListUpdateRequired)
@@ -271,17 +301,17 @@ function refreshTinderboxenStatus() {
  * Request a tinderbox summary from one tree.
  */
 function getTinderboxStatus() {
   // If no items selected, just show nothing.
   if (gTinderboxList.length == 0) {
     document.getElementById('tinderstatus-box')
             .setAttribute("buildstatus", "none");
 
-    setTinderboxStatus("No tinderboxes selected.");
+    setTinderboxStatus(noTinderboxSelected);
     gTinderboxURIIndex = 0;
     return;
   }
 
   gTinderboxIndex++;
   if (gTinderboxIndex == gTinderboxList.length) {
     return;
   }
@@ -301,17 +331,17 @@ function handleRequestError() {
   // Abort current attempt, wait for next refresh
   gTinderboxIndex = -1;
   gTinderboxText = "";
 }
 
 function getSetLastUpdated() {
   gTinderboxLastUpdate = new Date();
 
-  var result = "Last Updated: ";
+  var result = lastUpdate;
 
   if (gTinderboxLastUpdate.getHours() < 10)
     result += "0";
   
   result += gTinderboxLastUpdate.getHours();
 
   result += gTinderboxLastUpdate.getMinutes() < 10 ? ":0" : ":";
 
@@ -385,22 +415,22 @@ function displayTinderboxStatus()
     box.setAttribute("buildstatus", "busted");
   }
   else if (gTinderboxText.indexOf("testfailed") != -1) {
     re = /.*testfailed/g;
     fillTinderboxStatus(re);
     box.setAttribute("buildstatus", "testfailed");
   }
   else if (gTinderboxText.indexOf("success") != -1) {
-    setTinderboxStatus("All tinderboxes are green.");
+    setTinderboxStatus(tinderboxesAllGreen);
     box.setAttribute("buildstatus", "success");
     gTinderboxURIIndex = 0;
   }
   else {
-    setTinderboxStatus("Unknown tinderbox status.");
+    setTinderboxStatus(tinderboxesUnknownStatus);
     box.setAttribute("buildstatus", "none");
     gTinderboxURIIndex = 0;
   }
 
   // Change the icon superimposed on the box to reflect tree status.
   var icon = document.getElementById('tinderstatus-icon');
   if (gTinderboxText.indexOf("closed") != -1)
     icon.setAttribute("treestatus", "closed");
Files orig-029/chrome/content/tree-unknown.png and exten-026/chrome/content/tree-unknown.png differ
diff -u8pdNr orig-029/chrome/locale/de/overlay.dtd exten-026/chrome/locale/de/overlay.dtd
--- orig-029/chrome/locale/de/overlay.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/de/overlay.dtd	2008-01-13 02:56:00.000000000 +0100
@@ -0,0 +1,6 @@
+<!ENTITY tinderstatus.context.opentree "Offener Verzeichnisbaum:">
+<!ENTITY tinderstatus.context.preferences "Einstellungen…">
+<!ENTITY tinderstatus.context.preferences.accesskey "E">
+<!ENTITY tinderstatus.context.refresh.now "Jetzt aktualisieren">
+<!ENTITY tinderstatus.context.refresh.now.accesskey "a">
+<!ENTITY tinderstatus.tooltip "Bislang keine Statusinformationen erhalten.">
diff -u8pdNr orig-029/chrome/locale/de/prefs.dtd exten-026/chrome/locale/de/prefs.dtd
--- orig-029/chrome/locale/de/prefs.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/de/prefs.dtd	2008-03-31 19:20:54.000000000 +0200
@@ -0,0 +1,12 @@
+<!ENTITY tinderstatus.preferences.title "Tinderstatus Extended - Einstellungen">
+<!ENTITY tinderstatus.preferences.prefspane.label "Tinderstatus Extended - Einstellungen">
+<!ENTITY tinderstatus.preferences.refreshtime "Intervall für Status-Aktualisierungen in Minuten:">
+<!ENTITY tinderstatus.preferences.refreshtime.accesskey "i">
+<!ENTITY tinderstatus.preferences.gototree "Mit Klick auf das Tinderstatus-Symbol diesen Quellen-Verzeichnisbaum laden:">
+<!ENTITY tinderstatus.preferences.gototree.accesskey "K">
+<!ENTITY tinderstatus.preferences.watchlist "Zu beobachtende Quellen-Verzeichnisbäume auswählen: ">
+<!ENTITY tinderstatus.preferences.watchlist.accesskey "T">
+<!ENTITY tinderstatus.preferences.showhide.tinderboxes.button "Liste anpassen…">
+<!ENTITY tinderstatus.preferences.showhide.tinderboxes.accesskey "L">
+<!ENTITY tinderstatus.preferences.resettodefault "Einstellungen zurücksetzen">
+<!ENTITY tinderstatus.preferences.resettodefault.accesskey "z">
diff -u8pdNr orig-029/chrome/locale/de/showhideTinderboxes.dtd exten-026/chrome/locale/de/showhideTinderboxes.dtd
--- orig-029/chrome/locale/de/showhideTinderboxes.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/de/showhideTinderboxes.dtd	2008-07-04 15:26:22.000000000 +0200
@@ -0,0 +1,6 @@
+<!ENTITY tinderstatus.showhide.tinderboxes.title "Tinderbox-Liste bearbeiten">
+<!ENTITY tinderstatus.showhide.tinderboxes.caption "Tinderbox-Liste bearbeiten">
+<!ENTITY tinderstatus.showhide.tinderboxes.applications "Anwendungen, Diverse">
+<!ENTITY tinderstatus.showhide.tinderboxes.localizations "Lokalisierungen">
+<!ENTITY tinderstatus.showhide.tinderboxes.info1 "Hier kann festgelegt werden, welche Quellen-Verzeichnisbäume im">
+<!ENTITY tinderstatus.showhide.tinderboxes.info2 " Einstellungsdialog für die Beobachtung zur Auswahl stehen sollen.">
diff -u8pdNr orig-029/chrome/locale/de/tinderstatus.properties exten-026/chrome/locale/de/tinderstatus.properties
--- orig-029/chrome/locale/de/tinderstatus.properties	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/de/tinderstatus.properties	2008-04-02 14:32:10.000000000 +0200
@@ -0,0 +1,6 @@
+extensions.{CE49928A-7804-4688-8C9E-ABCBC7FB9BCF}.description=Statusleisten-Symbol, das über den Status von Mozilla-Tinderboxen informiert.
+preferencesLabel=Einstellungen…
+noTinderboxSelected=Keine Tinderbox ausgewählt.
+lastUpdate=Letzte Aktualisierung:
+tinderboxesAllGreen=Alle Tinderboxen sind grün.
+tinderboxesUnknownStatus=Unbekannter Tinderbox-Status.
diff -u8pdNr orig-029/chrome/locale/en-US/overlay.dtd exten-026/chrome/locale/en-US/overlay.dtd
--- orig-029/chrome/locale/en-US/overlay.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/en-US/overlay.dtd	2008-01-13 02:59:00.000000000 +0100
@@ -0,0 +1,6 @@
+<!ENTITY tinderstatus.context.opentree "Open Tree:">
+<!ENTITY tinderstatus.context.preferences "Options">
+<!ENTITY tinderstatus.context.preferences.accesskey "O">
+<!ENTITY tinderstatus.context.refresh.now "Refresh now">
+<!ENTITY tinderstatus.context.refresh.now.accesskey "R">
+<!ENTITY tinderstatus.tooltip "No status retrieved yet.">
diff -u8pdNr orig-029/chrome/locale/en-US/prefs.dtd exten-026/chrome/locale/en-US/prefs.dtd
--- orig-029/chrome/locale/en-US/prefs.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/en-US/prefs.dtd	2008-03-31 19:21:16.000000000 +0200
@@ -0,0 +1,12 @@
+<!ENTITY tinderstatus.preferences.title "Tinderstatus Extended - Preferences">
+<!ENTITY tinderstatus.preferences.prefspane.label "Tinderstatus Extended - Preferences">
+<!ENTITY tinderstatus.preferences.refreshtime "Time between status updates (minutes):">
+<!ENTITY tinderstatus.preferences.refreshtime.accesskey "i">
+<!ENTITY tinderstatus.preferences.gototree "Clicking tinderstatus icon loads the tree:">
+<!ENTITY tinderstatus.preferences.gototree.accesskey "C">
+<!ENTITY tinderstatus.preferences.watchlist "Choose trees to watch: ">
+<!ENTITY tinderstatus.preferences.watchlist.accesskey "T">
+<!ENTITY tinderstatus.preferences.showhide.tinderboxes.button "Customize list…">
+<!ENTITY tinderstatus.preferences.showhide.tinderboxes.accesskey "L">
+<!ENTITY tinderstatus.preferences.resettodefault "Reset settings to default">
+<!ENTITY tinderstatus.preferences.resettodefault.accesskey "d">
diff -u8pdNr orig-029/chrome/locale/en-US/showhideTinderboxes.dtd exten-026/chrome/locale/en-US/showhideTinderboxes.dtd
--- orig-029/chrome/locale/en-US/showhideTinderboxes.dtd	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/en-US/showhideTinderboxes.dtd	2008-07-04 16:14:58.000000000 +0200
@@ -0,0 +1,6 @@
+<!ENTITY tinderstatus.showhide.tinderboxes.title "Edit list of tinderboxes">
+<!ENTITY tinderstatus.showhide.tinderboxes.caption "Edit list of tinderboxes">
+<!ENTITY tinderstatus.showhide.tinderboxes.applications "Applications, Misc">
+<!ENTITY tinderstatus.showhide.tinderboxes.localizations "Localizations">
+<!ENTITY tinderstatus.showhide.tinderboxes.info1 "Choose which trees the options dialog offers to watch.">
+<!ENTITY tinderstatus.showhide.tinderboxes.info2 "">
diff -u8pdNr orig-029/chrome/locale/en-US/tinderstatus.properties exten-026/chrome/locale/en-US/tinderstatus.properties
--- orig-029/chrome/locale/en-US/tinderstatus.properties	1970-01-01 01:00:00.000000000 +0100
+++ exten-026/chrome/locale/en-US/tinderstatus.properties	2008-04-02 15:27:08.000000000 +0200
@@ -0,0 +1,6 @@
+extensions.{CE49928A-7804-4688-8C9E-ABCBC7FB9BCF}.description=Satusbar icon showing the status of Mozilla tinderboxes.
+preferencesLabel=Options…
+noTinderboxSelected=No tinderbox selected.
+lastUpdate=Last Updated: 
+tinderboxesAllGreen=All tinderboxes are green.
+tinderboxesUnknownStatus=Unknown tinderbox status.
diff -u8pdNr orig-029/chrome.manifest exten-026/chrome.manifest
--- orig-029/chrome.manifest	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/chrome.manifest	2008-12-18 23:41:00.000000000 +0100
@@ -1,7 +1,12 @@
-content tinderstatus content/
-
+content tinderstatus chrome/content/
+locale tinderstatus en-US chrome/locale/en-US/
+locale tinderstatus de chrome/locale/de/
 # For Firefox
 overlay chrome://browser/content/browser.xul chrome://tinderstatus/content/overlay.xul
 
 # For SeaMonkey
 overlay chrome://navigator/content/navigator.xul chrome://tinderstatus/content/overlay.xul
+
+# For Sunbird
+overlay chrome://calendar/content/calendar.xul chrome://tinderstatus/content/overlay.xul
+overlay chrome://sunbird/content/calendar.xul chrome://tinderstatus/content/overlay.xul
diff -u8pdNr orig-029/defaults/preferences/tinderstatus.js exten-026/defaults/preferences/tinderstatus.js
--- orig-029/defaults/preferences/tinderstatus.js	2008-05-26 16:00:56.000000000 +0200
+++ exten-026/defaults/preferences/tinderstatus.js	2009-02-28 11:28:16.000000000 +0100
@@ -1,4 +1,7 @@
-pref("extensions.tinderstatus.fullList", "Bugzilla,Camino,Firefox,Firefox-Ports,Mozilla2,SeaMonkey,SeaMonkey-Ports,Sunbird,Thunderbird,XULRunner");
-pref("extensions.tinderstatus.watchList", "Camino,Firefox,Mozilla2,SeaMonkey,Thunderbird,XULRunner");
+pref("extensions.{CE49928A-7804-4688-8C9E-ABCBC7FB9BCF}.description", "chrome://tinderstatus/locale/tinderstatus.properties");
+pref("extensions.tinderstatus.fullList", "Bugzilla,Camino,Firefox,Firefox-Ports,Firefox3.0,Firefox3.1,Mobile,SeaMonkey,SeaMonkey-Ports,Sunbird,Thunderbird,Thunderbird3.0,XULRunner");
+pref("extensions.tinderstatus.fullList.applications", "Bugzilla,Bugzilla2.20,Bugzilla2.22,Bugzilla3.0,Bugzilla3.2,Camino,Firefox,Firefox-Ports,Firefox-Staging,Firefox3.0,Firefox3.1,LeakTest,Mobile,Mozilla1.8,Mozilla1.8-SeaMonkey,Mozilla1.8-Staging,Mozilla2,MozillaExperimental,MozillaRelease,MozillaStaging,MozillaTest,MozillaTest-BACKUP,MozillaTestBroken,MozillaTestBroken2,MozillaTry,NSS,NSS-Stable-Branch,SeaMonkey,SeaMonkey-Ports,Sunbird,Sunbird-Mozilla1.8,Testing,Thunderbird,Thunderbird3.0,TraceMonkeyUnitTest,XULRunner");
+pref("extensions.tinderstatus.fullList.localizations", "Mozilla-l10n,Mozilla-l10n-af,Mozilla-l10n-ar,Mozilla-l10n-be,Mozilla-l10n-bg,Mozilla-l10n-bn-IN,Mozilla-l10n-ca,Mozilla-l10n-cs,Mozilla-l10n-da,Mozilla-l10n-de,Mozilla-l10n-el,Mozilla-l10n-en-GB,Mozilla-l10n-en-ZA,Mozilla-l10n-eo,Mozilla-l10n-es-AR,Mozilla-l10n-es-ES,Mozilla-l10n-eu,Mozilla-l10n-fa,Mozilla-l10n-fi,Mozilla-l10n-fr,Mozilla-l10n-fy-NL,Mozilla-l10n-ga-IE,Mozilla-l10n-gu-IN,Mozilla-l10n-he,Mozilla-l10n-hi-IN,Mozilla-l10n-hu,Mozilla-l10n-hy-AM,Mozilla-l10n-id,Mozilla-l10n-it,Mozilla-l10n-ja,Mozilla-l10n-ja-JP-mac,Mozilla-l10n-ka,Mozilla-l10n-kn,Mozilla-l10n-ko,Mozilla-l10n-ku,Mozilla-l10n-lt,Mozilla-l10n-lv,Mozilla-l10n-mk,Mozilla-l10n-ml,Mozilla-l10n-mn,Mozilla-l10n-mr,Mozilla-l10n-ms,Mozilla-l10n-nb-NO,Mozilla-l10n-ne-NP,Mozilla-l10n-nl,Mozilla-l10n-nn-NO,Mozilla-l10n-pa-IN,Mozilla-l10n-pl,Mozilla-l10n-pt-BR,Mozilla-l10n-pt-PT,Mozilla-l10n-ro,Mozilla-l10n-ru,Mozilla-l10n-rw,Mozilla-l10n-si,Mozilla-l10n-sk,Mozilla-l10n-sl,Mozilla-l10n-sq,Mozilla-l10n-sr,Mozilla-l10n-sv-SE,Mozilla-l10n-ta,Mozilla-l10n-ta-LK,Mozilla-l10n-te,Mozilla-l10n-tr,Mozilla-l10n-uk,Mozilla-l10n-vi,Mozilla-l10n-zh-CN,Mozilla-l10n-zh-TW,Mozilla1.8-l10n,Mozilla1.8-l10n-af,Mozilla1.8-l10n-ar,Mozilla1.8-l10n-be,Mozilla1.8-l10n-bg,Mozilla1.8-l10n-ca,Mozilla1.8-l10n-cs,Mozilla1.8-l10n-da,Mozilla1.8-l10n-de,Mozilla1.8-l10n-el,Mozilla1.8-l10n-en-GB,Mozilla1.8-l10n-en-ZA,Mozilla1.8-l10n-es-AR,Mozilla1.8-l10n-es-ES,Mozilla1.8-l10n-eu,Mozilla1.8-l10n-fi,Mozilla1.8-l10n-fr,Mozilla1.8-l10n-fy-NL,Mozilla1.8-l10n-ga-IE,Mozilla1.8-l10n-gu-IN,Mozilla1.8-l10n-he,Mozilla1.8-l10n-hu,Mozilla1.8-l10n-hy-AM,Mozilla1.8-l10n-it,Mozilla1.8-l10n-ja,Mozilla1.8-l10n-ja-JP-mac,Mozilla1.8-l10n-ka,Mozilla1.8-l10n-ko,Mozilla1.8-l10n-ku,Mozilla1.8-l10n-lt,Mozilla1.8-l10n-mk,Mozilla1.8-l10n-mn,Mozilla1.8-l10n-nb-NO,Mozilla1.8-l10n-nl,Mozilla1.8-l10n-nn-NO,Mozilla1.8-l10n-nr,Mozilla1.8-l10n-nso,Mozilla1.8-l10n-pa-IN,Mozilla1.8-l10n-pl,Mozilla1.8-l10n-pt-BR,Mozilla1.8-l10n-pt-PT,Mozilla1.8-l10n-ro,Mozilla1.8-l10n-ru,Mozilla1.8-l10n-sk,Mozilla1.8-l10n-sl,Mozilla1.8-l10n-sq,Mozilla1.8-l10n-ss,Mozilla1.8-l10n-st,Mozilla1.8-l10n-sv-SE,Mozilla1.8-l10n-tn,Mozilla1.8-l10n-tr,Mozilla1.8-l10n-ts,Mozilla1.8-l10n-uk,Mozilla1.8-l10n-ve,Mozilla1.8-l10n-xh,Mozilla1.8-l10n-zh-CN,Mozilla1.8-l10n-zh-TW,Mozilla1.8-l10n-zu");
+pref("extensions.tinderstatus.watchList", "Camino,Firefox,Firefox3.0,Firefox3.1,Mobile,SeaMonkey,Thunderbird,Thunderbird3.0,XULRunner");
 pref("extensions.tinderstatus.gotoTree", "Firefox");
 pref("extensions.tinderstatus.refreshTime", 1);
diff -u8pdNr orig-029/install.js exten-026/install.js
--- orig-029/install.js	2008-05-22 14:09:20.000000000 +0200
+++ exten-026/install.js	2008-12-19 00:43:22.000000000 +0100
@@ -1,9 +1,9 @@
-initInstall("Mozilla Tinderstatus Extension", "/mozdev/tinderstatus", "0.2.8");
+initInstall("Tinderstatus Extended", "/mozdev/tinderstatus", "0.2.6");
 
 var chromeDir = getFolder("Profile", "chrome");
 
 // Specify the directory into which we're going to install the extension.
 var installDir = getFolder(chromeDir, "tinderstatus");
 setPackageFolder(installDir);
 
 // Specify the directory into which we're going to install the content files,
diff -u8pdNr orig-029/install.rdf exten-026/install.rdf
--- orig-029/install.rdf	2008-05-27 00:50:26.000000000 +0200
+++ exten-026/install.rdf	2009-02-28 12:14:38.000000000 +0100
@@ -1,39 +1,49 @@
 <?xml version="1.0"?>
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
 
   <Description about="urn:mozilla:install-manifest">
-    <em:name>Tinderstatus</em:name>
-    <em:id>{a4ebc7e4-5ffe-4811-b9c6-a782bba8c1c2}</em:id>
-    <em:version>0.2.9</em:version>
+    <em:name>Tinderstatus Extended</em:name>
+    <em:id>{CE49928A-7804-4688-8C9E-ABCBC7FB9BCF}</em:id>
+    <em:version>0.2.6</em:version>
 
     <em:description>icon showing the status of Mozilla tinderboxen</em:description>
     <em:creator>Myk Melez</em:creator>
     <em:contributor>Alex Vincent</em:contributor>
     <em:contributor>Mark Banner</em:contributor>
     <em:contributor>Frédéric Buclin</em:contributor>
     <em:homepageURL>http://tinderstatus.mozdev.org/</em:homepageURL>
     <em:optionsURL>chrome://tinderstatus/content/prefs.xul</em:optionsURL>
-
+    <em:updateURL>http://www.nadelundhirn.de/krams/exten/tinderstatus/update.rdf</em:updateURL>
+    <em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJ9vts188WYuHxbA5Dmj8H1F7b4JoGolHIQKWVixZfnyQg9Qq2FDjXGwEFAtowO6bXHnB+PuLBD/LpbqcJEcTSjQkziYsjmduiQVQcLcmv6Jc1dN6H0XuOTRDIAmfxVQewjJm8yYQIf6F93MZdPeSZ5gWBl7s29h8WcjMHglLfmwIDAQAB</em:updateKey>
     <!-- Firefox -->
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>1.5</em:minVersion>
         <em:maxVersion>3.0.*</em:maxVersion>
       </Description>
     </em:targetApplication>
 
     <!-- SeaMonkey -->
     <em:targetApplication>
       <Description>
         <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
-        <em:minVersion>1.0</em:minVersion>
-        <em:maxVersion>2.0a1</em:maxVersion>
+        <em:minVersion>2.0a1pre</em:minVersion>
+        <em:maxVersion>2.0a3pre</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+
+    <!-- Sunbird -->
+    <em:targetApplication>
+      <Description>
+        <em:id>{718e30fb-e89b-41dd-9da7-e25a45638b28}</em:id>
+        <em:minVersion>0.7</em:minVersion>
+        <em:maxVersion>1.0pre</em:maxVersion>
       </Description>
     </em:targetApplication>
 
   </Description>
 
 </RDF>
