[Pkg-mozext-commits] [torbirdy] 01/06: Imported Upstream version 0.1.2

Jacob Appelbaum error at moszumanska.debian.org
Fri Feb 21 18:07:06 UTC 2014


This is an automated email from the git hooks/post-receive script.

error pushed a commit to branch master
in repository torbirdy.

commit 554c3326ebb77a309f4ee22c6ac6edb924f176d0
Author: Jacob Appelbaum <error at barriere.debian.org>
Date:   Fri Feb 21 17:12:44 2014 +0000

    Imported Upstream version 0.1.2
---
 LICENSE                                 |  22 ++
 README                                  |   6 +
 chrome.manifest                         |  30 ++
 chrome/content/accountpref.js           |  57 +++
 chrome/content/accountpref.xul          |  48 +++
 chrome/content/composeoverlay.js        |  85 +++++
 chrome/content/composeoverlay.xul       |   7 +
 chrome/content/emailwizard.js           | 135 +++++++
 chrome/content/emailwizard.xul          |  36 ++
 chrome/content/firstruninfo.js          |  19 +
 chrome/content/firstruninfo.xul         |  25 ++
 chrome/content/overlay.js               |  83 ++++
 chrome/content/overlay.xul              |  44 +++
 chrome/content/preferences.js           | 654 ++++++++++++++++++++++++++++++++
 chrome/content/preferences.xul          | 166 ++++++++
 chrome/locale/ar/torbirdy.dtd           |  63 +++
 chrome/locale/ar/torbirdy.properties    |  19 +
 chrome/locale/cs/torbirdy.dtd           |  63 +++
 chrome/locale/cs/torbirdy.properties    |  19 +
 chrome/locale/da/torbirdy.dtd           |  63 +++
 chrome/locale/da/torbirdy.properties    |  19 +
 chrome/locale/de/torbirdy.dtd           |  63 +++
 chrome/locale/de/torbirdy.properties    |  19 +
 chrome/locale/en/torbirdy.dtd           |  63 +++
 chrome/locale/en/torbirdy.properties    |  19 +
 chrome/locale/es/torbirdy.dtd           |  64 ++++
 chrome/locale/es/torbirdy.properties    |  19 +
 chrome/locale/eu/torbirdy.dtd           |  63 +++
 chrome/locale/eu/torbirdy.properties    |  19 +
 chrome/locale/fr/torbirdy.dtd           |  63 +++
 chrome/locale/fr/torbirdy.properties    |  19 +
 chrome/locale/he/torbirdy.dtd           |  63 +++
 chrome/locale/he/torbirdy.properties    |  19 +
 chrome/locale/it/torbirdy.dtd           |  63 +++
 chrome/locale/it/torbirdy.properties    |  19 +
 chrome/locale/lv/torbirdy.dtd           |  63 +++
 chrome/locale/lv/torbirdy.properties    |  19 +
 chrome/locale/nl/torbirdy.dtd           |  63 +++
 chrome/locale/nl/torbirdy.properties    |  19 +
 chrome/locale/pa/torbirdy.dtd           |  64 ++++
 chrome/locale/pa/torbirdy.properties    |  19 +
 chrome/locale/pl/torbirdy.dtd           |  63 +++
 chrome/locale/pl/torbirdy.properties    |  19 +
 chrome/locale/pt-BR/torbirdy.dtd        |  63 +++
 chrome/locale/pt-BR/torbirdy.properties |  19 +
 chrome/locale/sv/torbirdy.dtd           |  63 +++
 chrome/locale/sv/torbirdy.properties    |  19 +
 chrome/locale/tr/torbirdy.dtd           |  64 ++++
 chrome/locale/tr/torbirdy.properties    |  19 +
 chrome/locale/zh-CN/torbirdy.dtd        |  63 +++
 chrome/locale/zh-CN/torbirdy.properties |  19 +
 chrome/skin/castironthunderbirdclub.css |   1 +
 chrome/skin/contents.rdf                |  37 ++
 chrome/skin/images/jondo-16.png         | Bin 0 -> 557 bytes
 chrome/skin/images/tor-16.png           | Bin 0 -> 869 bytes
 chrome/skin/images/tor.png              | Bin 0 -> 40849 bytes
 chrome/skin/images/whonix-16.png        | Bin 0 -> 912 bytes
 components/torbirdy.js                  | 559 +++++++++++++++++++++++++++
 defaults/preferences/prefs.js           |  12 +
 install.rdf                             |  28 ++
 60 files changed, 3533 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..b6be8c1
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2012-2013, Jacob Appelbaum <jacob at torproject.org>
+Copyright (c) 2012-2013, Sukhbir Singh <sukhbir at torproject.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this
+list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README b/README
new file mode 100644
index 0000000..aa196be
--- /dev/null
+++ b/README
@@ -0,0 +1,6 @@
+TorBirdy is an extension that brings safe Tor support to Thunderbird.
+
+In theory, it should work with Icedove as well as other Thunderbird forks.
+
+Current home page:
+  https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome.manifest b/chrome.manifest
new file mode 100644
index 0000000..d0aaef6
--- /dev/null
+++ b/chrome.manifest
@@ -0,0 +1,30 @@
+content castironthunderbirdclub chrome/content/
+
+overlay chrome://messenger/content/messenger.xul chrome://castironthunderbirdclub/content/overlay.xul application={3550f703-e582-4d05-9a08-453d09bdfdc6}
+overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://castironthunderbirdclub/content/composeoverlay.xul
+overlay chrome://messenger/content/accountcreation/emailWizard.xul chrome://castironthunderbirdclub/content/emailwizard.xul
+
+component {ebd85413-18c8-4265-a708-a8890ec8d1ed} components/torbirdy.js
+contract @torproject.org/torbirdy;1 {ebd85413-18c8-4265-a708-a8890ec8d1ed}
+category profile-after-change TorBirdy @torproject.org/torbirdy;1
+
+locale castironthunderbirdclub ar chrome/locale/ar/
+locale castironthunderbirdclub cs chrome/locale/cs/
+locale castironthunderbirdclub da chrome/locale/da/
+locale castironthunderbirdclub de chrome/locale/de/
+locale castironthunderbirdclub en chrome/locale/en/
+locale castironthunderbirdclub es chrome/locale/es/
+locale castironthunderbirdclub eu chrome/locale/eu/
+locale castironthunderbirdclub fr chrome/locale/fr/
+locale castironthunderbirdclub he chrome/locale/he/
+locale castironthunderbirdclub it chrome/locale/it/
+locale castironthunderbirdclub lv chrome/locale/lv/
+locale castironthunderbirdclub nl chrome/locale/nl/
+locale castironthunderbirdclub pa chrome/locale/pa/
+locale castironthunderbirdclub pl chrome/locale/pl/
+locale castironthunderbirdclub pt-BR chrome/locale/pt-BR/
+locale castironthunderbirdclub sv chrome/locale/sv/
+locale castironthunderbirdclub tr chrome/locale/tr/
+locale castironthunderbirdclub zh-CN chrome/locale/zh-CN/
+
+skin castironthunderbirdclub classic/1.0 chrome/skin/
diff --git a/chrome/content/accountpref.js b/chrome/content/accountpref.js
new file mode 100644
index 0000000..4611086
--- /dev/null
+++ b/chrome/content/accountpref.js
@@ -0,0 +1,57 @@
+if (!org) var org = {};
+if (!org.torbirdy) org.torbirdy = {};
+
+if (!org.torbirdy.accountprefs) org.torbirdy.accountprefs = new function() {
+  var pub = {};
+
+  pub.account = window.arguments[0];
+
+  pub.onLoad = function() {
+    pub.nameLabel = document.getElementById("torbirdy-account-name");
+    pub.startup = document.getElementById("torbirdy-check-startup");
+    pub.dobiff = document.getElementById("torbirdy-check-new");
+    pub.biffminutes = document.getElementById("torbirdy-check-minutes");
+    pub.nameLabel.value = pub.account.prettyName;
+
+    if (pub.account.loginAtStartUp) {
+      pub.startup.checked = true;
+    } else {
+      pub.startup.checked = false;
+    }
+
+    if (pub.account.doBiff) {
+      pub.dobiff.checked = true;
+      pub.biffminutes.disabled = false;
+      pub.biffminutes.value = pub.account.biffMinutes;
+    } else {
+      pub.dobiff.checked = false;
+      pub.biffminutes.disabled = true;
+      pub.biffminutes.value = pub.account.biffMinutes;
+    }
+  };
+
+  pub.onAccept = function() {
+    if (pub.startup.checked) {
+      pub.account.loginAtStartUp = true;
+    } else {
+      pub.account.loginAtStartUp = false;
+    }
+
+    if (pub.dobiff.checked) {
+      pub.account.doBiff = true;
+      pub.account.biffMinutes = pub.biffminutes.value;
+    } else {
+      pub.account.doBiff = false;
+    }
+  };
+
+  pub.onToggleCheck = function() {
+    if (pub.biffminutes.disabled) {
+      pub.biffminutes.disabled = false;
+    } else {
+      pub.biffminutes.disabled = true;
+    }
+  };
+
+  return pub;
+};
diff --git a/chrome/content/accountpref.xul b/chrome/content/accountpref.xul
new file mode 100644
index 0000000..baf419e
--- /dev/null
+++ b/chrome/content/accountpref.xul
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://castironthunderbirdclub/locale/torbirdy.dtd">
+
+<dialog id="castironthunderbirdclub-account-pref"
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+        buttons="accept,cancel"
+        title="&torbirdy.accountprefs.title;"
+        persist="screenX screenY width height"
+        buttonlabelaccept="&torbirdy.accountprefs.save.button;"
+        buttonaccesskeyaccept="&torbirdy.accountprefs.save.key;"
+
+        onload="return org.torbirdy.accountprefs.onLoad();"
+        ondialogaccept="return org.torbirdy.accountprefs.onAccept();">
+
+   <script type="application/x-javascript"
+     src="chrome://castironthunderbirdclub/content/accountpref.js"></script>
+
+   <vbox>
+     <label id="torbirdy-account-name" style="font-weight: bold" />
+
+     <grid class="indent" flex="1">
+       <columns>
+         <column flex="2" />
+       </columns>
+
+       <rows>
+
+         <row>
+           <checkbox label="&torbirdy.accountprefs.startup.label;" id="torbirdy-check-startup" accesskey="&torbirdy.accountprefs.startup.key;" />
+         </row>
+
+
+         <row>
+           <hbox align="center">
+             <checkbox label="&torbirdy.accountprefs.minutes.label;" id="torbirdy-check-new" oncommand="org.torbirdy.accountprefs.onToggleCheck();" accesskey="&torbirdy.accountprefs.minutes.key;" control="torbirdy-check-minutes" />
+             <textbox id="torbirdy-check-minutes" type="number" size="2" value="0" />
+             <label value="&torbirdy.accountprefs.minutes.trail.label;" />
+           </hbox>
+         </row>
+
+       </rows>
+
+     </grid>
+   </vbox>
+
+</dialog>
diff --git a/chrome/content/composeoverlay.js b/chrome/content/composeoverlay.js
new file mode 100644
index 0000000..25402b3
--- /dev/null
+++ b/chrome/content/composeoverlay.js
@@ -0,0 +1,85 @@
+const Ci = Components.interfaces;
+const Cc = Components.classes;
+
+function torbirdyTextRandom() {
+  // Generate alphanumeric random numbers.
+  var inChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-=_";
+  var randomString = '';
+  for (var i = 0; i < 10; i++) {
+    var num = Math.floor(Math.random() * inChars.length);
+    randomString += inChars.substring(num, num+1);
+  }
+  return randomString;
+}
+
+function torbirdyHexString(charCode) {
+  return ("0" + charCode.toString(16)).slice(-2);
+}
+
+function send_event_handler(event) {
+  var msgcomposeWindow = document.getElementById("msgcomposeWindow");
+  var msg_type = msgcomposeWindow.getAttribute("msgtype");
+
+  var prefs = Cc["@mozilla.org/preferences-service;1"]
+                 .getService(Ci.nsIPrefBranch);
+
+  var is_custom_msg_id = prefs.getBoolPref("mailnews.custom_message_id");
+
+  if (is_custom_msg_id) {
+    // Only continue if this is an actual send event.
+    if (!(msg_type == nsIMsgCompDeliverMode.Now || msg_type == nsIMsgCompDeliverMode.Later))
+      return;
+
+    // We now generate the custom message-ID based on the approach described in tagnaq's paper.
+    var to_field = gMsgCompose.compFields.to;
+    var cc_field = gMsgCompose.compFields.cc;
+    var subject_field = gMsgCompose.compFields.subject;
+
+    // When a message is forwarded, remove the references header.
+    // See https://trac.torproject.org/projects/tor/ticket/6392
+    if (gMsgCompose.type === 3 || gMsgCompose.type === 4) {
+      gMsgCompose.compFields.references = '';
+    }
+
+    // Get the text of the body.
+    try {
+      var editor = GetCurrentEditor();
+      var body = editor.outputToString('text/plain', 4);
+    } catch(ex) {
+      // We couldn't get the editor.
+      var body = '';
+    }
+
+    // Generate an 'email' and append a random number. The SHA512 hash of this email will be used later.
+    var mail = to_field + cc_field + subject_field + body + Math.random();
+
+    // Generate a SHA512 hash of the string above.
+    var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
+                        .createInstance(Ci.nsIScriptableUnicodeConverter);
+    var ch = Cc["@mozilla.org/security/hash;1"]
+                 .createInstance(Ci.nsICryptoHash);
+    converter.charset = "UTF-8";
+
+    var result = {};
+    var data = converter.convertToByteArray(mail, result);
+    ch.init(ch.SHA512);
+    ch.update(data, data.length);
+
+    var hash = ch.finish(false);
+    var pref_hash = [torbirdyHexString(hash.charCodeAt(i)) for (i in hash)].join("").slice(0, 40);
+    // Randomize characters to upper case and lower case.
+    var choices = [true, false];
+    pref_hash = [choices[Math.floor(Math.random() * choices.length)] ?
+                        e.toUpperCase() : e.toLowerCase() for each (e in pref_hash.split(""))].join("");
+
+    // Introduce more randomness.
+    var randomString = torbirdyTextRandom();
+    var message_id = pref_hash + randomString;
+
+    // Set the preference to use the custom generated header ID.
+    // This is the message-ID that will be used in the outgoing message.
+    prefs.setCharPref("mailnews.header.custom_message_id", message_id);
+  }
+}
+
+window.addEventListener("compose-send-message", send_event_handler, true);
diff --git a/chrome/content/composeoverlay.xul b/chrome/content/composeoverlay.xul
new file mode 100644
index 0000000..b9e8aea
--- /dev/null
+++ b/chrome/content/composeoverlay.xul
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<overlay id="castironthunderbirdclub-compose-overlay"
+    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <script type="application/javascript" src="chrome://castironthunderbirdclub/content/composeoverlay.js" />
+
+</overlay>
diff --git a/chrome/content/emailwizard.js b/chrome/content/emailwizard.js
new file mode 100644
index 0000000..d4b2c3a
--- /dev/null
+++ b/chrome/content/emailwizard.js
@@ -0,0 +1,135 @@
+if (!org) var org = {};
+if (!org.torbirdy) org.torbirdy = {};
+
+if(!org.torbirdy.emailwizard) org.torbirdy.emailwizard = new function() {
+  var pub = {};
+
+  var prefs = Cc["@mozilla.org/preferences-service;1"]
+                .getService(Ci.nsIPrefBranch);
+
+  // Check if we are running Tails. If yes, disable the manual account
+  // configuration wizard since Tails handles that on its own. See:
+  // https://tails.boum.org/todo/Return_of_Icedove__63__/#index6h2
+  // This is also disabled if "extensions.torbirdy.emailwizard" is true.
+  var disableWizard = false;
+  if (prefs.prefHasUserValue("vendor.name")) {
+    if (prefs.getCharPref("vendor.name") === "Tails") {
+      disableWizard = true;
+    }
+  }
+  if (prefs.getBoolPref("extensions.torbirdy.emailwizard")) {
+    disableWizard = true;
+  }
+
+  pub.disableAutoWizard = function() {
+    if (!disableWizard) {
+      var realname = document.getElementById("realname").value;
+      var email = document.getElementById("email").value;
+      var password = document.getElementById("password").value;
+      var rememberPassword = document.getElementById("remember_password").checked;
+      var protocol = document.getElementById("torbirdy-protocol").value;
+
+      var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
+                                    .getService(Ci.nsIPromptService);
+
+      var bundles = Cc["@mozilla.org/intl/stringbundle;1"]
+                              .getService(Ci.nsIStringBundleService);
+      var strings = bundles.createBundle("chrome://castironthunderbirdclub/locale/torbirdy.properties");
+      var emailPrompt = strings.formatStringFromName("torbirdy.email.prompt", [email], 1);
+      var extName = strings.GetStringFromName("torbirdy.name");
+      prompts.alert(null, extName, emailPrompt);
+
+      var config = new AccountConfig();
+      config.incoming.type = protocol;
+
+      config.incoming.username = "%EMAILLOCALPART%";
+      config.outgoing.username = "%EMAILLOCALPART%";
+
+      if (protocol === "imap") {
+        config.incoming.hostname = "imap.%EMAILDOMAIN%";
+        config.incoming.port = 993;
+      }
+
+      if (protocol === "pop3") {
+        config.incoming.hostname = "pop.%EMAILDOMAIN%";
+        config.incoming.port = 995;
+      }
+
+      // Default to SSL for both outgoing and incoming servers.
+      config.incoming.socketType = 2;
+      config.outgoing.socketType = 2;
+
+      // Set the authentication to 'Normal' (connection is already encrypted).
+      config.incoming.auth = 3;
+      config.outgoing.auth = 3;
+
+      // Set default values to disable automatic email fetching.
+      config.incoming.loginAtStartup = false;
+      config.incoming.downloadOnBiff = false;
+
+      // Default the outgoing SMTP port.
+      config.outgoing.port = 465;
+
+      config.outgoing.hostname = "smtp.%EMAILDOMAIN%";
+
+      replaceVariables(config, realname, email, password);
+      config.rememberPassword = rememberPassword && !!password;
+
+      var newAccount = createAccountInBackend(config);
+
+      // Set check_new_mail to false. We can't do this through the account setup, so let's do it here.
+      var checkNewMail = 'mail.server.%serverkey%.check_new_mail';
+      var serverkey = newAccount.incomingServer.key;
+      var checkNewMailPref = checkNewMail.replace("%serverkey%", serverkey);
+      prefs.setBoolPref(checkNewMailPref, false);
+
+      // From comm-release/mailnews/base/prefs/content/accountcreation/emailWizard.js : onAdvancedSetup().
+      var windowManager = Cc["@mozilla.org/appshell/window-mediator;1"]
+          .getService(Ci.nsIWindowMediator);
+      var existingAccountManager = windowManager
+          .getMostRecentWindow("mailnews:accountmanager");
+      if (existingAccountManager) {
+        existingAccountManager.focus();
+      } else {
+        window.openDialog("chrome://messenger/content/AccountManager.xul",
+                          "AccountManager", "chrome,centerscreen,modal,titlebar",
+                          { server: newAccount.incomingServer,
+                            selectPage: "am-server.xul" });
+      }
+      window.close();
+    }
+    else {
+      gEmailConfigWizard.onNext();
+    }
+  };
+
+  pub.onKeyEnter = function(event) {
+    var keycode = event.keyCode;
+    if (keycode == 13) {
+      if (document.getElementById("next_button").disabled === false) {
+        if (!disableWizard) {
+          pub.disableAutoWizard();
+        }
+        else {
+          gEmailConfigWizard.onNext();
+        }
+      }
+    }
+  };
+
+  pub.onLoad = function() {
+    if (disableWizard) {
+      document.getElementById("torbirdy-protocol-box").collapsed = true;
+      document.getElementById("provisioner_button").disabled = false;
+      document.getElementById("provisioner_button").hidden = false;
+    } else {
+      document.getElementById("provisioner_button").disabled = true;
+      document.getElementById("provisioner_button").hidden = true;
+    }
+  };
+
+  return pub;
+};
+
+window.addEventListener("keypress", org.torbirdy.emailwizard.onKeyEnter, true);
+window.addEventListener("load", org.torbirdy.emailwizard.onLoad, true);
diff --git a/chrome/content/emailwizard.xul b/chrome/content/emailwizard.xul
new file mode 100644
index 0000000..72fad2a
--- /dev/null
+++ b/chrome/content/emailwizard.xul
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<overlay id="castironthunderbirdclub-emailwizard-overlay"
+    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <script type="application/javascript" src="chrome://castironthunderbirdclub/content/emailwizard.js" />
+
+  <stringbundleset id="stringbundleset">
+    <stringbundle id="torbirdy-strings-emailwizard" src="chrome://castironthunderbirdclub/locale/torbirdy.properties"/>
+  </stringbundleset>
+
+  <button id="next_button"
+      oncommand="org.torbirdy.emailwizard.disableAutoWizard();" />
+
+  <vbox id="mastervbox" flex="1">
+    <groupbox id="torbirdy-protocol-box" class="indent" insertafter="initialSettings">
+
+      <hbox align="center" pack="start">
+        <label value="Protocol:"
+               class="autoconfigLabel"
+               accesskey="o"
+               control="protocol" />
+
+        <menulist id="torbirdy-protocol">
+          <menupopup>
+            <menuitem label="POP3"
+                      value="pop3" />
+            <menuitem label="IMAP"
+                      value="imap" />
+          </menupopup>
+        </menulist>
+
+      </hbox>
+    </groupbox>
+  </vbox>
+
+</overlay>
diff --git a/chrome/content/firstruninfo.js b/chrome/content/firstruninfo.js
new file mode 100644
index 0000000..cecae4a
--- /dev/null
+++ b/chrome/content/firstruninfo.js
@@ -0,0 +1,19 @@
+if (!org) var org = {};
+if (!org.torbirdy) org.torbirdy = {};
+
+if (!org.torbirdy.firstrun) org.torbirdy.firstrun = new function() {
+  var pub = {};
+
+  pub.onLoad = function() {
+    var strings = document.getElementById("torbirdy-strings-firstrun");
+
+    var description = document.getElementById("torbirdy-firstrun-info");
+    description.textContent = strings.getString("torbirdy.firstrun");
+
+    var torbirdyWebsite = strings.getString("torbirdy.website");
+    var website = document.getElementById("torbirdy-website");
+    website.value = torbirdyWebsite;
+  };
+
+  return pub;
+};
diff --git a/chrome/content/firstruninfo.xul b/chrome/content/firstruninfo.xul
new file mode 100644
index 0000000..43f1d66
--- /dev/null
+++ b/chrome/content/firstruninfo.xul
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://castironthunderbirdclub/locale/torbirdy.dtd">
+
+<dialog id="castironthunderbird-firstrun-info" 
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+        title="&torbirdy.firstrun.title;"
+        buttons="accept"
+        onload="return org.torbirdy.firstrun.onLoad();"
+        ondialogaccept="window.close();">
+
+   <script type="application/x-javascript"
+     src="chrome://castironthunderbirdclub/content/firstruninfo.js"></script>
+
+   <stringbundleset id="stringbundleset">
+     <stringbundle id="torbirdy-strings-firstrun" src="chrome://castironthunderbirdclub/locale/torbirdy.properties"/>
+   </stringbundleset>
+
+   <vbox flex="1" pack="start">
+     <description id="torbirdy-firstrun-info" style="white-space: pre-wrap; width: 400px"></description>
+     <textbox id="torbirdy-website" readonly="true" />
+   </vbox>
+
+</dialog>
diff --git a/chrome/content/overlay.js b/chrome/content/overlay.js
new file mode 100644
index 0000000..3e8f997
--- /dev/null
+++ b/chrome/content/overlay.js
@@ -0,0 +1,83 @@
+(function() {
+  const Cc = Components.classes;
+  const Ci = Components.interfaces;
+
+  var prefs = Cc["@mozilla.org/preferences-service;1"]
+                    .getService(Ci.nsIPrefBranch);
+  var env = Cc["@mozilla.org/process/environment;1"]
+                    .getService(Ci.nsIEnvironment);
+
+  if (!(prefs.getBoolPref('extensions.torbirdy.startup_folder'))) {
+    if (window.gFolderTreeView) {
+      gFolderTreeView.selectFolder = function() { return; }
+    }
+  };
+
+  window.TorBirdy = {
+    onLoad: function() {
+      var infoRun = "extensions.torbirdy.info_run";
+      if (prefs.getBoolPref(infoRun)) {
+        window.open("chrome://castironthunderbirdclub/content/firstruninfo.xul",
+                    "FirstRunWindow",
+                    "chrome, dialog, centerscreen, resizable=no");
+        prefs.setBoolPref(infoRun, false);
+      }
+
+      // Set the time zone to UTC if the preference is true.
+      if (prefs.getBoolPref("extensions.torbirdy.timezone")) {
+        env.set('TZ', 'UTC');
+      }
+
+      // Check if we are running Whonix.
+      var whonix = false;
+      if (env.exists("WHONIX")) {
+        whonix = true;
+      }
+
+      var myPanel = document.getElementById("torbirdy-my-panel");
+      var strbundle = document.getElementById("torbirdy-strings-overlay");
+
+      // If all other preferences have been set in `components/torbirdy.js'
+      if (prefs.getBoolPref("extensions.torbirdy.protected")) {
+        var type = prefs.getIntPref("extensions.torbirdy.proxy");
+        myPanel.style.color = "green";
+
+        // Tor.
+        if (type === 0) {
+          myPanel.label = strbundle.getString("torbirdy.enabled.tor");
+        }
+        // JonDo/Whonix.
+        if (type === 1) {
+          if (prefs.getIntPref("extensions.torbirdy.proxy.type") === 0) {
+            myPanel.label = strbundle.getString("torbirdy.enabled.jondo");
+          }
+          if (prefs.getIntPref("extensions.torbirdy.proxy.type") === 1) {
+            myPanel.label = strbundle.getString("torbirdy.enabled.whonix");
+          }
+        }
+        // Custom.
+        if (type === 2) {
+          myPanel.label = strbundle.getString("torbirdy.enabled.custom");
+        }
+        // Whonix.
+        if (whonix && prefs.getBoolPref("extensions.torbirdy.whonix_run")) {
+          myPanel.label = strbundle.getString("torbirdy.enabled.whonix");
+          org.torbirdy.prefs.setProxyWhonix();
+        }
+        // Transparent Torification.
+        if (type === 3) {
+          myPanel.label = strbundle.getString("torbirdy.enabled.torification");
+          myPanel.style.color = "red";
+        }
+        prefs.setBoolPref("extensions.torbirdy.whonix_run", false);
+      }
+      else {
+        myPanel.label = strbundle.getString("torbirdy.enabled.disabled");
+        myPanel.style.color = "red";
+      }
+    }
+  };
+
+})();
+
+window.addEventListener("load", function() { TorBirdy.onLoad(); }, false);
diff --git a/chrome/content/overlay.xul b/chrome/content/overlay.xul
new file mode 100644
index 0000000..33a3d13
--- /dev/null
+++ b/chrome/content/overlay.xul
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://castironthunderbirdclub/locale/torbirdy.dtd">
+
+<overlay id="castironthunderbirdclub-extension-overlay"
+    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <script type="application/javascript" src="chrome://castironthunderbirdclub/content/overlay.js" />
+  <script type="application/javascript" src="chrome://castironthunderbirdclub/content/preferences.js" />
+
+  <stringbundleset id="stringbundleset">
+    <stringbundle id="torbirdy-strings-overlay" src="chrome://castironthunderbirdclub/locale/torbirdy.properties"/>
+  </stringbundleset>
+
+  <statusbar id="status-bar">
+      <statusbarpanel id="torbirdy-my-panel" label="" popup="torbirdy-proxy-list" />
+  </statusbar>
+
+  <popupset>
+    <menupopup id="torbirdy-proxy-list" position="after_start">
+      <menuitem id="torbirdy-whonix-selection"
+                class="menuitem-iconic"
+                image="chrome://castironthunderbirdclub/skin/images/whonix-16.png"
+                label="&torbirdy.panel.usewhonix.label;"
+                oncommand="org.torbirdy.prefs.setProxyWhonix();" />
+      <menuitem id="torbirdy-jondo-selection"
+                class="menuitem-iconic"
+                image="chrome://castironthunderbirdclub/skin/images/jondo-16.png"
+                label="&torbirdy.panel.usejondo.label;"
+                oncommand="org.torbirdy.prefs.setProxyJonDo();" />
+      <menuitem id="torbirdy-tor-selection"
+                class="menuitem-iconic"
+                image="chrome://castironthunderbirdclub/skin/images/tor-16.png"
+                label="&torbirdy.panel.usetor.label;"
+                oncommand="org.torbirdy.prefs.setProxyTor();" />
+      <menuseparator />
+      <menuitem id="torbirdy-preferences-selection"
+                class="menuitem-iconic"
+                label="&torbirdy.panel.preferences.label;"
+                oncommand="window.openDialog('chrome://castironthunderbirdclub/content/preferences.xul');"/>
+    </menupopup>
+  </popupset>
+
+</overlay>
diff --git a/chrome/content/preferences.js b/chrome/content/preferences.js
new file mode 100644
index 0000000..80a192b
--- /dev/null
+++ b/chrome/content/preferences.js
@@ -0,0 +1,654 @@
+if (!org) var org = {};
+if (!org.torbirdy) org.torbirdy = {};
+
+if (!org.torbirdy.prefs) org.torbirdy.prefs = new function() {
+  var pub = {};
+
+  pub.prefBranch = "extensions.torbirdy.";
+  pub.customBranch = "extensions.torbirdy.custom.";
+
+  pub.torKeyserver = "hkp://2eghzlv2wwcq7u7y.onion";
+  pub.jondoKeyserver = "hkp://pool.sks-keyservers.net";
+
+  pub.prefs = Components.classes["@mozilla.org/preferences-service;1"]
+                  .getService(Components.interfaces.nsIPrefBranch);
+
+  pub.torBirdyPref = Components.classes["@mozilla.org/preferences-service;1"]
+                         .getService(Components.interfaces.nsIPrefService).getBranch(pub.customBranch);
+
+  pub.acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
+                    .getService(Components.interfaces.nsIMsgAccountManager);
+
+  var bundles = Components.classes["@mozilla.org/intl/stringbundle;1"]
+                        .getService(Components.interfaces.nsIStringBundleService);
+  pub.strBundle = bundles.createBundle("chrome://castironthunderbirdclub/locale/torbirdy.properties");
+
+  pub.setDefaultPrefs = function() {
+    pub.prefs.setCharPref("network.proxy.socks", "127.0.0.1");
+    pub.prefs.setIntPref("network.proxy.socks_port", 9150);
+    pub.prefs.clearUserPref("network.proxy.http");
+    pub.prefs.clearUserPref("network.proxy.http_port");
+    pub.prefs.clearUserPref("network.proxy.ssl");
+    pub.prefs.clearUserPref("network.proxy.ssl_port");
+  };
+
+  pub.resetNetworkProxy = function() {
+    pub.prefs.setIntPref("network.proxy.type", 1);
+  };
+
+  pub.setEnigmailPrefs = function(anonService) {
+    if (pub.prefs.getBoolPref("extensions.torbirdy.enigmail.throwkeyid")) {
+      if (anonService === "tor") {
+        return "--no-emit-version " +
+               "--no-comments " +
+               "--throw-keyids " +
+               "--display-charset utf-8 " +
+               "--keyserver-options no-auto-key-retrieve,no-try-dns-srv,http-proxy=http://127.0.0.1:8118";
+      }
+      if (anonService === "jondo") {
+        return "--no-emit-version " +
+               "--no-comments " +
+               "--throw-keyids " +
+               "--display-charset utf-8 " +
+               "--keyserver-options no-auto-key-retrieve,no-try-dns-srv,http-proxy=http://127.0.0.1:4001";
+      }
+    }
+    else {
+      if (anonService === "tor") {
+        return "--no-emit-version " +
+               "--no-comments " +
+               "--display-charset utf-8 " +
+               "--keyserver-options no-auto-key-retrieve,no-try-dns-srv,http-proxy=http://127.0.0.1:8118";
+      }
+      if (anonService === "jondo") {
+        return "--no-emit-version " +
+               "--no-comments " +
+               "--display-charset utf-8 " +
+               "--keyserver-options no-auto-key-retrieve,no-try-dns-srv,http-proxy=http://127.0.0.1:4001";
+      }
+    }
+  };
+
+  pub.updateKeyserver = function(anonService) {
+    var extension = "extensions.enigmail.keyserver";
+    var keyserver = pub.enigmailKeyserver;
+    if (typeof keyserver === "undefined") {
+      var keyserverValue = (anonService === "tor") ? pub.torKeyserver : pub.jondoKeyserver;
+    } else {
+      var keyserverValue = keyserver.value;
+    }
+    if (anonService === "tor") {
+      pub.setPreferences(extension, keyserverValue);
+    }
+    if (anonService === "jondo") {
+      pub.setPreferences(extension, keyserverValue);
+    }
+  };
+
+  pub.restoreEnigmailPrefs = function() {
+    pub.prefs.setCharPref("extensions.enigmail.agentAdditionalParam", pub.setEnigmailPrefs("tor"));
+    pub.updateKeyserver("tor");
+  };
+
+  pub.clearCustomPrefs = function() {
+    var customPrefs = pub.torBirdyPref.getChildList("", {});
+    for (var i = 0; i < customPrefs.length; i++) {
+      pub.prefs.clearUserPref(pub.customBranch + customPrefs[i]);
+    }
+  };
+
+  pub.clearSinglePref = function(pref) {
+    pub.prefs.clearUserPref(pub.customBranch + pref);
+  };
+
+  pub.fetchAllMessages = function() {
+    if (pub.fetchAllMails.checked) {
+      pub.imapIdle.checked = true;
+      pub.startupFolder.checked = true;
+    }
+    else {
+      pub.imapIdle.checked = false;
+      pub.startupFolder.checked = false;
+    }
+  };
+
+  pub.checkSetting = function() {
+    var index = pub.anonService.selectedIndex;
+    if (index === 2) {
+      pub.socksHost.disabled = false;
+      pub.socksPort.disabled = false;
+    }
+    else {
+      pub.socksHost.disabled = true;
+      pub.socksPort.disabled = true;
+    }
+
+    if (index === 1) {
+      pub.anonCustomService.disabled = false;
+      var service = pub.anonCustomService.selectedIndex;
+      if (pub.anonCustomService.selectedIndex === 0) {
+        pub.enigmailKeyserver.value = pub.jondoKeyserver;
+      }
+      if (pub.anonCustomService.selectedIndex === 1) {
+        pub.enigmailKeyserver.value = pub.torKeyserver;
+      }
+    } else {
+      pub.anonCustomService.disabled = true;
+    }
+    if (index === 0 || index === 2 || index === 3) {
+      pub.enigmailKeyserver.value = pub.torKeyserver;
+    }
+  };
+
+  pub.getAccount = function() {
+    var mailAccounts = [];
+    var accounts = pub.acctMgr.accounts;
+
+    // Maintain Gecko 17+ and Gecko < 17 compatibility.
+    if (accounts.queryElementAt) {
+      for (var i = 0; i < accounts.length; i++) {
+        var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount).incomingServer;
+        var name = account.prettyName;
+        if (!(name === "Local Folders")) {
+          mailAccounts.push(account);
+        }
+      }
+    } else {
+      for (var i = 0; i < accounts.Count(); i++) {
+        var account = accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount).incomingServer;
+        var name = account.prettyName;
+        if (!(name === "Local Folders")) {
+          mailAccounts.push(account);
+        }
+      }
+    }
+    return mailAccounts;
+  };
+
+  pub.selectMailAccount = function() {
+    var index = pub.mailAccount.selectedIndex;
+
+    if (!(index === 0)) {
+      // For email accounts, configure accordingly.
+      var sAccount = null;
+      var account = pub.getAccount();
+      for (var i = 0; i < account.length; i++) {
+        if (account[i].key === pub.mailAccount.value) {
+          sAccount = i;
+        }
+      }
+      // Configure the account.
+      window.openDialog("chrome://castironthunderbirdclub/content/accountpref.xul",
+                       "AccountPrefWindow",
+                       "chrome, centerscreen, modal, resizable=yes",
+                       account[sAccount]).focus();
+      }
+    pub.mailAccount.selectedIndex = 0;
+  };
+
+  pub.setPanelSettings = function(proxyname, color) {
+    var win = Components.classes['@mozilla.org/appshell/window-mediator;1']
+             .getService(Components.interfaces.nsIWindowMediator)
+             .getMostRecentWindow('mail:3pane');
+    pub.myPanel = win.document.getElementById("torbirdy-my-panel");
+    pub.myPanel.label = proxyname;
+    pub.myPanel.style.color = color;
+  };
+
+  pub.resetAll = function() {
+    pub.resetNetworkProxy();
+    pub.setDefaultPrefs();
+    pub.clearCustomPrefs();
+    pub.restoreEnigmailPrefs();
+  };
+
+  pub.setPreferences = function(preference, value) {
+    // Set the preferences both for Thunderbird and our custom branch.
+    if (typeof value === "string") {
+      pub.prefs.setCharPref(preference, value);
+      pub.prefs.setCharPref(pub.customBranch + preference, value);
+    }
+    if (typeof value === "boolean") {
+      pub.prefs.setBoolPref(preference, value);
+      pub.prefs.setBoolPref(pub.customBranch + preference, value);
+    }
+    if (typeof value === "number") {
+      pub.prefs.setIntPref(preference, value);
+      pub.prefs.setIntPref(pub.customBranch + preference, value);
+    }
+  };
+
+  pub.setProxyTor = function() {
+    // Set Tor proxy
+    pub.resetAll();
+
+    pub.setPanelSettings(pub.strBundle.GetStringFromName("torbirdy.enabled.tor"), "green");
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy', 0);
+  };
+
+  pub.setProxyJonDo = function() {
+    pub.resetNetworkProxy();
+    pub.clearCustomPrefs();
+
+    pub.setPreferences("network.proxy.socks", "127.0.0.1");
+    pub.setPreferences("network.proxy.socks_port", 4001);
+
+    // SSL.
+    pub.setPreferences("network.proxy.ssl", "127.0.0.1");
+    pub.setPreferences("network.proxy.ssl_port", 4001);
+    // HTTP.
+    pub.setPreferences("network.proxy.http", "127.0.0.1");
+    pub.setPreferences("network.proxy.http_port", 4001);
+    // Disable pipelining.
+    pub.setPreferences("network.http.pipelining", false);
+    pub.setPreferences("network.http.pipelining.ssl", false);
+    pub.setPreferences("network.http.proxy.pipelining", false);
+    // Enigmail.
+    pub.setPreferences("extensions.enigmail.agentAdditionalParam", pub.setEnigmailPrefs("jondo"));
+    pub.updateKeyserver("jondo");
+
+    pub.setPanelSettings(pub.strBundle.GetStringFromName("torbirdy.enabled.jondo"), "green");
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy', 1);
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy.type', 0);
+  };
+
+  pub.setProxyWhonix = function() {
+    pub.resetAll();
+
+    pub.setPreferences("network.proxy.socks", "192.168.0.10");
+    pub.setPreferences("network.proxy.socks_port", 9102);
+
+    pub.setPanelSettings(pub.strBundle.GetStringFromName("torbirdy.enabled.whonix"), "green");
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy', 1);
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy.type', 1);
+  };
+
+  pub.setProxyCustom = function() {
+    pub.resetAll();
+
+    var socksHost = pub.socksHost.value;
+    var socksPort = pub.socksPort.value;
+
+    // Set them now.
+    pub.setPreferences("network.proxy.socks", socksHost);
+    pub.setPreferences("network.proxy.socks_port", parseInt(socksPort, 10));
+
+    pub.setPanelSettings(pub.strBundle.GetStringFromName("torbirdy.enabled.custom"), "green");
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy', 2);
+  };
+
+  pub.setProxyTransparent = function() {
+    pub.setPreferences("network.proxy.type", 0);
+
+    pub.setPanelSettings(pub.strBundle.GetStringFromName("torbirdy.enabled.torification"), "red");
+    pub.prefs.setIntPref(pub.prefBranch + 'proxy', 3);
+  };
+
+  /*
+   Save
+  */
+
+  pub.onAccept = function() {
+    var index = pub.anonService.selectedIndex;
+
+    // Default (recommended) settings for TorBirdy.
+    if (index === 0) {
+      // Set proxies for Tor.
+      pub.setProxyTor();
+    }
+
+    // Anonymization service.
+    if (index === 1) {
+      var anonServiceType = pub.anonCustomService.selectedIndex;
+      if (anonServiceType === 0 || typeof anonServiceType === "undefined") {
+        // Set proxies for JonDo.
+        pub.setProxyJonDo();
+      }
+      if (anonServiceType === 1) {
+        // Set Whonix.
+        pub.setProxyWhonix();
+      }
+    }
+
+    // Custom proxy.
+    if (index === 2) {
+      pub.setProxyCustom();
+    }
+
+    // Transparent Anonymisation.
+    if (index === 3) {
+      // Disable the proxy.
+      pub.setProxyTransparent();
+    }
+
+    /*
+      Privacy
+    */
+    var idlePref = 'mail.server.default.use_idle';
+    if (pub.imapIdle.checked) {
+      pub.setPreferences(idlePref, true);
+    }
+    else {
+      pub.setPreferences(idlePref, false);
+    }
+
+    // Last accessed folder.
+    // default: false
+    if (pub.startupFolder.checked) {
+      pub.prefs.setBoolPref(pub.prefBranch + 'startup_folder', true);
+    } else {
+      pub.prefs.setBoolPref(pub.prefBranch + 'startup_folder', false);
+    }
+
+    // Time zone.
+    // default: true
+    var timezone = pub.timezone.checked;
+    // Only update pub if required.
+    if (timezone === pub.prefs.getBoolPref(pub.prefBranch + 'timezone')) {
+        var env = Components.classes["@mozilla.org/process/environment;1"]
+                                      .getService(Components.interfaces.nsIEnvironment);
+        if (timezone) {
+          pub.prefs.setBoolPref(pub.prefBranch + 'timezone', false);
+          env.set('TZ', '');
+        } else {
+          pub.prefs.setBoolPref(pub.prefBranch + 'timezone', true);
+          env.set('TZ', 'UTC');
+        }
+
+        // Ask the user to restart Thunderbird. We can't do pub for the user
+        // because the environment variables are not reset without quitting
+        // Thunderbird and starting it again.
+        var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
+                                        .getService(Components.interfaces.nsIPromptService);
+        prompts.alert(null, pub.strBundle.GetStringFromName("torbirdy.name"),
+                            pub.strBundle.GetStringFromName("torbirdy.restart"));
+    }
+
+    // Fetch all messages for all accounts.
+    // default: false
+    // Only change the state if it is required.
+    if (pub.fetchAllMails.checked !== pub.prefs.getBoolPref(pub.prefBranch + 'fetchall')) {
+      var accounts = pub.getAccount();
+      if (pub.fetchAllMails.checked) {
+        pub.prefs.setBoolPref(pub.prefBranch + 'fetchall', true);
+        for (var i = 0; i < accounts.length; i++) {
+          accounts[i].loginAtStartUp = true;
+          accounts[i].doBiff = true;
+        }
+      }
+      else {
+        pub.prefs.setBoolPref(pub.prefBranch + 'fetchall', false);
+        for (var i = 0; i < accounts.length; i++) {
+          accounts[i].loginAtStartUp = false;
+          accounts[i].doBiff = false;
+        }
+      }
+    }
+
+    // Enigmail.
+    // --throw-keyids - default: false
+    if (pub.enigmailKeyId.checked) {
+      pub.prefs.setBoolPref(pub.prefBranch + 'enigmail.throwkeyid', true);
+    }
+    else {
+      pub.prefs.setBoolPref(pub.prefBranch + 'enigmail.throwkeyid', false);
+    }
+
+    // Confirm before sending - default: false
+    var enigmailConfirmPref = "extensions.enigmail.confirmBeforeSend";
+    if (pub.enigmailConfirmEmail.checked) {
+      pub.prefs.setBoolPref(enigmailConfirmPref, true);
+      pub.prefs.setBoolPref(pub.prefBranch + 'enigmail.confirmemail', true);
+    } else {
+      pub.prefs.setBoolPref(enigmailConfirmPref, false);
+      pub.prefs.setBoolPref(pub.prefBranch + 'enigmail.confirmemail', false);
+    }
+
+    // Thunderbird's email wizard - default: false
+    if (pub.emailWizard.checked) {
+      pub.prefs.setBoolPref(pub.prefBranch + 'emailwizard', true);
+    } else {
+      pub.prefs.setBoolPref(pub.prefBranch + 'emailwizard', false);
+    }
+
+    // Insecure renegotiation - default: false (opt-out for mailservers that do
+    // not support secure renegotiation yet)
+    var securityRenegotiation = 'security.ssl.require_safe_negotiation';
+    var securityWarn = 'security.ssl.treat_unsafe_negotiation_as_broken';
+    if (pub.secureRenegotiation.checked) {
+      pub.setPreferences(securityRenegotiation, false);
+      pub.setPreferences(securityWarn, false);
+    } else {
+      pub.clearSinglePref(securityRenegotiation);
+      pub.clearSinglePref(securityWarn);
+    }
+
+    if (index === 1) {
+      // JonDo.
+      if (pub.anonCustomService.selectedIndex === 0) {
+        pub.setPreferences("extensions.enigmail.agentAdditionalParam", pub.setEnigmailPrefs("jondo"));
+      }
+      // Whonix.
+      if (pub.anonCustomService.selectedIndex === 1) {
+        pub.setPreferences("extensions.enigmail.agentAdditionalParam", pub.setEnigmailPrefs("tor"));
+      }
+    }
+    if (index === 0 || index === 2 || index === 3) {
+      pub.setPreferences("extensions.enigmail.agentAdditionalParam", pub.setEnigmailPrefs("tor"));
+    }
+  };
+
+  /*
+    Load
+  */
+
+  pub.onLoad = function() {
+    // Proxy.
+    pub.anonCustomService = document.getElementById('torbirdy-anonservice');
+    pub.anonService = document.getElementById('torbirdy-proxy-settings');
+    pub.anonType = document.getElementById('torbirdy-anon-settings');
+    pub.socksHost = document.getElementById('torbirdy-socks-host');
+    pub.socksPort = document.getElementById('torbirdy-socks-port');
+    pub.torification = document.getElementById('torbirdy-torification');
+    // Privacy.
+    pub.mailAccount = document.getElementById('torbirdy-mail-accounts');
+    pub.imapIdle = document.getElementById('torbirdy-idle');
+    pub.startupFolder = document.getElementById('torbirdy-startup-folder');
+    pub.timezone = document.getElementById('torbirdy-timezone');
+    pub.emailWizard = document.getElementById('torbirdy-email-wizard');
+    pub.fetchAllMails = document.getElementById('torbirdy-email-automatic');
+    // Enigmail.
+    pub.enigmailKeyId = document.getElementById('torbirdy-enigmail-throwkeyid');
+    pub.enigmailKeyserver = document.getElementById('torbirdy-enigmail-keyserver');
+    pub.enigmailConfirmEmail = document.getElementById('torbirdy-confirm-email');
+    // Security.
+    pub.secureRenegotiation = document.getElementById('torbirdy-renegotiation');
+
+    // Make sure the user really wants to change these settings.
+    var warnPrompt = pub.prefs.getBoolPref("extensions.torbirdy.warn");
+
+    if (warnPrompt) {
+      var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
+                              .getService(Components.interfaces.nsIPromptService);
+      var check = {value: true};
+      var result = prompts.confirmCheck(null, pub.strBundle.GetStringFromName('torbirdy.email.advanced.title'),
+                                              pub.strBundle.GetStringFromName('torbirdy.email.advanced'),
+                                              pub.strBundle.GetStringFromName('torbirdy.email.advanced.nextwarning'),
+                                              check);
+      if (!result) {
+        window.close();
+      } else {
+        if (!check.value) {
+          pub.prefs.setBoolPref("extensions.torbirdy.warn", false);
+        }
+      }
+    }
+
+    /*
+     PROXY
+    */
+    // Load the preference values.
+    var anonService = pub.prefs.getIntPref(pub.prefBranch + 'proxy');
+    pub.anonService.selectedIndex = anonService;
+
+    pub.socksHost.value = pub.prefs.getCharPref("network.proxy.socks");
+    pub.socksPort.value = pub.prefs.getIntPref("network.proxy.socks_port");
+
+    // Tor.
+    if (anonService === 0) {
+      pub.socksHost.value = '127.0.0.1';
+      pub.socksPort.value = '9150';
+    }
+
+    // JonDo/Whonix.
+    if (anonService === 1) {
+      var anonCustomService = pub.prefs.getIntPref(pub.prefBranch + 'proxy.type');
+      pub.anonType.disabled = false;
+      pub.anonCustomService.disabled = false;
+      pub.anonCustomService.selectedIndex = anonCustomService;
+    }
+
+    // Custom.
+    if (anonService === 2) {
+      var socksHost = pub.prefs.getCharPref(pub.customBranch + 'network.proxy.socks');
+      var socksPort = pub.prefs.getIntPref(pub.customBranch + 'network.proxy.socks_port');
+
+      pub.socksHost.value = socksHost;
+      pub.socksPort.value = socksPort;
+      // Enable the settings.
+      pub.socksHost.disabled = false;
+      pub.socksPort.disabled = false;
+    }
+
+    /*
+     Privacy
+    */
+    // Global settings.
+    // IDLE.
+    var idlePref = pub.customBranch + 'mail.server.default.use_idle';
+    if (pub.prefs.prefHasUserValue(idlePref)) {
+      var idlePrefValue = pub.prefs.getBoolPref(idlePref);
+    }
+    if (idlePrefValue) {
+      pub.imapIdle.checked = true;
+    } else {
+      pub.imapIdle.checked = false;
+    }
+
+    // Select last accessed folder.
+    // default: false
+    if (!pub.prefs.getBoolPref(pub.prefBranch + 'startup_folder')) {
+      pub.startupFolder.checked = false;
+    } else {
+      pub.startupFolder.checked = true;
+    }
+
+    // Time zone settings.
+    // default: true
+    if (pub.prefs.getBoolPref(pub.prefBranch + 'timezone')) {
+      pub.timezone.checked = false;
+    } else {
+      pub.timezone.checked = true;
+    }
+
+    // Fetch all messages for all accounts.
+    // default: false
+    if (pub.prefs.getBoolPref(pub.prefBranch + 'fetchall')) {
+      pub.fetchAllMails.checked = true;
+    } else {
+      pub.fetchAllMails.checked = false;
+    }
+
+    // Enigmal settings
+    // --throw-keyids - default: false
+    if (pub.prefs.getBoolPref(pub.prefBranch + 'enigmail.throwkeyid')) {
+      pub.enigmailKeyId.checked = true;
+    } else {
+      pub.enigmailKeyId.checked = false;
+    }
+
+    // Confirm before sending - default: false
+    if (pub.prefs.getBoolPref(pub.prefBranch + 'enigmail.confirmemail')) {
+      pub.enigmailConfirmEmail.checked = true;
+    } else {
+      pub.enigmailConfirmEmail.checked = false;
+    }
+
+    // Keyserver.
+    var enigmailKeyserver = pub.customBranch + 'extensions.enigmail.keyserver';
+    if (pub.prefs.prefHasUserValue(enigmailKeyserver)) {
+      pub.enigmailKeyserver.value = pub.prefs.getCharPref(enigmailKeyserver);
+    } else {
+      pub.enigmailKeyserver.value = pub.prefs.getCharPref('extensions.enigmail.keyserver');
+    }
+
+    // Thunderbird's email wizard - default: false
+    if (pub.prefs.getBoolPref(pub.prefBranch + 'emailwizard')) {
+      pub.emailWizard.checked = true;
+    } else {
+      pub.emailWizard.checked = false;
+    }
+
+    /*
+     Security
+    */
+    // Allow insecure renegotiation - default: false
+    if (pub.prefs.prefHasUserValue(pub.customBranch + 'security.ssl.require_safe_negotiation')) {
+      pub.secureRenegotiation.checked = true;
+    } else {
+      pub.secureRenegotiation.checked = false;
+    }
+
+    // Load the email accounts.
+    var accounts = pub.getAccount();
+    if (accounts.length !== 0) {
+      pub.mailAccount.appendItem('...', 'select-account');
+      for (var i = 0; i < accounts.length; i++) {
+        pub.mailAccount.appendItem(accounts[i].prettyName, accounts[i].key, accounts[i].type.toUpperCase());
+      }
+      pub.mailAccount.selectedIndex = 0;
+    } else {
+        pub.mailAccount.disabled = true;
+        pub.mailAccount.appendItem('No email accounts found');
+        pub.mailAccount.selectedIndex = 0;
+    }
+  };
+
+  pub.displayTestPage = function(service) {
+    Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).
+              getMostRecentWindow("mail:3pane").
+              document.getElementById("tabmail").
+              openTab("contentTab", {contentPage: service});
+  };
+
+  pub.testSettings = function() {
+    pub.onAccept();
+    var index = pub.anonService.selectedIndex;
+    var anonCustomService = pub.anonCustomService.selectedIndex;
+
+    if ((index === 1) && (anonCustomService === 0 || typeof anonCustomService === "undefined")) {
+        // Use "http://ip-check.info/tb.php?lang=en" for JonDo.
+        pub.displayTestPage("https://ip-check.info/tb.php?lang=en");
+    } else {
+        pub.displayTestPage("https://check.torproject.org/");
+    }
+  };
+
+  pub.restoreDefaults = function() {
+    // Set the values to their default state.
+    pub.anonService.selectedIndex = 0;
+    pub.timezone.checked = false;
+    pub.enigmailKeyId.checked = false;
+    pub.enigmailConfirmEmail.checked = false;
+    pub.emailWizard.checked = false;
+    pub.secureRenegotiation.checked = false;
+    pub.imapIdle.checked = false;
+    pub.startupFolder.checked = false;
+    pub.fetchAllMails.checked = false;
+    // Save the settings and close the window.
+    pub.checkSetting();
+    pub.onAccept();
+  };
+
+  return pub;
+};
diff --git a/chrome/content/preferences.xul b/chrome/content/preferences.xul
new file mode 100644
index 0000000..10c0b59
--- /dev/null
+++ b/chrome/content/preferences.xul
@@ -0,0 +1,166 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+
+<!DOCTYPE overlay SYSTEM "chrome://castironthunderbirdclub/locale/torbirdy.dtd">
+
+<dialog id="castironthunderbirdclub-preferences-dialog"
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+        xmlns:html="http://www.w3.org/1999/xhtml"
+        title="&torbirdy.prefs.title;"
+        persist="screenX screenY width height"
+        buttons="accept,cancel,extra2"
+        buttonlabelaccept="&torbirdy.prefs.save.button;"
+        buttonaccesskeyaccept="&torbirdy.prefs.save.key;"
+        buttonlabelcancel="&torbirdy.prefs.cancel.button;"
+        buttonlabelextra2="&torbirdy.prefs.extra2.button;"
+        buttonaccesskeyextra2="&torbirdy.prefs.extra2.key;"
+        
+        ondialogextra2="return org.torbirdy.prefs.restoreDefaults();"
+        ondialogaccept="return org.torbirdy.prefs.onAccept();"
+        onload="return org.torbirdy.prefs.onLoad();">
+        
+  <script type="application/x-javascript"
+       src="chrome://castironthunderbirdclub/content/preferences.js"></script>
+
+  <tabbox>
+
+    <tabs>
+      <tab label="&torbirdy.prefs.proxy.label;"/>
+      <tab label="&torbirdy.prefs.privacy.label;"/>
+      <tab label="&torbirdy.prefs.enigmail.label;"/>
+      <tab label="&torbirdy.prefs.security.label;"/>
+    </tabs>
+
+    <tabpanels>
+
+      <!-- Proxy Settings -->
+      <tabpanel>
+        <vbox flex="1">
+
+          <radiogroup id="torbirdy-proxy-settings" oncommand="org.torbirdy.prefs.checkSetting();">
+            <radio accesskey="&torbirdy.prefs.recommended.key;" id="torbirdy-default-settings" label="&torbirdy.prefs.recommended.text;" selected="true"/>
+            <radio accesskey="&torbirdy.prefs.anonservice.key;" id="torbirdy-anon-settings" label="&torbirdy.prefs.anonservice.text;"/>
+
+            <grid class="indent" flex="1">
+              <columns>
+                <column/>
+              </columns>
+              <rows>
+                <row align="center">
+                  <hbox align="center">
+                    <menulist disabled="true" id="torbirdy-anonservice">
+                      <menupopup>
+                        <menuitem label="JonDo"/>
+                        <menuitem label="Whonix"/>
+                      </menupopup>
+                    </menulist>
+                  </hbox>
+                </row>
+              </rows>
+            </grid>
+
+            <radio accesskey="&torbirdy.prefs.customsettings.key;" id="torbirdy-custom-settings" label="&torbirdy.prefs.customsettings.text;"/>
+            <grid class="indent" flex="1">
+              <columns>
+                <column/>
+                <column flex="1"/>
+              </columns>
+              <rows>
+                <row align="center">
+                  <hbox align="center">
+                    <label accesskey="&torbirdy.prefs.socks_host.key;" control="torbirdy-socks-host" value="&torbirdy.prefs.socks_host.label;"/>
+                    <textbox disabled="true" flex="1" id="torbirdy-socks-host"/>
+                    <label accesskey="&torbirdy.prefs.socks_port.key;" control="torbirdy-socks-port" value="&torbirdy.prefs.socks_port.label;"/>
+                    <textbox disabled="true" id="torbirdy-socks-port" max="65535" min="0" size="5" type="number" value="0"/>
+                  </hbox>
+                </row>
+              </rows>
+            </grid>
+
+            <radio accesskey="&torbirdy.prefs.torification.key;" id="torbirdy-torification" label="&torbirdy.prefs.torification.label;" style="color:red"/>
+
+          </radiogroup>
+
+        <separator orient="horizontal"/>
+
+        <hbox align="right">
+          <button label="&torbirdy.prefs.testproxy.button;" accesskey="&torbirdy.prefs.testproxy.key;" oncommand="org.torbirdy.prefs.testSettings();" />
+        </hbox>
+
+        </vbox>
+      </tabpanel>
+
+      <!-- Privacy Settings -->
+      <tabpanel>
+        <vbox>
+
+          <groupbox>
+            <caption label="&torbirdy.prefs.global;"/>
+            <vbox>
+              <checkbox accesskey="&torbirdy.prefs.imap.key;" id="torbirdy-idle" label="&torbirdy.prefs.imap.label;"/>
+              <checkbox accesskey="&torbirdy.prefs.startup_folder.key;" id="torbirdy-startup-folder" label="&torbirdy.prefs.startup_folder.label;"/>
+              <checkbox accesskey="&torbirdy.prefs.timezone.key;" id="torbirdy-timezone" label="&torbirdy.prefs.timezone.label;"/>
+              <checkbox accesskey="&torbirdy.prefs.emailwizard.key;" id="torbirdy-email-wizard" label="&torbirdy.prefs.emailwizard.label;"/>
+              <checkbox accesskey="&torbirdy.prefs.automatic.key;" id="torbirdy-email-automatic" label="&torbirdy.prefs.automatic.label;" oncommand="org.torbirdy.prefs.fetchAllMessages();"/>
+            </vbox>
+          </groupbox>
+
+          <separator class="groove-thin" orient="horizontal"/>
+
+
+          <groupbox>
+            <caption label="&torbirdy.prefs.account_specific;"/>
+            <grid>
+              <columns>
+                <column flex="1"/>
+                <column flex="2"/>
+              </columns>
+              <rows>
+                <row align="center">
+                  <hbox align="center">
+                    <label accesskey="&torbirdy.prefs.select_account.key;" control="torbirdy-mail-accounts" value="&torbirdy.prefs.select_account.label;"/>
+                    <menulist id="torbirdy-mail-accounts" oncommand="org.torbirdy.prefs.selectMailAccount();">
+                      <menupopup></menupopup>
+                    </menulist>
+                  </hbox>
+                </row>
+              </rows>
+            </grid>
+          </groupbox>
+
+        </vbox>
+      </tabpanel>
+
+      <!-- Enigmail Settings -->
+      <tabpanel>
+        <vbox>
+
+          <vbox>
+            <checkbox accesskey="&torbirdy.prefs.confirmemail.key;" id="torbirdy-confirm-email" label="&torbirdy.prefs.confirmemail.label;"/>
+            <checkbox accesskey="&torbirdy.prefs.enigmail_throwkeyid.key;" id="torbirdy-enigmail-throwkeyid" label="&torbirdy.prefs.enigmail_throwkeyid.label;"/>
+            <separator class="thin" orient="horizontal"/>
+            <vbox>
+              <label accesskey="&torbirdy.prefs.enigmail.keyserver.key;" control="torbirdy-enigmail-keyserver" value="&torbirdy.prefs.enigmail.keyserver.label;"/>
+              <textbox id="torbirdy-enigmail-keyserver" />
+            </vbox>
+          </vbox>
+
+        </vbox>
+      </tabpanel>
+
+      <!-- Security Settings -->
+      <tabpanel>
+        <vbox>
+
+          <vbox>
+              <checkbox accesskey="&torbirdy.prefs.renegotiation.key;" id="torbirdy-renegotiation" label="&torbirdy.prefs.renegotiation.label;"/>
+          </vbox>
+
+        </vbox>
+      </tabpanel>
+
+    </tabpanels>
+
+  </tabbox>
+   
+</dialog>
diff --git a/chrome/locale/ar/torbirdy.dtd b/chrome/locale/ar/torbirdy.dtd
new file mode 100644
index 0000000..e5924e2
--- /dev/null
+++ b/chrome/locale/ar/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "تكوين الحساب">
+<!ENTITY torbirdy.accountprefs.startup.label "تحقق من وجود رسائل جديدة عند بدء تشغيل البرنامج">
+<!ENTITY torbirdy.accountprefs.startup.key "ت">
+<!ENTITY torbirdy.accountprefs.minutes.label "تحقق من وجود رسائل كل">
+<!ENTITY torbirdy.accountprefs.minutes.key "ك">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "دقائق">
+<!ENTITY torbirdy.accountprefs.cancel.button "إلغاء">
+<!ENTITY torbirdy.accountprefs.save.button "حفظ">
+<!ENTITY torbirdy.accountprefs.save.key "ح">
+
+<!ENTITY torbirdy.prefs.title "تفضيلات توربيردي">
+<!ENTITY torbirdy.prefs.save.button "حفظ">
+<!ENTITY torbirdy.prefs.save.key "ف">
+<!ENTITY torbirdy.prefs.cancel.button "إلغاء">
+<!ENTITY torbirdy.prefs.extra2.button "استعادة الإعدادات الافتراضية">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "افحص اعدادات البروكسي">
+<!ENTITY torbirdy.prefs.testproxy.key "ا">
+<!ENTITY torbirdy.prefs.proxy.label "بروكسي">
+<!ENTITY torbirdy.prefs.privacy.label "خصوصية">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "أمن">
+<!ENTITY torbirdy.prefs.recommended.text "استعمل خيارات البروكسي الموصى بها لتوربيردي (تور)">
+<!ENTITY torbirdy.prefs.recommended.key "م">
+<!ENTITY torbirdy.prefs.anonservice.text "اختر خدمة اخفاء هوية">
+<!ENTITY torbirdy.prefs.anonservice.key "خ">
+<!ENTITY torbirdy.prefs.customsettings.text "استخدم إعدادات بروكسي مخصصه">
+<!ENTITY torbirdy.prefs.customsettings.key "ب">
+<!ENTITY torbirdy.prefs.socks_host.label "مضيف الـSOCKS">
+<!ENTITY torbirdy.prefs.socks_host.key "ض">
+<!ENTITY torbirdy.prefs.socks_port.label "منفذ">
+<!ENTITY torbirdy.prefs.socks_port.key "ذ">
+<!ENTITY torbirdy.prefs.torification.label "توريفيكيتشون ضمني (تحذير: يتطلب بروكسي ضمني خاص أو تور)">
+<!ENTITY torbirdy.prefs.torification.key "ش">
+<!ENTITY torbirdy.prefs.global "عام">
+<!ENTITY torbirdy.prefs.imap.label "فعِّل دعم إرسال البريد بنظام IMAP [الوضع الافتراضي: معطل]">
+<!ENTITY torbirdy.prefs.imap.key "ذ">
+<!ENTITY torbirdy.prefs.startup_folder.label "حدد آخر مجلد بريدي مستخدم عند بدء التشغيل [الوضع الافتراضي: معطل]">
+<!ENTITY torbirdy.prefs.startup_folder.key "د">
+<!ENTITY torbirdy.prefs.timezone.label "لا تقم بضبط المنطقة الزمنية لثندربيرد للتوقيت العالمي UTC [الوضع الافتراضي: قم باستخدام UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "ي">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "لا تضع عناوين مفاتيح المستلم في الرسائل المشفرة [الوضع الافتراضي: ضع]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "ه">
+<!ENTITY torbirdy.prefs.confirmemail.label "أكد قبل إرسال البريد الإلكتروني إذا تم تمكين Enigmail [الوضع الافتراضي: لا تُأكد]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "تمكين القائمة التلقائية لإعداد البريد الألكتروني الخاصة بثاندربيرد [الوضع الافتراضي: معطل]">
+<!ENTITY torbirdy.prefs.emailwizard.key "ث">
+<!ENTITY torbirdy.prefs.automatic.label "تحقق من وجود رسائل جديدة تلقائيًا لكل الحسابات [الوضع الافتراضي: مُعطل]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "سماح الأتصال بالخوادم التي  لا تدعم  SSL/TLS مع إعادة التفاوض آمنة [الوضع الأفتراضي: لا تسمح]">
+<!ENTITY torbirdy.prefs.renegotiation.key "ه">
+<!ENTITY torbirdy.prefs.account_specific "خاص بالحساب">
+<!ENTITY torbirdy.prefs.select_account.key "س">
+<!ENTITY torbirdy.prefs.select_account.label "اختر حساباً">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "خادم أو خوادم (مهم/مهمين) للاستخدام:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "أ">
+
+<!ENTITY torbirdy.panel.usetor.label "قم باستخدام تور">
+<!ENTITY torbirdy.panel.usejondo.label "قم باستخدام جون دو (نسخة المدفوعة) ">
+<!ENTITY torbirdy.panel.usewhonix.label "استخدم Whonix">
+<!ENTITY torbirdy.panel.preferences.label "افتح تفضيلات توربيردي">
+
+<!ENTITY torbirdy.firstrun.title "توربيردي أول تشغيل">
diff --git a/chrome/locale/ar/torbirdy.properties b/chrome/locale/ar/torbirdy.properties
new file mode 100644
index 0000000..8b9d7b3
--- /dev/null
+++ b/chrome/locale/ar/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=توربيردي
+
+torbirdy.enabled.tor=توربيردي مُفعل: تور
+torbirdy.enabled.jondo=توربيردي مُفعل: جوندو
+torbirdy.enabled.custom=توربيردي مُفعل: بروكسي مخصصه
+torbirdy.enabled.torification=توربيردي مُفعل: توريفيكيتشون ضمني
+torbirdy.enabled.whonix=توربيردي مُفعل: Whonix
+torbirdy.disabled=توربيردي: معطل!
+
+torbirdy.email.prompt=توربيردي عطل التكوين التلقائي لثندربيرد لحماية خصوصيتك.\n تم ضبط إعدادات الأمان الموصى بها لـ %S.\nالان يمكنك تغيير تكوين إعدادات الحساب الاخر يدوياً.
+
+torbirdy.email.advanced=الرجاء الملاحظة ان تغير الإعدادات المتقدمة لتوربيردي غير موصي به.\nيجب أن تستمر فقط إذا كنت متأكدا مما تقوم به.
+torbirdy.email.advanced.nextwarning=اظهار هذا التحذير في المرة القادمة
+torbirdy.email.advanced.title=الإعدادات المتقدمة لتوربيردي
+
+torbirdy.restart=يجب أن تعيد تشغيل ثاندربيرد حتي تأخذ تعديلاتك علي إعدادات التوقيت فاعليتها.
+
+torbirdy.firstrun=انت الان تعمل بتوربيردي.\n\nللمساعدة على حماية هويتك, توربيردي سوف يفرض إعدادات ثاندربيرد التي اعدها, و ذلك يؤدي إلي منعك انت او اي برنامج إضافي من تغيرها. ولكن يوجد بعض الإعدادات التي يمكن تغييرها و تستطيع الوصول لتلك الإعدادات عن طريق نافذة إعدادات توربيردي. وفي حالة إلغاء او تعطيل توربيردي, سيتم استرجاع كل الإعدادات (التي كانت موجودة قبل تثبيت توربيردي).\n\nإذا كنت مستخدم جديد, فمن المستحسن أن تقرأ محتويات موقع توربيردي حتي تستطيع ان تفهم ما الذي نحاول إنجازه بتوربير [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/cs/torbirdy.dtd b/chrome/locale/cs/torbirdy.dtd
new file mode 100644
index 0000000..377466b
--- /dev/null
+++ b/chrome/locale/cs/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Konfigurace účtu">
+<!ENTITY torbirdy.accountprefs.startup.label "Zkontroluj nové zprávy při spuštění">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Zkontroluj nové zprávy každých">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minuty">
+<!ENTITY torbirdy.accountprefs.cancel.button "Zrušit">
+<!ENTITY torbirdy.accountprefs.save.button "Uložit">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy Preference">
+<!ENTITY torbirdy.prefs.save.button "Uložit">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Zrušit">
+<!ENTITY torbirdy.prefs.extra2.button "Původní nastavení">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Test Proxy nastavení">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Soukromí">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Bezpečnost">
+<!ENTITY torbirdy.prefs.recommended.text "Použít doporučené nastavení proxy pro TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Použít anonymizační službu">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Použít vlastní nastavení proxy">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Host:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparentní Torifikace">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Globální">
+<!ENTITY torbirdy.prefs.imap.label "Zapnout podporu služby push pro IMAP mailové účty [defaultně: vypnuto]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Vyber poslední navštívenou poštu při startu [standartně: vypnuto]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Nenastavuj časové zóny Thunderbirdu do UTC [defaultně: nastav do UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Nedávej příjemcův ID klíč do šifrovaných zpráv [standartně: dávej]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Potvrď před odesláním emailu jestli je  Enigmail zapnut [standartně: nepotvrzuj]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Povolit automatického průvodce nastavení emailu v Thunderbirdu [standartně: vypnuto]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Automatická kontrola nových zpráv na všech účtech [standartně: nepovoleno]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Povolit přípojení k serverům, které nepodporují SSL/TLS s bezpečným opětovným sjednáním. [standartně: nepovoluje]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Účet-specifický">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Vyber účet:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Klíčový server(y) k užívání:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Použít Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Použít JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Použít Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Otevřít TorBirdy preference">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy první spuštění">
diff --git a/chrome/locale/cs/torbirdy.properties b/chrome/locale/cs/torbirdy.properties
new file mode 100644
index 0000000..efa21de
--- /dev/null
+++ b/chrome/locale/cs/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy zapnut: Tor
+torbirdy.enabled.jondo=TorBirdy zapnut: JonDo
+torbirdy.enabled.custom=TorBirdy zapnut: Vlastní proxy
+torbirdy.enabled.torification=TorBirdy zapnut: Transparentní Torifikace
+torbirdy.enabled.whonix=TorBirdy zapnut: Whonix
+torbirdy.disabled=TorBirdy: Vypnut!
+
+torbirdy.email.prompt=TorBirdy vypnul autokonfigurační wizard Thunderbirdu z důvodu ochrany soukromí.\nDoporučené nastavení bezpečnosti pro %S byla nastavena.\nNyní můžete konfigurovat nastavení ostatních účtů manuálně.
+
+torbirdy.email.advanced=Prosím berte na vědomí, že změna pokročilých nastavení TorBirdy NENÍ doporučena.\nPokračujte pouze pokud víte co děláte.
+torbirdy.email.advanced.nextwarning=Zobraz toto upozornění příště
+torbirdy.email.advanced.title=TorBirdy Pokročilé nastavení
+
+torbirdy.restart=Musíte restartovat Thunderbird, aby došlo ke změně nastavení vaší časové zóny.
+
+torbirdy.firstrun=Nyní používáte TorBirdy.\n\nV zájmu ochrany anonymitu, bude TorBirdy vynucovat Thunderbirdu použité nastavení a zabraňovat jeho případné změně, a to ať už Vámi nebo skrze instalovanými doplňky. Některá nastavení mohou být změněna skrze nastavovacího dialogu TorBirdu. Pokud je TorBirdy odinstalován nebo vypnut, všechna nastavení se změní na původní hodnoty (na hodnoty před instalací TorBirdy).\n\nPokud jste novým uživatelem, doporučujeme přečíst si stránky TorBirdu pro p [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/da/torbirdy.dtd b/chrome/locale/da/torbirdy.dtd
new file mode 100644
index 0000000..063cfc2
--- /dev/null
+++ b/chrome/locale/da/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Konto konfiguration">
+<!ENTITY torbirdy.accountprefs.startup.label "Tjek for nye beskeder ved opstart">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Tjek for nye beskeder hver">
+<!ENTITY torbirdy.accountprefs.minutes.key "r">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minutter">
+<!ENTITY torbirdy.accountprefs.cancel.button "Fortryd">
+<!ENTITY torbirdy.accountprefs.save.button "Gem">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy præferencer">
+<!ENTITY torbirdy.prefs.save.button "Gem">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Fortryd">
+<!ENTITY torbirdy.prefs.extra2.button "Gendan Standarder">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Test proxyindstillinger">
+<!ENTITY torbirdy.prefs.testproxy.key "p">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privatliv">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Sikkerhed">
+<!ENTITY torbirdy.prefs.recommended.text "Brug de anbefalede proxyindstillinger til TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Vælg en anonymiserings-service">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Brug brugerdefinerede proxyindstillinger">
+<!ENTITY torbirdy.prefs.customsettings.key "p">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Host: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Gennemsigtig Torifikation (advarsel: Kræver tilpasset transproxy eller Tor-router)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Understøt push e-mail for IMAP konti [standard: slået fra]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Vælg sidst anvendte e-mail mappe ved opstart [standard: ikke aktiv]">
+<!ENTITY torbirdy.prefs.startup_folder.key "p">
+<!ENTITY torbirdy.prefs.timezone.label "Sæt ikke Thunderbirds tidszone til UTC [standard: sæt til UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Tilføj ikke modtagerens nøgle-id i de krypterede meddelelser [standard: tilføj]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Bekræft før afsendelse af e-mail hvis Enigmail er aktiv [standard: bekræft ikke]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Anvend Thunderbirds automatiske e-mail konfigurationshjælper [standard: slået fra]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Hent automatisk nye beskeder for alle konti [standardindstilling: slået fra]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Tillad forbindelser til servere der ikke understøtter SSL/TLS med sikker genforhandling [standard: tillad ikke]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Kontospecifik">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Vælg en konto:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Nøgleserver(e) der bruges:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Brug Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Brug JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Brug Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Åbn TorBirdy præferencer">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy First-Run">
diff --git a/chrome/locale/da/torbirdy.properties b/chrome/locale/da/torbirdy.properties
new file mode 100644
index 0000000..dec5e87
--- /dev/null
+++ b/chrome/locale/da/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy aktiveret: Tor
+torbirdy.enabled.jondo=TorBirdy aktiveret: JonDo
+torbirdy.enabled.custom=TorBirdy aktiveret: Tilpasset proxy
+torbirdy.enabled.torification=TorBirdy aktiveret: Gennemsigtig torifikation
+torbirdy.enabled.whonix=TorBirdy aktiveret: Whonix
+torbirdy.disabled=TorBirdy: Deaktiveret!
+
+torbirdy.email.prompt=TorBirdy har deaktiveret Thunderbirds automatiske konfigurationsguide for at beskytte din anonymitet.\n\nDen anbefalede sikkerhedsindstilling for %S er blevet sat.\n\nDu kan nu konfigurere de andre kontoindstillinger manuelt.
+
+torbirdy.email.advanced=Bemærk venligst at ændring af de avancerede indstillinger for TorBirdy IKKE er anbefalet.\n\nDu bør kun fortsætte, hvis du er sikker på hvad du gør.
+torbirdy.email.advanced.nextwarning=Vis denne advarsel næste gang
+torbirdy.email.advanced.title=TorBirdy - avancerede indstillinger
+
+torbirdy.restart=Du skal genstarte Thunderbird før indstillingerne for tidszonen træder i effekt.
+
+torbirdy.firstrun=Du kører nu TorBirdy.\n\nFor at beskytte din anonymitet, vil TorBirdy med tvang benytte sine egne Thunderbirdindstillinger, så de forhindres i at blive ændret af dig eller eventuelle tilføjelser. Der er nogle ændringer som kan ændres og disse tilgås via TorBirdys dialog for præferencer. Når TorBirdy afinstalleres eller deaktiveres, bliver alle indstillinger programmet bruger nulstillet til deres standardværdi (værdierne før TorBirdys installation).\n\nHvis du er ny brug [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/de/torbirdy.dtd b/chrome/locale/de/torbirdy.dtd
new file mode 100644
index 0000000..65a7049
--- /dev/null
+++ b/chrome/locale/de/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Konten Konfiguration">
+<!ENTITY torbirdy.accountprefs.startup.label "Beim Start auf neue Nachrichten prüfen">
+<!ENTITY torbirdy.accountprefs.startup.key "n">
+<!ENTITY torbirdy.accountprefs.minutes.label "Auf neue Nachrichten alle">
+<!ENTITY torbirdy.accountprefs.minutes.key "m">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "Minuten prüfen">
+<!ENTITY torbirdy.accountprefs.cancel.button "Abbrechen">
+<!ENTITY torbirdy.accountprefs.save.button "Speichern">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy Einstellungen">
+<!ENTITY torbirdy.prefs.save.button "Speichern">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Abbrechen">
+<!ENTITY torbirdy.prefs.extra2.button "Stelle Einstellungen zurück auf Standard">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Proxyeinstellungen Testen">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privatsphäre">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Sicherheit">
+<!ENTITY torbirdy.prefs.recommended.text "Empfohlene Proxy Einstellungen für TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Anonymisierungsdienst auswählen">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Benutzerdefinierte Proxy Einstellungen">
+<!ENTITY torbirdy.prefs.customsettings.key "b">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Host: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port: ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparent Torification (Achtung: Benötigt Benutzerspezifischer transproxy oder TOR)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Push E-Mail Support für IMAP-Konten aktivieren [default: deaktiviert]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Beim Start zum zuletzt aktiven Mail-Ordner wechseln [default: deaktiviert]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Setzen Sie Thunderbirds Zeitzone nicht auch UTC [standard: auf UTC setzen]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Die Empfänger-Schlüssel-ID nicht in Verschlüsselte Nachrichten einbinden [default: mit einbinden]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Vor dem absenden einer Email überprüfen, ob Enigmail aktiviert ist [standard: nicht überprüfen]">
+<!ENTITY torbirdy.prefs.confirmemail.key "b">
+<!ENTITY torbirdy.prefs.emailwizard.label "Thunderbird's automatischen Email-Konfigurator aktivieren [standard: deaktiviert]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Prüfe automatisch nach neuen Nachrichten für alle Accounts [Standard: deaktiviert]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Verbindungen zu Servern erlauben, die kein SSL/TLS mit sicherer Renegotiation unterstützen [standard: nicht erlauben]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Konten-spezifisch">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Konto auswählen: ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Folgende Keyserver benutzen:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Tor Onion Router benutzen">
+<!ENTITY torbirdy.panel.usejondo.label "JonDo (Premium) nutzen">
+<!ENTITY torbirdy.panel.usewhonix.label "Whonix nutzen">
+<!ENTITY torbirdy.panel.preferences.label "TorBirdy Einstellungen öffnen">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy's Erster Start">
diff --git a/chrome/locale/de/torbirdy.properties b/chrome/locale/de/torbirdy.properties
new file mode 100644
index 0000000..374f47a
--- /dev/null
+++ b/chrome/locale/de/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Aktiv:    Tor
+torbirdy.enabled.jondo=TorBirdy Aktiv:    JonDo
+torbirdy.enabled.custom=TorBirdy Aktiv:    Benutzerdefiniert
+torbirdy.enabled.torification=TorBirdy Aktiv:    Transparent Torification
+torbirdy.enabled.whonix=TorBirdy Aktiv:    Whonix
+torbirdy.disabled=TorBirdy:    Deaktiviert!
+
+torbirdy.email.prompt=TorBirdy hat den Assistenten für die Kontenerstellung deaktiviert um Ihre Anonymität zu schützen.\n\nDie empfohlenen Sicherheitseinstellungen wurden für %S aktiviert.\n\nSie können das Konto manuell konfigurieren.
+
+torbirdy.email.advanced=Es wird NICHT empfohlen, die erweiterten Einstellungen von TorBirdy zu ändern.\n\nSie sollten nur fortfahren, wenn Sie genau wissen, was Sie tun.
+torbirdy.email.advanced.nextwarning=Zeige diese Warnung weiterhin an
+torbirdy.email.advanced.title=TorBirdy Erweiterte Einstellungen
+
+torbirdy.restart=Sie müssen Thunderbird neu starten, um die Zeitzonen-Einstellungen zu übernehmen.
+
+torbirdy.firstrun=Sie benutzen jetzt TorBirdy.\n\nUm Ihre Anonymität zu schützen, wird TorBirdy die angepassten Einstellungen von Thunderbird vor Änderungen schützen. Einige Einstellungen können über die entsprechenden TorBirdy-Dialoge verändert werden. Sollte TorBirdy deinstalliert oder deaktiviert werden, werden alle Thunderbird Einstellungen zurück auf ihre Standardwerte gesetzt (also die Werte, die vor der Installation eingestellt waren).\n\nNeuen Benutzern empfehlen wir die TorBirdy [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/en/torbirdy.dtd b/chrome/locale/en/torbirdy.dtd
new file mode 100644
index 0000000..3e22539
--- /dev/null
+++ b/chrome/locale/en/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Account Configuration">
+<!ENTITY torbirdy.accountprefs.startup.label "Check for new messages at startup">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Check for new messages every">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minutes">
+<!ENTITY torbirdy.accountprefs.cancel.button "Cancel">
+<!ENTITY torbirdy.accountprefs.save.button "Save">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy Preferences">
+<!ENTITY torbirdy.prefs.save.button "Save">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Cancel">
+<!ENTITY torbirdy.prefs.extra2.button "Restore Defaults">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Test Proxy Settings">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privacy">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Security">
+<!ENTITY torbirdy.prefs.recommended.text "Use the recommended proxy settings for TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Choose an anonymization service">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Use custom proxy settings">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Host: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port: ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparent Torification (warning: requires custom transproxy or Tor router)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Enable push email support for IMAP accounts [default: disabled]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Select last accessed mail folder on startup [default: disabled]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Do not set Thunderbird's time zone to UTC [default: set to UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Do not put the recipient key IDs into encrypted messages [default: put]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Confirm before sending email if Enigmail is enabled [default: do not confirm]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Enable Thunderbird's automatic email configuration wizard [default: disabled]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Check for new messages automatically for all accounts [default: disabled]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Allow connections to servers that do not support SSL/TLS with secure renegotiation [default: do not allow]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Account-Specific">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Choose an account: ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Keyserver(s) to use: ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Use Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Use JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Use Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Open TorBirdy Preferences">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy First-Run">
diff --git a/chrome/locale/en/torbirdy.properties b/chrome/locale/en/torbirdy.properties
new file mode 100644
index 0000000..fcc69a3
--- /dev/null
+++ b/chrome/locale/en/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Enabled:    Tor
+torbirdy.enabled.jondo=TorBirdy Enabled:    JonDo
+torbirdy.enabled.custom=TorBirdy Enabled:    Custom Proxy
+torbirdy.enabled.torification=TorBirdy Enabled:    Transparent Torification
+torbirdy.enabled.whonix=TorBirdy Enabled:    Whonix
+torbirdy.disabled=TorBirdy:    Disabled!
+
+torbirdy.email.prompt=TorBirdy has disabled Thunderbird's auto-configuration wizard to protect your anonymity.\n\nThe recommended security settings for %S have been set.\n\nYou can now configure the other account settings manually.
+
+torbirdy.email.advanced=Please note that changing the advanced settings of TorBirdy is NOT recommended.\n\nYou should only continue if you are sure of what you are doing.
+torbirdy.email.advanced.nextwarning=Show this warning next time
+torbirdy.email.advanced.title=TorBirdy Advanced Settings
+
+torbirdy.restart=You must restart Thunderbird for the time zone preference to take effect.
+
+torbirdy.firstrun=You are now running TorBirdy.\n\nTo help protect your anonymity, TorBirdy will enforce the Thunderbird settings it has set, preventing them from being changed by you or by any add-on. There are some settings that can be changed and those are accessed through TorBirdy's preferences dialog. When TorBirdy is uninstalled or disabled, all settings that it changes are reset to their default values (the values prior to TorBirdy's install).\n\nIf you are a new user, it is recom [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/es/torbirdy.dtd b/chrome/locale/es/torbirdy.dtd
new file mode 100644
index 0000000..a10c318
--- /dev/null
+++ b/chrome/locale/es/torbirdy.dtd
@@ -0,0 +1,64 @@
+<!ENTITY torbirdy.accountprefs.title "Configuración de la cuenta">
+<!ENTITY torbirdy.accountprefs.startup.label "Buscar nuevos mensajes al iniciar">
+<!ENTITY torbirdy.accountprefs.startup.key "i">
+<!ENTITY torbirdy.accountprefs.minutes.label "Buscar nuevos mensajes cada">
+<!ENTITY torbirdy.accountprefs.minutes.key "d">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minutos">
+<!ENTITY torbirdy.accountprefs.cancel.button "Cancelar">
+<!ENTITY torbirdy.accountprefs.save.button "Guardar">
+<!ENTITY torbirdy.accountprefs.save.key "G">
+
+<!ENTITY torbirdy.prefs.title "Preferencias de TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "Guardar">
+<!ENTITY torbirdy.prefs.save.key "g">
+<!ENTITY torbirdy.prefs.cancel.button "Cancelar">
+<!ENTITY torbirdy.prefs.extra2.button "Restablecer valores predeterminados ">
+<!ENTITY torbirdy.prefs.extra2.key "r">
+<!ENTITY torbirdy.prefs.testproxy.button "Probar configuración para proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "b">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privacidad">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Seguridad">
+<!ENTITY torbirdy.prefs.recommended.text "Usar la configuración de proxy recomendada para TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "y">
+<!ENTITY torbirdy.prefs.anonservice.text "Escoger un servicio de anonimización">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Usar una configuración para proxy personalizada">
+<!ENTITY torbirdy.prefs.customsettings.key "z">
+<!ENTITY torbirdy.prefs.socks_host.label "Servidor SOCKS:">
+<!ENTITY torbirdy.prefs.socks_host.key "K">
+<!ENTITY torbirdy.prefs.socks_port.label "Puerto:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Torificación transparente (sin configurar las aplicaciones)">
+<!ENTITY torbirdy.prefs.torification.key "o">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Habilitar soporte de push email para cuentas IMAP [por defecto: deshabilitado]">
+<!ENTITY torbirdy.prefs.imap.key "h">
+<!ENTITY torbirdy.prefs.startup_folder.label "En el arranque seleccionar la última carpeta de correo a la que se accedió [predeterminado: deshabilitado]">
+<!ENTITY torbirdy.prefs.startup_folder.key "u">
+<!ENTITY torbirdy.prefs.timezone.label "No establecer la zona horaria de Thunderbird a UTC [por defecto: establecer a UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "n">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "No ponga la clave de identificación del receptor en los mensajes cifrados [por defecto: poner]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "f">
+<!ENTITY torbirdy.prefs.confirmemail.label "Confirmar antes de enviar el correo si Enigmail está habilitado [predeterminado: no confirmar]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Habilitar asistente de configuración automática de correo electrónico de Thunderbird [predeterminado: deshabilitado]">
+<!ENTITY torbirdy.prefs.emailwizard.key "s">
+<!ENTITY torbirdy.prefs.automatic.label "Buscar mensajes nuevos automáticamente para todas 
+las cuentas [por defecto: dehabilitado]">
+<!ENTITY torbirdy.prefs.automatic.key "t">
+<!ENTITY torbirdy.prefs.renegotiation.label "Permitir conexiones a servidores que no soporten SSL/TLS con renegociación segura [predeterminado: no permitir]">
+<!ENTITY torbirdy.prefs.renegotiation.key "x">
+<!ENTITY torbirdy.prefs.account_specific "Configuración específica de la cuenta">
+<!ENTITY torbirdy.prefs.select_account.key "e">
+<!ENTITY torbirdy.prefs.select_account.label "Elegir una cuenta">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Servidor(es) de claves a usar:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "v">
+
+<!ENTITY torbirdy.panel.usetor.label "Usar Tor (Onion Routing)">
+<!ENTITY torbirdy.panel.usejondo.label "Usar JonDo (premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Usar Whonix (virtualización)">
+<!ENTITY torbirdy.panel.preferences.label "Abrir Preferencias de TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "Primera ejecución de TorBirdy">
diff --git a/chrome/locale/es/torbirdy.properties b/chrome/locale/es/torbirdy.properties
new file mode 100644
index 0000000..7e6c02e
--- /dev/null
+++ b/chrome/locale/es/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy habilitado: usando Tor
+torbirdy.enabled.jondo=TorBirdy habilitado: usando JonDo
+torbirdy.enabled.custom=TorBirdy habilitado: usando proxy personalizado
+torbirdy.enabled.torification=TorBirdy habilitado: usando torificación transparente
+torbirdy.enabled.whonix=Torbirdy habilitado: usando Whonix (virtualización)
+torbirdy.disabled=TorBirdy: ¡Deshabilitado!
+
+torbirdy.email.prompt=TorBirdy ha deshabilitado el asistente de auto-configuración de Thunderbird para proteger su anonimato.\n\nHan sido establecidos los parámetros recomendados de seguridad para %S.\n\nAhora puede configurar el resto de parámetros de la cuenta manualmente.
+
+torbirdy.email.advanced=Por favor, observe que NO es recomendable cambiar la configuración avanzada de TorBirdy.\n\nSólo debería continuar si está seguro de lo que está haciendo.
+torbirdy.email.advanced.nextwarning=Mostrar esta advertencia la próxima vez
+torbirdy.email.advanced.title=Configuración avanzada de TorBirdy
+
+torbirdy.restart=Debe reiniciar Thunderbird para que la configuración de zona horaria tenga efecto.
+
+torbirdy.firstrun=Está ejecutando TorBirdy en este momento.\n\nPara proteger su anonimato, TorBirdy implementará las preferencias que ha establecido sobre Thunderbird, evitando que sean cambiadas por usted o por otro complemento (add-on). Hay algunas preferencias que pueden ser cambiadas, y a ellas se accede a través del cuadro de preferencias de TorBirdy. Cuando TorBirdy se desinstale o deshabilite, todas las preferencias que este cambia se restablecen a sus valores predeterminados (los [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/eu/torbirdy.dtd b/chrome/locale/eu/torbirdy.dtd
new file mode 100644
index 0000000..c6c1c20
--- /dev/null
+++ b/chrome/locale/eu/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Kontu konfigurazioa">
+<!ENTITY torbirdy.accountprefs.startup.label "Abioan mezu berririk dagoen egiaztatu.">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Mezu berririk dagoen egiaztatu ">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minuturo">
+<!ENTITY torbirdy.accountprefs.cancel.button "Utzi">
+<!ENTITY torbirdy.accountprefs.save.button "Gorde">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy hobespenak">
+<!ENTITY torbirdy.prefs.save.button "Gorde">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Utzi">
+<!ENTITY torbirdy.prefs.extra2.button "Lehenetsiak berrezarri">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Proxy ezarpenak frogatu">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy-a">
+<!ENTITY torbirdy.prefs.privacy.label "Pribatutasuna">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Segurtasuna">
+<!ENTITY torbirdy.prefs.recommended.text "TorBirdy(Tor)rentzako gomendatutako proxy ezarpenak erabili">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Aukeratu anonimotasun zerbitzu bat">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Erabili pertsonalizatutako proxy ezarpenak">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Ostalaria:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Ataka:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Torifikazio gardena">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Orokorra">
+<!ENTITY torbirdy.prefs.imap.label "IMAP kontuentzako eposta bultzaketa gaitu [lehenetsia: ezgaitua]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Hautatu azken aldiz erabilitako e-posta karpeta hasterakoan [lehenetsia: ezgaituta]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Thunderbirden denbora gunea UTCra ez ezarri [lehenetsia: UTCra ezarri]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Ez jarri ID gako hartzailea enkriptatutako mezuetan [lehentsia: jarri]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Berretsi Enigmail gaituta dagoen eposta bidali baino lehen [lehentsia: es berretsi]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Gaitu Thunderbirden eposta konfigurazio morroi automatikoa [lehenetsia: ezgaituta]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Egiaztatu mezu berririk dagoen kontu guztietarako [lehenetsia: ezgaituta]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "SSL/TLS birnegoziazioa onartzen ez duten zerbitzarietara konexioak baimendu [lehenetsia: ez baimendu]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Kontuaren araberakoa">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Kontu bat aukeratu:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Erabiltzeko gako zerbitzaria(k):">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Erabili Tor Tipula Bideratzailea">
+<!ENTITY torbirdy.panel.usejondo.label "Erabili JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Erabili Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Ireki TorBirdy hobespenak">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy lehen-abioa">
diff --git a/chrome/locale/eu/torbirdy.properties b/chrome/locale/eu/torbirdy.properties
new file mode 100644
index 0000000..65716d1
--- /dev/null
+++ b/chrome/locale/eu/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy gaituta:    Tor
+torbirdy.enabled.jondo=TorBirdy gaituta:    JonDo
+torbirdy.enabled.custom=TorBirdy gaituta:    Pertsonalizatutako proxya
+torbirdy.enabled.torification=TorBirdy gaituta:    Torifikazio gardena
+torbirdy.enabled.whonix=TorBirdy gaituta:    Whonix
+torbirdy.disabled=TorBirdy:    Ezgaituta!
+
+torbirdy.email.prompt=TorBirdyk Thunderbirden autokonfigurazio morroia ezgaitu du zure anonimotasuna babesteko.\n\n%S rentzako gomendatutako segurtasun ezarpenak ezarri dira.\n\nOrain beste kontu ezarpenak eskuz konfigura ditzakezu.
+
+torbirdy.email.advanced=Mesedez jakin ezazu TorBirdyren ezarpen aurreratuak aldatzea gomendatuta EZ dagoela.\n\nZer egiten ari zaren argi badaukazu bakarrik jarraitu beharko zenuke.
+torbirdy.email.advanced.nextwarning=Abisu hau hurrengo aldian erakutsi
+torbirdy.email.advanced.title=TorBirdy ezarpen aurreratuak
+
+torbirdy.restart=Thunderbird berrabiarazi behar duzu ordu-eremu hobespena efektua izan dezan.
+
+torbirdy.firstrun=Orain TorBirdy erabiltzen ari zara.\n\nZure anonimotasuna babesten laguntzeko, TorBirdyk ezarri dituen Thunderbirden ezarpenak betearaziko ditu, hauek zu edo gehigarriren batez aldatuak izatea eragotziz. Aldatuak izan daitezkeen ezarpen batzuk daude eta hauetara TorBirdyren hobespen elkarrizketa-koadroaren bitartez sar zaitezke. TorBirdy desinstalatzen edo ezgaitzen denean, aldatu dituen ezarpen guztiak euren balio lehenetsietara berrezartzen dira (TorBirdyren instalazi [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/fr/torbirdy.dtd b/chrome/locale/fr/torbirdy.dtd
new file mode 100644
index 0000000..83f7ec6
--- /dev/null
+++ b/chrome/locale/fr/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Paramétrage du compte">
+<!ENTITY torbirdy.accountprefs.startup.label "Relever les nouveaux messages au démarrage">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Relever les nouveaux messages toutes les">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minutes">
+<!ENTITY torbirdy.accountprefs.cancel.button "Annuler">
+<!ENTITY torbirdy.accountprefs.save.button "Enregistrer">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "Préférences TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "Enregistrer">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Annuler">
+<!ENTITY torbirdy.prefs.extra2.button "Valeurs par défaut">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Tester les paramètres du proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Vie privée">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Sécurité">
+<!ENTITY torbirdy.prefs.recommended.text "Utiliser les paramètres proxy recommandés pour TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Choisir un service d'anonymisation">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Utiliser des paramètres personnalisés pour le proxy">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "Hôte SOCKS : ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port : ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Torification transparente (avertissement : nécessite un transproxy personnalisé ou un routeur Tor)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Activer la gestion du mail « push » pour les comptes IMAP [défaut : désactivé]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Sélectionner le dernier répertoire ouvert lors du démarrage [défaut : désactivé]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Ne pas paramétrer le fuseau horaire de Thunderbird à UTC (temps universel) [défaut : configurer en UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Ne pas insérer dans les messages chiffrés les identifiants des clés des destinataires [défaut : les mettre]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Confirmer avant d'envoyer un e-mail si Enigmail est activé [défaut : ne pas confirmer]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Activer l'assistant de configuration automatique d'e-mail de Thunderbird [défaut : désactivé]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Relever automatiquement les nouveaux messages de tous les comptes [par défaut : désactivé]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Autoriser les connexions aux serveurs qui ne gèrent pas SSL/TLS avec renégociation sécurisée [défaut : ne pas autoriser]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Propre à un compte">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Choisir un compte : ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Serveur(s) de clés à utiliser :">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Utiliser le routeur en oignon Tor">
+<!ENTITY torbirdy.panel.usejondo.label "Utiliser JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Utiliser Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Ouvrir les préférences de TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "Premier lancement de TorBirdy">
diff --git a/chrome/locale/fr/torbirdy.properties b/chrome/locale/fr/torbirdy.properties
new file mode 100644
index 0000000..35177c5
--- /dev/null
+++ b/chrome/locale/fr/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Activé: Tor
+torbirdy.enabled.jondo=TorBidy Activé: JonDo
+torbirdy.enabled.custom=TorBirdy Activé: Proxy personnalisé
+torbirdy.enabled.torification=TorBirdy Activé: Transparent Torification
+torbirdy.enabled.whonix=TorBirdy Activé: Whonix
+torbirdy.disabled=TorBirdy: Désactivé!
+
+torbirdy.email.prompt=TorBirdy a désactivé la configration automatique de Thunderbird pour protéger votre anonymat.\n\nLes paramètres de sécurité recommandé pour %S on été selectionné.\n\nVous pouvez maintenant configurer les paramètres de l'autre compte manuellement.
+
+torbirdy.email.advanced=Veuiller noter qu'il n'est PAS recommandé de modifier les paramètres avancés de TorBirdy.\n\nVous pouvez continuer si vous êtes sur de ce que vous faites.
+torbirdy.email.advanced.nextwarning=Afficher cet avertissement la prochaine fois
+torbirdy.email.advanced.title=Paramètres Avancés de TorBirdy
+
+torbirdy.restart=Vous devez redémarrer Thunderbird pour que les préférences de fuseau horaire prennent effet.
+
+torbirdy.firstrun=TorBirdy est maintenant en cours d'exécution.\n\nPour vous aider à protéger votre anonymat, TorBirdy va appliquer les paramètres de Thunderbird qu'il a lui-même configuré, les empêchant d'être modifiés par vous-même ou tout autre module complémentaire. Il y a certains paramètres qui peuvent être changés et ceux-ci sont accessibles par le biais de la boîte de dialogue de TorBirdy. Lorsque TorBirdy est désinstallé ou désactivé, les paramètres qu'il a modifié sont réinitia [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/he/torbirdy.dtd b/chrome/locale/he/torbirdy.dtd
new file mode 100644
index 0000000..bb5d15f
--- /dev/null
+++ b/chrome/locale/he/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "הגדרות החשבון">
+<!ENTITY torbirdy.accountprefs.startup.label "בדוק אם התקבלו הודעות חדשות בעת ההפעלה">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "בדוק אם התקבלו הודעות חדשות בכל">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "דקות">
+<!ENTITY torbirdy.accountprefs.cancel.button "ביטול">
+<!ENTITY torbirdy.accountprefs.save.button "שמור">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "הגדדרות עבור TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "שמור">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "ביטול">
+<!ENTITY torbirdy.prefs.extra2.button "חזרה לברירת מחדל">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "בחן הגדרות Proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "פרוקסי">
+<!ENTITY torbirdy.prefs.privacy.label "פרטיות">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "אבטחה">
+<!ENTITY torbirdy.prefs.recommended.text "השתמש בהגדרות המומלצות עבור TorBirdy ‏(Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "בחר שרות עבור אלמוניות">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "השתמש בהגדרות מותאמות אישית עבור שרת הפרוקסי">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "כתובת שרת פרוקסי מסוג SOCKS: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "פורט:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "שקוף Torification (אזהרה: נדרש transproxy מותאם או נתב Tor)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "גלובאלי">
+<!ENTITY torbirdy.prefs.imap.label "אפשר תמיכה בדחיפת דואר על ידי השרת לחשבונות מסוג IMAP [ברירת מחדל: מנוטרל]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "בעת הפעלה, בחר בתיקיית הדואר שנפתחה אחרונה [ברירת מחדל: מנוטרל]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "אל תקבע את איזור הזמן של Thunderbird לUTC [ברירת מחדל: קבע לUTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "אל תשים את מזהי מפתח המקבל בתוך הודעות מוצפנות [ברירת מחדל: השם]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "וודא לפני שליחה כאשר אניגמייל מופעל [ברירת מחדל: אל תוודא]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "הפעל את אשף הגדרות הדואר של ת'אנדרבירד [ברירת מחדל: כבוי]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "בדוק עבור הודעות חדשות אוטומטית עבור כל החשבונות [ברירת מחדל: מנוטרלת]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "הרשה חיבורית לשרתים שאינם תומכים בSSL/TLS עם חידוש משא ומתן מאובטח [ברירת מחדל: לא להרשות]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "חשבון ספציפי">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "בחר חשבון: ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "שרת(י) הפצת מפתחות:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "תשתמש ב Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "תשתמש ב  JonDo ‏(Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "השתמש ב Whonix">
+<!ENTITY torbirdy.panel.preferences.label "פתח עדיפויות TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "הפעלה ראשונה של TorBirdy">
diff --git a/chrome/locale/he/torbirdy.properties b/chrome/locale/he/torbirdy.properties
new file mode 100644
index 0000000..dea3b57
--- /dev/null
+++ b/chrome/locale/he/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy מופעל: Tor
+torbirdy.enabled.jondo=TorBirdy מופעל: JonDo
+torbirdy.enabled.custom=TorBirdy מופעל: פרוקסי מותאם אישית
+torbirdy.enabled.torification=TorBirdy מופעל: Transparent Torification
+torbirdy.enabled.whonix=TorBirdy מופעל: Whonix
+torbirdy.disabled=TorBirdy מושבת!
+
+torbirdy.email.prompt=TorBirdy מנעה את הפעלת אשף ההגדרות האוטומטיות של Thunderbird על מנת לשמור על האנונימיות שלך.\nהגדרות האבטחה המתאימות עבור %S נקבעו.\nכעת באפשרותך להתאים את שאר ההגדרות באופן ידני.
+
+torbirdy.email.advanced=לתשומת לבך, לא מומלץ לשנות את ההגדרות המקדמות של TorBirdy. \nהמשך רק במידה והינך בטוח שברצונך לעשות כן.
+torbirdy.email.advanced.nextwarning=הצג אזהרה זו בפעם הבאה
+torbirdy.email.advanced.title=הגדרות מתקדמות עבור TorBirdy
+
+torbirdy.restart=עליך לאתחל את Thunderbird על מנת שהעדפת אזור הזמן תיכנס לתוקף.
+
+torbirdy.firstrun=טורבירדי מופעל כעת. \\n\\n על מנת להגן על האנונימיות שלך, טורבירדי טורבירדי תאכוף את ההגדרות שקבעה, על מנת שלא ישונו על ידיך או על ידי תוסף אחר. ישנן הגדרות שבאפשרותך לשנות והן מופיעות בעהדפות של טורבירדי. במידה וטורבירדי תוסר או תנוטרל, ההגדרות הנ"ל ישונו חזרה לערכי ברירת המחדל שלהם (לפני התקנת טורבירדי). \\n\\n אם הינך משתמש חדש, מומלץ שתקרא באתר של טורבירדי ותבין מה מטרת התוסף עבור המשתמשים.
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/it/torbirdy.dtd b/chrome/locale/it/torbirdy.dtd
new file mode 100644
index 0000000..bb02b66
--- /dev/null
+++ b/chrome/locale/it/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Configurazione Account">
+<!ENTITY torbirdy.accountprefs.startup.label "Controlla se ci sono nuovi messaggi all'avvio">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Controlla se ci sono nuovi messaggi ogni">
+<!ENTITY torbirdy.accountprefs.minutes.key "s">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minuti">
+<!ENTITY torbirdy.accountprefs.cancel.button "Annulla">
+<!ENTITY torbirdy.accountprefs.save.button "Salva">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "Preferenze TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "Salva">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Annulla">
+<!ENTITY torbirdy.prefs.extra2.button "Reimposta i valori di default">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Verifica le impostazioni del proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privacy">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Sicurezza">
+<!ENTITY torbirdy.prefs.recommended.text "Utilizza le impostazioni consigliate per TorBirdy(Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Scegli un servizio per l'anonimato">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Utilizza impostazioni personalizzate per il proxy">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "Host SOCKS: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Porta:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Torificazione Trasparente">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Globale">
+<!ENTITY torbirdy.prefs.imap.label "Abilita supporto push email per gli account IMAP [default: disabilitato]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Seleziona all'avvio l'ultima cartella di mail visitata [default: disabilitato]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Non impostare il fuso orario di Thunderbird a UTC [default: impostato a UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Non inserire l'ID della chiave del destinatario nei messaggi cifrati [viene inserita di default]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Conferma prima di inviare l'email se Enigmail è attivo [predefinito: non confermare]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Attiva il wizard di configurazione automatica email di Thunderbird [default: disabilitato]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Controlla automaticamente nuovi messaggi per tutti gli account [disabilitato di default]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Permetti connessioni a server che non supportano SSL/TLS con rinegoziazione sicura [predefinito: non permettere]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Relativo all'Account">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Seleziona un account:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Keyserver(s) da usare:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Usa Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Usa JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Usa Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Apri le preferenze di TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "Primo Avvio di TorBirdy">
diff --git a/chrome/locale/it/torbirdy.properties b/chrome/locale/it/torbirdy.properties
new file mode 100644
index 0000000..a874521
--- /dev/null
+++ b/chrome/locale/it/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy ha abilitato: Tor
+torbirdy.enabled.jondo=TorBirdy ha abilitato: JonDo
+torbirdy.enabled.custom=TorBirdy ha abilitato: Proxy Personalizzato
+torbirdy.enabled.torification=TorBirdy ha abilitato: Tor-ificazione trasparente
+torbirdy.enabled.whonix=TorBirdy Attivo:    Whonix
+torbirdy.disabled=TorBirdy: disabilitato!
+
+torbirdy.email.prompt=TorBirdy ha disabilitato la configurazione automatica di Thunderbird per proteggere il tuo anonimato.\n\nLe impostazioni di sicurezza di %S sono state impostate.\nAdesso puoi configurare le altre impostazioni dell'account manualmente.
+
+torbirdy.email.advanced=Attenzione! Non è consigliato modificare le impostazioni di TorBirdy.\n\nContinua solo se sei sicuro di quel che stai facendo.
+torbirdy.email.advanced.nextwarning=Mostra questo avviso la prossima volta
+torbirdy.email.advanced.title=Impostazioni avanzate di Torbirdy
+
+torbirdy.restart=Per applicare le impostazioni del fuso orario devi riavviare Thunderbird.
+
+torbirdy.firstrun=Stai ora usando TorBirdy.\n\nPer aiutarti a proteggere la tua anonimità, TorBirdy bloccherà le impostazioni di Thunderbird che ha cambiato, prevenendo eventuali modifiche da te o da qualsiasi add-on. Ci sono alcune impostazioni che possono essere modificate accessibili tramite la finestra delle preferenze di TorBirdy. Quando TorBirdy viene disinstallato o disabilitato, tutte le impostazioni che ha cambiato vengono reimpostate ai valori predefiniti (i valori precedenti a [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/lv/torbirdy.dtd b/chrome/locale/lv/torbirdy.dtd
new file mode 100644
index 0000000..1779d58
--- /dev/null
+++ b/chrome/locale/lv/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Konta konfigurēšana">
+<!ENTITY torbirdy.accountprefs.startup.label "Sākot darbu, pārbaudīt vai ir jauni ziņojumi ">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Pārbaudīt vai ir jauni ziņojumi katru">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minūtes">
+<!ENTITY torbirdy.accountprefs.cancel.button "Atcelt">
+<!ENTITY torbirdy.accountprefs.save.button "Saglabāt">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy preferences">
+<!ENTITY torbirdy.prefs.save.button "Saglabāt">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Atcelt">
+<!ENTITY torbirdy.prefs.extra2.button "Atjaunot noklusējuma vērtības">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Pārbaudīt starpnieka iestatījumus">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Starpnieks">
+<!ENTITY torbirdy.prefs.privacy.label "Privātums">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Drošība">
+<!ENTITY torbirdy.prefs.recommended.text "Lietot ieteiktos starpnieka iestatījumus TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Izvēlieties anonimizācijas pakalpojumu">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Lietot starpnieka pielāgotus iestatījumus">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "LIGZDU mitinātājs:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Porti:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Pārredzama torifikācija">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Globāls">
+<!ENTITY torbirdy.prefs.imap.label "IMAP kontiem [noklusēti: atspējots] iespējot e-pastu pašpiegādes atbalstu">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Sākot darbu, izvēlēties pēdējo apmeklēto pasta mapi [noklusēti: atspējots]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Neiestatīt Thunderbird'a laika zonu uz UTC [noklusēti: iestatīt uz UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Nelikt saņēmēju atslēgu identifikatorus šifrētajos ziņojumos [pēc noklusējuma: likt]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Apstiprināt pirms e-pasta nosūtīšanas, ja iespējota Enigmail [noklusējumvērtība: neapstiprināt]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Iespējot Thunderbird'a automātisko e-pasta konfigurācijas palīgu [noklusējumvērtība: atspējots]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Automātiski pārbaudīt visos kontos vai ir jauni ziņojumi [noklusējumvērtība: atspējots]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Atļaut tādu serveru savienojumus, kuri nenodrošina SSL/TLS ar drošu atkārtotu vienošanos [noklusējuma vērtība: neatļaut]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Kontam-piemītošs">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Izvēlēties kontu:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Lietot atslēgserveri(us): ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Lietot Tor sīpola maršrutētāju">
+<!ENTITY torbirdy.panel.usejondo.label "Lietot JonDo (īpašs)">
+<!ENTITY torbirdy.panel.usewhonix.label "Lietot Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Atvērt TorBirdy preferences">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy First-Run">
diff --git a/chrome/locale/lv/torbirdy.properties b/chrome/locale/lv/torbirdy.properties
new file mode 100644
index 0000000..4b1e8e3
--- /dev/null
+++ b/chrome/locale/lv/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy iespējots: Tor
+torbirdy.enabled.jondo=TorBirdy iespējots: JonDo
+torbirdy.enabled.custom=TorBirdy iespējots: Pielāgots starpnieks
+torbirdy.enabled.torification=TorBirdy iespējots: Pārredzama torifikācija
+torbirdy.enabled.whonix=TorBirdy ir iespējots:    Whonix
+torbirdy.disabled=TorBirdy: Atspējots!
+
+torbirdy.email.prompt=TorBirdy atspējoja Thunderbird'a auto-konfigurācijas vedni, lai aizsargātu jūsu anonimitāti.⏎ ⏎ Ieteiktie drošības iestatījumi tika uzstādīti priekš %S.⏎ ⏎ Tagad varat manuāli konfigurēt citus konta iestatījumus.
+
+torbirdy.email.advanced=Lūdzu ņemt vērā, ka TorBirdy lietpratīgo iestatījumu maiņa NAV ieteicama.⏎ ⏎ Jums vajadzētu turpināt tikai tad, ja tiešām zināt, ko darāt.
+torbirdy.email.advanced.nextwarning=Nākamreiz rādīt šo brīdinājumu
+torbirdy.email.advanced.title=TorBirdy Lietpratīgie iestatījumi
+
+torbirdy.restart=Jums jāpārstartē Thunderbird, lai laika zonas preferences stātos spēkā.
+
+torbirdy.firstrun=Tagad Jūs izpildāt TorBirdy.\n\nLai palīdzētu aizsargāt Jūsu anonimitāti, TorBirdy ieviesīs noteiktos Thunderbird iestatījumus, novēršot to maiņu no Jūsu vai pievienojumu puses. Ir atsevišķi maināmi iestatījumi. Pie tiem var piekļūt no TorBirdy preferenču dialogekrāna. Kad TorBirdy ir atinstalēts vai atspējots, tad visi tā maināmie iestatījumi tiek atiestatīti uz savām noklusējumvērtībām (vērtībām pirms TorBirdy instalācijas).\n\nJa esat jauns lietotājs, tad iesakām iep [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/nl/torbirdy.dtd b/chrome/locale/nl/torbirdy.dtd
new file mode 100644
index 0000000..5e05614
--- /dev/null
+++ b/chrome/locale/nl/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Account Configuratie">
+<!ENTITY torbirdy.accountprefs.startup.label "Op nieuwe berichten controleren bij opstarten">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Op nieuwe berichten controleren elke">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minuten">
+<!ENTITY torbirdy.accountprefs.cancel.button "Annuleren">
+<!ENTITY torbirdy.accountprefs.save.button "Opslaan">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy configuratie">
+<!ENTITY torbirdy.prefs.save.button "Opslaan">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Annuleren">
+<!ENTITY torbirdy.prefs.extra2.button "Terugzetten op begintoestand">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Test Proxy Instellingen">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privacy">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Beveiliging">
+<!ENTITY torbirdy.prefs.recommended.text "Aanbevolen configuratie voor TorBirdy (Tor) gebruiken">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Kies een anonimiseringsdienst">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Gebruik een aangepaste proxyconfiguratie">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Host: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port: ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparant Torification">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Globaal">
+<!ENTITY torbirdy.prefs.imap.label "Ondersteuning voor push e-mail voor IMAP-accounts inschakelen [standaard: uitgeschakeld]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Bij opstarten direct naar de laatst bekeken map gaan [standaard: uitgeschakeld]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Gebruik niet de UTC tijdzone voor Thunderbird [standaard: gebruik UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Plaats key ID's van ontvangers niet in versleutelde berichten [standaard: wel plaatsen]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Bevestig het versturen van e-mail als Enigmail is ingeschakeld [standaard: bevestig niet]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Schakel Thunderbird's automatische e-mail configuratie-wizard in [standaard: uitgeschakeld]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Controleer automatisch voor nieuwe berichten voor alle accounts [standaard: uitgeschakeld]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "sta connecties met servers die SSL/TLS met "safe renegotiation" toe  [default: do not allow]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Account-specifiek">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Kies een account: ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Bruikbaare hoofdserver(s).">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Gebruik Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Gebruik JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Gebruik Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Open TorBirdy voorkeuren">
+
+<!ENTITY torbirdy.firstrun.title "Eerste gebruik van TorBirdy">
diff --git a/chrome/locale/nl/torbirdy.properties b/chrome/locale/nl/torbirdy.properties
new file mode 100644
index 0000000..897c06f
--- /dev/null
+++ b/chrome/locale/nl/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy geactiveerd:    Tor
+torbirdy.enabled.jondo=TorBirdy geactiveerd:    JonDo
+torbirdy.enabled.custom=TorBirdy geactiveerd:    Aangepaste Proxy
+torbirdy.enabled.torification=TorBirdy geactiveerd:    Transparant Torification
+torbirdy.enabled.whonix=TorBirdy geactiveerd:    Whonix
+torbirdy.disabled=TorBirdy:    Gedeactiveerd!
+
+torbirdy.email.prompt=TorBirdy heeft Thunderbird's automatische configuratiehulp uitgeschakeld om uw anonimiteit te beschermen.\n\nDe aanbevolen beveiligingsinstellingen zijn voor %S ingesteld.\n\nU kunt nu de andere instellingen met de hand configureren.
+
+torbirdy.email.advanced=Hou er rekening mee dat het aanpassen van de geavanceerde instellingen van TorBirdy wordt AFGERADEN.\n\nGa hier alleen mee verder als u weet wat u doet.
+torbirdy.email.advanced.nextwarning=Toon deze waarschuwing ook in de toekomst
+torbirdy.email.advanced.title=TorBirdy geavanceerde instellingen
+
+torbirdy.restart=Je moet Thunderbird herstarten om de tijdszone voorkeuren te activeren.
+
+torbirdy.firstrun=Je gebruikt nu TorBirdy.\n\nOm je anonimiteit te beschermen zal TorBirdy de Thunderbird instellingen die het heeft ingesteld vastzetten. Dit voorkomt aanpassingen door jou of add-ons. Er zijn sommige instellingen die aangepast kunnen worden; deze zijn beschikbaar in TorBirdy's voorkeurenvenster. Wanneer TorBirdy gedeïnstalleerd wordt, worden alle instellingen die aangepast zijn weer teruggezet naar hun standaard waardes (de waardes die gebruikt werden voor de installati [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/pa/torbirdy.dtd b/chrome/locale/pa/torbirdy.dtd
new file mode 100644
index 0000000..725c42f
--- /dev/null
+++ b/chrome/locale/pa/torbirdy.dtd
@@ -0,0 +1,64 @@
+<!ENTITY torbirdy.accountprefs.title "ਅਕਾਊਂਟਸ ਸੇਟਿਂਗ">
+<!ENTITY torbirdy.accountprefs.startup.label "ਸ਼ੁਰੂ ਕਰਨ ਸਮੇਂ ਨਵੇਂ ਸੁਨੇਹੇ ਲਈ ਚੈੱਕ ਕਰੋ">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "ਨਵੇਂ ਸੁਨੇਹੇ ਦੀ ਹਰ">
+<!ENTITY torbirdy.accountprefs.minutes.key "k">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "ਮਿੰਟ ਬਾਅਦ ਜਾਂਚ ਕਰੋ">
+<!ENTITY torbirdy.accountprefs.cancel.button "ਰੱਦ ਕਰੋ">
+<!ENTITY torbirdy.accountprefs.save.button "ਠੀਕ ਹੈ">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "ਮੇਰੀ ਪਸੰਦ">
+<!ENTITY torbirdy.prefs.save.button "ਠੀਕ ਹੈ">
+<!ENTITY torbirdy.prefs.save.key "S">
+<!ENTITY torbirdy.prefs.cancel.button "ਰੱਦ ਕਰੋ">
+<!ENTITY torbirdy.prefs.extra2.button "Restore Defaults">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "ਪਰਾਕਸੀ ਟੈਸਟ ਕਰੋ">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "ਪਰਾਕਸੀ">
+<!ENTITY torbirdy.prefs.privacy.label "ਪਰਾਈਵੇਸੀ">
+<!ENTITY torbirdy.prefs.enigmail.label "ਏਨਿਗਮੇਲ">
+<!ENTITY torbirdy.prefs.security.label "ਸੁਰੱਖਿਆ">
+<!ENTITY torbirdy.prefs.recommended.text "ਟੌਰਬਰਡੀ ਲਈ ਆਖੀ ਹੋਈ ਪਰਾਕਸੀ ਸੈਟਿੰਗ ਵਰਤੋ ਕਰੋ (ਟੌਰ)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "ਗੁਪਤ ਸਰਵਿਸ ਚੁਣ ਕਰੋ">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "ਖੁਦ ਪਰਾਕਸੀ ਸੇਟਿਂਗ ਦਿਓ">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS ਹੋਸਟ: ">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "ਪੋਰਟ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparent Torification">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "ਗਲੋਬਲ">
+<!ENTITY torbirdy.prefs.imap.label "IMAP ਅਕਾਊਂਟ ਵਾਸਤੇ ਪੁਸ਼ ਈਮੇਲ ਚਾਲੂ ਕਰੋ">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "ਸ਼ੁਰੂ ਹੋਣ ਤੇ ਆਖਰੀ ਈਮੇਲ ਫੋਲਡਰ ਚੋਣਵਾਂ ਕਰੋ">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "ਥੰਡਰਬਰਡ ਦੇ ਟਾਇਮ ਜ਼ੋਨ ਨੂੰ UTC ਨਾ ਤੈਅ ਕਰੋ">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "GPG '--throw-keyids' ਰੱਦ ਕਰੋ
+">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "p">
+<!ENTITY torbirdy.prefs.confirmemail.label "ਈਮੇਲ ਕਰਨ ਤੌਂ ਪਿਹਲਾਂ ਪੂਛੋ ਜੈ ਏਨਿਗਮੇਲ ਚਾਲੂ ਹੈ">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "ਥੰਡਰਬਰਡ ਦੇ ਆਟੋ-ਸੰਰਚਨਾ ਈਮੈਲ ਸੈਟਅੱਪ ਨੂੰ ਨਾ ਰੱਦ ਕਰੋ">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "ਨਵੇਂ ਸੰਦੇਸ਼ਾਂ ਵਾਸਤੇ ਚੇਕ ਕਰੋ ਸਾਰੇ ਅਕਾਊਂਟਸ ਲਈ">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "ਜੇ ਸਰਵਰ ਤੇ  SSL /TLS Secure  Regontiation ਦੀ ਸਹਾਇਤਾ ਨਹੀਂ ਹੈ ਤਾਂ ਵੀ ਕਨੇਕਟ ਕਰੋ">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "ਅਕਾਊਂਟ-ਵਿਸ਼ਿਸ਼ਟ">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "ਅਕਾਊਂਟ ਚੁਣੋ">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "ਕਿਹੜਾ ਕੀਸਰਵਰ ਵਰਤੋ:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "ਟੌਰ ਦੀ ਵਰਤੋ ਕਰੋ">
+<!ENTITY torbirdy.panel.usejondo.label "ਜੋਨ ਦੋ ਦੀ ਵਰਤੋ ਕਰੋ (ਪ੍ਰੀਮੀਅਮ)">
+<!ENTITY torbirdy.panel.usewhonix.label "ਹੁਨਿਕਸ ਦੀ ਵਰਤੋ ਕਰੋ">
+<!ENTITY torbirdy.panel.preferences.label "ਟੌਰਬਰਡੀ ਸੈਟਿੰਗ">
+
+<!ENTITY torbirdy.firstrun.title "ਟੌਰਬਰਡੀ ਪਹਿਲੀ ਵਾਰ">
diff --git a/chrome/locale/pa/torbirdy.properties b/chrome/locale/pa/torbirdy.properties
new file mode 100644
index 0000000..bf3a7e4
--- /dev/null
+++ b/chrome/locale/pa/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=ਟੌਰਬਰਡੀ
+
+torbirdy.enabled.tor=ਟੌਰਬਰਡੀ ਚਾਲੂ ਹੇ:    ਟੌਰ
+torbirdy.enabled.jondo=ਟੌਰਬਰਡੀ ਚਾਲੂ ਹੇ:    ਜੋਨਦੋ
+torbirdy.enabled.custom=ਟੌਰਬਰਡੀ ਚਾਲੂ ਹੇ:    ਕਸਟਮ ਪਰਾਕਸੀ ਸੈਟਿੰਗ
+torbirdy.enabled.torification=ਟੌਰਬਰਡੀ ਚਾਲੂ ਹੇ:    ਪਾਰਦਰਸ਼ਕ ਟੌਰ
+torbirdy.enabled.whonix=ਟੌਰਬਰਡੀ ਚਾਲੂ ਹੇ:     ਹੁਨਿਕਸ
+torbirdy.disabled=ਟੌਰਬਰਡੀ:    ਬੰਦ ਹੈ!
+
+torbirdy.email.prompt=ਤੁਹਾਨੂੰ ਗੁਪਤ ਰਖਣ ਵਾਸਤੇ ਟੌਰਬਰਡੀ ਨੇ ਥੰਡਰਬਰਡ ਦੇ ਆਟੋ-ਸੰਰਚਨਾ ਸੈਟਅੱਪ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਹੇ | \n\n ਜ਼ਰੂਰੀ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗ %S ਵਾਸਤੇ ਲਾਗੂ ਕਰ ਦਿਤੀਆਂ ਗਈਆਂ ਨੇ | \n\n ਤੁਸੀਂ ਬਾਕੀ ਸੈਟਿੰਗ ਆਪਣੇ ਆਪ ਸੰਰਚਨਾ ਕਰ ਸਕਦੇ ਹੋ |
+
+torbirdy.email.advanced=ਧਿਆਨ ਨਾਲ! ਟੌਰਬਰਡੀ ਦੀ ਤਕਨੀਕੀ ਸੈਟਿੰਗ ਨੂੰ ਛੇੜਨਾ ਨਹੀਂ ਚਾਹਿਦਾ | \n\n ਅਗੇ ਤਾਂ ਹੀ ਵਧੋ ਜੇ ਤੁਹਾਨੂੰ ਪਤਾ ਹੇ ਕਿ ਤੁਸੀਂ ਕੀ ਕਰ ਰਹੇ ਹੋ |
+torbirdy.email.advanced.nextwarning=ਇਹ ਚੇਤਾਵਨੀ ਫੇਰ ਵਿਖਾਓ
+torbirdy.email.advanced.title=ਟੌਰਬਰਡੀ ਤਕਨੀਕੀ ਸੈਟਿੰਗ
+
+torbirdy.restart=ਟਾਇਮ ਜ਼ੋਨ ਸੈਟਿੰਗ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਥੰਡਰਬਰਡ ਨੂੰ ਰੀਸਟਾਰਟ ਕਰੋ
+
+torbirdy.firstrun=ਤੁਸੀਂ ਟੌਰਬਰਡੀ ਚਲਾ ਰਹੇ ਹੋ।\n\nਤੁਹਾਨੂੰ ਗੁਪਤ ਰਖਣ ਵਾਸਤੇ ਟੌਰਬਰਡੀ ਨੇ ਥੰਡਰਬਰਡ ਦੀ ਪਰਿਸਥਿਤੀਆਂ ਦੀ ਬਦਲੀ ਕੀਤੀ ਹੈ। ਤੁਸੀਂ ਆਹ ਪਰਿਸਥਿਤੀਆਂ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਦੇ ।\n\nਜੇ ਤੁਸੀਂ ਪਹਿਲੀ ਵਾਰ ਟੌਰਬਰਡੀ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਕਿਰਪਾ ਕਰ ਕੇ ਟੌਰਬਰਡੀ ਦੀ ਵੇਬ ਸਾਇਟ ਪੜ੍ਹੋ ਜੀ।
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/pl/torbirdy.dtd b/chrome/locale/pl/torbirdy.dtd
new file mode 100644
index 0000000..711f903
--- /dev/null
+++ b/chrome/locale/pl/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Konfiguracja konta">
+<!ENTITY torbirdy.accountprefs.startup.label "Sprawdzaj nowe wiadomości przy uruchamianiu">
+<!ENTITY torbirdy.accountprefs.startup.key "S">
+<!ENTITY torbirdy.accountprefs.minutes.label "Sprawdzaj nowe wiadomości co">
+<!ENTITY torbirdy.accountprefs.minutes.key "r">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minut">
+<!ENTITY torbirdy.accountprefs.cancel.button "Anuluj">
+<!ENTITY torbirdy.accountprefs.save.button "Zapisz">
+<!ENTITY torbirdy.accountprefs.save.key "Z">
+
+<!ENTITY torbirdy.prefs.title "Ustawienia TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "Zapisz">
+<!ENTITY torbirdy.prefs.save.key "z">
+<!ENTITY torbirdy.prefs.cancel.button "Anuluj">
+<!ENTITY torbirdy.prefs.extra2.button "Ustawienia domyślne">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Testuj ustawienia Proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Prywatność">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Bezpieczeństwo">
+<!ENTITY torbirdy.prefs.recommended.text "Użyj zalecanych ustawień proxy dla TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "j">
+<!ENTITY torbirdy.prefs.anonservice.text "Wybierz usługę anonimizującą">
+<!ENTITY torbirdy.prefs.anonservice.key "u">
+<!ENTITY torbirdy.prefs.customsettings.text "Użyj własnych ustawień proxy">
+<!ENTITY torbirdy.prefs.customsettings.key "i">
+<!ENTITY torbirdy.prefs.socks_host.label "Host SOCKS:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port:">
+<!ENTITY torbirdy.prefs.socks_port.key "P">
+<!ENTITY torbirdy.prefs.torification.label "Przezroczysta Toryfikacja">
+<!ENTITY torbirdy.prefs.torification.key "T">
+<!ENTITY torbirdy.prefs.global "Globalne">
+<!ENTITY torbirdy.prefs.imap.label "Włącz obsługę push email dla kont IMAP [domyślne: wyłączone]">
+<!ENTITY torbirdy.prefs.imap.key "P">
+<!ENTITY torbirdy.prefs.startup_folder.label "Zaznacz ostatnio używany folder przy starcie [domyślnie: wyłączone]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Nie ustawiaj strefy czasowej Thunderbirda na UTC [domyślne: ustaw na UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "s">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Nie wpisuj kluczy IDs odbiorców w zaszyfrowanej wiadomości [domyślnie: wpisz]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Potwierdzaj przed wysłaniem wiadomości, gdy Enigmail jest włączony [domyślnie: nie potwierdzaj]">
+<!ENTITY torbirdy.prefs.confirmemail.key "i">
+<!ENTITY torbirdy.prefs.emailwizard.label "Włącz automatyczny kreator konfiguracji e-mail Thunderbirda [domyślnie: wyłączony]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Sprawdź czy masz nowe wiadomości na wszystkich kontach [domyślnie: wyłączone]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Zezwalaj na połączenia do serwerów nie obsługujących SSL/TLS z bezpieczną renegocjacją [domyślne: nie zezwalaj]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Specyficzne dla konta">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Wybierz konto:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Serwer(y) kluczy do używania:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Używaj The Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Używaj JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Użyj Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Otwórz Preferencje TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "Pierwsze uruchomienie TorBirdy">
diff --git a/chrome/locale/pl/torbirdy.properties b/chrome/locale/pl/torbirdy.properties
new file mode 100644
index 0000000..6075d96
--- /dev/null
+++ b/chrome/locale/pl/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Włączone: Tor
+torbirdy.enabled.jondo=TorBirdy Włączone: JonDo
+torbirdy.enabled.custom=TorBirdy Włączone: Własne Ustawienia Proxy
+torbirdy.enabled.torification=TorBirdy Włączone: Przezroczysta Toryfikacja
+torbirdy.enabled.whonix=TorBirdy Włączone: Whonix
+torbirdy.disabled=TorBirdy: Wyłączone!
+
+torbirdy.email.prompt=TorBirdy wyłączył kreatora auto-konfiguracji Thunderbirda, by chronić Twoją anonimowość.\n\nZalecane ustawienia bezpieczeństwa dla %S zostały ustawione.\n\nMożna teraz ręcznie skonfigurować inne ustawienia konta.
+
+torbirdy.email.advanced=Zmiana ustawień zaawansowanych TorBirdy NIE jest zalecana.\n\nKontynuuj tylko jeśli wiesz, co robisz.
+torbirdy.email.advanced.nextwarning=Pokaż to ostrzeżenie następnym razem
+torbirdy.email.advanced.title=Zaawansowane Ustawienia TorBirdy
+
+torbirdy.restart=You must restart Thunderbird for the time zone preference to take effect.
+
+torbirdy.firstrun=TorBirdy jest teraz uruchomiony\n\nAby chronić Twoją anonimowość, TorBirdy będzie pilnował ustawionych przez siebie ustawień Thunderbirda, zapobiegając ich zmianie przez Ciebie lub inne dodatki. Można zmienić niektóre ustawienia, do których jest dostęp z okna ustawień TorBirdy. Gdy TorBirdy jest odinstalowany lub wyłączony, wszystkie zmienione przez niego ustawienia są resetowane do wartości domyślnych (sprzed instalacji TorBirdy).\n\nJeśli jesteś nowym użytkownikiem, z [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/pt-BR/torbirdy.dtd b/chrome/locale/pt-BR/torbirdy.dtd
new file mode 100644
index 0000000..743dde1
--- /dev/null
+++ b/chrome/locale/pt-BR/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Configurações da Conta">
+<!ENTITY torbirdy.accountprefs.startup.label "Verificar se há novas mensagens ao iniciar">
+<!ENTITY torbirdy.accountprefs.startup.key "I">
+<!ENTITY torbirdy.accountprefs.minutes.label "Verificar se há novas mensagens a cada">
+<!ENTITY torbirdy.accountprefs.minutes.key "a">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minutos">
+<!ENTITY torbirdy.accountprefs.cancel.button "Cancelar">
+<!ENTITY torbirdy.accountprefs.save.button "Salvar">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "Preferências do TorBirdy">
+<!ENTITY torbirdy.prefs.save.button "Salvar">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Cancelar">
+<!ENTITY torbirdy.prefs.extra2.button "Restaurar padrão">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Testar as Configurações do Proxy">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Privacidade">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Segurança">
+<!ENTITY torbirdy.prefs.recommended.text "Utilizar as configurações de proxy recomendadas para o TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Escolher um serviço de anonimato">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Usar configurações de proxy personalizadas">
+<!ENTITY torbirdy.prefs.customsettings.key "p">
+<!ENTITY torbirdy.prefs.socks_host.label "Host SOCKS:">
+<!ENTITY torbirdy.prefs.socks_host.key "s">
+<!ENTITY torbirdy.prefs.socks_port.label "Porta:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Torificação Transparente">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Geral">
+<!ENTITY torbirdy.prefs.imap.label "Ativar suporte a download de emails via IMAP [padrão: desativado]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Abrir a última pasta acessada ao iniciar [padrão: desativado]">
+<!ENTITY torbirdy.prefs.startup_folder.key "p">
+<!ENTITY torbirdy.prefs.timezone.label "Não defina o fuso horário do Thunderbird para UTC [padrão: definido para UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "f">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Não colocar a ID dos destinatários em mensagens criptografadas [padrão: colocar]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Confirmar antes de enviar e-mail se Enigmail estiver ativado [padrão: não confirmar]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Ativar o assistente de configuração de email do Thunderbird [padrão: desativar]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Verifica automaticamente novas mensagens em todas contas [padrão: desabilitado]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Permitir conexões a servidores que não suportam SSL/TLS com negociação segura [padrão: não permitir]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Configurações da Conta">
+<!ENTITY torbirdy.prefs.select_account.key "s">
+<!ENTITY torbirdy.prefs.select_account.label "Escolher uma conta:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Servidor de chave(s) a usar:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Usar o Roteador Tor Onion">
+<!ENTITY torbirdy.panel.usejondo.label "Usar o JonDo (Usuário Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Usar Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Abrir Preferências do TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "Primeira execução do TorBirdy">
diff --git a/chrome/locale/pt-BR/torbirdy.properties b/chrome/locale/pt-BR/torbirdy.properties
new file mode 100644
index 0000000..f9cf4ed
--- /dev/null
+++ b/chrome/locale/pt-BR/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Ativado: Tor
+torbirdy.enabled.jondo=TorBirdy Ativado: JonDo
+torbirdy.enabled.custom=TorBirdy Ativado: Proxy Personalizado
+torbirdy.enabled.torification=TorBirdy Ativado: Torificação Transparent
+torbirdy.enabled.whonix=TorBirdy Habilitado:  Whonix
+torbirdy.disabled=TorBirdy: Desativado!
+
+torbirdy.email.prompt=O TorBirdy desativou o assistente de configuração automática do Thunderbird para proteger sua anonimidade.\nAs configurações de segurança recomendadas para %S foram definidas.\nVocê pode configurar as configurações de outras contas manualmente.
+
+torbirdy.email.advanced=Por favor, tenha em mente que mudar as configurações avançadas do TorBirdy NÃO É recomendado.\nVocê só deve continuar se souber o que está fazendo.
+torbirdy.email.advanced.nextwarning=Mostrar esse aviso no futuro
+torbirdy.email.advanced.title=Configurações Avançadas do TorBirdy
+
+torbirdy.restart=Reinicie o Thunderbind para que a opção de zona do fuso horário seja ativada.
+
+torbirdy.firstrun=Você agora está executando o TorBirdy.\n\nPara melhorar a sua anonimidade o TorBirdy irá forçar as configurações do Thunderbird que ele criou, prevenindo que ela seja modificada por você ou por um acessório.  Há algumas configurações que podem ser modificadas através das preferências do TorBirdy.  Quando o TorBirdy for removido ou desativado, todas suas configurações são restauradas a seus valores padrões (os valores anteriores ao TorBirdy ser instalado)\n\nSe você for  [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/sv/torbirdy.dtd b/chrome/locale/sv/torbirdy.dtd
new file mode 100644
index 0000000..49845b8
--- /dev/null
+++ b/chrome/locale/sv/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "Kontoinställningar">
+<!ENTITY torbirdy.accountprefs.startup.label "Kolla efter nya meddelande vid uppstart">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Kontrollera om det finns nya meddelanden varje">
+<!ENTITY torbirdy.accountprefs.minutes.key "j">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "minuter">
+<!ENTITY torbirdy.accountprefs.cancel.button "Avbryt">
+<!ENTITY torbirdy.accountprefs.save.button "Spara">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy inställningar">
+<!ENTITY torbirdy.prefs.save.button "Spara">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "Avbryt">
+<!ENTITY torbirdy.prefs.extra2.button "Återställ till standard">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Testa proxyinställningar">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Proxy">
+<!ENTITY torbirdy.prefs.privacy.label "Integritet">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Säkerhet">
+<!ENTITY torbirdy.prefs.recommended.text "Använd rekommenderade proxyinställningar för TorBirdy (Tor)">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Välj en anonymiseringstjänst">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Använd egna proxyinställningar">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS värd:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port: ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparent Torifikation (varning: kräver anpassad transproxy eller Tor router)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Global">
+<!ENTITY torbirdy.prefs.imap.label "Aktivera push e-post-stöd för IMAP-konton [standard: inaktiverat]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Välj senast besökta mail katalog vid uppstart [standard: inaktiverat]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Sätt inte Thunderbirds tidzon till UTC [standard: sätt till UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Lägg inte till mottagarnas nyckel-IDn i krypterade meddelanden [standard: lägg till]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "Bekräfta innan e-post skickas om Enigmail är aktiverat [standard: bekräfta inte]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Aktivera Thunderbirds automatiska e-post inställningsguide [standard: inaktiverad]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Kolla efter nya meddelanden automatiskt för alla konton [standard: inaktiverat]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Tillåt anslutningar till servrar som inte stöder SSL/TLS med säker omförhandling [standard: tillåt inte]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "Konto-specifikt">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Välj ett konto:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Nyckelservrar att använda:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Använd Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "Använd JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "Använd Whonix">
+<!ENTITY torbirdy.panel.preferences.label "Öppna inställningarna för TorBirdy">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy Första starten">
diff --git a/chrome/locale/sv/torbirdy.properties b/chrome/locale/sv/torbirdy.properties
new file mode 100644
index 0000000..bee785b
--- /dev/null
+++ b/chrome/locale/sv/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy aktiverad:    Tor
+torbirdy.enabled.jondo=TorBirdy aktiverad:    JonDo
+torbirdy.enabled.custom=TorBirdy aktiverad:    Anpassad Proxy
+torbirdy.enabled.torification=TorBirdy aktiverad:    Transparent Torification
+torbirdy.enabled.whonix=TorBirdy aktiverat: Whonix
+torbirdy.disabled=TorBirdy:    Inaktiverad!
+
+torbirdy.email.prompt=TorBirdy har inaktiverat Thunderbirds automatiska konfiguraions guide för att säkerställa din anonymitet.\n\nRekommenderade säkerhetsinställningar för %S har aktiverats.\n\nDu kan nu konfigurera andra kontoinställningar manuellt.
+
+torbirdy.email.advanced=Vänligen notera att ändringar av avancerade inställningar i TorBirdy INTE rekommenderas.\n\nDu bör enbart fortsätta om du är säker på vad du gör.
+torbirdy.email.advanced.nextwarning=Visa denna varningstext nästa gång
+torbirdy.email.advanced.title=TorBirdy Avancerade Inställningar
+
+torbirdy.restart=Thunderbird måste startas om för att tidszonsinställningarna ska börja gälla.
+
+torbirdy.firstrun=Du kör nu TorBirdy.\n\nFör att skydda din anonymitet kommer TorBirdy att övervaka de Thunderbird inställningar som det satt och hindra dem att ändras av dig eller något tilläggsprogram. Det finns vissa inställningar som kan ändras och du kan nå dessa genom TorBirdys inställningsdialog. När TorBirdy avinstalleras eller inaktiveras kommer alla inställningar som det gjort att återställas till dess standardval (de val som var gjorda innan TorBirdy installeraders).\n\nOm du  [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/tr/torbirdy.dtd b/chrome/locale/tr/torbirdy.dtd
new file mode 100644
index 0000000..537fe65
--- /dev/null
+++ b/chrome/locale/tr/torbirdy.dtd
@@ -0,0 +1,64 @@
+<!ENTITY torbirdy.accountprefs.title "Hesap Yapılandırması">
+<!ENTITY torbirdy.accountprefs.startup.label "Başlangıçta yeni iletileri denetle">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "Yeni ileti denetleme süresi">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "dakika">
+<!ENTITY torbirdy.accountprefs.cancel.button "İptal">
+<!ENTITY torbirdy.accountprefs.save.button "Kaydet">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy Seçenekleri">
+<!ENTITY torbirdy.prefs.save.button "Kaydet">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "İptal
+            ">
+<!ENTITY torbirdy.prefs.extra2.button "Varsayılan Ayarlar">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "Vekil Ayarlarını Sına">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "Vekil Sunucu">
+<!ENTITY torbirdy.prefs.privacy.label "Gizlilik">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "Güvenlik">
+<!ENTITY torbirdy.prefs.recommended.text "TorBirdy(Tor)  için önerilen proxy ayarlarını kullan">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "Anonimleştirme servisi seçin. ">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "Özel proxy ayarları kullan">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS Konuğu:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "Port: ">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "Transparan Tor Bildirimleri (uyarı: özel olarak ayarlanmış Transproxy ya da Tor router gerekir)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "Küresel">
+<!ENTITY torbirdy.prefs.imap.label "IMAP hesapları için Push E-mail teknolojisini aktifleştir [varsayılan: pasif]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "Başlangıçta en son erişilen posta klasörünü seç [öntanımlı: devre dışı]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "Thunderbird'ün zaman dilimi olarak UTC'yi ayarlama [varsayılan: UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "Şifrelenmiş iletiye alıcı anahtar kimliğini koyma [öntanımlı: koy]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "p">
+<!ENTITY torbirdy.prefs.confirmemail.label "Eğer Enigmail etkin ise email yollamadan önce onayla [default: do not confirm]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "Thunderbird'ün otomatik eposta ayarı sihirbazını aktifleştir [varsayılan: pasif]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "Tüm hesaplar için iletileri otomatik olarak denetle [öntanımlı: devre dışı]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "Güvenli renegotiation ile SSL/TLS desteklemeyen sunuculara erişime izin ver [varsayılan: izin verme]">
+<!ENTITY torbirdy.prefs.renegotiation.key "p">
+<!ENTITY torbirdy.prefs.account_specific "Hesaba özgü">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "Hesap Seç:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "Kullanılacak anahtar sunucu(lar):">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "Tor Onion yönlendirici kullan">
+<!ENTITY torbirdy.panel.usejondo.label "JonDo(Premium) Kullan">
+<!ENTITY torbirdy.panel.usewhonix.label "Whonix Kullan">
+<!ENTITY torbirdy.panel.preferences.label "TorBirdy Seçeneklerini Aç">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy ilk çalıştırma">
diff --git a/chrome/locale/tr/torbirdy.properties b/chrome/locale/tr/torbirdy.properties
new file mode 100644
index 0000000..56c0447
--- /dev/null
+++ b/chrome/locale/tr/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy Aktif:    Tor
+torbirdy.enabled.jondo=TorBirdy Aktif:    JonDo
+torbirdy.enabled.custom=TorBirdy Aktif:    Özelleştirilmiş Proxy
+torbirdy.enabled.torification=TorBirdy Aktifleştirildi: Transparan Tor Bildirimi
+torbirdy.enabled.whonix=TorBirdy Aktifleştirildi:    Whonix
+torbirdy.disabled=TorBirdy:    Pasif!
+
+torbirdy.email.prompt=TorBirdy gizliliğinizi korumak için Thunderbird'ün otomatik ayar sihirbazını pasifleştirdi.\n\n%S için önerilen güvenlik ayarları yapıldı.\n\nArtık diğer hesapların ayarlarını elle ayarlayabilirsiniz.
+
+torbirdy.email.advanced=TorBirdy gelişmiş ayarlarını değiştirmeniz önerilmez.\n\nSadece ne yaptığınızı biliyorsanız devam edin.
+torbirdy.email.advanced.nextwarning=Bu uyarıyı sonraki sefer yine göster.
+torbirdy.email.advanced.title=TorBirdy Gelişmiş Ayarlar
+
+torbirdy.restart=Zaman dilimi tercihlerinin etkin olabilmesi için Thunderbird'ü yeniden başlatmanız gereklidir.
+
+torbirdy.firstrun=TorBirdy çalıştırıldı.\n\nTorBirdy, anonimliğinizi korumak için Thunderbird ayarlarının, sizin tarafanızdan veya bir eklenti tarafından değiştirilmesini engelleyecek. Yine de değiştirilebilecek bazı ayarlar var. Bu ayarların, TorBirdy'nin seçenekler diyaloğuna erişimi var. TorBirdy devre dışı bırakıldığında ya da kaldırıldığında tüm ayarlar eski haline geri dönecek.\n\nYeni bir kullanıcıysanız,TorBirdy ile kullanıcılar için neyi başarmaya çalıştığımızı anlamanız adına T [...]
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/locale/zh-CN/torbirdy.dtd b/chrome/locale/zh-CN/torbirdy.dtd
new file mode 100644
index 0000000..5fb8a34
--- /dev/null
+++ b/chrome/locale/zh-CN/torbirdy.dtd
@@ -0,0 +1,63 @@
+<!ENTITY torbirdy.accountprefs.title "帐户设置">
+<!ENTITY torbirdy.accountprefs.startup.label "在启动时检查新邮件">
+<!ENTITY torbirdy.accountprefs.startup.key "C">
+<!ENTITY torbirdy.accountprefs.minutes.label "新邮件检查周期,每隔">
+<!ENTITY torbirdy.accountprefs.minutes.key "y">
+<!ENTITY torbirdy.accountprefs.minutes.trail.label "分钟">
+<!ENTITY torbirdy.accountprefs.cancel.button "取消">
+<!ENTITY torbirdy.accountprefs.save.button "保存">
+<!ENTITY torbirdy.accountprefs.save.key "S">
+
+<!ENTITY torbirdy.prefs.title "TorBirdy 首选项">
+<!ENTITY torbirdy.prefs.save.button "保存">
+<!ENTITY torbirdy.prefs.save.key "s">
+<!ENTITY torbirdy.prefs.cancel.button "取消">
+<!ENTITY torbirdy.prefs.extra2.button "恢复默认设置">
+<!ENTITY torbirdy.prefs.extra2.key "d">
+<!ENTITY torbirdy.prefs.testproxy.button "测试代理设置">
+<!ENTITY torbirdy.prefs.testproxy.key "n">
+<!ENTITY torbirdy.prefs.proxy.label "代理">
+<!ENTITY torbirdy.prefs.privacy.label "隐私">
+<!ENTITY torbirdy.prefs.enigmail.label "Enigmail">
+<!ENTITY torbirdy.prefs.security.label "安全">
+<!ENTITY torbirdy.prefs.recommended.text "使用推荐的 TorBirdy (Tor) 代理设置">
+<!ENTITY torbirdy.prefs.recommended.key "r">
+<!ENTITY torbirdy.prefs.anonservice.text "选择匿名服务">
+<!ENTITY torbirdy.prefs.anonservice.key "a">
+<!ENTITY torbirdy.prefs.customsettings.text "使用自定义代理设置">
+<!ENTITY torbirdy.prefs.customsettings.key "c">
+<!ENTITY torbirdy.prefs.socks_host.label "SOCKS 主机:">
+<!ENTITY torbirdy.prefs.socks_host.key "h">
+<!ENTITY torbirdy.prefs.socks_port.label "端口:">
+<!ENTITY torbirdy.prefs.socks_port.key "p">
+<!ENTITY torbirdy.prefs.torification.label "透明 Torification(警告:需自定义 transproxy 或 Tor router)">
+<!ENTITY torbirdy.prefs.torification.key "t">
+<!ENTITY torbirdy.prefs.global "全球">
+<!ENTITY torbirdy.prefs.imap.label "启用 IMAP 帐户邮件推送支持 [默认:禁用]">
+<!ENTITY torbirdy.prefs.imap.key "p">
+<!ENTITY torbirdy.prefs.startup_folder.label "启动时选择最后访问的邮件文件夹 [默认:禁用]">
+<!ENTITY torbirdy.prefs.startup_folder.key "l">
+<!ENTITY torbirdy.prefs.timezone.label "请勿将 Thunderbird 的时区设置为 UTC [默认:设置为 UTC]">
+<!ENTITY torbirdy.prefs.timezone.key "z">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.label "请勿讲收件人密钥 ID 放入加密邮件[默认:放入]">
+<!ENTITY torbirdy.prefs.enigmail_throwkeyid.key "r">
+<!ENTITY torbirdy.prefs.confirmemail.label "在发送电子邮件之前,确认 Enigmail 是否已启用 [默认:不确认]">
+<!ENTITY torbirdy.prefs.confirmemail.key "c">
+<!ENTITY torbirdy.prefs.emailwizard.label "启用 Thunderbird 自动电子邮件配置向导 [默认:禁用]">
+<!ENTITY torbirdy.prefs.emailwizard.key "w">
+<!ENTITY torbirdy.prefs.automatic.label "所有账户自动检查新消息 [默认:禁用]">
+<!ENTITY torbirdy.prefs.automatic.key "f">
+<!ENTITY torbirdy.prefs.renegotiation.label "允许连接至不支持具有安全重新协商机制的 SSL/TLS 的服务器 [默认:不允许]">
+<!ENTITY torbirdy.prefs.renegotiation.key "r">
+<!ENTITY torbirdy.prefs.account_specific "指定帐户">
+<!ENTITY torbirdy.prefs.select_account.key "C">
+<!ENTITY torbirdy.prefs.select_account.label "选择帐户:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.label "使用的密钥服务器:">
+<!ENTITY torbirdy.prefs.enigmail.keyserver.key "k">
+
+<!ENTITY torbirdy.panel.usetor.label "使用 Tor Onion Router">
+<!ENTITY torbirdy.panel.usejondo.label "使用 JonDo (Premium)">
+<!ENTITY torbirdy.panel.usewhonix.label "使用 Whonix">
+<!ENTITY torbirdy.panel.preferences.label "打开 TorBirdy 首选项">
+
+<!ENTITY torbirdy.firstrun.title "TorBirdy First-Run">
diff --git a/chrome/locale/zh-CN/torbirdy.properties b/chrome/locale/zh-CN/torbirdy.properties
new file mode 100644
index 0000000..e11825c
--- /dev/null
+++ b/chrome/locale/zh-CN/torbirdy.properties
@@ -0,0 +1,19 @@
+torbirdy.name=TorBirdy
+
+torbirdy.enabled.tor=TorBirdy 已启用:Tor
+torbirdy.enabled.jondo=TorBirdy 已启用:JonDo
+torbirdy.enabled.custom=TorBirdy 已启用:自定义代理
+torbirdy.enabled.torification=TorBirdy 已启用:透明 Torification
+torbirdy.enabled.whonix=TorBirdy 已启用:Whonix
+torbirdy.disabled=TorBirdy:已禁用!
+
+torbirdy.email.prompt=TorBirdy 已禁用 Thunderbird 自动配置向导以保护你的匿名性。\n\n已设置为 %S 的建议安全设置。\n\n现在可手动配置其他帐户设置。
+
+torbirdy.email.advanced=请注意:建议不要修改高级设置!\n\n除非你非常了解这些操作,否则请勿继续。
+torbirdy.email.advanced.nextwarning=下次显示此警告
+torbirdy.email.advanced.title=TorBirdy 高级设置
+
+torbirdy.restart=您必须重新启动 Thunderbird 才能使时区设置生效。
+
+torbirdy.firstrun=当前正在运行 TorBirdy。\n\n为了保护用户的匿名性,TorBirdy 强制设定了 Thunderbird 设置,以便防止用户或其他任何附加组件对其进行修改。某些设置可通过 TorBirdy 选项对话框访问并修改。卸载或禁用 TorBirdy 之后,该组件对设置所作的全部修改将重置未默认指(即在安装 TorBirdy 之前的值)。\n\n如果你是新用户,建议查阅 TorBirdy 网站,以理解用户可通过 TorBirdy 到达何种目的。
+torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy
diff --git a/chrome/skin/castironthunderbirdclub.css b/chrome/skin/castironthunderbirdclub.css
new file mode 100644
index 0000000..1d0ae47
--- /dev/null
+++ b/chrome/skin/castironthunderbirdclub.css
@@ -0,0 +1 @@
+<!-- This needs to be created -->
diff --git a/chrome/skin/contents.rdf b/chrome/skin/contents.rdf
new file mode 100644
index 0000000..219e790
--- /dev/null
+++ b/chrome/skin/contents.rdf
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
+
+    <Seq about="urn:mozilla:skin:root">
+        <li resource="urn:mozilla:skin:classic/1.0"/>
+    </Seq>
+
+    <Description about="urn:mozilla:skin:classic/1.0">
+        <chrome:packages>
+            <Seq about="urn:mozilla:skin:classic/1.0:packages">
+                <li resource="urn:mozilla:skin:classic/1.0:castironthunderbirdclub"/>
+            </Seq>
+        </chrome:packages>
+    </Description>
+
+    <Seq about="urn:mozilla:stylesheets">
+        <li resource="chrome://global/content/customizeToolbar.xul"/>
+        <!-- thunderbird -->
+        <li resource="chrome://messenger/content/messenger.xul"/>
+        <li resource="chrome://messenger/content/messengercompose/messengercompose.xul"/>
+    </Seq>
+
+    <Seq about="chrome://global/content/customizeToolbar.xul">
+        <li>chrome://castironthunderbirdclub/skin/castironthunderbirdclub.css</li>
+    </Seq>
+
+    <!-- thunderbird -->
+    <Seq about="chrome://messenger/content/messenger.xul">
+        <li>chrome://castironthunderbirdclub/skin/castironthunderbirdclub.css</li>
+    </Seq>
+    <Seq about="chrome://messenger/content/messengercompose/messengercompose.xul">
+        <li>chrome://castironthunderbirdclub/skin/castironthunderbirdclub.css</li>
+    </Seq>
+
+</RDF>
diff --git a/chrome/skin/images/jondo-16.png b/chrome/skin/images/jondo-16.png
new file mode 100644
index 0000000..b79abce
Binary files /dev/null and b/chrome/skin/images/jondo-16.png differ
diff --git a/chrome/skin/images/tor-16.png b/chrome/skin/images/tor-16.png
new file mode 100644
index 0000000..862ee13
Binary files /dev/null and b/chrome/skin/images/tor-16.png differ
diff --git a/chrome/skin/images/tor.png b/chrome/skin/images/tor.png
new file mode 100644
index 0000000..fcfc9cb
Binary files /dev/null and b/chrome/skin/images/tor.png differ
diff --git a/chrome/skin/images/whonix-16.png b/chrome/skin/images/whonix-16.png
new file mode 100644
index 0000000..4067623
Binary files /dev/null and b/chrome/skin/images/whonix-16.png differ
diff --git a/components/torbirdy.js b/components/torbirdy.js
new file mode 100644
index 0000000..a88a19b
--- /dev/null
+++ b/components/torbirdy.js
@@ -0,0 +1,559 @@
+Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+Components.utils.import("resource://gre/modules/AddonManager.jsm");
+
+const Ci = Components.interfaces;
+const Cc = Components.classes;
+const Cr = Components.results;
+
+const SERVICE_CTRID = "@torproject.org/torbirdy;1";
+const SERVICE_ID    = Components.ID("{ebd85413-18c8-4265-a708-a8890ec8d1ed}");
+const SERVICE_NAME  = "Main TorBirdy Component";
+const TB_ID         = "castironthunderbirdclub at torproject.org";
+
+const kPrefBranch     = "extensions.torbirdy.custom.";
+const kRestoreBranch  = "extensions.torbirdy.restore.";
+const kTorBirdyBranch = "extensions.torbirdy.";
+
+// Default preference values for TorBirdy.
+// These preferences values will be "enforced": even if the user decides to
+// change the preferences listed below, they will be reset to the TorBirdy
+// default when Thunderbird restarts. The reason we are doing this is because
+// these preferences, if changed, can introduce leaks and therefore should be
+// not changed by the user. Even if the user does change them, we reset them to
+// the secure default when Thunderbird starts.
+// There are some preferences that can be overwritten using TorBirdy's
+// preferences dialog. See `preferences.js'.
+const TorBirdyPrefs = {
+  "extensions.torbirdy.protected": false,
+  // When the preferences below have been set, then only enable TorBirdy.
+  // Generate our own custom time-independent message-ID.
+  "mailnews.custom_message_id": true,
+  "mailnews.header.custom_message_id": "",
+  // Remove the date header.
+  "mailnews.local_date_header_generation": false,
+
+  /*
+    Network
+  */
+
+  // Use a manual proxy configuration.
+  "network.proxy.type": 1,
+  // Number of seconds to wait before attempting to recontact an unresponsive proxy server.
+  "network.proxy.failover_timeout": 1800,
+
+  // Configure Thunderbird to use the SOCKS5 proxy.
+  "network.proxy.socks": "127.0.0.1",
+  "network.proxy.socks_port": 9150,
+  "network.proxy.socks_version": 5,
+  "network.proxy.no_proxies_on": "localhost, 127.0.0.1",
+
+  // Set DNS proxying through SOCKS5.
+  "network.proxy.socks_remote_dns": true,
+
+  // https://lists.torproject.org/pipermail/tor-talk/2011-September/021398.html
+  // "Towards a Tor-safe Mozilla Thunderbird"
+  // These options enable a warning that tagnaq suggests.
+
+  // Warn when an application is to be launched.
+  "network.protocol-handler.warn-external.http": true,
+  "network.protocol-handler.warn-external.https": true,
+  "network.protocol-handler.warn-external.ftp": true,
+  "network.protocol-handler.warn-external.file": true,
+  "network.protocol-handler.warn-external-default": true,
+
+  // Likely privacy violations
+  // https://blog.torproject.org/blog/experimental-defense-website-traffic-fingerprinting
+  // https://trac.torproject.org/projects/tor/ticket/3914
+  "network.http.pipelining": true,
+  // We do not fully understand the privacy issues of the SPDY protocol
+  // We have no reason to believe that anyone would actually use it with
+  // Thunderbird but we fail closed to keep users safe out of an abundance of
+  // caution.
+  "network.http.spdy.enabled": false,
+  // We want pipelined requests and a bunch of them, as is explained in the
+  // experimental-defense-website-traffic-fingerprinting blog post by Torbutton
+  // author Mike Perry.
+  "network.http.pipelining.ssl": true,
+  "network.http.proxy.pipelining": true,
+  "network.http.pipelining.maxrequests": 12,
+  "network.http.sendRefererHeader": 0,
+
+  // Disable proxy bypass issue.
+  // Websockets have no use in Thunderbird over Tor; some versions of the
+  // underlying Mozilla networking code allowed websockets to bypass the proxy
+  // settings - this is deadly to Tor users:
+  // https://blog.torproject.org/blog/firefox-security-bug-proxy-bypass-current-tbbs
+  // We don't want user's of Thunderbird to even come close to such a bypass
+  // issue and so we have disabled websockets out of an abundance of caution.
+  "network.websocket.enabled": false,
+  // No cookies are allowed.
+  "network.cookie.cookieBehavior": 2,
+  // Disable link prefetching.
+  "network.prefetch-next": false,
+
+  /*
+    Security
+  */
+
+  // Default is always false for OCSP - it's broken crap
+  // Why is it broken, you might ask?
+  // Moxie Marlinspike, a hero to all humans everywhere, defeated it with the
+  // number '3' at Defcon/Blackhat 2009 His paper:
+  // http://www.thoughtcrime.org/papers/ocsp-attack.pdf His software to perform
+  // the attack is here: http://thoughtcrime.org/software/sslsniff/ Furthermore
+  // - OCSP servers may log information about a user as they use the internet
+  // generally; it's everything we hate about CRLs and more
+  "security.OCSP.enabled": 1,
+  "security.OCSP.require": false,
+  // Disable TLS Session Ticket.
+  // See https://trac.torproject.org/projects/tor/ticket/4099
+  "security.enable_tls_session_tickets": false,
+  // Enable SSL3?
+  // We do not want to enable a known weak protocol; users should use only use TLS
+  "security.enable_ssl3": false,
+  // Thunderbird 23.0 uses the following preference.
+  "security.tls.version.min": 1,
+  // Display a dialog warning the user when entering an insecure site from a secure one.
+  "security.warn_entering_weak": true,
+  // Display a dialog warning the user when submtting a form to an insecure site.
+  "security.warn_submit_insecure": true,
+  // Enable SSL FalseStart.
+  // This should be safe and improve TLS performance
+  "security.ssl.enable_false_start": true,
+  // Reject all connection attempts to servers using the old SSL/TLS protocol.
+  "security.ssl.require_safe_negotiation": true,
+  // Warn when connecting to a server that uses an old protocol version.
+  "security.ssl.treat_unsafe_negotiation_as_broken": true,
+  // Disable 'extension blocklist' which might leak the OS information.
+  // See https://trac.torproject.org/projects/tor/ticket/6734
+  "extensions.blocklist.enabled": false,
+
+  /*
+    Mailnews
+  */
+
+  // Suggestions from the JAP team on how they'd configure thunderbird
+  // http://anonymous-proxy-servers.net/en/help/thunderbird.html
+
+  // Disable the start page.
+  "mailnews.start_page.enabled": false,
+  // Set UTF-8 as the default charset.
+  "mailnews.send_default_charset": "UTF-8",
+  // Send plain text with hard line breaks as entered.
+  "mailnews.send_plaintext_flowed": false,
+  // Display a message as plain text, even if there is a HTML version.
+  "mailnews.display.prefer_plaintext": true,
+  // Don't display HTML, inline images and some other uncommon content.
+  // From: http://www.bucksch.org/1/projects/mozilla/108153/
+  "mailnews.display.disallow_mime_handlers": 3,
+  // Convert HTML to text and then back again.
+  "mailnews.display.html_as": 1,
+  // Disable plugin support.
+  "mailnews.message_display.allow_plugins": false,
+  // Don't convert to our local date. This may matter in a reply, etc.
+  "mailnews.display.original_date": true,
+  // When replying to a message, set to: '%s'.
+  // https://lists.torproject.org/pipermail/tor-talk/2012-May/024395.html
+  "mailnews.reply_header_type": 1,
+  "mailnews.reply_header_authorwrote": "%s",
+
+  /*
+    Mail
+  */
+
+  // Prevent hostname leaks.
+  "mail.smtpserver.default.hello_argument": "127.0.0.1",
+  // Compose messages in plain text (by default).
+  "mail.html_compose": false,
+  "mail.identity.default.compose_html": false,
+  // Send message as plain text.
+  "mail.default_html_action": 1,
+  // Disable Thunderbird's 'Get new account' wizard.
+  "mail.provider.enabled": false,
+  // Don't ask to be the default client.
+  "mail.shell.checkDefaultClient": false,
+  "mail.shell.checkDefaultMail": false,
+  // Disable inline attachments.
+  "mail.inline_attachments": false,
+  // Do not IDLE (disable push mail).
+  "mail.server.default.use_idle": false,
+
+  /*
+    Browser
+  */
+  // Disable caching.
+  "browser.cache.disk.enable": false,
+  "browser.cache.memory.enable": false,
+
+  /*
+    Enigmail
+  */
+
+  // We hope the user has Enigmail and if so, we believe these improve security.
+  // We would like these options to be a single shared option we can toggle but
+  // we require some discussions with upstream and then they would need a new
+  // release. It's not actually clear how we could or even if we should then
+  // depend on a specific Enigmail version. Either way, we want to save the
+  // user who would shoot themselves in the privacy-foot.
+
+  // Disable X-Enigmail headers.
+  // We don't want to obviously disclose that we're using Enigmail as it may
+  // add privacy destroying headers
+  "extensions.enigmail.addHeaders": false,
+  // Use GnuPG's default comment for signed messages.
+  "extensions.enigmail.useDefaultComment": true,
+  // We need to pass some more parameters to GPG.
+  "extensions.enigmail.agentAdditionalParam":
+                                              // Don't disclose the version
+                                              "--no-emit-version " +
+                                              // Don't add additional comments (may leak language, etc)
+                                              "--no-comments " +
+                                              // We want to force UTF-8 everywhere
+                                              "--display-charset utf-8 " +
+                                              // We want to ensure that Enigmail is proxy aware even when it runs gpg in a shell
+                                              "--keyserver-options http-proxy=http://127.0.0.1:8118 ",
+                                            
+  // The default key server should be a hidden service and this is the only known one (it's part of the normal SKS network)
+  "extensions.enigmail.keyserver": "hkp://2eghzlv2wwcq7u7y.onion",
+
+  // Force GnuPG to use SHA512.
+  "extensions.enigmail.mimeHashAlgorithm": 5,
+
+  // Prefer plain text for RSS.
+  "rss.display.prefer_plaintext": true,
+
+  // Override the user agent by setting it to an empty string.
+  "general.useragent.override": "",
+
+  // Disable WebGL.
+  "webgl.disabled": true,
+
+  // Disable Telemetry completely.
+  "toolkit.telemetry.enabled": false,
+
+  // Disable Geolocation.
+  "geo.enabled": false,
+
+  // Disable JavaScript (email).
+  "javascript.enabled": false,
+
+  // Disable client-side session and persistent storage.
+  "dom.storage.enabled": false,
+  // Do not run plugins out-of-process.
+  "dom.ipc.plugins.java.enabled": false,
+  // Disable changing of images via JavaScript.
+  "dom.disable_image_src_set": true,
+
+  // Disable WebM, WAV, Ogg, PeerConnection.
+  "media.webm.enabled": false,
+  "media.wave.enabled": false,
+  "media.ogg.enabled": false,
+  "media.peerconnection.enabled": false,
+
+  // Disable CSS :visited selector.
+  "layout.css.visited_links_enabled": false,
+
+  // Disable downloadable fonts.
+  "gfx.downloadable_fonts.enabled": false,
+
+  // Disable remote images.
+  "permissions.default.image": 2,
+
+  // Thunderbird 15 introduces the chat feature so disable the preferences below.
+  "purple.logging.log_chats": false,
+  "purple.logging.log_ims": false,
+  "purple.logging.log_system": false,
+  "purple.conversations.im.send_typing": false,
+
+  // Messenger related preferences.
+  // Do not report idle.
+  "messenger.status.reportIdle": false,
+  "messenger.status.awayWhenIdle": false,
+  // Set the following preferences to empty strings.
+  "messenger.status.defaultIdleAwayMessage": "",
+  "messenger.status.userDisplayName": "",
+  // Do not connect automatically.
+  "messenger.startup.action": 0,
+  // Ignore invitations; do not automatically accept them.
+  "messenger.conversations.autoAcceptChatInvitations": 0,
+  // Do not format incoming messages.
+  "messenger.options.filterMode": 0,
+  // On copying the content in the chat window, remove the time information.
+  // See `comm-central/chat/locales/conversations.properties' for more information.
+  "messenger.conversations.selections.systemMessagesTemplate": "%message%",
+  "messenger.conversations.selections.contentMessagesTemplate": "%sender%: %message%",
+  "messenger.conversations.selections.actionMessagesTemplate": "%sender% %message%",
+
+  // Mozilla Lightning.
+  "calendar.useragent.extra": "",
+  "calendar.timezone.local": "",
+
+  // All preferences have been set: now enable TorBirdy.
+  "extensions.torbirdy.protected": true,
+}
+
+// Although we do perform a cleanup when TorBirdy is removed (we remove
+// TorBirdy's preferences), there are some preference values that we change
+// when TorBirdy is initialized that should be preserved instead. When TorBirdy
+// is disabled or uninstalled, these preferences are restored to their original
+// value. All such preferences go here.
+const TorBirdyOldPrefs = [
+  "network.proxy.type",
+  "network.proxy.ssl_port",
+  "network.proxy.ssl",
+  "network.proxy.socks_version",
+  "network.proxy.socks_port",
+  "network.proxy.socks",
+  "network.proxy.http_port",
+  "network.proxy.http",
+]
+
+function TorBirdy() {
+  this._uninstall = false;
+  this.wrappedJSObject = this;
+
+  this.prefs = Cc["@mozilla.org/preferences-service;1"]
+                  .getService(Ci.nsIPrefBranch);
+
+  var torbirdyPref = Cc["@mozilla.org/preferences-service;1"]
+                         .getService(Ci.nsIPrefService).getBranch(kPrefBranch);
+  this.customPrefs = torbirdyPref.getChildList("", {});
+
+  var oldPrefs = Cc["@mozilla.org/preferences-service;1"]
+                           .getService(Ci.nsIPrefService).getBranch(kRestoreBranch);
+  this.restorePrefs = oldPrefs.getChildList("", {});
+
+  this.acctMgr = Cc["@mozilla.org/messenger/account-manager;1"]
+                  .getService(Ci.nsIMsgAccountManager);
+
+  var pluginsHost = Cc["@mozilla.org/plugin/host;1"].getService(Ci.nsIPluginHost);
+  this.plugins = pluginsHost.getPluginTags({});
+
+  this.onEnabling = this.onOperationCancelled;
+  this.onDisabling = this.onUninstalling;
+  AddonManager.addAddonListener(this);
+
+  this.setAccountPrefs();
+  this.setPrefs();
+
+  dump("TorBirdy registered!\n");
+}
+
+TorBirdy.prototype = {
+  QueryInterface: XPCOMUtils.generateQI(
+  [Ci.nsIObserver]),
+  wrappedJSObject: null,
+
+  classDescription: SERVICE_NAME,
+  classID:          SERVICE_ID,
+  contractID:       SERVICE_CTRID,
+
+  // This is a hack to cause Thunderbird to instantiate us ASAP!
+  _xpcom_categories: [{ category: "profile-after-change"}, ],
+
+  onUninstalling: function(addon, needsRestart) {
+    if (addon.id == TB_ID) {
+      dump("Nooo! TorBirdy uninstall requested\n");
+      this._uninstall = true;
+      this.resetUserPrefs();
+    }
+  },
+
+  onOperationCancelled: function(addon) {
+    if (addon.id == TB_ID) {
+      dump("Uninstall requested cancelled. Yayay!\n");
+      this._uninstall = false;
+      this.setPrefs();
+    }
+  },
+
+  observe: function(subject, topic, data) {
+    return;
+  },
+
+  resetUserPrefs: function() {
+    dump("Resetting user preferences to default\n");
+    // Clear the Thunderbird preferences we changed.
+    for (var each in TorBirdyPrefs) {
+      this.prefs.clearUserPref(each);
+    }
+
+    // Restore the older proxy preferences that were set prior to TorBirdy's install.
+    dump("Restoring proxy settings\n");
+    for (var i = 0; i < TorBirdyOldPrefs.length; i++) {
+      var oldPref = TorBirdyOldPrefs[i];
+      var setValue = kRestoreBranch + oldPref;
+      var type = this.prefs.getPrefType(setValue);
+      if (type === 32) {
+        this.prefs.setCharPref(oldPref, this.prefs.getCharPref(setValue));
+      }
+      if (type === 64) {
+        this.prefs.setIntPref(oldPref, this.prefs.getIntPref(setValue));
+      }
+      if (type === 128) {
+        this.prefs.setBoolPref(oldPref, this.prefs.getBoolPref(setValue));
+      }
+    }
+
+    // Enable plugins.
+    for(var i = 0; i < this.plugins.length; i++) {
+        this.plugins[i].disabled = false;
+    }
+
+    // Now clear all TorBirdy preferences.
+    var clearPrefs = Cc["@mozilla.org/preferences-service;1"]
+                             .getService(Ci.nsIPrefService).getBranch(kTorBirdyBranch).getChildList("", {});
+    for (var i = 0; i < clearPrefs.length; i++) {
+        this.prefs.clearUserPref(kTorBirdyBranch + clearPrefs[i]);
+    }
+  },
+
+  setPrefs: function() {
+    dump("Setting TorBirdy preferences\n");
+    // If custom values are set for specific preferences, override the defaults with them.
+    // For each preference, get the type and then set the property.
+    for (var i = 0; i < this.customPrefs.length; i++) {
+      var typePref = this.prefs.getPrefType(this.customPrefs[i]);
+      // String.
+      if (typePref === 32) {
+        var value = this.prefs.getCharPref(kPrefBranch + this.customPrefs[i]);
+      }
+      // Int.
+      if (typePref === 64) {
+        var value = this.prefs.getIntPref(kPrefBranch + this.customPrefs[i]);
+      }
+      // Bool.
+      if (typePref === 128) {
+        var value = this.prefs.getBoolPref(kPrefBranch + this.customPrefs[i]);
+      }
+      TorBirdyPrefs[this.customPrefs[i]] = value;
+    }
+
+    for (var each in TorBirdyPrefs) {
+      if (typeof TorBirdyPrefs[each] === "boolean") {
+        this.prefs.setBoolPref(each, TorBirdyPrefs[each]);
+      }
+      if (typeof TorBirdyPrefs[each] === "number") {
+        this.prefs.setIntPref(each, TorBirdyPrefs[each]);
+      }
+      if (typeof TorBirdyPrefs[each] === "string") {
+        this.prefs.setCharPref(each, TorBirdyPrefs[each]);
+      }
+    }
+  },
+
+  setAccountPrefs: function() {
+    if (this.prefs.getBoolPref("extensions.torbirdy.first_run")) {
+      // Save the current proxy settings so that the settings can be restored in case
+      // TorBirdy is uninstalled or disabled. (TorBirdyOldPrefs)
+      for (var i = 0; i < TorBirdyOldPrefs.length; i++) {
+        var oldPref = TorBirdyOldPrefs[i];
+        var type = this.prefs.getPrefType(oldPref);
+        // String.
+        if (type === 32) {
+          if (this.prefs.prefHasUserValue(oldPref)) {
+            var pref = this.prefs.getCharPref(oldPref);
+            this.prefs.setCharPref(kRestoreBranch + oldPref, pref);
+          }
+        }
+        // Int.
+        if (type === 64) {
+          if (this.prefs.prefHasUserValue(oldPref)) {
+            var pref = this.prefs.getIntPref(oldPref);
+            this.prefs.setIntPref(kRestoreBranch + oldPref, pref);
+          }
+        }
+        // Bool.
+        if (type === 128) {
+          if (this.prefs.prefHasUserValue(oldPref)) {
+            var pref = this.prefs.getBoolPref(oldPref);
+            this.prefs.setBoolPref(kRestoreBranch + oldPref, pref);
+          }
+        }
+      }
+
+      // Clear the existing HTTP and SSL proxies.
+      // We restore these when TorBirdy is uninstalled.
+      this.prefs.setCharPref("network.proxy.http", "");
+      this.prefs.setIntPref("network.proxy.http_port", 0);
+      this.prefs.setCharPref("network.proxy.ssl", "");
+      this.prefs.setIntPref("network.proxy.ssl_port", 0);
+
+      // Disable all plugins.
+      for (var i = 0; i < this.plugins.length; i++) {
+          this.plugins[i].disabled = true;
+      }
+
+      // For only the first run (after that the user can configure the account if need be):
+      //    Iterate through all accounts and disable automatic checking of emails.
+      var accounts = this.acctMgr.accounts;
+
+      // To maintain compatibility between Gecko 17+ and Gecko < 17.
+      var allAccounts = [];
+      if (accounts.queryElementAt) {
+        for (var i = 0; i < accounts.length; i++) {
+          var account = accounts.queryElementAt(i, Ci.nsIMsgAccount).incomingServer;
+          allAccounts.push(account);
+        }
+      } else {
+        for (var i = 0; i < accounts.Count(); i++) {
+          var account = accounts.QueryElementAt(i, Ci.nsIMsgAccount).incomingServer;
+          allAccounts.push(account);
+        }
+      }
+
+      for (var i = 0; i < allAccounts.length; i++) {
+        // Save account settings for restoring later.
+        var account = allAccounts[i];
+        var key = account.key;
+        var restorePrefs = ["check_new_mail", "login_at_startup",
+                            "check_time", "download_on_biff",
+                            "socketType", "port", "authMethod"];
+        for (var j = 0; j < restorePrefs.length; j++) {
+          var pref = "mail.server.%serverkey%.".replace("%serverkey%", key);
+          var prefName = restorePrefs[j];
+          var prefToCall = pref + prefName;
+
+          if (this.prefs.prefHasUserValue(prefToCall)) {
+            var typePref = this.prefs.getPrefType(prefToCall);
+            if (typePref === 64) {
+              var currentPref = this.prefs.getIntPref(prefToCall);
+              this.prefs.setIntPref(kRestoreBranch + prefToCall, currentPref);
+            }
+            if (typePref === 128) {
+              var currentPref = this.prefs.getBoolPref(prefToCall);
+              this.prefs.setBoolPref(kRestoreBranch + prefToCall, currentPref);
+            }
+            TorBirdyOldPrefs.push(prefToCall);
+          }
+        }
+
+        // Now apply the TorBirdy recommended settings.
+        account.downloadOnBiff = false;
+        account.loginAtStartUp = false;
+        account.doBiff = false;
+
+        // Depending on the account type, set the ports.
+        if (account.type === "imap") {
+          account.port = 993;
+        }
+        if (account.type === "pop3") {
+          account.port = 995;
+        }
+        if (account.type === "nntp") {
+          account.port = 563;
+        }
+        // SSL.
+        // For nsIMsgIncomingServer, socketType 3 is SSL, as compared to the
+        // manual account configuration wizard (emailwizard.js), where it is 2.
+        account.socketType = 3;
+        // Set the authentication to normal, connection is already encrypted.
+        account.authMethod = 3;
+      }
+    }
+    this.prefs.setBoolPref("extensions.torbirdy.first_run", false);
+  },
+
+}
+
+const NSGetFactory = XPCOMUtils.generateNSGetFactory([TorBirdy]);
diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js
new file mode 100644
index 0000000..eec4539
--- /dev/null
+++ b/defaults/preferences/prefs.js
@@ -0,0 +1,12 @@
+pref("extensions.torbirdy.protected", false);
+pref("extensions.torbirdy.proxy", 0);
+pref("extensions.torbirdy.first_run", true);
+pref("extensions.torbirdy.warn", true);
+pref("extensions.torbirdy.startup_folder", false);
+pref("extensions.torbirdy.enigmail.throwkeyid", false);
+pref("extensions.torbirdy.enigmail.confirmemail", false);
+pref("extensions.torbirdy.timezone", true);
+pref("extensions.torbirdy.whonix_run", true);
+pref("extensions.torbirdy.info_run", false);
+pref("extensions.torbirdy.emailwizard", false);
+pref("extensions.torbirdy.fetchall", false);
diff --git a/install.rdf b/install.rdf
new file mode 100644
index 0000000..e3b2378
--- /dev/null
+++ b/install.rdf
@@ -0,0 +1,28 @@
+<?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:id>castironthunderbirdclub at torproject.org</em:id>
+    <em:version>0.1.2</em:version>
+    <em:type>2</em:type>
+    <em:iconURL>chrome://castironthunderbirdclub/skin/images/tor.png</em:iconURL>
+
+    <em:targetApplication>
+    <!-- Thunderbird -->
+    <Description>
+      <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
+      <em:minVersion>10.0</em:minVersion>
+      <em:maxVersion>24.*</em:maxVersion>
+    </Description>
+    </em:targetApplication>
+
+    <!-- front-end metadata -->
+    <em:name>TorBirdy</em:name>
+    <em:description>This extension configures Thunderbird to make connections over the Tor anonymity network</em:description>
+    <em:creator>Jacob Appelbaum & Sukhbir Singh</em:creator>
+    <em:contributor>tagnaq</em:contributor>
+    <em:homepageURL>https://www.torproject.org/</em:homepageURL>
+    <em:optionsURL>chrome://castironthunderbirdclub/content/preferences.xul</em:optionsURL>
+  </Description>
+</RDF>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/torbirdy.git



More information about the Pkg-mozext-commits mailing list