diff --git a/package/windows.jsm b/package/windows.jsm
index b5922392..76070f77 100644
--- a/package/windows.jsm
+++ b/package/windows.jsm
@@ -1,608 +1,637 @@
/*global Components: false, escape: false */
/*jshint -W097 */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
"use strict";
var EXPORTED_SYMBOLS = ["EnigmailWindows"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
Cu.import("resource://enigmail/keyRing.jsm"); /*global EnigmailKeyRing: false */
Cu.import("resource://enigmail/rules.jsm"); /*global EnigmailRules: false */
Cu.import("resource://enigmail/pEpAdapter.jsm"); /*global EnigmailPEPAdapter: false */
Cu.import("resource://gre/modules/PromiseUtils.jsm"); /* global PromiseUtils: false */
const APPSHELL_MEDIATOR_CONTRACTID = "@mozilla.org/appshell/window-mediator;1";
const APPSHSVC_CONTRACTID = "@mozilla.org/appshell/appShellService;1";
const LOCAL_FILE_CONTRACTID = "@mozilla.org/file/local;1";
const IOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
const EnigmailWindows = {
/**
* Display the OpenPGP setup wizard window
*
* win : nsIWindow - the parent window
* skipIntro: Boolean - optional, if true, skip the introduction page
*
* no return value
*/
openSetupWizard: function(win, skipIntro) {
EnigmailLog.DEBUG("windows.jsm: openSetupWizard()\n");
let param = "";
if (skipIntro) {
param = "?skipIntro=true";
}
win.open("chrome://enigmail/content/enigmailSetupWizard.xul" + param,
"", "chrome,centerscreen,resizable");
},
/**
* Open a window, or focus it if it is already open
*
* @winName : String - name of the window; used to identify if it is already open
* @spec : String - window URL (e.g. chrome://enigmail/content/test.xul)
* @winOptions: String - window options as defined in nsIWindow.open
* @optObj : any - an Object, Array, String, etc. that is passed as parameter
* to the window
*/
openWin: function(winName, spec, winOptions, optObj) {
var windowManager = Cc[APPSHELL_MEDIATOR_CONTRACTID].getService(Ci.nsIWindowMediator);
var winEnum = windowManager.getEnumerator(null);
var recentWin = null;
while (winEnum.hasMoreElements() && !recentWin) {
var thisWin = winEnum.getNext();
if (thisWin.location.href == spec) {
recentWin = thisWin;
break;
}
if (winName && thisWin.name && thisWin.name == winName) {
thisWin.focus();
break;
}
}
if (recentWin) {
recentWin.focus();
}
else {
var appShellSvc = Cc[APPSHSVC_CONTRACTID].getService(Ci.nsIAppShellService);
var domWin = appShellSvc.hiddenDOMWindow;
try {
domWin.open(spec, winName, "chrome," + winOptions, optObj);
}
catch (ex) {
domWin = windowManager.getMostRecentWindow(null);
domWin.open(spec, winName, "chrome," + winOptions, optObj);
}
}
},
/**
* Determine the best possible window to serve as parent window for dialogs.
*
* @return: nsIWindow object
*/
getBestParentWin: function() {
var windowManager = Cc[APPSHELL_MEDIATOR_CONTRACTID].getService(Ci.nsIWindowMediator);
var bestFit = null;
var winEnum = windowManager.getEnumerator(null);
while (winEnum.hasMoreElements()) {
var thisWin = winEnum.getNext();
if (thisWin.location.href.search(/\/messenger.xul$/) > 0) {
bestFit = thisWin;
}
if (!bestFit && thisWin.location.href.search(/\/messengercompose.xul$/) > 0) {
bestFit = thisWin;
}
}
if (!bestFit) {
winEnum = windowManager.getEnumerator(null);
bestFit = winEnum.getNext();
}
return bestFit;
},
/**
* Iterate through the frames of a window and return the first frame with a
* matching name.
*
* @win: nsIWindow - XUL window to search
* @frameName: String - name of the frame to seach
*
* @return: the frame object or null if not found
*/
getFrame: function(win, frameName) {
EnigmailLog.DEBUG("windows.jsm: getFrame: name=" + frameName + "\n");
for (var j = 0; j < win.frames.length; j++) {
if (win.frames[j].name == frameName) {
return win.frames[j];
}
}
return null;
},
getMostRecentWindow: function() {
var windowManager = Cc[APPSHELL_MEDIATOR_CONTRACTID].getService(Ci.nsIWindowMediator);
return windowManager.getMostRecentWindow(null);
},
/**
* Display the key help window
*
* @source - |string| containing the name of the file to display
*
* no return value
*/
openHelpWindow: function(source) {
EnigmailWindows.openWin("enigmail:help",
"chrome://enigmail/content/enigmailHelp.xul?src=" + source,
"centerscreen,resizable");
},
/**
* Display the "About Enigmail" window
*
* no return value
*/
openAboutWindow: function() {
EnigmailWindows.openWin("about:enigmail",
"chrome://enigmail/content/enigmailAbout.xul",
"resizable,centerscreen");
},
/**
* Display the Per-Recipient Rules editor window
*
* no return value
*/
openRulesEditor: function() {
EnigmailWindows.openWin("enigmail:rulesEditor",
"chrome://enigmail/content/enigmailRulesEditor.xul",
"dialog,centerscreen,resizable");
},
/**
* Display the OpenPGP key manager window
*
* no return value
*/
openKeyManager: function(win) {
EnigmailCore.getService(win);
EnigmailWindows.openWin("enigmail:KeyManager",
"chrome://enigmail/content/enigmailKeyManager.xul",
"resizable");
},
/**
* If the Key Manager is open, dispatch an event to tell the key
* manager to refresh the displayed keys
*/
keyManReloadKeys: function() {
let windowManager = Cc[APPSHELL_MEDIATOR_CONTRACTID].getService(Ci.nsIWindowMediator);
const winName = "enigmail:KeyManager";
const spec = "chrome://enigmail/content/enigmailKeygen.xul";
let winEnum = windowManager.getEnumerator(null);
let recentWin = null;
while (winEnum.hasMoreElements() && !recentWin) {
let thisWin = winEnum.getNext();
if (thisWin.location.href == spec) {
recentWin = thisWin;
break;
}
if (thisWin.name && thisWin.name == winName) {
let evt = new thisWin.Event("reload-keycache", {
"bubbles": true,
"cancelable": false
});
thisWin.dispatchEvent(evt);
break;
}
}
},
/**
* Display the key creation window
*
* no return value
*/
openKeyGen: function() {
EnigmailWindows.openWin("enigmail:generateKey",
"chrome://enigmail/content/enigmailKeygen.xul",
"chrome,resizable=yes");
},
/**
* Display the card details window
*
* no return value
*/
openCardDetails: function() {
EnigmailWindows.openWin("enigmail:cardDetails",
"chrome://enigmail/content/enigmailCardDetails.xul",
"centerscreen");
},
/**
* Display the console log window
*
* @win - |object| holding the parent window for the dialog
*
* no return value
*/
openConsoleWindow: function() {
EnigmailWindows.openWin("enigmail:console",
"chrome://enigmail/content/enigmailConsole.xul",
"resizable,centerscreen");
},
/**
* Display the window for the debug log file
*
* @win - |object| holding the parent window for the dialog
*
* no return value
*/
openDebugLog: function(win) {
EnigmailWindows.openWin("enigmail:logFile",
"chrome://enigmail/content/enigmailViewFile.xul?viewLog=1&title=" + escape(EnigmailLocale.getString("debugLog.title")),
"resizable,centerscreen");
},
/**
* Display the preferences dialog
*
* @win - |object| holding the parent window for the dialog
* @showBasic - |boolean| true if only the 1st page of the preferences window
* should be displayed / false otherwise
* @selectTab - |string| ID of the tab element (in XUL) to display when opening
*
* no return value
*/
openPrefWindow: function(win, showBasic, selectTab) {
EnigmailLog.DEBUG("windows.js: openPrefWindow\n");
EnigmailCore.getService(win, true); // true: starting preferences dialog
let url;
if (EnigmailPEPAdapter.usingPep()) {
url = "chrome://enigmail/content/pref-pep.xul";
}
else {
url = "chrome://enigmail/content/pref-enigmail.xul";
}
win.openDialog(url,
"_blank", "chrome,resizable=yes", {
'showBasic': showBasic,
'clientType': 'thunderbird',
'selectTab': selectTab
});
},
/**
* Display the dialog for creating a new per-recipient rule
*
* @win - |object| holding the parent window for the dialog
* @emailAddress - |string| containing the email address for the rule
*
* @return - always true
*/
createNewRule: function(win, emailAddress) {
// make sure the rules database is loaded
const enigmailSvc = EnigmailCore.getService(win);
if (!enigmailSvc) {
return false;
}
// open rule dialog
EnigmailRules.getRulesData({});
const inputObj = {
toAddress: "{" + emailAddress + "}",
options: "",
command: "add"
};
win.openDialog("chrome://enigmail/content/enigmailSingleRcptSettings.xul", "",
"dialog,modal,centerscreen,resizable", inputObj, {});
return true;
},
/**
* Display the dialog for changing the expiry date of one or several keys
*
* @win - |object| holding the parent window for the dialog
* @userIdArr - |array| of |strings| containing the User IDs
* @keyIdArr - |array| of |strings| containing the key IDs (eg. "0x12345678") to change
*
* @return Boolean - true if expiry date was changed; false otherwise
*/
editKeyExpiry: function(win, userIdArr, keyIdArr) {
const inputObj = {
keyId: keyIdArr,
userId: userIdArr
};
const resultObj = {
refresh: false
};
win.openDialog("chrome://enigmail/content/enigmailEditKeyExpiryDlg.xul", "",
"dialog,modal,centerscreen,resizable", inputObj, resultObj);
return resultObj.refresh;
},
/**
* Display the dialog for changing key trust of one or several keys
*
* @win - |object| holding the parent window for the dialog
* @userIdArr - |array| of |strings| containing the User IDs
* @keyIdArr - |array| of |strings| containing the key IDs (eg. "0x12345678") to change
*
* @return Boolean - true if key trust was changed; false otherwise
*/
editKeyTrust: function(win, userIdArr, keyIdArr) {
const inputObj = {
keyId: keyIdArr,
userId: userIdArr
};
const resultObj = {
refresh: false
};
win.openDialog("chrome://enigmail/content/enigmailEditKeyTrustDlg.xul", "",
"dialog,modal,centerscreen,resizable", inputObj, resultObj);
return resultObj.refresh;
},
/**
* Display the dialog for signing a key
*
* @win - |object| holding the parent window for the dialog
* @userId - |string| containing the User ID (for displaing in the dialog only)
* @keyId - |string| containing the key ID (eg. "0x12345678")
*
* @return Boolean - true if key was signed; false otherwise
*/
signKey: function(win, userId, keyId) {
const inputObj = {
keyId: keyId,
userId: userId
};
const resultObj = {
refresh: false
};
win.openDialog("chrome://enigmail/content/enigmailSignKeyDlg.xul", "",
"dialog,modal,centerscreen,resizable", inputObj, resultObj);
return resultObj.refresh;
},
/**
* Display the photo ID associated with a key
*
* @win - |object| holding the parent window for the dialog
* @keyId - |string| containing the key ID (eg. "0x12345678")
* @userId - |string| containing the User ID (for displaing in the dialog only)
* @photoNumber - |number| UAT entry in the squence of appearance in the key listing, starting with 0
* no return value
*/
showPhoto: function(win, keyId, userId, photoNumber) {
const enigmailSvc = EnigmailCore.getService(win);
if (enigmailSvc) {
if (!photoNumber) photoNumber = 0;
if (keyId.search(/^0x/) < 0) {
keyId = "0x" + keyId;
}
let exitCodeObj = {};
let photoFile = EnigmailKeyRing.getPhotoFile(keyId, photoNumber, exitCodeObj, {});
if (photoFile && exitCodeObj.value === 0) {
if (!(photoFile.isFile() && photoFile.isReadable())) {
EnigmailWindows.alert(win, EnigmailLocale.getString("error.photoPathNotReadable", photoFile.path));
}
else {
const photoUri = Cc[IOSERVICE_CONTRACTID].getService(Ci.nsIIOService).
newFileURI(photoFile).spec;
const argsObj = {
photoUri: photoUri,
userId: userId,
keyId: keyId
};
win.openDialog("chrome://enigmail/content/enigmailDispPhoto.xul",
photoUri,
"chrome,modal,resizable,dialog,centerscreen",
argsObj);
try {
// delete the photo file
photoFile.remove(false);
}
catch (ex) {}
}
}
else {
EnigmailWindows.alert(win, EnigmailLocale.getString("noPhotoAvailable"));
}
}
},
/**
* Display the OpenPGP Key Details window
*
* @win - |object| holding the parent window for the dialog
* @keyId - |string| containing the key ID (eg. "0x12345678")
* @refresh - |boolean| if true, cache is cleared and the key data is loaded from GnuPG
*
* @return Boolean - true: keylist needs to be refreshed
* - false: no need to refresh keylist
*/
openKeyDetails: function(win, keyId, refresh) {
const keyListObj = {};
keyId = keyId.replace(/^0x/, "");
if (refresh) {
EnigmailKeyRing.clearCache();
}
const inputObj = {
keyId: keyId
};
const resultObj = {
refresh: false
};
win.openDialog("chrome://enigmail/content/keyDetailsDlg.xul", "",
"dialog,modal,centerscreen,resizable", inputObj, resultObj);
if (resultObj.refresh) {
EnigmailKeyRing.clearCache();
}
return resultObj.refresh;
},
/**
* Display the dialog to search and/or download key(s) from a keyserver
*
* @win - |object| holding the parent window for the dialog
* @inputObj - |object| with member searchList (|string| containing the keys to search)
* @resultObj - |object| with member importedKeys (|number| containing the number of imporeted keys)
*
* no return value
*/
downloadKeys: function(win, inputObj, resultObj) {
EnigmailLog.DEBUG("windows.jsm: downloadKeys: searchList=" + inputObj.searchList + "\n");
resultObj.importedKeys = 0;
const ioService = Cc[IOSERVICE_CONTRACTID].getService(Ci.nsIIOService);
if (ioService && ioService.offline) {
EnigmailWindows.alert(win, EnigmailLocale.getString("needOnline"));
return;
}
let valueObj = {};
if (inputObj.searchList) {
valueObj = {
keyId: "<" + inputObj.searchList.join("> <") + ">"
};
}
const keysrvObj = {};
if (inputObj.searchList && inputObj.autoKeyServer) {
keysrvObj.value = inputObj.autoKeyServer;
}
else {
win.openDialog("chrome://enigmail/content/enigmailKeyserverDlg.xul",
"", "dialog,modal,centerscreen", valueObj, keysrvObj);
}
if (!keysrvObj.value) {
return;
}
inputObj.keyserver = keysrvObj.value;
if (!inputObj.searchList) {
const searchval = keysrvObj.email.
replace(/^(\s*)(.*)/, "$2").
replace(/\s+$/, ""); // trim spaces
// special handling to convert fingerprints with spaces into fingerprint without spaces
if (searchval.length == 49 && searchval.match(/^[0-9a-fA-F ]*$/) &&
searchval[4] == ' ' && searchval[9] == ' ' && searchval[14] == ' ' &&
searchval[19] == ' ' && searchval[24] == ' ' && searchval[29] == ' ' &&
searchval[34] == ' ' && searchval[39] == ' ' && searchval[44] == ' ') {
inputObj.searchList = ["0x" + searchval.replace(/ /g, "")];
}
else if (searchval.length == 40 && searchval.match(/^[0-9a-fA-F ]*$/)) {
inputObj.searchList = ["0x" + searchval];
}
else if (searchval.length == 8 && searchval.match(/^[0-9a-fA-F]*$/)) {
// special handling to add the required leading 0x when searching for keys
inputObj.searchList = ["0x" + searchval];
}
else if (searchval.length == 16 && searchval.match(/^[0-9a-fA-F]*$/)) {
inputObj.searchList = ["0x" + searchval];
}
else {
inputObj.searchList = searchval.split(/[,; ]+/);
}
}
win.openDialog("chrome://enigmail/content/enigmailSearchKey.xul",
"", "dialog,modal,centerscreen", inputObj, resultObj);
},
/**
* Open the Trustwords dialog for a specific pair of keys
*
* @param win: Object - nsIWindow
* @param emailAddress: String - Email address of peer to verify
* @param headerData: either: Object - nsIMsgHdr object for the message (to identify the ideal own identity)
* or: String - own email address to compare with
*
* @return: Promise (resolve() case of success; rejection otherwise).
*/
verifyPepTrustWords: function(win, emailAddress, headerData) {
let deferred = PromiseUtils.defer();
EnigmailPEPAdapter.prepareTrustWordsDlg(emailAddress, headerData).
then(function _ok(inputObj) {
win.openDialog("chrome://enigmail/content/pepTrustWords.xul",
"", "dialog,modal,centerscreen", inputObj);
deferred.resolve();
}).
catch(function _err(errorMsg) {
switch (errorMsg) {
case "cannotVerifyOwnId":
EnigmailWindows.alert(window, EnigmailLocale.getString("pepTrustWords.cannotVerifyOwnId"));
break;
case "cannotFindKey":
EnigmailWindows.alert(window, EnigmailLocale.getString("pepTrustWords.cannotFindKey", emailAddress));
break;
default:
EnigmailWindows.alert(window, EnigmailLocale.getString("pepTrustWords.generalFailure", emailAddress));
break;
}
deferred.reject();
});
return deferred.promise;
},
pepHandshake: function(window, direction, myself, peers) {
let inputObj = {
myself: myself,
peers: peers,
direction: direction
};
window.openDialog("chrome://enigmail/content/pepHandshake.xul",
"", "dialog,modal,centerscreen", inputObj);
+ },
+
+
+ /**
+ * Display Autocrypt Setup Passwd dialog.
+ *
+ * @param dlgMode: String - dialog mode: "input" / "display"
+ * @param passwdType: String - type of password ("9x4" / "generic")
+ * @param password: String - password or initial two digits of password
+ *
+ * @return String entered password (in input mode) or NULL
+ */
+ autocryptSetupPasswd: function(window, dlgMode, passwdType = "9x4", password) {
+ if (!window) {
+ window = this.getBestParentWin();
+ }
+
+ let inputObj = {
+ password: null,
+ passwdType: passwdType,
+ dlgMode: dlgMode
+ };
+
+ if (password) inputObj.initialPasswd = password;
+
+ window.openDialog("chrome://enigmail/content/autocryptSetupPasswd.xul",
+ "", "dialog,modal,centerscreen", inputObj);
+
+ return inputObj.password;
}
};
diff --git a/ui/content/autocryptSetupPasswd.js b/ui/content/autocryptSetupPasswd.js
index 69738886..43f326c1 100644
--- a/ui/content/autocryptSetupPasswd.js
+++ b/ui/content/autocryptSetupPasswd.js
@@ -1,181 +1,75 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/*global Components: false */
"use strict";
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
-Cu.import("resource://enigmail/pEpAdapter.jsm"); /* global EnigmailPEPAdapter: false */
-Cu.import("resource://enigmail/dialog.jsm"); /* global EnigmailDialog: false */
-Cu.import("resource://enigmail/log.jsm"); /* global EnigmailLog: false */
-Cu.import("resource://enigmail/locale.jsm"); /* global EnigmailLocale: false */
-Cu.import("resource://enigmail/windows.jsm"); /* global EnigmailWindows: false */
-
-/*
-Arguments:
-- peers: {email, rating, user_id}
-- direction: 0 - incoming / 1 - outgoing
-- myself (email-address)
-*/
+Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
var gInputArgs;
function onLoad() {
gInputArgs = window.arguments[0];
- let userList = document.getElementById("userListRows");
-
- let directionLbl = gInputArgs.direction === 0 ? "handshakeDlg.label.incomingMessage" : "handshakeDlg.label.outgoingMessage";
- document.getElementById("messageType").setAttribute("value", EnigmailLocale.getString(directionLbl));
-
- gInputArgs.myself = gInputArgs.myself.toLowerCase();
- for (let i = 0; i < gInputArgs.peers.length; i++) {
- let p = gInputArgs.peers[i];
- if (p.email.toLowerCase() !== gInputArgs.myself) {
- userList.appendChild(createRow(i));
- }
+ if (gInputArgs.dlgMode !== "input") {
+ document.getElementById("enigmailAutocryptSetupPasswd").buttons = "accept";
+ document.getElementById("dlgDesc").setAttribute("description", EnigmailLocale.getString("enigmail.acSetupPasswd.descCopyPasswd"));
+ let b = document.getElementById("enigmailAutocryptSetupPasswd").getButton("accept");
+ b.focus();
}
-
- displayOverallTrust();
-}
-
-function displayOverallTrust() {
- let minTrust = 9;
- for (let i = 0; i < gInputArgs.peers.length; i++) {
- let p = gInputArgs.peers[i];
- if (p.email.toLowerCase() !== gInputArgs.myself) {
- minTrust = Math.min(minTrust, p.rating);
- }
+ else {
+ document.getElementById("dlgDesc").setAttribute("description", EnigmailLocale.getString("enigmail.acSetupPasswd.descEnterPasswd"));
}
- let color = EnigmailPEPAdapter.calculateColorFromRating(minTrust);
- let explanation = "pepPrivacyStatus.Rating" + EnigmailPEPAdapter.getRatingLabel(minTrust) + "Explanation";
- let suggestion = "pepPrivacyStatus.Rating" + EnigmailPEPAdapter.getRatingLabel(minTrust) + "Suggestion";
- let statusDesc = "pepPrivacyStatus.Rating" + EnigmailPEPAdapter.getRatingLabel(minTrust) + "Text";
-
- document.getElementById("statusExplanation").textContent = EnigmailLocale.getString(explanation);
- document.getElementById("pepSuggestion").textContent = EnigmailLocale.getString(suggestion);
- document.getElementById("overallStatusIcon").setAttribute("class", EnigmailPEPAdapter.getRatingClass(minTrust));
- let desc = document.getElementById("overallStatusDesc");
- desc.setAttribute("value", EnigmailLocale.getString(statusDesc));
- desc.setAttribute("color", color);
-
-
-}
-
-function createRow(index) {
- let emailAddr = gInputArgs.peers[index].email;
- let rating = gInputArgs.peers[index].rating;
- EnigmailLog.DEBUG("pepHandshake.js: createRow(" + emailAddr + ", " + rating + ")\n");
- let color = EnigmailPEPAdapter.calculateColorFromRating(rating);
- let funcName = getFuncNameFromColor(color);
-
- let row = document.createElement("row");
- let lblBox = document.createElement("hbox");
- lblBox.setAttribute("align", "center");
- lblBox.setAttribute("size", "medium");
- lblBox.setAttribute("flex", "1");
- lblBox.setAttribute("class", EnigmailPEPAdapter.getRatingClass(rating));
- lblBox.setAttribute("id", "emailRow_" + index);
-
- let label = document.createElement("label");
- label.setAttribute("value", emailAddr);
- lblBox.appendChild(label);
-
- let func = document.createElement("hbox");
- func.setAttribute("align", "center");
- if (funcName !== "") {
- let btn = document.createElement("button");
- let btnLabel = "handshakeDlg.button." + funcName;
- btn.setAttribute("label", EnigmailLocale.getString(btnLabel));
- btn.setAttribute("oncommand", "doHandshakeCommand('" + funcName + "', " + index + ")");
- btn.setAttribute("id", "hndshakeButton_" + index);
- func.appendChild(btn);
+ if (gInputArgs.passwdType == "9x4") {
+ if ("initialPasswd" in gInputArgs) {
+ //document.getElementById("l1").setAttribute("value", gInputArgs.initialPasswd.substr(0, 2));
+ document.getElementById("l1").value = gInputArgs.initialPasswd.substr(0, 2);
+ }
+ if (gInputArgs.dlgMode !== "input") {
+ for (let i = 1; i < 10; i++) {
+ let p = document.getElementById("l" + i);
+ p.value = gInputArgs.initialPasswd.substr((i - 1) * 5, 4);
+ p.readOnly = true;
+ p.setAttribute("class", "plain enigmailTitle");
+ }
+ }
}
- row.appendChild(lblBox);
- row.appendChild(func);
- return row;
-}
-
-function getFuncNameFromColor(color) {
- let funcName = "";
- switch (color) {
- case "yellow":
- funcName = "initHandshake";
- break;
- case "green":
- funcName = "stopTrust";
- break;
- case "red":
- funcName = "reTrust";
+ else {
+ document.getElementById("dlg9x4").setAttribute("collapsed", true);
+ document.getElementById("dlgGeneric").removeAttribute("collapsed");
+ if (gInputArgs.dlgMode !== "input") {
+ let p = document.getElementById("genericPasswd");
+ p.value = gInputArgs.initialPasswd;
+ p.setAttribute("class", "plain enigmailTitle");
+ p.readOnly = true;
+ }
}
- return funcName;
}
-function doHandshakeCommand(funcName, index) {
- EnigmailLog.DEBUG("pepHandshake.js: doHandshakeCommand(" + funcName + ", " + gInputArgs.peers[index].email + ")\n");
- switch (funcName) {
- case "initHandshake":
- document.getElementById("hndshakeButton_" + index).setAttribute("disabled", "true");
- EnigmailWindows.verifyPepTrustWords(window, gInputArgs.peers[index].email, gInputArgs.myself).then(
- function _ok() {
- reloadEmail(index);
- }
- ).catch(
- function _err() {
- EnigmailDialog.alert(window, EnigmailLocale.getString("msgCompose.internalError"));
- });
- break;
- case "stopTrust":
- case "reTrust":
- if (EnigmailDialog.confirmDlg(window,
- EnigmailLocale.getString(funcName === "stopTrust" ? "pepRevokeTrust.question" : "pepRevokeMistrust.question",
- gInputArgs.peers[index].email),
- EnigmailLocale.getString("pepRevokeTrust.doRevoke"),
- EnigmailLocale.getString("dlg.button.close"))) {
- EnigmailPEPAdapter.pep.resetIdentityTrust(gInputArgs.peers[index].user_id).then(
- function _ok() {
- reloadEmail(index);
- }
- ).catch(
- function _err() {
- EnigmailDialog.alert(window, EnigmailLocale.getString("msgCompose.internalError"));
- });
- }
- }
-}
+function onAccept() {
-function reloadEmail(index) {
- let rating = gInputArgs.peers[index].rating;
+ if (gInputArgs.dlgMode === "input") {
+ if (gInputArgs.passwdType === "9x4") {
+ let passwd = "";
- EnigmailPEPAdapter.pep.getIdentityRating(gInputArgs.peers[index].user_id).then(
- function _gotRating(data) {
- if ("result" in data && Array.isArray(data.result.outParams) && typeof(data.result.outParams[0]) === "object" &&
- "rating" in data.result.outParams[0]) {
- rating = data.result.outParams[0].rating;
- gInputArgs.peers[index].rating = rating;
+ for (let i = 1; i < 10; i++) {
+ passwd += document.getElementById("l" + i).value + "-";
}
- let color = EnigmailPEPAdapter.calculateColorFromRating(rating);
- let funcName = getFuncNameFromColor(color);
-
- let row = document.getElementById("emailRow_" + index);
- row.setAttribute("class", EnigmailPEPAdapter.getRatingClass(rating));
-
- let btn = document.getElementById("hndshakeButton_" + index);
- let btnLabel = "handshakeDlg.button." + funcName;
- btn.setAttribute("label", EnigmailLocale.getString(btnLabel));
- btn.setAttribute("oncommand", "doHandshakeCommand('" + funcName + "', " + index + ")");
- btn.removeAttribute("disabled");
-
- displayOverallTrust();
- });
+ gInputArgs.password = passwd.substr(0, 44);
+ }
+ else {
+ gInputArgs.password = document.getElementById("genericPasswd").value;
+ }
+ }
}
diff --git a/ui/content/autocryptSetupPasswd.xul b/ui/content/autocryptSetupPasswd.xul
index d8a1ae15..287a3cbe 100644
--- a/ui/content/autocryptSetupPasswd.xul
+++ b/ui/content/autocryptSetupPasswd.xul
@@ -1,57 +1,65 @@
%brandDTD;
%enigMailDTD;
]>
diff --git a/ui/jar.mn b/ui/jar.mn
index 29d91928..5745b9a9 100644
--- a/ui/jar.mn
+++ b/ui/jar.mn
@@ -1,571 +1,573 @@
enigmail.jar:
+ content/enigmail/autocryptSetupPasswd.xul (content/autocryptSetupPasswd.xul)
+ content/enigmail/autocryptSetupPasswd.js (content/autocryptSetupPasswd.js)
content/enigmail/columnOverlay.xul (content/columnOverlay.xul)
content/enigmail/columnOverlay.js (content/columnOverlay.js)
content/enigmail/enigmailCommon.js (content/enigmailCommon.js)
content/enigmail/enigmailAbCardViewOverlay.xul (content/enigmailAbCardViewOverlay.xul)
content/enigmail/enigmailAbContactsPanel.xul (content/enigmailAbContactsPanel.xul)
content/enigmail/enigmailAbOverlay.js (content/enigmailAbOverlay.js)
content/enigmail/enigmailAbout.xul (content/enigmailAbout.xul)
content/enigmail/enigmailAbout.js (content/enigmailAbout.js)
content/enigmail/enigmailAbout.htm (content/enigmailAbout.htm)
content/enigmail/enigmailAddUidDlg.js (content/enigmailAddUidDlg.js)
content/enigmail/enigmailAddUidDlg.xul (content/enigmailAddUidDlg.xul)
content/enigmail/enigmailAdvancedIdentityDlg.js (content/enigmailAdvancedIdentityDlg.js)
content/enigmail/enigmailAdvancedIdentityDlg.xul (content/enigmailAdvancedIdentityDlg.xul)
content/enigmail/enigmailMsgBox.js (content/enigmailMsgBox.js)
content/enigmail/enigmailMsgBox.xul (content/enigmailMsgBox.xul)
content/enigmail/enigmailAttachmentsDialog.xul (content/enigmailAttachmentsDialog.xul)
content/enigmail/enigmailAttachmentsDialog.js (content/enigmailAttachmentsDialog.js)
content/enigmail/enigmailAmIdEditOverlay.js (content/enigmailAmIdEditOverlay.js)
content/enigmail/enigmailAmIdEditOverlay.xul (content/enigmailAmIdEditOverlay.xul)
content/enigmail/enigmailBuildDate.js (content/enigmailBuildDate.js)
content/enigmail/enigmailCheckLanguage.xul (content/enigmailCheckLanguage.xul)
content/enigmail/enigmailCardDetails.js (content/enigmailCardDetails.js)
content/enigmail/enigmailCardDetails.xul (content/enigmailCardDetails.xul)
content/enigmail/enigmailConsole.xul (content/enigmailConsole.xul)
content/enigmail/enigmailConsole.js (content/enigmailConsole.js)
content/enigmail/enigmailConsole.htm (content/enigmailConsole.htm)
content/enigmail/enigmailCustToolOverlay.xul (content/enigmailCustToolOverlay.xul)
content/enigmail/enigmailDispPhoto.js (content/enigmailDispPhoto.js)
content/enigmail/enigmailDispPhoto.xul (content/enigmailDispPhoto.xul)
content/enigmail/enigmailEditIdentity.js (content/enigmailEditIdentity.js)
content/enigmail/enigmailEditIdentity.xul (content/enigmailEditIdentity.xul)
content/enigmail/enigmailEditKeyExpiryDlg.js (content/enigmailEditKeyExpiryDlg.js)
content/enigmail/enigmailEditKeyExpiryDlg.xul (content/enigmailEditKeyExpiryDlg.xul)
content/enigmail/enigmailEditKeyTrustDlg.js (content/enigmailEditKeyTrustDlg.js)
content/enigmail/enigmailEditKeyTrustDlg.xul (content/enigmailEditKeyTrustDlg.xul)
content/enigmail/enigmailEncryptionDlg.xul (content/enigmailEncryptionDlg.xul)
content/enigmail/enigmailEncryptionDlg.js (content/enigmailEncryptionDlg.js)
content/enigmail/enigmailGenCardKey.js (content/enigmailGenCardKey.js)
content/enigmail/enigmailGenCardKey.xul (content/enigmailGenCardKey.xul)
content/enigmail/enigmailGenericDisplay.js (content/enigmailGenericDisplay.js)
content/enigmail/enigmailGenericDisplay.xul (content/enigmailGenericDisplay.xul)
content/enigmail/enigmailGenericDisplay.htm (content/enigmailGenericDisplay.htm)
content/enigmail/enigmailHelp.xul (content/enigmailHelp.xul)
content/enigmail/enigmailHelp.js (content/enigmailHelp.js)
content/enigmail/enigmailImportPhoto.js (content/enigmailImportPhoto.js)
content/enigmail/enigmailImportPhoto.xul (content/enigmailImportPhoto.xul)
content/enigmail/keyDetailsDlg.js (content/keyDetailsDlg.js)
content/enigmail/keyDetailsDlg.xul (content/keyDetailsDlg.xul)
content/enigmail/enigmailKeyManager.xul (content/enigmailKeyManager.xul)
content/enigmail/enigmailKeyManager.js (content/enigmailKeyManager.js)
content/enigmail/enigmailManageUidDlg.js (content/enigmailManageUidDlg.js)
content/enigmail/enigmailManageUidDlg.xul (content/enigmailManageUidDlg.xul)
content/enigmail/enigmailRulesEditor.xul (content/enigmailRulesEditor.xul)
content/enigmail/enigmailRulesEditor.js (content/enigmailRulesEditor.js)
content/enigmail/enigmailSearchKey.js (content/enigmailSearchKey.js)
content/enigmail/enigmailSearchKey.xul (content/enigmailSearchKey.xul)
content/enigmail/enigmailKeyImportInfo.js (content/enigmailKeyImportInfo.js)
content/enigmail/enigmailKeyImportInfo.xul (content/enigmailKeyImportInfo.xul)
content/enigmail/enigmailSingleRcptSettings.js (content/enigmailSingleRcptSettings.js)
content/enigmail/enigmailSingleRcptSettings.xul (content/enigmailSingleRcptSettings.xul)
content/enigmail/enigmailSelectRule.js (content/enigmailSelectRule.js)
content/enigmail/enigmailSelectRule.xul (content/enigmailSelectRule.xul)
content/enigmail/enigmailSetCardPin.js (content/enigmailSetCardPin.js)
content/enigmail/enigmailSetCardPin.xul (content/enigmailSetCardPin.xul)
content/enigmail/enigmailSignKeyDlg.js (content/enigmailSignKeyDlg.js)
content/enigmail/enigmailSignKeyDlg.xul (content/enigmailSignKeyDlg.xul)
content/enigmail/enigmail-am-smime.js (content/enigmail-am-smime.js)
content/enigmail/enigmail-am-smime.xul (content/enigmail-am-smime.xul)
content/enigmail/pref-enigmail.xul (content/pref-enigmail.xul)
content/enigmail/pref-enigmail.js (content/pref-enigmail.js)
content/enigmail/pref-pep.xul (content/pref-pep.xul)
content/enigmail/pref-pep.js (content/pref-pep.js)
content/enigmail/am-enigprefs.xul (content/am-enigprefs.xul)
content/enigmail/am-enigprefs.js (content/am-enigprefs.js)
content/enigmail/am-enigprefs-edit.xul (content/am-enigprefs-edit.xul)
content/enigmail/enigmailKeygen.xul (content/enigmailKeygen.xul)
content/enigmail/enigmailKeygen.js (content/enigmailKeygen.js)
content/enigmail/enigmailKeygenConsole.htm (content/enigmailKeygenConsole.htm)
content/enigmail/enigmailKeyserverDlg.xul (content/enigmailKeyserverDlg.xul)
content/enigmail/enigmailKeyserverDlg.js (content/enigmailKeyserverDlg.js)
content/enigmail/enigmailKeySelection.xul (content/enigmailKeySelection.xul)
content/enigmail/enigmailKeySelection.js (content/enigmailKeySelection.js)
content/enigmail/enigmailMsgComposeOverlay.xul (content/enigmailMsgComposeOverlay.xul)
content/enigmail/enigmailMsgComposeOverlay.js (content/enigmailMsgComposeOverlay.js)
content/enigmail/enigmailMsgComposeHelper.js (content/enigmailMsgComposeHelper.js)
content/enigmail/messengerOverlay-tbird.xul (content/messengerOverlay-tbird.xul)
content/enigmail/messengerOverlay-sm.xul (content/messengerOverlay-sm.xul)
content/enigmail/enigmailMessengerOverlay.xul (content/enigmailMessengerOverlay.xul)
content/enigmail/enigmailMessengerOverlay.js (content/enigmailMessengerOverlay.js)
content/enigmail/enigmailMsgHdrViewOverlay.xul (content/enigmailMsgHdrViewOverlay.xul)
content/enigmail/enigmailMsgHdrViewOverlay.js (content/enigmailMsgHdrViewOverlay.js)
content/enigmail/enigmailFilterEditorOverlay.xul (content/enigmailFilterEditorOverlay.xul)
content/enigmail/enigmailFilterEditorOverlay.js (content/enigmailFilterEditorOverlay.js)
content/enigmail/enigmailFilterListOverlay.xul (content/enigmailFilterListOverlay.xul)
content/enigmail/enigmailFilterListOverlay.js (content/enigmailFilterListOverlay.js)
content/enigmail/enigmailMsgPrintOverlay.xul (content/enigmailMsgPrintOverlay.xul)
content/enigmail/enigmailMsgPrintOverlay.js (content/enigmailMsgPrintOverlay.js)
content/enigmail/enigmailPrivacyOverlay.js (content/enigmailPrivacyOverlay.js)
content/enigmail/enigmailPrivacyOverlay.xul (content/enigmailPrivacyOverlay.xul)
content/enigmail/enigmailSetupWizard.js (content/enigmailSetupWizard.js)
content/enigmail/enigmailSetupWizard.xul (content/enigmailSetupWizard.xul)
content/enigmail/enigmailWrapSelection.xul (content/enigmailWrapSelection.xul)
content/enigmail/enigmailWrapSelection.js (content/enigmailWrapSelection.js)
content/enigmail/enigmailViewFile.js (content/enigmailViewFile.js)
content/enigmail/enigmailViewFile.xul (content/enigmailViewFile.xul)
content/enigmail/enigRetrieveProgress.xul (content/enigRetrieveProgress.xul)
content/enigmail/enigRetrieveProgress.js (content/enigRetrieveProgress.js)
content/enigmail/exportSettingsWizard.js (content/exportSettingsWizard.js)
content/enigmail/exportSettingsWizard.xul (content/exportSettingsWizard.xul)
content/enigmail/pepHandshake.xul (content/pepHandshake.xul)
content/enigmail/pepHandshake.js (content/pepHandshake.js)
content/enigmail/pepPrepHandshake.xul (content/pepPrepHandshake.xul)
content/enigmail/pepPrepHandshake.js (content/pepPrepHandshake.js)
content/enigmail/pepTrustWords.xul (content/pepTrustWords.xul)
content/enigmail/pepTrustWords.js (content/pepTrustWords.js)
content/enigmail/check0.png (skin/images/check0.png)
content/enigmail/check1.png (skin/images/check1.png)
content/enigmail/check2.png (skin/images/check2.png)
locale/en-US/enigmail.dtd (locale/en-US/enigmail.dtd)
locale/en-US/enigmail.properties (locale/en-US/enigmail.properties)
locale/en-US/am-enigprefs.properties (locale/en-US/am-enigprefs.properties)
locale/en-US/help/compose.html (locale/en-US/help/compose.html)
locale/en-US/help/editRcptRule.html (locale/en-US/help/editRcptRule.html)
locale/en-US/help/initError.html (locale/en-US/help/initError.html)
locale/en-US/help/messenger.html (locale/en-US/help/messenger.html)
locale/en-US/help/rulesEditor.html (locale/en-US/help/rulesEditor.html)
locale/en-US/help/sendingPrefs.html (locale/en-US/help/sendingPrefs.html)
skin/tb-win-xp/enigmail/enigmail.css (skin/tb-windows/enigmail.css)
skin/tb-win-xp/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/tb-win-xp/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/tb-win-xp/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/tb-win-xp/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/tb-win-xp/enigmail/enigmail-toolbar.png (skin/tb-windows/images/enigmail-toolbar.png)
skin/tb-win-xp/enigmail/enigmail-toolbar-small.png (skin/tb-windows/images/enigmail-toolbar-small.png)
skin/tb-win-xp/enigmail/enigmail-settings.png (skin/tb-windows/images/enigmail-settings.png)
skin/tb-win-xp/enigmail/enigmail-settings-small.png (skin/tb-windows/images/enigmail-settings-small.png)
skin/tb-win-xp/enigmail/enigEncInactive.png (skin/tb-windows/images/enigEncInactive.png)
skin/tb-win-xp/enigmail/enigEncNotOk.png (skin/tb-windows/images/enigEncNotOk.png)
skin/tb-win-xp/enigmail/enigEncOk.png (skin/tb-windows/images/enigEncOk.png)
skin/tb-win-xp/enigmail/enigSignInactive.png (skin/tb-windows/images/enigSignInactive.png)
skin/tb-win-xp/enigmail/enigSignNotOk.png (skin/tb-windows/images/enigSignNotOk.png)
skin/tb-win-xp/enigmail/enigSignOk.png (skin/tb-windows/images/enigSignOk.png)
skin/tb-win-xp/enigmail/enigSignUnkown.png (skin/tb-windows/images/enigSignUnkown.png)
skin/tb-win-xp/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/tb-win-xp/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/tb-xp-win/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/tb-win-xp/enigmail/col-encrypted-signed.png (skin/tb-windows/images/col-encrypted-signed.png)
skin/tb-win-xp/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/tb-win-xp/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/tb-win-xp/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/tb-win-xp/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/tb-win-xp/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/tb-win-xp/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/tb-win-xp/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/tb-win-xp/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/tb-win-xp/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/tb-win-xp/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/tb-win-xp/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/tb-win-xp/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/tb-win-xp/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/tb-win-xp/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/tb-win-xp/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/tb-win-xp/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/tb-win-xp/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/tb-win-xp/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/tb-win-xp/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/tb-win-xp/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/tb-win-xp/enigmail/encrypt-active-16.png (skin/images/encrypt-active-16.png)
skin/tb-win-xp/enigmail/encrypt-active-force-16.png (skin/images/encrypt-active-force-16.png)
skin/tb-win-xp/enigmail/encrypt-disabled-16.png (skin/images/encrypt-disabled-16.png)
skin/tb-win-xp/enigmail/encrypt-inactive-16.png (skin/images/encrypt-inactive-16.png)
skin/tb-win-xp/enigmail/encrypt-inactive-force-16.png (skin/images/encrypt-inactive-force-16.png)
skin/tb-win-xp/enigmail/encrypt-active-30.png (skin/images/encrypt-active-30.png)
skin/tb-win-xp/enigmail/encrypt-active-force-30.png (skin/images/encrypt-active-force-30.png)
skin/tb-win-xp/enigmail/encrypt-disabled-30.png (skin/images/encrypt-disabled-30.png)
skin/tb-win-xp/enigmail/encrypt-inactive-30.png (skin/images/encrypt-inactive-30.png)
skin/tb-win-xp/enigmail/encrypt-inactive-force-30.png (skin/images/encrypt-inactive-force-30.png)
skin/tb-win-xp/enigmail/sign-active-16.png (skin/images/sign-active-16.png)
skin/tb-win-xp/enigmail/sign-active-force-16.png (skin/images/sign-active-force-16.png)
skin/tb-win-xp/enigmail/sign-disabled-16.png (skin/images/sign-disabled-16.png)
skin/tb-win-xp/enigmail/sign-inactive-16.png (skin/images/sign-inactive-16.png)
skin/tb-win-xp/enigmail/sign-inactive-force-16.png (skin/images/sign-inactive-force-16.png)
skin/tb-win-xp/enigmail/sign-active-30.png (skin/images/sign-active-30.png)
skin/tb-win-xp/enigmail/sign-active-force-30.png (skin/images/sign-active-force-30.png)
skin/tb-win-xp/enigmail/sign-disabled-30.png (skin/images/sign-disabled-30.png)
skin/tb-win-xp/enigmail/sign-inactive-30.png (skin/images/sign-inactive-30.png)
skin/tb-win-xp/enigmail/sign-inactive-force-30.png (skin/images/sign-inactive-force-30.png)
skin/tb-win-xp/enigmail/attach-active-16.png (skin/images/attach-active-16.png)
skin/tb-win-xp/enigmail/attach-disabled-16.png (skin/images/attach-disabled-16.png)
skin/tb-win-xp/enigmail/attach-inactive-16.png (skin/images/attach-inactive-16.png)
skin/tb-win-xp/enigmail/warning-16.png (skin/images/warning-16.png)
skin/tb-win-xp/enigmail/password-error.png (skin/images/password-error.png)
skin/tb-win-xp/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/tb-win-xp/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/tb-win-xp/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/tb-win-xp/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/tb-win-xp/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/tb-win-xp/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/tb-win-xp/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/tb-win-xp/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/tb-win-xp/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
skin/aero/enigmail/enigmail.css (skin/tb-windows/enigmail-aero.css)
skin/aero/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/aero/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/aero/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/aero/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/aero/enigmail/enigmail-toolbar.png (skin/tb-windows/images/enigmail-toolbar-aero.png)
skin/aero/enigmail/enigmail-toolbar-small.png (skin/tb-windows/images/enigmail-toolbar-small-aero.png)
skin/aero/enigmail/enigmail-settings.png (skin/tb-windows/images/enigmail-settings-aero.png)
skin/aero/enigmail/enigmail-settings-small.png (skin/tb-windows/images/enigmail-settings-small-aero.png)
skin/aero/enigmail/enigEncInactive.png (skin/tb-windows/images/enigEncInactive.png)
skin/aero/enigmail/enigEncNotOk.png (skin/tb-windows/images/enigEncNotOk.png)
skin/aero/enigmail/enigEncOk.png (skin/tb-windows/images/enigEncOk.png)
skin/aero/enigmail/enigSignInactive.png (skin/tb-windows/images/enigSignInactive.png)
skin/aero/enigmail/enigSignNotOk.png (skin/tb-windows/images/enigSignNotOk.png)
skin/aero/enigmail/enigSignOk.png (skin/tb-windows/images/enigSignOk.png)
skin/aero/enigmail/enigSignUnkown.png (skin/tb-windows/images/enigSignUnkown.png)
skin/aero/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/aero/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/aero/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/aero/enigmail/col-encrypted-signed.png (skin/tb-windows/images/col-encrypted-signed.png)
skin/aero/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/aero/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/aero/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/aero/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/aero/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/aero/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/aero/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/aero/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/aero/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/aero/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/aero/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/aero/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/aero/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/aero/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/aero/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/aero/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/aero/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/aero/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/aero/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/aero/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/aero/enigmail/encrypt-active-16.png (skin/images/encrypt-active-16.png)
skin/aero/enigmail/encrypt-active-force-16.png (skin/images/encrypt-active-force-16.png)
skin/aero/enigmail/encrypt-disabled-16.png (skin/images/encrypt-disabled-16.png)
skin/aero/enigmail/encrypt-inactive-16.png (skin/images/encrypt-inactive-16.png)
skin/aero/enigmail/encrypt-inactive-force-16.png (skin/images/encrypt-inactive-force-16.png)
skin/aero/enigmail/encrypt-active-30.png (skin/images/encrypt-active-30.png)
skin/aero/enigmail/encrypt-active-force-30.png (skin/images/encrypt-active-force-30.png)
skin/aero/enigmail/encrypt-disabled-30.png (skin/images/encrypt-disabled-30.png)
skin/aero/enigmail/encrypt-inactive-30.png (skin/images/encrypt-inactive-30.png)
skin/aero/enigmail/encrypt-inactive-force-30.png (skin/images/encrypt-inactive-force-30.png)
skin/aero/enigmail/sign-active-16.png (skin/images/sign-active-16.png)
skin/aero/enigmail/sign-active-force-16.png (skin/images/sign-active-force-16.png)
skin/aero/enigmail/sign-disabled-16.png (skin/images/sign-disabled-16.png)
skin/aero/enigmail/sign-inactive-16.png (skin/images/sign-inactive-16.png)
skin/aero/enigmail/sign-inactive-force-16.png (skin/images/sign-inactive-force-16.png)
skin/aero/enigmail/sign-active-30.png (skin/images/sign-active-30.png)
skin/aero/enigmail/sign-active-force-30.png (skin/images/sign-active-force-30.png)
skin/aero/enigmail/sign-disabled-30.png (skin/images/sign-disabled-30.png)
skin/aero/enigmail/sign-inactive-30.png (skin/images/sign-inactive-30.png)
skin/aero/enigmail/sign-inactive-force-30.png (skin/images/sign-inactive-force-30.png)
skin/aero/enigmail/attach-active-16.png (skin/images/attach-active-16.png)
skin/aero/enigmail/attach-disabled-16.png (skin/images/attach-disabled-16.png)
skin/aero/enigmail/attach-inactive-16.png (skin/images/attach-inactive-16.png)
skin/aero/enigmail/password-error.png (skin/images/password-error.png)
skin/aero/enigmail/warning-16.png (skin/images/warning-16.png)
skin/aero/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/aero/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/aero/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/aero/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/aero/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/aero/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/aero/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/aero/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/aero/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
skin/tb-mac/enigmail/enigmail.css (skin/tb-mac/enigmail.css)
skin/tb-mac/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/tb-mac/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/tb-mac/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/tb-mac/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/tb-mac/enigmail/enigmail-decrypt.png (skin/tb-mac/images/enigmail-decrypt.png)
skin/tb-mac/enigmail/enigmail-decrypt-inactive.png (skin/tb-mac/images/enigmail-decrypt-inactive.png)
skin/tb-mac/enigmail/enigmail-decrypt-small.png (skin/tb-mac/images/enigmail-decrypt-small.png)
skin/tb-mac/enigmail/enigmail-decrypt-small-inactive.png (skin/tb-mac/images/enigmail-decrypt-small-inactive.png)
skin/tb-mac/enigmail/enigEncInactive.png (skin/tb-mac/images/enigEncInactive.png)
skin/tb-mac/enigmail/enigEncNotOk.png (skin/tb-mac/images/enigEncNotOk.png)
skin/tb-mac/enigmail/enigEncOk.png (skin/tb-mac/images/enigEncOk.png)
skin/tb-mac/enigmail/enigSignInactive.png (skin/tb-mac/images/enigSignInactive.png)
skin/tb-mac/enigmail/enigSignNotOk.png (skin/tb-mac/images/enigSignNotOk.png)
skin/tb-mac/enigmail/enigSignOk.png (skin/tb-mac/images/enigSignOk.png)
skin/tb-mac/enigmail/enigSignUnkown.png (skin/tb-mac/images/enigSignUnkown.png)
skin/tb-mac/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/tb-mac/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/tb-mac/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/tb-mac/enigmail/col-encrypted-signed.png (skin/tb-mac/images/col-encrypted-signed.png)
skin/tb-mac/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/tb-mac/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/tb-mac/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/tb-mac/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/tb-mac/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/tb-mac/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/tb-mac/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/tb-mac/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/tb-mac/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/tb-mac/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/tb-mac/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/tb-mac/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/tb-mac/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/tb-mac/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/tb-mac/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/tb-mac/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/tb-mac/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/tb-mac/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/tb-mac/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/tb-mac/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/tb-mac/enigmail/encrypt-active-18.png (skin/images/encrypt-active-18.png)
skin/tb-mac/enigmail/encrypt-active-force-18.png (skin/images/encrypt-active-force-18.png)
skin/tb-mac/enigmail/encrypt-disabled-18.png (skin/images/encrypt-disabled-18.png)
skin/tb-mac/enigmail/encrypt-inactive-18.png (skin/images/encrypt-inactive-18.png)
skin/tb-mac/enigmail/encrypt-inactive-force-18.png (skin/images/encrypt-inactive-force-18.png)
skin/tb-mac/enigmail/encrypt-active-30.png (skin/images/encrypt-active-30.png)
skin/tb-mac/enigmail/encrypt-active-force-30.png (skin/images/encrypt-active-force-30.png)
skin/tb-mac/enigmail/encrypt-disabled-30.png (skin/images/encrypt-disabled-30.png)
skin/tb-mac/enigmail/encrypt-inactive-30.png (skin/images/encrypt-inactive-30.png)
skin/tb-mac/enigmail/encrypt-inactive-force-30.png (skin/images/encrypt-inactive-force-30.png)
skin/tb-mac/enigmail/attach-active-24.png (skin/images/attach-active-24.png)
skin/tb-mac/enigmail/attach-inactive-24.png (skin/images/attach-inactive-24.png)
skin/tb-mac/enigmail/attach-disabled-24.png (skin/images/attach-disabled-24.png)
skin/tb-mac/enigmail/attach-active-30.png (skin/images/attach-active-30.png)
skin/tb-mac/enigmail/attach-inactive-30.png (skin/images/attach-inactive-30.png)
skin/tb-mac/enigmail/attach-disabled-30.png (skin/images/attach-disabled-30.png)
skin/tb-mac/enigmail/sign-active-18.png (skin/images/sign-active-18.png)
skin/tb-mac/enigmail/sign-active-force-18.png (skin/images/sign-active-force-18.png)
skin/tb-mac/enigmail/sign-disabled-18.png (skin/images/sign-disabled-18.png)
skin/tb-mac/enigmail/sign-inactive-18.png (skin/images/sign-inactive-18.png)
skin/tb-mac/enigmail/sign-inactive-force-18.png (skin/images/sign-inactive-force-18.png)
skin/tb-mac/enigmail/sign-active-30.png (skin/images/sign-active-30.png)
skin/tb-mac/enigmail/sign-active-force-30.png (skin/images/sign-active-force-30.png)
skin/tb-mac/enigmail/sign-disabled-30.png (skin/images/sign-disabled-30.png)
skin/tb-mac/enigmail/sign-inactive-30.png (skin/images/sign-inactive-30.png)
skin/tb-mac/enigmail/sign-inactive-force-30.png (skin/images/sign-inactive-force-30.png)
skin/tb-mac/enigmail/warning-16.png (skin/images/warning-16.png)
skin/tb-mac/enigmail/password-error.png (skin/images/password-error.png)
skin/tb-mac/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/tb-mac/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/tb-mac/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/tb-mac/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/tb-mac/enigmail/pEpGrey.svg (skin/images/pEpGrey.svg)
skin/tb-mac/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/tb-mac/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/tb-mac/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/tb-mac/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/tb-mac/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
skin/tb-linux/enigmail/enigmail.css (skin/tb-linux/enigmail.css)
skin/tb-linux/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/tb-linux/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/tb-linux/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/tb-linux/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/tb-linux/enigmail/enigmail-toolbar.png (skin/tb-linux/images/enigmail-toolbar.png)
skin/tb-linux/enigmail/enigmail-toolbar-small.png (skin/tb-linux/images/enigmail-toolbar-small.png)
skin/tb-linux/enigmail/enigmail-settings.png (skin/tb-linux/images/enigmail-settings.png)
skin/tb-linux/enigmail/enigmail-settings-small.png (skin/tb-linux/images/enigmail-settings-small.png)
skin/tb-linux/enigmail/enigEncInactive.png (skin/tb-linux/images/enigEncInactive.png)
skin/tb-linux/enigmail/enigEncNotOk.png (skin/tb-linux/images/enigEncNotOk.png)
skin/tb-linux/enigmail/enigEncOk.png (skin/tb-linux/images/enigEncOk.png)
skin/tb-linux/enigmail/enigSignInactive.png (skin/tb-linux/images/enigSignInactive.png)
skin/tb-linux/enigmail/enigSignNotOk.png (skin/tb-linux/images/enigSignNotOk.png)
skin/tb-linux/enigmail/enigSignOk.png (skin/tb-linux/images/enigSignOk.png)
skin/tb-linux/enigmail/enigSignUnkown.png (skin/tb-linux/images/enigSignUnkown.png)
skin/tb-linux/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/tb-linux/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/tb-linux/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/tb-linux/enigmail/col-encrypted-signed.png (skin/tb-linux/images/col-encrypted-signed.png)
skin/tb-linux/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/tb-linux/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/tb-linux/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/tb-linux/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/tb-linux/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/tb-linux/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/tb-linux/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/tb-linux/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/tb-linux/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/tb-linux/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/tb-linux/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/tb-linux/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/tb-linux/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/tb-linux/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/tb-linux/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/tb-linux/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/tb-linux/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/tb-linux/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/tb-linux/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/tb-linux/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/tb-linux/enigmail/encrypt-active-24.png (skin/images/encrypt-active-24.png)
skin/tb-linux/enigmail/encrypt-active-force-24.png (skin/images/encrypt-active-force-24.png)
skin/tb-linux/enigmail/encrypt-disabled-24.png (skin/images/encrypt-disabled-24.png)
skin/tb-linux/enigmail/encrypt-inactive-24.png (skin/images/encrypt-inactive-24.png)
skin/tb-linux/enigmail/encrypt-inactive-force-24.png (skin/images/encrypt-inactive-force-24.png)
skin/tb-linux/enigmail/encrypt-active-30.png (skin/images/encrypt-active-30.png)
skin/tb-linux/enigmail/encrypt-active-force-30.png (skin/images/encrypt-active-force-30.png)
skin/tb-linux/enigmail/encrypt-disabled-30.png (skin/images/encrypt-disabled-30.png)
skin/tb-linux/enigmail/encrypt-inactive-30.png (skin/images/encrypt-inactive-30.png)
skin/tb-linux/enigmail/encrypt-inactive-force-30.png (skin/images/encrypt-inactive-force-30.png)
skin/tb-linux/enigmail/sign-active-24.png (skin/images/sign-active-24.png)
skin/tb-linux/enigmail/sign-active-force-24.png (skin/images/sign-active-force-24.png)
skin/tb-linux/enigmail/sign-disabled-24.png (skin/images/sign-disabled-24.png)
skin/tb-linux/enigmail/sign-inactive-24.png (skin/images/sign-inactive-24.png)
skin/tb-linux/enigmail/sign-inactive-force-24.png (skin/images/sign-inactive-force-24.png)
skin/tb-linux/enigmail/sign-active-30.png (skin/images/sign-active-30.png)
skin/tb-linux/enigmail/sign-active-force-30.png (skin/images/sign-active-force-30.png)
skin/tb-linux/enigmail/sign-disabled-30.png (skin/images/sign-disabled-30.png)
skin/tb-linux/enigmail/sign-inactive-30.png (skin/images/sign-inactive-30.png)
skin/tb-linux/enigmail/sign-inactive-force-30.png (skin/images/sign-inactive-force-30.png)
skin/tb-linux/enigmail/attach-active-24.png (skin/images/attach-active-24.png)
skin/tb-linux/enigmail/attach-inactive-24.png (skin/images/attach-inactive-24.png)
skin/tb-linux/enigmail/attach-disabled-24.png (skin/images/attach-disabled-24.png)
skin/tb-linux/enigmail/attach-active-30.png (skin/images/attach-active-30.png)
skin/tb-linux/enigmail/attach-inactive-30.png (skin/images/attach-inactive-30.png)
skin/tb-linux/enigmail/attach-disabled-30.png (skin/images/attach-disabled-30.png)
skin/tb-linux/enigmail/warning-16.png (skin/images/warning-16.png)
skin/tb-linux/enigmail/password-error.png (skin/images/password-error.png)
skin/tb-linux/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/tb-linux/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/tb-linux/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/tb-linux/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/tb-linux/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/tb-linux/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/tb-linux/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/tb-linux/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/tb-linux/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
skin/classic-seamonkey/enigmail/enigmail.css (skin/classic-seamonkey/enigmail.css)
skin/classic-seamonkey/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/classic-seamonkey/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/classic-seamonkey/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/classic-seamonkey/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/classic-seamonkey/enigmail/enigmail-toolbar.png (skin/classic-seamonkey/images/enigmail-toolbar.png)
skin/classic-seamonkey/enigmail/enigmail-toolbar-small.png (skin/classic-seamonkey/images/enigmail-toolbar-small.png)
skin/classic-seamonkey/enigmail/enigmail-send.png (skin/classic-seamonkey/images/enigmail-send.png)
skin/classic-seamonkey/enigmail/enigmail-send-small.png (skin/classic-seamonkey/images/enigmail-send-small.png)
skin/classic-seamonkey/enigmail/enigEncInactive.png (skin/classic-seamonkey/images/enigEncInactive.png)
skin/classic-seamonkey/enigmail/enigEncNotOk.png (skin/classic-seamonkey/images/enigEncNotOk.png)
skin/classic-seamonkey/enigmail/enigEncOk.png (skin/classic-seamonkey/images/enigEncOk.png)
skin/classic-seamonkey/enigmail/enigSignInactive.png (skin/classic-seamonkey/images/enigSignInactive.png)
skin/classic-seamonkey/enigmail/enigSignNotOk.png (skin/classic-seamonkey/images/enigSignNotOk.png)
skin/classic-seamonkey/enigmail/enigSignOk.png (skin/classic-seamonkey/images/enigSignOk.png)
skin/classic-seamonkey/enigmail/enigSignUnkown.png (skin/classic-seamonkey/images/enigSignUnkown.png)
skin/classic-seamonkey/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/classic-seamonkey/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/classic-seamonkey/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/classic-seamonkey/enigmail/col-encrypted-signed.png (skin/classic-seamonkey/images/col-encrypted-signed.png)
skin/classic-seamonkey/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/classic-seamonkey/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/classic-seamonkey/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/classic-seamonkey/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/classic-seamonkey/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/classic-seamonkey/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/classic-seamonkey/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/classic-seamonkey/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/classic-seamonkey/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/classic-seamonkey/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/classic-seamonkey/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/classic-seamonkey/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/classic-seamonkey/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/classic-seamonkey/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/classic-seamonkey/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/classic-seamonkey/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/classic-seamonkey/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/classic-seamonkey/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/classic-seamonkey/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/classic-seamonkey/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/classic-seamonkey/enigmail/encrypt-active-24.png (skin/images/encrypt-active-24.png)
skin/classic-seamonkey/enigmail/encrypt-active-force-24.png (skin/images/encrypt-active-force-24.png)
skin/classic-seamonkey/enigmail/encrypt-disabled-24.png (skin/images/encrypt-disabled-24.png)
skin/classic-seamonkey/enigmail/encrypt-inactive-24.png (skin/images/encrypt-inactive-24.png)
skin/classic-seamonkey/enigmail/encrypt-inactive-force-24.png (skin/images/encrypt-inactive-force-24.png)
skin/classic-seamonkey/enigmail/encrypt-active-30.png (skin/images/encrypt-active-30.png)
skin/classic-seamonkey/enigmail/encrypt-active-force-30.png (skin/images/encrypt-active-force-30.png)
skin/classic-seamonkey/enigmail/encrypt-disabled-30.png (skin/images/encrypt-disabled-30.png)
skin/classic-seamonkey/enigmail/encrypt-inactive-30.png (skin/images/encrypt-inactive-30.png)
skin/classic-seamonkey/enigmail/encrypt-inactive-force-30.png (skin/images/encrypt-inactive-force-30.png)
skin/classic-seamonkey/enigmail/sign-active-24.png (skin/images/sign-active-24.png)
skin/classic-seamonkey/enigmail/sign-active-force-24.png (skin/images/sign-active-force-24.png)
skin/classic-seamonkey/enigmail/sign-disabled-24.png (skin/images/sign-disabled-24.png)
skin/classic-seamonkey/enigmail/sign-inactive-24.png (skin/images/sign-inactive-24.png)
skin/classic-seamonkey/enigmail/sign-inactive-force-24.png (skin/images/sign-inactive-force-24.png)
skin/classic-seamonkey/enigmail/sign-active-30.png (skin/images/sign-active-30.png)
skin/classic-seamonkey/enigmail/sign-active-force-30.png (skin/images/sign-active-force-30.png)
skin/classic-seamonkey/enigmail/sign-disabled-30.png (skin/images/sign-disabled-30.png)
skin/classic-seamonkey/enigmail/sign-inactive-30.png (skin/images/sign-inactive-30.png)
skin/classic-seamonkey/enigmail/sign-inactive-force-30.png (skin/images/sign-inactive-force-30.png)
skin/classic-seamonkey/enigmail/attach-active-24.png (skin/images/attach-active-24.png)
skin/classic-seamonkey/enigmail/attach-inactive-24.png (skin/images/attach-inactive-24.png)
skin/classic-seamonkey/enigmail/attach-disabled-24.png (skin/images/attach-disabled-24.png)
skin/classic-seamonkey/enigmail/attach-active-30.png (skin/images/attach-active-30.png)
skin/classic-seamonkey/enigmail/attach-inactive-30.png (skin/images/attach-inactive-30.png)
skin/classic-seamonkey/enigmail/attach-disabled-30.png (skin/images/attach-disabled-30.png)
skin/classic-seamonkey/enigmail/warning-16.png (skin/images/warning-16.png)
skin/classic-seamonkey/enigmail/password-error.png (skin/images/password-error.png)
skin/classic-seamonkey/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/classic-seamonkey/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/classic-seamonkey/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/classic-seamonkey/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/classic-seamonkey/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/classic-seamonkey/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/classic-seamonkey/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/classic-seamonkey/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/classic-seamonkey/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
skin/modern/enigmail/enigmail.css (skin/modern/enigmail.css)
skin/modern/enigmail/enigmail-common.css (skin/common/enigmail-common.css)
skin/modern/enigmail/enigmail-pEp.css (skin/common/enigmail-pEp.css)
skin/modern/enigmail/enigmail-about.png (skin/images/enigmail-about.png)
skin/modern/enigmail/enigmail-logo.png (skin/images/enigmail-logo.png)
skin/modern/enigmail/enigdecrypt-act.png (skin/images/enigdecrypt-act.png)
skin/modern/enigmail/enigdecrypt-dis.png (skin/images/enigdecrypt-dis.png)
skin/modern/enigmail/enigdecrypt-hov.png (skin/images/enigdecrypt-hov.png)
skin/modern/enigmail/enigdecrypt.png (skin/images/enigdecrypt.png)
skin/modern/enigmail/enigEncInactive.png (skin/tb-windows/images/enigEncInactive.png)
skin/modern/enigmail/enigEncNotOk.png (skin/tb-windows/images/enigEncNotOk.png)
skin/modern/enigmail/enigEncOk.png (skin/tb-windows/images/enigEncOk.png)
skin/modern/enigmail/enigSignInactive.png (skin/tb-windows/images/enigSignInactive.png)
skin/modern/enigmail/enigSignNotOk.png (skin/tb-windows/images/enigSignNotOk.png)
skin/modern/enigmail/enigSignOk.png (skin/tb-windows/images/enigSignOk.png)
skin/modern/enigmail/enigSignUnkown.png (skin/images/enigSignUnkown.png)
skin/modern/enigmail/modern-encrypt-active-force.png (skin/images/modern-encrypt-active-force.png)
skin/modern/enigmail/modern-encrypt-active.png (skin/images/modern-encrypt-active.png)
skin/modern/enigmail/modern-encrypt-inactive-force.png (skin/images/modern-encrypt-inactive-force.png)
skin/modern/enigmail/modern-encrypt-inactive.png (skin/images/modern-encrypt-inactive.png)
skin/modern/enigmail/modern-sign-active-force.png (skin/images/modern-sign-active-force.png)
skin/modern/enigmail/modern-sign-active.png (skin/images/modern-sign-active.png)
skin/modern/enigmail/modern-sign-inactive-force.png (skin/images/modern-sign-inactive-force.png)
skin/modern/enigmail/modern-sign-inactive.png (skin/images/modern-sign-inactive.png)
skin/modern/enigmail/modern-attach-active.png (skin/images/modern-attach-active.png)
skin/modern/enigmail/modern-attach-disabled.png (skin/images/modern-attach-disabled.png)
skin/modern/enigmail/modern-attach-inactive.png (skin/images/modern-attach-inactive.png)
skin/modern/enigmail/twisty-open.png (skin/images/twisty-open.png)
skin/modern/enigmail/twisty-clsd.png (skin/images/twisty-clsd.png)
skin/modern/enigmail/spinning-wheel.png (skin/images/spinning-wheel.png)
skin/modern/enigmail/col-encrypted-signed.png (skin/images/col-encrypted-signed.png)
skin/modern/enigmail/enigSignActiveNone.png (skin/tb-windows/images/enigSignActiveNone.png)
skin/modern/enigmail/enigSignActivePlus.png (skin/tb-windows/images/enigSignActivePlus.png)
skin/modern/enigmail/enigSignActiveMinus.png (skin/tb-windows/images/enigSignActiveMinus.png)
skin/modern/enigmail/enigSignActiveConflict.png (skin/tb-windows/images/enigSignActiveConflict.png)
skin/modern/enigmail/enigSignInactiveNone.png (skin/tb-windows/images/enigSignInactiveNone.png)
skin/modern/enigmail/enigSignInactivePlus.png (skin/tb-windows/images/enigSignInactivePlus.png)
skin/modern/enigmail/enigSignInactiveMinus.png (skin/tb-windows/images/enigSignInactiveMinus.png)
skin/modern/enigmail/enigSignInactiveConflict.png (skin/tb-windows/images/enigSignInactiveConflict.png)
skin/modern/enigmail/enigSignForceYes.png (skin/tb-windows/images/enigSignForceYes.png)
skin/modern/enigmail/enigSignForceNo.png (skin/tb-windows/images/enigSignForceNo.png)
skin/modern/enigmail/enigEncActiveNone.png (skin/tb-windows/images/enigEncActiveNone.png)
skin/modern/enigmail/enigEncActivePlus.png (skin/tb-windows/images/enigEncActivePlus.png)
skin/modern/enigmail/enigEncActiveMinus.png (skin/tb-windows/images/enigEncActiveMinus.png)
skin/modern/enigmail/enigEncActiveConflict.png (skin/tb-windows/images/enigEncActiveConflict.png)
skin/modern/enigmail/enigEncInactiveNone.png (skin/tb-windows/images/enigEncInactiveNone.png)
skin/modern/enigmail/enigEncInactivePlus.png (skin/tb-windows/images/enigEncInactivePlus.png)
skin/modern/enigmail/enigEncInactiveMinus.png (skin/tb-windows/images/enigEncInactiveMinus.png)
skin/modern/enigmail/enigEncInactiveConflict.png (skin/tb-windows/images/enigEncInactiveConflict.png)
skin/modern/enigmail/enigEncForceYes.png (skin/tb-windows/images/enigEncForceYes.png)
skin/modern/enigmail/enigEncForceNo.png (skin/tb-windows/images/enigEncForceNo.png)
skin/modern/enigmail/modern-toolbar-background.png (skin/images/modern-toolbar-background.png)
skin/modern/enigmail/warning-16.png (skin/images/warning-16.png)
skin/modern/enigmail/password-error.png (skin/images/password-error.png)
skin/modern/enigmail/col-pEpGreen.svg (skin/images/col-pEpGreen.svg)
skin/modern/enigmail/col-pEpYellow.svg (skin/images/col-pEpYellow.svg)
skin/modern/enigmail/col-pEpRed.svg (skin/images/col-pEpRed.svg)
skin/modern/enigmail/pEpGreen.svg (skin/images/pEpGreen.svg)
skin/modern/enigmail/pEpYellow.svg (skin/images/pEpYellow.svg)
skin/modern/enigmail/pEpRed.svg (skin/images/pEpRed.svg)
skin/modern/enigmail/pEpEncryptActive.svg (skin/images/pEpEncryptActive.svg)
skin/modern/enigmail/pEpEncryptInactive.svg (skin/images/pEpEncryptInactive.svg)
skin/modern/enigmail/pEpLogo.svg (skin/images/pEpLogo.svg)
diff --git a/ui/locale/en-US/enigmail.dtd b/ui/locale/en-US/enigmail.dtd
index 10c5402e..b75d363f 100644
--- a/ui/locale/en-US/enigmail.dtd
+++ b/ui/locale/en-US/enigmail.dtd
@@ -1,851 +1,854 @@
Mozilla Public License 2.0.">
OpenPGP Security)">
NOTE: Key generation may take up to several minutes to complete. Do not exit the application while key generation is in progress. Actively browsing or performing disk-intensive operations during key generation will replenish the 'randomness pool' and speed-up the process. You will be alerted when key generation is completed.">
NOTE: Key generation may take up to several minutes to complete. Do not exit the application while key generation is in progress. You will be alerted when key generation is completed.">
Note: Enigmail will always verify signatures
on emails for every account or identity, regardless of whether it is enabled or not">
public key is for others to send you encrypted emails. You can distribute it to everybody.">
private key is for yourself to decrypt these emails and to send signed emails.
You should give it to nobody.">
private key is for you to decrypt these emails and to send signed emails.
You should give it to nobody.
To secure your private key, you will be prompted for a passphrase in the following two dialogs.">
passphrase is a password to protect your private key. It prevents misuse of your private key.">
not recommended.">
You will be prompted to enter your password for this.">
export your data from your old computer using the backup wizard from the Enigmail Preferencesimport the data to your new computer using this wizard.
">
Thank you for using Enigmail.">
export your data from your old computer using this wizardimport the data to your new computer using the Setup Wizard.
">
+
+
+
diff --git a/ui/locale/en-US/enigmail.properties b/ui/locale/en-US/enigmail.properties
index 3535d751..e64a5970 100644
--- a/ui/locale/en-US/enigmail.properties
+++ b/ui/locale/en-US/enigmail.properties
@@ -1,750 +1,753 @@
Enigmail=Enigmail
#####################################################################
# Strings used within enigmailCommon.js and enigmailCommon.jsm
#####################################################################
enigAlert=Enigmail Alert
enigConfirm=Enigmail Confirm
enigInfo=Enigmail Information
enigError=Enigmail Error
enigPrompt=Enigmail Prompt
dlgYes=&Yes
dlgNo=&No
dlgKeepSetting=Remember my answer and do not ask me again
dlgNoPrompt=Do not show me this dialog again
dlg.button.delete=&Delete
dlg.button.cancel=&Cancel
dlg.button.close=&Close
dlg.button.continue=Con&tinue
dlg.button.skip=&Skip
dlg.button.overwrite=&Overwrite
dlg.button.view=&View
dlg.button.retry=&Retry
dlg.button.ignore=&Ignore
dlg.button.ok=&OK
repeatPrefix=\n\nThis alert will repeat %S
repeatSuffixSingular=more time.
repeatSuffixPlural=more times.
noRepeat=\n\nThis alert will not repeat until you upgrade Enigmail.
pgpNotSupported=You seem to be using Enigmail together with PGP 6.x\n\nUnfortunately, PGP 6.x has a number of issues that prevent Enigmail from working correctly. Therefore, Enigmail does not support PGP 6.x anymore; please switch to GnuPG (GPG) instead.\n\nIf you need help on switching to GnuPG, check the Help section of the Enigmail homepage.
initErr.howToFixIt=In order to use Enigmail, GnuPG is required. If you did not install GnuPG yet, the easiest way to do this is using the "Setup Wizard" button below.
initErr.setupWizard.button=&Setup Wizard
passphraseCleared=The passphrase has been cleared.
cannotClearPassphrase=You are using a non-standard tool (such as gnome-keyring) for passphrase handling. Clearing the passphrase is therefore not possible from within Enigmail.
noPhotoAvailable=No Photo available
debugLog.title=Enigmail Debug Log
error.photoPathNotReadable=Photo path '%S' is not readable
generalError=Error: %S
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=This new version of Enigmail has significant changes in the handling of preferences and options. We tried to transfer the old settings to this new version. However, we cannot cover all cases automatically. Please double check the resulting new preferences and options.
enigmailCommon.checkPreferences=Check Preferences ...
preferences.defaultToPgpMime=We have changed the default message encoding in Enigmail from Inline-PGP to PGP/MIME. We recommend you keep this as default.\n\nIf you still wish to use Inline-PGP by default, you can do so in the Account Settings under OpenPGP Security.
#####################################################################
# Strings in enigmailAbout.js
#####################################################################
usingVersion=Running Enigmail version %S
enigmailPepVersion=Enigmail/p≡p version %S
usingAgent=Using %1$S executable %2$S to encrypt and decrypt
agentError=ERROR: Failed to access Enigmail core service!
#####################################################################
# Strings in enigmailKeygen.js
#####################################################################
accessError=Error in accessing Enigmail service
onlyGPG=Key generation only works with GnuPG (not with PGP)!
keygenComplete=Key generation completed! Identity <%S> will be used for signing.
revokeCertRecommended=We highly recommend to create a revocation certificate for your key. This certificate can be used to invalidate your key, e.g. in case your secret key gets lost or compromised. Do you want to create such a revocation certificate now?
keyMan.button.generateCert=&Generate Certificate
genCompleteNoSign=Key generation completed!
genGoing=Key generation already in progress!
passNoMatch=Passphrase entries do not match; please re-enter
passCheckBox=Please check box if specifying no passphrase for key
passUserName=Please specify user name for this identity
keygen.missingUserName=There is no name specified for the selected account/identity. Please enter a value in the field "Your name" in the account settings.
keygen.passCharProblem=You are using special characters in your passphrase. Unfortunately, this can cause troubles for other applications. We recommend you choose a passphrase consisting only of any of these characters:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
passSpaceProblem=Due to technical reasons, your passphrase may not start or end with a space character.
changePassFailed=Changing the passphrase failed.
keyConfirm=Generate public and private keys for '%S'?
keyMan.button.generateKey=&Generate Key
keyAbort=Abort key generation?
keyMan.button.generateKeyAbort=&Abort Key Generation
keyMan.button.generateKeyContinue=&Continue Key Generation
expiryTooLong=You cannot create a key that expires in more than 100 years.
expiryTooLongShorter=You cannot create a key that expires in more than 90 years.
expiryTooShort=Your key must be valid for at least one day.
dsaSizeLimit=DSA signing keys are limited to 3072 bits. The key size will be reduced accordingly.
keyGenFailed=The key generation failed. Please check the Enigmail console (Menu Enigmail > Debugging Enigmail) for details.
setKeyExpirationDateFailed=The expiration date could not be changed
# Strings in enigmailMessengerOverlay.js
securityInfo=Enigmail Security Info\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Attachments to this message have not been signed or encrypted*\r\n\r\n
possiblyPgpMime=Possibly PGP/MIME encrypted or signed message; use 'Decrypt/Verify' function to verify
noDecrypted=No decrypted message to save!\nUse Save command from File menu
noMessage=No message to save!
useButton=Please use 'Decrypt/Verify' function to decrypt message
saveHeader=Enigmail: Save decrypted message
saveAttachmentHeader=Enigmail: Save decrypted attachment
noTempDir=Could not find a temporary directory to write to\nPlease set the TEMP environment variable
attachmentPgpKey=The attachment '%S' you are opening appears to be an OpenPGP key file.\n\nClick 'Import' to import the keys contained or 'View' to view the file contents in a browser window
beginPgpPart=********* *BEGIN ENCRYPTED or SIGNED PART* *********
endPgpPart=********** *END ENCRYPTED or SIGNED PART* **********
notePartEncrypted=Enigmail: *Parts of the message have NOT been signed or encrypted*
noteCutMessage=Enigmail: *Multiple message blocks found -- decryption/verification aborted*
decryptOkNoSig=Warning\n\nDecryption was successful, but the signature could not be verified correctly
msgOvl.button.contAnyway=&Continue Anyway
signature.verifiedOK=The signature for attachment %S was successfully verified
signature.verifyFailed=The signature for attachment %S could not be verified
attachment.noMatchToSignature=Could not match attachment '%S' to a signature file
attachment.noMatchFromSignature=Could not match signature file '%S' to an attachment
fixBrokenExchangeMsg.failed=Did not succeed to repair message.
enigmail.msgViewColumn.label=Enigmail
enigmailPep.msgViewColumn.label=Enigmail/p≡p
wksNoIdentity=This key is not linked to any of your email accounts. Please add an account for at least one of the following email addresse(s):\n\n%S
wksConfirmSuccess=Confirmation email sent.
wksConfirmFailure=Sending the confirmation email failed.
fileSaveError=Error in saving to file %S
#####################################################################
# Strings in enigmailMsgComposeOverlay.js
#####################################################################
keysToExport=Select OpenPGP Keys to Insert
keysToUse=Select OpenPGP Key(s) to use for %S
pubKey=Public key for %S\n
windowLocked=Compose window is locked; send cancelled
sendUnencrypted=Failed to initialize Enigmail.\nSend unencrypted message?
composeSpecifyEmail=Please specify your primary email address, which will be used to choose the signing key for outgoing messages.\n If you leave it blank, the FROM address of the message will be used to choose the signing key.
sendingHiddenRcpt=This message has BCC (blind copy) recipients. If this message is encrypted, it is possible to hide the BCC recipients but users of some products (e.g. PGP Corp.) will not be able to decrypt the message. Given this, we recommend to avoid BCC-emails with encrypted messages.
sendWithHiddenBcc=Hide BCC recipients
sendWithShownBcc=Encrypt normally
sendingNews=Encrypted send operation aborted.\n\nThis message cannot be encrypted because there are newsgroup recipients. Please re-send the message without encryption.
sendToNewsWarning=Warning: you are about to send an encrypted email to a newsgroup.\n\nThis is discouraged because it only makes sense if all members of the group can decrypt the message, i.e. the message needs to be encrypted with the keys of all group participants. Please send this message only if you know exactly what you are doing.\n\nContinue?
hasHTML=HTML mail warning:\nThis message may contain HTML, which could cause signing/encryption to fail. To avoid this in the future, you should press the SHIFT key when clicking on the Compose/Reply button to send signed mail.\nIf you sign mail by default, you should uncheck the 'Compose Messages in HTML' preference box to permanently disable HTML mail for this mail account.
strippingHTML=Message contains HTML formatting information that will be lost when converting to plain text for signing/encryption. Do you wish to proceed?
msgCompose.button.sendAnyway=&Send Message Anyway
attachWarning=Attachments to this message are not local, they cannot be encrypted. In order to encrypt the attachments, store them as local files first and attach these files. Do you wish to send the message anyway?
quotedPrintableWarn=You have enabled 'quoted-printable' encoding for sending messages. This may result in incorrect decryption and/or verification of your message.\nDo you wish to turn off sending 'quoted-printable' messages now?
minimalLineWrapping=You have set line wrapping to %S characters. For correct encryption and/or signing, this value needs to be at least 68.\nDo you wish to change line wrapping to 68 characters now?
warning=Warning
signIconClicked=You have manually modified signing. Therefore, while you are composing this message, (de)activating signing does not depend anymore on (de)activating encryption.
errorOwnKeyUnusable=The key ID '%S' configured for the current identity does not yield a usable OpenPGP key.\n\nPlease ensure that you have a valid, not expired OpenPGP key and that your account settings point to that key.\nIf your key is not expired, then check if you did set Owner trust to full or ultimate.
msgCompose.cannotSaveDraft=Error while saving draft
msgCompose.internalEncryptionError=Internal Error: promised encryption disabled
msgCompose.internalError=An internal error has occurred.
msgCompose.toolbarTxt.signAndEncrypt=This message will be signed and encrypted
msgCompose.toolbarTxt.signOnly=This message will be signed
msgCompose.toolbarTxt.encryptOnly=This message will be encrypted
msgCompose.toolbarTxt.noEncryption=This message will be unsigned and unencrypted
msgCompose.toolbarTxt.disabled=Enigmail is disabled for the selected identity
msgCompose.encryptedSubjectStub=Encrypted Message
msgCompose.detailsButton.label=Details ...
msgCompose.detailsButton.accessKey=D
msgCompose.pepSendUnknown=Unknown
msgCompose.pepSendUnsecure=Unsecure
msgCompose.pepSendSecure=Secure
msgCompose.pepSendTrusted=Secure & Trusted
pep.alert.disabledForIdentity=p≡p is disabled for the current identity. Please enable p≡p via the Enigmail/p≡p preferences.
pep.alert.weakReply=You’re about to forward or reply to a secure message as insecure. If you choose to proceed, confidential information might be leaked putting you and your communication partner at risk. Are you sure you want to continue?
# note: should end with double newline:
sendAborted=Send operation aborted.\n\n
# details:
keyNotTrusted=Not enough trust for key '%S'
keyNotFound=Key '%S' not found
keyRevoked=Key '%S' revoked
keyExpired=Key '%S' expired
statPGPMIME=PGP/MIME
statSMIME=S/MIME
statSigned=SIGNED
statEncrypted=ENCRYPTED
statPlain=UNSIGNED and UNENCRYPTED
offlineSave=Save %1$S message to %2$S in Unsent Messages folder?
onlineSend=Send %1$S message to %2$S?
encryptKeysNote=Note: The message is encrypted for the following User ID's / Keys: %S
hiddenKey=
signFailed=Error in Enigmail; Encryption/signing failed; send unencrypted message?
msgCompose.button.sendUnencrypted=&Send Unencrypted Message
recipientsSelectionHdr=Select Recipients for Encryption
configureNow=You did not yet configure Enigmail security for the selected identity. Do you want to do this now?
# encryption/signing status and associated reasons:
encryptMessageAuto=Encrypt Message (auto)
encryptMessageNorm=Encrypt Message
signMessageAuto=Sign Message (auto)
signMessageNorm=Sign Message
encryptOff=Encryption: OFF
encryptOnWithReason=Encryption: ON (%S)
encryptOffWithReason=Encryption: OFF (%S)
encryptOn=Encryption: ON
signOn=Signing: ON
signOff=Signing: OFF
signOnWithReason=Signing: ON (%S)
signOffWithReason=Signing: OFF (%S)
reasonEnabledByDefault=enabled by default
reasonManuallyForced=manually forced
reasonByRecipientRules=forced by recipient rules
reasonByAutoEncryption=forced by auto encryption
reasonByConflict=due to conflict in recipient rules
reasonByEncryptionMode=due to encryption mode
# should not be used anymore:
encryptYes=Message will be encrypted
encryptNo=Message will not be encrypted
# should not be used anymore:
signYes=Message will be signed
signNo=Message will not be signed
# PGP/MIME status:
pgpmimeNormal=Protocol: PGP/MIME
inlinePGPNormal=Protocol: Inline PGP
smimeNormal=Protocol: S/MIME
pgpmimeAuto=Protocol: PGP/MIME (auto)
inlinePGPAuto=Protocol: Inline PGP (auto)
smimeAuto=Protocol: S/MIME (auto)
# should not be used anymore
pgpmimeYes=PGP/MIME will be used
pgpmimeNo=Inline PGP will be used
# Attach own key status (tooltip strings):
attachOwnKeyNo=Your own key will not be attached
attachOwnKeyYes=Your own key will be attached
attachOwnKeyDisabled=Your own key cannot be attached. You have to select a specific key\nin the OpenPGP section of the Account Settings to enable this feature.
rulesConflict=Conflicting per-recipient rules detected\n%S\n\nSend message with these settings?
msgCompose.button.configure=&Configure
msgCompose.button.send=&Send Message
msgCompose.button.save=&Save Message
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Public key %S needed to verify signature
keyUsed=Public key %S used to verify signature
clickDecrypt=; use 'Decrypt/Verify' function
clickDecryptRetry=; use 'Decrypt/Verify' function to retry
clickDetailsButton=; click on 'Details' button for more information
clickImportButton=; click on the 'Import Key' button to import the key
keyTypeUnsupported=; the key type is not supported by your version of GnuPG
msgPart=Part of the message %S
msgSigned=signed
msgSignedUnkownKey=signed with unknown key
msgEncrypted=encrypted
msgSignedAndEnc=signed and encrypted
unverifiedSig=Unverified signature
incompleteDecrypt=Decryption incomplete
needKey=Error - no matching private/secret key found to decrypt message
failedDecrypt=Error - decryption failed
badPhrase=Error - bad passphrase
failedDecryptVerify=Error - decryption/verification failed
viewInfo=; View > Message security info for details
decryptedMsg=Decrypted message
decryptedMsgWithFormatError=Decrypted message (restored broken PGP email format probably caused by an old Exchange server, so that the result might not be perfect to read)
usedAlgorithms=Used Algorithms: %1$S and %2$S
pepStatusInfo.text=p≡p Message Status.
pepStatusInfo.title.m3=Under Attack
pepStatusInfo.info.m3=This message is not secure and has been tampered with.
pepStatusInfo.title.m1=Mistrusted
pepStatusInfo.info.m1=This message has a communication partner that has previously been marked as mistrusted
pepStatusInfo.title.r0=Unknown
pepStatusInfo.info.r0=This message does not contain enough information to determine if it is secure.
pepStatusInfo.title.r1=Cannot Decrypt
pepStatusInfo.info.r1=This message cannot be decrypted because the key is not available.
pepStatusInfo.title.r2=Cannot Decrypt
pepStatusInfo.info.r2=This message cannot be decrypted because the key is not available.
pepStatusInfo.title.r3=Unsecure
pepStatusInfo.info.r3=This message is unsecure.
pepStatusInfo.title.r4=Unsecure for Some
pepStatusInfo.info.r4=This message is unsecure for some communication partners.
pepStatusInfo.title.r5=Unreliable Security
pepStatusInfo.info.r5=This message has unreliable protection.
pepStatusInfo.title.r6=Secure...
pepStatusInfo.info.r6=This message is secure but you still need to verify the identity of your communication partner.
pepStatusInfo.title.r7=Secure & Trusted
pepStatusInfo.info.r7=This message is secure and trusted.
pepStatusInfo.color.green=Green
pepStatusInfo.color.yellow=Yellow
pepStatusInfo.color.red=Red
pepRevokeTrust.question=Do you really want to cancel the trust for %S?
pepRevokeMistrust.question=Do you really want to re-trust the key for %S?
pepRevokeTrust.doRevoke=Cancel &trust
wksConfirmationReq=Webkey Directory Confirmation Request
# strings in pref-enigmail.js
oldGpgVersion20=Enigmail initialization failed.\n\nYou are using GnuPG version %1$S, which is not supported anymore. Enigmail requires GnuPG version %2$S or newer. Please upgrade your GnuPG installation, or Enigmail will not work.
locateGpg=Locate GnuPG program
invalidGpgPath=GnuPG cannot be executed with the path provided. Enigmail is therefore deactivated until you change the path to GnuPG again or until you restart the application.
warningsAreReset=All warnings have been reset.
prefs.gpgFound=GnuPG was found in %S
prefs.gpgNotFound=Could not find GnuPG
prefs.warnAskNever=Warning: activating this option will result in unencrypted emails without any further information if there is no key for one of the recipients -- Enigmail will not inform you if this happens!
prefs.warnIdleTimeForUnknownAgent=Cannot connect to gpg-agent. Maybe your system uses a specialized tool for passphrase handling (e.g. gnome-keyring, seahorse-agent, KDE wallet manager, ...). Unfortunately Enigmail cannot control the passphrase timeout for the tool you are using. Therefore the respective timeout settings in Enigmail are disregarded.
prefEnigmail.oneKeyserverOnly=Error - you can only specify one keyserver for automatic downloading of missing OpenPGP keys.
# Strings used in components/enigmail.js
# (said file also re-uses some strings from above)
enterAdminPin=Please type in the ADMIN PIN of your SmartCard
enterCardPin=Please type your SmartCard PIN
notInit=Error - Enigmail service not yet initialized
badCommand=Error - encryption command failed
cmdLine=command line and output:
notRequired=Error - no encryption required
notComplete=Error - key generation not yet completed
invalidEmail=Error - invalid email address(es)
noPassphrase=Error - no passphrase supplied
noPGPblock=Error - No valid armored OpenPGP data block found
unverifiedReply=Indented message part (reply) was probably modified
keyInMessageBody=Key in message body found. Click 'Import Key' to import the key
sigMismatch=Error - Signature mismatch
cantImport=Error in importing public key\n\n
doImportOne=Import %1$S (%2$S)?
doImportMultiple=Import the following keys?\n\n%S
previewFailed=Can't read public key file.
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=The SmartCard %1$S found in your reader cannot be used to process the message.\nPlease insert your SmartCard %2$S and repeat the operation.
sc.insertCard=The operation requires your SmartCard %S.\nPlease insert the required SmartCard and repeat the operation.
sc.removeCard=The operation requires no SmartCard to be in the reader.\nPlease remove your SmartCard and repeat the operation.
sc.noCardAvailable=No SmartCard could be found in your reader\nPlease insert your SmartCard and repeat the operation.
sc.noReaderAvailable=Your SmartCard reader could not be accessed\nPlease attach your SmartCard reader, insert your card, and repeat the operation.
keyError.keySpecNotFound=The email address "%S" cannot be matched to a key on your keyring.
keyError.keyIdNotFound=The configured key ID "%S" cannot be found on your keyring.
keyError.resolutionAction=Please select a valid key in the OpenPGP section of your Account Settings.
missingPassphrase=Missing passphrase
errorHandling.gpgAgentInvalid=Your system is running a version of gpg-agent that is not suitable for your GnuPG version.
errorHandling.gpgAgentError=GnuPG reported an error in the communication with gpg-agent (a component of GnuPG).
errorHandling.dirmngrError=GnuPG reported an error in the communication with dirmngr (a component of GnuPG).
errorHandling.pinentryError=GnuPG cannot query your passphrase via pinentry.
errorHandling.readFaq=This is a system setup or configuration error that prevents Enigmail from working properly and cannot be fixed automatically.\n\nWe strongly recommend that you consult our support web site at https://enigmail.net/faq.
gpgNotFound=Unable to locate GnuPG program '%S'.\nMake sure you have set the GnuPG executable path correctly in the Enigmail Preferences.
gpgNotInPath=Unable to locate GnuPG executable in the PATH.\nMake sure you have set the GnuPG executable path correctly in the Enigmail Preferences.
enigmailNotAvailable=Enigmail core Service not available
gpgAgentNotStarted=Could not start the gpg-agent program which is needed for your GnuPG version %S.
prefUntrusted=UNTRUSTED
prefRevoked=REVOKED KEY
prefExpiredKey=EXPIRED KEY
prefExpired=EXPIRED
prefGood=Good signature from %S
prefBad=BAD signature from %S
failCancel=Error - Key receive cancelled by user
failNoServer=Error - No keyserver specified to receive key from
failNoID=Error - No key ID specified to receive key for
failKeyExtract=Error - key extraction command failed
notFirstBlock=Error - First OpenPGP block not public key block
importKeyConfirm=Import public key(s) embedded in message?
failKeyImport=Error - key importing failed
fileWriteFailed=Failed to write to file %S
importKey=Import public key %S from keyserver:
uploadKey=Send public key %S to keyserver:
keyId=Key ID
keyAndSigDate=Key ID: 0x%1$S / Signed on: %2$S
keyFpr=Key fingerprint: %S
noEmailProvided=You did not provide an email address!
keyAlreadySigned=The key is already signed, you cannot sign it twice.
#####################################################################
# Strings used in enigmailKeySelection.js
#####################################################################
selKeyExpired=expired %S
createdHeader=Created
atLeastOneKey=No key selected! You have to select at least one key to accept this dialog
fewerKeysThanRecipients=You have selected a smaller number of keys than recipients. Are you sure that the list of keys to encrypt is complete?
userSel.button.goBack=Select more Keys
userSel.secretKeySel.title=Select a Secret OpenPGP Key to Sign Your Messages
userSel.problemNoKey=No valid key
userSel.problemMultipleKeys=Multiple keys
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Send Later
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=NOTE: PGP/MIME is only supported by a limited number of mail clients! On Windows only Mozilla/Thunderbird, Sylpheed, Pegasus and Mulberry are known to support this standard; on Linux/UNIX and Mac OS X most popular mail clients support it. If you are unsure, select the %S option.
first=first
second=second
# Strings used in am-enigprefs.js / enigmailEditIdentity.js
encryptKeyHeader=Select OpenPGP Key for Encryption
identityName=Identity: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=You have activated encryption, but you did not select a key. In order to encrypt mails sent to %1$S, you need to specify one or several valid key(s) from your key list. Do you want to disable encryption for %2$S?
noKeyToUse=(none - no encryption)
noEmptyRule=The Rule may not be empty! Please set an email address in the Rule field.
invalidAddress=The email address(es) you have entered are not valid. You should not set the names of the recipients, just the email addresses. E.g.:\nInvalid: Some Name \nValid: some.name@address.net
noCurlyBrackets=The curly brackets {} have a special meaning and should not be used in the email addresses. If you want to modify the matching behavior for this rule, use the 'Apply rule if recipient ...' option.\nMore information is available from the Help button.
# Strings used in enigmailRulesEditor.js
never=Never
always=Always
possible=Possible
deleteRule=Really delete the selected rule?
nextRcpt=(Next recipient)
negateRule=Not
addKeyToRule=Add key %1$S (%2$S) to per-recipient rule
# Strings used in enigmailSearchKey.js
needOnline=The function you have selected is not available in offline mode. Please go online and try again.
protocolNotSupported=The protocol '%S://' that you have selected is not supported for downloading OpenPGP keys.
gpgkeysDisabled=It might help to enable the option 'extensions.enigmail.useGpgKeysTool'.
noKeyserverConn=Could not connect to keyserver at %S.
keyDownloadFailed=Failed to download key from keyserver. Status message is:\n%S
internalError=An internal error occurred. The keys could not be downloaded or imported.
noKeyFound=We are sorry, could not find any key that would match the specified search criteria.
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Failed to search or download key from keyserver: gpgkeys_%S could not be executed.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Setting owner trust failed
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Key signing failed
alreadySigned.label=Note: the key %S is already signed with the selected private key.
alreadySignedexportable.label=Note: the key %S is already signed exportable with the selected private key. A local signature does not make sense.
partlySigned.label=Note: some user IDs of key %S are already signed with the selected private key.
noTrustedOwnKeys=No eligible key found for signing! You need at least one fully trusted private key in order to sign keys.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Loading keys, please wait ...
keyValid.unknown=unknown
keyValid.invalid=invalid
keyValid.disabled=disabled
keyValid.revoked=revoked
keyValid.expired=expired
keyValid.noSubkey=no valid subkey
keyTrust.untrusted=untrusted
keyTrust.marginal=marginal
keyTrust.full=trusted
keyTrust.ultimate=ultimate
keyTrust.group=(group)
keyType.public=pub
keyType.publicAndSec=pub/sec
keyMan.enableKey=Enable Key
keyMan.disableKey=Disable Key
userAtt.photo=User attribute (JPEG image)
asciiArmorFile=ASCII Armored Files (*.asc)
importKeyFile=Import OpenPGP Key File
gnupgFile=GnuPG Files
saveRevokeCertAs=Create & Save Revocation Certificate
revokeCertOK=The revocation certificate has been successfully created. You can use it to invalidate your public key, e.g. in case you would lose your secret key.\n\nPlease transfer it to a medium which can be stored away safely such as a CD or USB stick. If somebody gains access to this certificate they can use it to render your key unusable.
revokeCertFailed=The revocation certificate could not be created.
addUidOK=User ID added successfully
addUidFailed=Adding the User ID failed
noKeySelected=You should select at least one key in order to perform the selected operation
exportToFile=Export Public Key To File
exportKeypairToFile=Export Secret and Public Key To File
exportSecretKey=Do you want to include the secret key in the saved OpenPGP key file?
saveKeysOK=The keys were successfully saved
saveKeysFailed=Saving the keys failed
importKeysFailed=Importing the keys failed
enableKeyFailed=Enabling/disabling the keys failed
specificPubKeyFilename=%1$S (0x%2$S) pub
specificPubSecKeyFilename=%1$S (0x%2$S) pub-sec
defaultPubKeyFilename=Exported-public-keys
defaultPubSecKeyFilename=Exported-public-and-secret-keys
noSecretKeys=No secret keys found.\n\nDo you want to generate your own key now?
sendKeysOk=Key(s) sent successfully
sendKeysFailed=Sending of keys failed
receiveKeysOk=Key(s) updated successfully
receiveKeysFailed=Downloading of keys failed
importFromClip=Do you want to import some key(s) from clipboard?
importFromUrl=Download public key from this URL:
copyToClipbrdFailed=Could not copy the selected key(s) to the clipboard.
copyToClipbrdOK=Key(s) copied to clipboard
deleteSecretKey=WARNING: You are about to delete a secret key!\nIf you delete your secret key, you will no longer be able to decrypt any messages encrypted for that key, and you cannot revoke your key anymore.\n\nDo you really want to delete BOTH, the secret key and the public key\n'%S'?
deleteMix=WARNING: You are about to delete secret keys!\nIf you delete your secret key, you will no longer be able to decrypt any messages encrypted for that key.\n\nDo you really want to delete BOTH, the selected secret and public keys?
deletePubKey=Do you want to delete the public key\n'%S'?
deleteSelectedPubKey=Do you want to delete the public keys?
deleteKeyFailed=The key could not be deleted.
revokeKeyQuestion=You are about to revoke the key '%S'.\n\nYou will no longer be able to sign with this key, and once distributed, others will no longer be able to encrypt with that key. You can still use the key to decrypt old messages.\n\nDo you want to proceed?
revokeKeyOk=The key has been revoked. If your key is available on a key server, it is recommended to re-upload it, so that others can see the revocation.
revokeKeyFailed=The key could not be revoked.
revokeKeyNotPresent=You have no key (0x%S) which fits to this revocation certificate!\n\nIf you have lost your key, you must import it (e.g. from a keyserver) before the revocation certificate!
revokeKeyAlreadyRevoked=The key 0x%S has already been revoked.
refreshAllQuestion=You did not select any key. Would you like to refresh ALL keys?
refreshKeyServiceOn.warn=Warning: Your keys are currently being refreshed in the background as safely as possible.\nRefreshing all your keys at once will unnecessarily reveal information about you.\nDo you really want to do this?
refreshKey.warn=Warning: depending on the number of keys and the connection speed, refreshing all keys could be quite a lengthy process!
downloadContactsKeys.warn=Warning: depending on the number of contacts and the connection speed, downloading all keys could be quite a lengthy process!
downloadContactsKeys.importFrom=Import contacts from address book '%S'?
keyMan.button.exportSecKey=Export &Secret Keys
keyMan.button.exportPubKey=Export &Public Keys Only
keyMan.button.import=&Import
keyMan.button.refreshAll=&Refresh All Keys
keyMan.button.revokeKey=&Revoke Key
keyMan.button.skip=&Skip Key
keylist.noOtherUids=Has no other identities
keylist.hasOtherUids=Also known as
keylist.noPhotos=No photograph available
keylist.hasPhotos=Photographs
keyMan.addphoto.filepicker.title=Select photo to add
keyMan.addphoto.warnLargeFile=The file you have chosen is larger than 25 kB.\nIt is not recommended to add very large files because the keys get very large by this.
keyMan.addphoto.noJpegFile=The selected file does not appear to be a JPEG file. Please choose a different file.
keyMan.addphoto.failed=The photo could not be added.
noWksIdentity=The key %S does not have a WKS identity.
keyman.addBlacklistKey.msg=Do you really want to stop pEp using the key "%1$S (%2$S)" for encrypting messages?
keyman.removeBlacklistKey.msg=Do you want allow pEp to use key "%1$S (%2$S)" for future messages?
keyman.addBlacklistKey.button=&Blacklist the key
keyman.removeBlacklistKey.button=&Remove key from Blacklist
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Changing the primary User ID failed
changePrimUidOK=The primary user ID was changed successfully
deleteUidFailed=Deleting the user ID %S failed
deleteUidOK=User ID %S was deleted successfully
revokeUidFailed=Revoking the user ID %S failed
revokeUidOK=User ID %S was revoked successfully. If your key is available on a key server, it is recommended to re-upload it, so that others can see the revocation.
revokeUidQuestion=Do you really want to revoke the user ID %S?
deleteUidQuestion=Do you really want to delete the user ID %S?\n\nPlease note: if you have submitted your public key to a key server, deleting a user ID will not change anything. In this case you should use 'Revoke user ID'.
# Strings in enigmailKeyImportInfo.xul
importInfoTitle=SUCCESS! Keys imported
importInfoSuccess=\u2705
importInfoBits=Bits
importInfoCreated=Created
importInfoFpr=Fingerprint
importInfoDetails=(Details)
importInfoNoKeys=No keys imported.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=public key
keyTypePrimary=primary key
keyTypeSubkey=subkey
keyTypePair=key pair
keyExpiryNever=never
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECDH
keyAlgorithm_19=ECDSA
keyAlgorithm_20=ELG
keyAlgorithm_22=EDDSA
keyUsageEncrypt=Encrypt
keyUsageSign=Sign
keyUsageCertify=Certify
keyUsageAuthentication=Authentication
keyDoesNotExpire=Key does not expire
# Strings in enigmailGenCardKey.xul
keygen.started=Please wait while the key is being generated ....
keygen.completed=Key Generated. The new Key ID is: 0x%S
keygen.keyBackup=The key is backed up as %S
keygen.passRequired=Please specify a passphrase if you want to create a backup copy of your key outside your SmartCard.
# Strings in enigmailSetCardPin.xul
cardPin.processFailed=Failed to change PIN
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Refreshing keys, please wait ...
keyserverProgress.uploading=Uploading keys, please wait ...
keyserverProgress.wksCheck=Checking provider for Webkey Service support ...
keyserverProgress.noWks=Your provider does not support the Webkey Service
keyserverProgress.wksUploadFailed=Could not upload your key to the Webkey Service
keyserverProgress.wksUploadCompleted=Your public key was successfully submitted to your provider. You will receive an email to confirm that you initiated the upload.
keyserverTitle.refreshing=Refresh Keys
keyserverTitle.uploading=Key Upload
# Strings in enigmailSetupWizard
passphrase.min8keys=Your passphrase should contain at least 8 characters!
setupWizard.reallyCancel=Do you really want to close the Enigmail Setup Wizard?
setupWizard.invalidGpg=The file you specified is not a GnuPG executable. Please specify a different file.
setupWizard.specifyFile=You need to at least specify a public key file in order to proceed.
setupWizard.installFailed=It seems that the installation was not successful. Please either retry the installation, or install GnuPG manually and locate it using the Browse button.
setupWizard.downloadForbidden=For your own security, we will not download GnuPG. Please visit http://www.gnupg.org/ in order to download GnuPG.
setupWizard.downloadImpossible=We cannot download GnuPG currently. Please try later or visit http://www.gnupg.org/ in order to download GnuPG.
setupWizard.hashSumError=The wizard could not verify the integrity of the downloaded file. The file may be broken or manipulated. Do you want to continue the installation anyway?
setupWizard.importSettingsFile=Specify backup file to load from
setupWizard.invalidSettingsFile=The specified file is not a correct Enigmail Settings backup file.
setupWizard.gpgConfExists=The GnuPG config file already exists. Do you want to overwrite it with the one from your old installation?
setupWizard.noGpgHomeDir=It appears that you configured a specificy %S to use for GnuPG. However, this is not a directory - you cannot use it.
setupWizard.unmachtedIds=The following identities of your old setup could not be matched:\n%S\nThe settings for these identities were skipped.
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=An error occurred while trying to download GnuPG. Please check the console log for further details.
installGnuPG.installFailed=An error occurred while installing GnuPG. Please check the console log for further details.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=You have to fill in a name and an email address
addUidDlg.nameMinLengthError=The name must at least have 5 characters
addUidDlg.invalidEmailError=You must specify a valid email address
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=OpenPGP Smartcards only support ASCII characters in Firstname/Name.
# network error types
errorType.SecurityCertificate=The security certificate presented by the web service is not valid.
errorType.SecurityProtocol=The security protocol used by the web service is unknown.
errorType.Network=A network error has occurred.
# filter stuff
filter.folderRequired=You must select a target folder.
filter.decryptMove.label=Decrypt permanently (Enigmail)
filter.decryptCopy.label=Create decrypted Copy (Enigmail)
filter.decryptMove.warnExperimental=Warning - the filter action "Decrypt permanently" may lead to destroyed messages.\n\nWe strongly recommend that you first try the "Create decrypted Copy" filter, test the result carefully, and only start using this filter once you are satisified with the result.
filter.tempPepFilterDesc=Temporary filter to store sent message unencrypted
# strings in enigmailConvert.jsm
converter.decryptBody.failed=Could not decrypt message with subject\n"%S".\nDo you want to retry with a different passphrase or do you want to skip the message?
converter.decryptAtt.failed=Could not decrypt attachment "%1$S"\nof message with subject\n"%2$S".\nDo you want to retry with a different passphrase or do you want to skip the message?
saveLogFile.title=Save Log File
# strings in gpg.jsm
unknownSigningAlg=Unknown signing algorithm (ID: %S)
unknownHashAlg=Unknown cryptographic hash (ID: %S)
# strings in keyRing.jsm
keyring.photo=Photo
keyRing.pubKeyRevoked=The key %1$S (key ID %2$S) is revoked.
keyRing.pubKeyExpired=The key %1$S (key ID %2$S) has expired.
keyRing.pubKeyNotForSigning=The key %1$S (key ID %2$S) cannot be used for signing.
keyRing.pubKeyNotForEncryption=The key %1$S (key ID %2$S) cannot be used for encryption.
keyRing.keyDisabled=The key %1$S (key ID %2$S) is disabled; it cannot be used.
keyRing.keyNotTrusted=The key %1$S (key ID %2$S) is not trusted enough. Please set the trust level of your key to "ultimate" to use it for signing.
keyRing.keyInvalid=The key %1$S (key ID %2$S) is not valid. Please consider verifying it correctly. Alternatively use "Convenient encryption settings".
keyRing.signSubKeysRevoked=All signing-subkeys of key %1$S (key ID %2$S) are revoked.
keyRing.signSubKeysExpired=All signing-subkeys of key %1$S (key ID %2$S) have expired.
keyRing.signSubKeysUnusable=All signing-subkeys of key %1$S (key ID %2$S) are revoked, expired or otherwise unusable.
keyRing.encSubKeysRevoked=All encryption subkeys of key %1$S (key ID %2$S) are revoked.
keyRing.encSubKeysExpired=All encryption subkeys of key %1$S (key ID %2$S) have expired.
keyRing.noSecretKey=You do not seem to have the secret key for %1$S (key ID %2$S) on your keyring; you cannot use the key for signing.
keyRing.encSubKeysUnusable=All encryption subkeys of key %1$S (key ID %2$S) are revoked, expired or otherwise unusable.
#strings in exportSettingsWizard.js
cannotWriteToFile=Cannot save to file '%S'. Please select a different file.
dataExportError=An error occurred during exporting your data.
enigmailSettings=EnigmailSettings
defaultBackupFileName=Enigmail-export
specifyExportFile=Specify file name for exporting
homedirParamNotSUpported=Additional params that configure paths such as --homedir and --keyring are not supported for exporting/restoring your settings. Please use alternative methods such as setting the environment variable GNUPGHOME.
#strings in expiry.jsm
expiry.keyExpiresSoon=Your key %1$S will expire in less than %2$S days.\n\nWe recommend that you create a new key pair and configure the corresponding accounts to use the new key.
expiry.keysExpireSoon=The following of your keys will expire in less than %1$S days:\n%2$S. We recommend that you create new keys and configure your accounts to use the new keys.
expiry.keyMissingOwnerTrust=Your secret key %S has missing trust.\n\nWe recommend that you set "You rely on certifications" to ultimate in key properties.
expiry.keysMissingOwnerTrust=The following of your secret keys have missing trust.\n%S.\nWe recommend that you set "You rely on certifications" to ultimate in key properties.
expiry.OpenKeyManager=Open Enigmail Key Management
expiry.OpenKeyProperties=Open Key Properties
#strings in pEpDecrypt.jsm
pEpDecrypt.cannotDecrypt=This is an encrypted message. Unfortunately you don't have the private key to decrypt the message.
#strings in gpgAgent.jsm
gpghomedir.notexists=The directory '%S' containing your OpenPGP keys does not exist and cannot be created.
gpghomedir.notwritable=The directory '%S' containing your OpenPGP keys is not writable.
gpghomedir.notdirectory=The directory '%S' containing your OpenPGP keys is a file instead of a directory.
gpghomedir.notusable=Please fix the directory permissions or change the location of your GnuPG "home" directory. GnuPG cannot work corretly otherwise.
#strings in pepTrustWords.js
pepTrustWords.cannotVerifyOwnId=Cannot verify p≡p Trustwords for own account.
pepTrustWords.cannotFindKey=Cannot find key for %S.
pepTrustWords.cannotStoreChange=Could not change trust for %S.
pepTrustWords.generalFailure=Cannot obtain trustwords for %S.
pepTrustWords.partnerFingerprint=Fingerprint for %S:
#strings in mimeWkdHandler.jsm
wkdMessage.body.req=Your email provider processed your request to upload your public key to the OpenPGP Web Key Directory.\n\nPlease click the confirmation button in the Enigmail header to complete the publishing of your public key.
wkdMessage.body.process=This is an email related to the automatic processing to upload your public key to the OpenPGP Web Key Directory.\n\nYou do not need to take any manual action at this point.
#strings in pepHandshake.js
pepPrivacyStatus.RatingBrokenSuggestion=Either you or the sender should resend the message.
pepPrivacyStatus.RatingHaveNoKeySuggestionOutgoing=If you composed this message, your key is not available.
pepPrivacyStatus.RatingMistrustSuggestion=Re-establish the connection with your communication partner and try to complete another handshake.
pepPrivacyStatus.RatingReliableSuggestion=Complete a handshake with your communication partner by exchanging trustwords in person or over the phone. A handshake is needed only once per partner and will ensure secure and trusted communication.
pepPrivacyStatus.RatingTrustedSuggestion=No action needed!
pepPrivacyStatus.RatingUndefinedSuggestionIncoming=Be aware this message may not be secure.
pepPrivacyStatus.RatingUndefinedSuggestionOutgoing=Please add the necessary information.
pepPrivacyStatus.RatingUnderAttackSuggestion=Separately verify the content of this message with your communication partner.
pepPrivacyStatus.RatingUnencryptedForSomeSuggestion=Make sure the privacy status for each communication partner listed is at least secure.
pepPrivacyStatus.RatingUnencryptedSuggestion=Please ask your communication partner to use an encryption solution or install p≡p.
pepPrivacyStatus.RatingUnreliableSuggestion=This message has no reliable encryption or no signature. Ask your communication partner to upgrade their encryption solution or install p≡p.
pepPrivacyStatus.RatingBrokenExplanation=This message has broken encryption or formatting.
pepPrivacyStatus.RatingHaveNoKeyExplanation=This message cannot be decrypted because the key is not available.
pepPrivacyStatus.RatingMistrustExplanation=This message has a communication partner that has previously been marked as mistrusted.
pepPrivacyStatus.RatingReliableExplanation=This message is secure but you still need to verify the identity of your communication partner.
pepPrivacyStatus.RatingTrustedExplanation=This message is secure and trusted.
pepPrivacyStatus.RatingUndefinedExplanation=This message does not contain enough information to determine if it is secure.
pepPrivacyStatus.RatingUnderAttackExplanation=This message is not secure and has been tampered with.
pepPrivacyStatus.RatingUnencryptedExplanation=This message is unsecure.
pepPrivacyStatus.RatingUnencryptedForSomeExplanation=This message is unsecure for some communication partners.
pepPrivacyStatus.RatingUnreliableExplanation=This message has unreliable protection.
pepPrivacyStatus.RatingBrokenText=Broken
pepPrivacyStatus.RatingHaveNoKeyText=Cannot Decrypt
pepPrivacyStatus.RatingMistrustText=Mistrusted
pepPrivacyStatus.RatingReliableText=Secure
pepPrivacyStatus.RatingTrustedText=Secure & Trusted
pepPrivacyStatus.RatingUndefinedText=Unknown
pepPrivacyStatus.RatingUnderAttackText=Under Attack
pepPrivacyStatus.RatingUnencryptedForSomeText=Unsecure for Some
pepPrivacyStatus.RatingUnencryptedText=Unsecure
pepPrivacyStatus.RatingUnreliableText=Unreliable Security
handshakeDlg.button.initHandshake=Handshake...
handshakeDlg.button.stopTrust=Stop Trusting
handshakeDlg.button.reTrust=Stop Mistrusting
handshakeDlg.label.outgoingMessage=Outgoing message
handshakeDlg.label.incomingMessage=Incoming message
handshakeDlg.error.noPeers=Cannot handshake without any correspondents.
handshakeDlg.error.noProtection=Please enable protection in order to use the Handshake function.
+
+enigmail.acSetupPasswd.descEnterPasswd=Please enter the setup code that is displayed on the other device
+enigmail.acSetupPasswd.descCopyPasswd=Please enter the setup code below on your other device to proceed with the setup