diff --git a/ui/content/enigmailEditIdentity.js b/ui/content/enigmailEditIdentity.js index 3f323fac..e84c94a9 100644 --- a/ui/content/enigmailEditIdentity.js +++ b/ui/content/enigmailEditIdentity.js @@ -1,243 +1,244 @@ /*global Components: false */ /* * 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 gAccount: false, gIdentity: false, onOk: false, smimeOnAcceptEditor: false */ "use strict"; Components.utils.import("resource://enigmail/funcs.jsm"); /* global EnigmailFuncs: false */ Components.utils.import("resource://enigmail/locale.jsm"); /* global EnigmailLocale: false */ Components.utils.import("resource://enigmail/windows.jsm"); /* global EnigmailWindows: false */ Components.utils.import("resource://enigmail/pEpAdapter.jsm"); /* global EnigmailPEPAdapter: false */ if (!Enigmail) var Enigmail = {}; Enigmail.edit = { account: null, identity: null, enablePgp: null, pgpKeyMode: null, pgpKeyId: null, cryptoChoicesEnabled: null, signingPolicy: null, // account specific: by default sign encryptionPolicy: null, // account specific: by default encrypt pgpMimeMode: null, // account specific: by default pgp/mime pgpSignPlainPolicy: null, pgpSignEncPolicy: null, autoEncryptDrafts: null, advancedSettings: null, usingPep: null, onInit: function() { // initialize all of our elements based on the current identity values.... EnigmailFuncs.collapseAdvanced(document.getElementById("enigmail_PrefsBox"), "hidden"); this.enablePgp = document.getElementById("enigmail_enablePgp"); this.pgpKeyMode = document.getElementById("enigmail_pgpKeyMode"); this.pgpKeyId = document.getElementById("enigmail_identity.pgpkeyId"); this.signingPolicy = document.getElementById("enigmail_sign_ifPossible"); this.encryptionPolicy = document.getElementById("enigmail_encrypt_ifPossible"); this.pgpMimeMode = document.getElementById("enigmail_pgpMimeMode"); this.pgpSignEncPolicy = document.getElementById("enigmail_sign_encrypted"); this.pgpSignPlainPolicy = document.getElementById("enigmail_sign_notEncrypted"); this.autoEncryptDrafts = document.getElementById("enigmail_autoEncryptDrafts"); this.mimePreferOpenPGP = document.getElementById("enigmail_mimePreferOpenPGP"); this.usingPep = EnigmailPEPAdapter.usingPep(); if (this.identity) { this.enablePgp.checked = this.identity.getBoolAttribute("enablePgp"); this.cryptoChoicesEnabled = this.enablePgp.checked; var selectedItemId = null; var keyPolicy = this.identity.getIntAttribute("pgpKeyMode"); switch (keyPolicy) { case 1: selectedItemId = 'enigmail_keymode_usePgpkeyId'; break; default: selectedItemId = 'enigmail_keymode_useFromAddress'; break; } this.pgpKeyMode.selectedItem = document.getElementById(selectedItemId); var mimePolicy = this.identity.getIntAttribute("mimePreferOpenPGP"); switch (mimePolicy) { case 1: selectedItemId = "enigmail_mime_preferEnigmail"; break; default: selectedItemId = "enigmail_mime_preferSMime"; break; } this.mimePreferOpenPGP.selectedItem = document.getElementById(selectedItemId); this.pgpKeyId.value = this.identity.getCharAttribute("pgpkeyId"); EnigmailFuncs.getSignMsg(this.identity); this.signingPolicy.checked = (this.identity.getIntAttribute("defaultSigningPolicy") > 0); this.encryptionPolicy.checked = (this.identity.getIntAttribute("defaultEncryptionPolicy") > 0); this.pgpMimeMode.checked = this.identity.getBoolAttribute("pgpMimeMode"); this.pgpSignEncPolicy.checked = this.identity.getBoolAttribute("pgpSignEncrypted"); this.pgpSignPlainPolicy.checked = this.identity.getBoolAttribute("pgpSignPlain"); this.autoEncryptDrafts.checked = this.identity.getBoolAttribute("autoEncryptDrafts"); this.advancedSettings = { openPgpHeaderMode: this.identity.getIntAttribute("openPgpHeaderMode"), openPgpUrlName: this.identity.getCharAttribute("openPgpUrlName"), attachPgpKey: this.identity.getBoolAttribute("attachPgpKey") }; } else { this.enablePgp.checked = false; this.cryptoChoicesEnabled = false; this.pgpMimeMode.checked = true; this.advancedSettings = { openPgpHeaderMode: 0, openPgpUrlName: "", attachPgpKey: false }; } // Disable all locked elements on the panel //onLockPreference(); this.enableAllPrefs(); }, onLoadEditor: function() { if (typeof(gAccount) == "object") { this.account = gAccount; this.identity = gIdentity; } else { this.identity = window.arguments[0].identity; this.account = window.arguments[0].account; } if (this.identity) { var idLabel = EnigmailLocale.getString("identityName", [this.identity.identityName]); document.getElementById("enigmail_identityName").value = idLabel; } var dlg = document.getElementsByTagName("dialog")[0]; dlg.setAttribute("ondialogaccept", "return Enigmail.edit.onAcceptEditor();"); this.onInit(); }, onAcceptEditor: function() { try { if (onOk() === false) { return false; } } catch (ex) {} this.onSave(); if (typeof(smimeOnAcceptEditor) == "function") { return smimeOnAcceptEditor(); } else return true; }, onSave: function() { if (!this.identity) { this.identity = gIdentity; } this.identity.setBoolAttribute("enablePgp", this.enablePgp.checked); if (this.enablePgp.checked) { // PGP is enabled this.identity.setIntAttribute("pgpKeyMode", this.pgpKeyMode.selectedItem.value); this.identity.setIntAttribute("mimePreferOpenPGP", this.mimePreferOpenPGP.selectedItem.value); this.identity.setCharAttribute("pgpkeyId", this.pgpKeyId.value); this.identity.setIntAttribute("defaultSigningPolicy", (this.signingPolicy.checked ? 1 : 0)); this.identity.setIntAttribute("defaultEncryptionPolicy", (this.encryptionPolicy.checked ? 1 : 0)); this.identity.setBoolAttribute("pgpMimeMode", this.pgpMimeMode.checked); this.identity.setBoolAttribute("pgpSignEncrypted", this.pgpSignEncPolicy.checked); this.identity.setBoolAttribute("pgpSignPlain", this.pgpSignPlainPolicy.checked); this.identity.setBoolAttribute("autoEncryptDrafts", this.autoEncryptDrafts.checked); this.identity.setIntAttribute("openPgpHeaderMode", this.advancedSettings.openPgpHeaderMode); this.identity.setCharAttribute("openPgpUrlName", this.advancedSettings.openPgpUrlName); this.identity.setBoolAttribute("attachPgpKey", this.advancedSettings.attachPgpKey); } let usingPep = EnigmailPEPAdapter.usingPep(); if (usingPep !== this.usingPep) { EnigmailPEPAdapter.handleJuniorModeChange(); + this.usingPep = usingPep; } if (usingPep) { EnigmailPEPAdapter.setOwnIdentities(0); } }, toggleEnable: function() { this.cryptoChoicesEnabled = (!this.cryptoChoicesEnabled); this.enableAllPrefs(); }, enableAllPrefs: function() { var elem = document.getElementById("enigmail_bcEnablePgp"); if (this.cryptoChoicesEnabled) { if (elem) elem.removeAttribute("disabled"); } else { if (elem) { if (EnigmailPEPAdapter.usingPep()) { elem.removeAttribute("disabled"); } else { elem.setAttribute("disabled", "true"); } } } this.enableKeySel(this.cryptoChoicesEnabled && (this.pgpKeyMode.value == 1)); }, enableKeySel: function(enable) { if (enable) { document.getElementById("enigmail_bcUseKeyId").removeAttribute("disabled"); } else { document.getElementById("enigmail_bcUseKeyId").setAttribute("disabled", "true"); } }, selectKeyId: function() { var resultObj = {}; var inputObj = {}; inputObj.dialogHeader = EnigmailLocale.getString("encryptKeyHeader"); inputObj.options = "single,hidexpired,private,nosending"; var button = document.getElementById("enigmail_selectPgpKey"); var label = button.getAttribute("label"); inputObj.options += ",sendlabel=" + label; inputObj.options += ","; window.openDialog("chrome://enigmail/content/enigmailKeySelection.xul", "", "dialog,modal,centerscreen,resizable", inputObj, resultObj); try { if (resultObj.cancelled) return; var selKey = resultObj.userList[0]; //selKey = "0x"+selKey.substring(10,18); this.pgpKeyId.value = selKey; } catch (ex) { // cancel pressed -> don't send mail return; } }, advancedIdentitySettings: function() { var inputObj = { identitySettings: this.advancedSettings, pgpKeyMode: this.pgpKeyMode.selectedItem.value }; window.openDialog("chrome://enigmail/content/enigmailAdvancedIdentityDlg.xul", "", "dialog,modal,centerscreen", inputObj); } }; diff --git a/ui/content/enigmailPrivacyOverlay.js b/ui/content/enigmailPrivacyOverlay.js index be103c80..b2d74907 100644 --- a/ui/content/enigmailPrivacyOverlay.js +++ b/ui/content/enigmailPrivacyOverlay.js @@ -1,47 +1,51 @@ /*global Components: false */ /* 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/. */ /* eslint strict: 0 */ Components.utils.import("resource://enigmail/prefs.jsm"); /*global EnigmailPrefs: false */ Components.utils.import("resource://enigmail/pEpAdapter.jsm"); /*global EnigmailPEPAdapter: false */ +Components.utils.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */ var EnigmailPrefOverlay = { juniorModeCallback: function(item) { EnigmailPrefs.setPref("juniorMode", Number(item.value)); }, initJuniorMode: function(event) { + EnigmailLog.DEBUG("enigmailPrivacyOverlay.js: initJuniorMode()\n"); let prefGroup = document.getElementById("enigmail_juniorModeGroup"); if (EnigmailPEPAdapter.isPepAvailable()) { + EnigmailLog.DEBUG("enigmailPrivacyOverlay.js: initJuniorMode - pEp is available\n"); prefGroup.removeAttribute("hidden"); } else { + EnigmailLog.DEBUG("enigmailPrivacyOverlay.js: initJuniorMode - pEp NOT available\n"); prefGroup.setAttribute("hidden", "true"); } let jm = EnigmailPrefs.getPref("juniorMode"); document.getElementById("enigmail_juniorMode").value = jm; }, onWindowClose: function(event) { try { if (EnigmailPEPAdapter.isPepAvailable()) { EnigmailPEPAdapter.initialize(); } } catch (ex) {} }, init: function() { window.addEventListener("load", EnigmailPrefOverlay.initJuniorMode, false); window.addEventListener("unload", EnigmailPrefOverlay.onWindowClose, false); let prefPane = document.getElementById("panePrivacy"); prefPane.addEventListener("paneload", EnigmailPrefOverlay.initJuniorMode); } }; EnigmailPrefOverlay.init(); diff --git a/ui/locale/en-US/enigmail.properties b/ui/locale/en-US/enigmail.properties index 2e189b98..3535d751 100644 --- a/ui/locale/en-US/enigmail.properties +++ b/ui/locale/en-US/enigmail.properties @@ -1,750 +1,750 @@ 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 +# 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.