diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js index 53320cf89..60aaf65a7 100644 --- a/dev/Common/Enums.js +++ b/dev/Common/Enums.js @@ -36,9 +36,7 @@ export const Scope = { Compose: 'Compose', Settings: 'Settings', Menu: 'Menu', - ComposeOpenPgp: 'ComposeOpenPgp', - MessageOpenPgp: 'MessageOpenPgp', - ViewOpenPgpKey: 'ViewOpenPgpKey', + OpenPgpKey: 'OpenPgpKey', KeyboardShortcutsHelp: 'KeyboardShortcutsHelp', Ask: 'Ask' }; diff --git a/dev/Stores/User/Pgp.js b/dev/Stores/User/Pgp.js index ec977b344..1b8ac80e7 100644 --- a/dev/Stores/User/Pgp.js +++ b/dev/Stores/User/Pgp.js @@ -8,19 +8,28 @@ import { delegateRunOnDestroy } from 'Common/UtilsUser'; //import { showScreenPopup } from 'Knoin/Knoin'; -//import { MessageOpenPgpPopupView } from 'View/Popup/MessageOpenPgp'; - //import { EmailModel } from 'Model/Email'; //import { OpenPgpKeyModel } from 'Model/OpenPgpKey'; import Remote from 'Remote/User/Fetch'; import { showScreenPopup } from 'Knoin/Knoin'; -import { ViewOpenPgpKeyPopupView } from 'View/Popup/ViewOpenPgpKey'; +import { OpenPgpKeyPopupView } from 'View/Popup/OpenPgpKey'; const findKeyByHex = (keys, hash) => - keys.find(item => item && (hash === item.id || item.ids.includes(hash))); + keys.find(item => item && (hash === item.id || item.ids.includes(hash))), + + findGnuPGKey = (keys, query, sign) => + keys.find(key => + key[sign ? 'can_sign' : 'can_decrypt'] + && (key.emails.includes(query) || key.subkeys.find(key => query == key.keyid || query == key.fingerprint)) + ), + + findOpenPGPKey = (keys, query/*, sign*/) => + keys.find(key => + key.emails.includes(query) || query == key.id || query == key.fingerprint + ); /** * OpenPGP.js v5 removed the localStorage (keyring) @@ -34,12 +43,10 @@ const let keys = [], key, armoredKeys = JSON.parse(storage.getItem(itemname)), i = arrayLength(armoredKeys); - if (i) { - while (i--) { - key = await openpgp.readKey({armoredKey:armoredKeys[i]}); - if (!key.err) { - keys.push(new OpenPgpKeyModel(armoredKeys[i], key)); - } + while (i--) { + key = await openpgp.readKey({armoredKey:armoredKeys[i]}); + if (!key.err) { + keys.push(new OpenPgpKeyModel(armoredKeys[i], key)); } } return keys; @@ -73,7 +80,7 @@ class OpenPgpKeyModel { } view() { - showScreenPopup(ViewOpenPgpKeyPopupView, [this]); + showScreenPopup(OpenPgpKeyPopupView, [this]); } remove() { @@ -88,6 +95,11 @@ class OpenPgpKeyModel { delegateRunOnDestroy(this); } } +/* + toJSON() { + return this.armor; + } +*/ } export const PgpUserStore = new class { @@ -165,6 +177,7 @@ export const PgpUserStore = new class { const initKey = (key, isPrivate) => { const aEmails = []; key.id = key.subkeys[0].keyid; + key.fingerprint = key.subkeys[0].fingerprint; key.uids.forEach(uid => uid.email && aEmails.push(uid.email)); key.emails = aEmails; key.askDelete = ko.observable(false); @@ -195,7 +208,7 @@ export const PgpUserStore = new class { (iError, oData) => { if (oData && oData.Result) { key.armor = oData.Result; - showScreenPopup(ViewOpenPgpKeyPopupView, [key]); + showScreenPopup(OpenPgpKeyPopupView, [key]); } }, { KeyId: key.id, @@ -260,6 +273,14 @@ export const PgpUserStore = new class { keyPair.inGnuPG */ storeKeyPair(keyPair, callback) { + openpgp.readKey({armoredKey:keyPair.publicKey}).then(key => { + PgpUserStore.openpgpPublicKeys.push(new OpenPgpKeyModel(keyPair.publicKey, key)); + storeOpenPgpKeys(PgpUserStore.openpgpPublicKeys, publicKeysItem); + }); + openpgp.readKey({armoredKey:keyPair.privateKey}).then(key => { + PgpUserStore.openpgpPrivateKeys.push(new OpenPgpKeyModel(keyPair.privateKey, key)); + storeOpenPgpKeys(PgpUserStore.openpgpPrivateKeys, privateKeysItem); + }); // if (Settings.capa(Capa.GnuPG)) { Remote.request('PgpStoreKeyPair', (iError, oData) => { @@ -269,14 +290,6 @@ export const PgpUserStore = new class { callback && callback(iError, oData); }, keyPair ); - openpgp.readKey({armoredKey:keyPair.publicKey}).then(key => { - PgpUserStore.openpgpPublicKeys.push(new OpenPgpKeyModel(keyPair.publicKey, key)); - storeOpenPgpKeys(PgpUserStore.openpgpPublicKeys, publicKeysItem); - }); - openpgp.readKey({armoredKey:keyPair.privateKey}).then(key => { - PgpUserStore.openpgpPrivateKeys.push(new OpenPgpKeyModel(keyPair.privateKey, key)); - storeOpenPgpKeys(PgpUserStore.openpgpPrivateKeys, privateKeysItem); - }); } /** @@ -287,7 +300,9 @@ export const PgpUserStore = new class { const count = recipients.length; if (count) { let length = this.gnupgKeyring && recipients.filter(email => - this.gnupgKeyring[email] && this.gnupgKeyring[email].can_encrypt).length; +// (key.can_verify || key.can_encrypt) && + this.gnupgPublicKeys.find(key => key.emails.includes(email)) + ).length; if (length && (!all || length === count)) { return 'gnupg'; } @@ -299,52 +314,50 @@ export const PgpUserStore = new class { return 'openpgp'; } - let mailvelope = this.mailvelopeKeyring && await this.mailvelopeKeyring.validKeyForAddress(recipients) + let keyring = this.mailvelopeKeyring, + mailvelope = keyring && await keyring.validKeyForAddress(recipients) /*.then(LookupResult => Object.entries(LookupResult))*/; - mailvelope = Object.entries(mailvelope); - if (mailvelope && mailvelope.length - && (all ? (mailvelope.filter(([, value]) => value).length === count) : mailvelope.find(([, value]) => value)) - ) { + mailvelope = mailvelope && Object.entries(mailvelope); + if (mailvelope && (all ? (mailvelope.filter(([, value]) => value).length === count) : mailvelope.length)) { return 'mailvelope'; } } return false; } - getGnuPGPrivateKeyFor(email, sign) { - let key = this.gnupgKeyring && this.gnupgKeyring[email]; - if (key && key[sign?'can_sign':'can_decrypt']) { + getGnuPGPrivateKeyFor(query, sign) { + let key = findGnuPGKey(this.gnupgPrivateKeys, query, sign); + if (key) { return ['gnupg', key]; } } - getOpenPGPPrivateKeyFor(email/*, sign*/) { - let key = this.openpgpPrivateKeys().find(key => key.emails.includes(email)); - if (key && key.length) { - return ['openpgp', key[0]]; + getGnuPGPublicKeyFor(query, sign) { + let key = findGnuPGKey(this.gnupgPublicKeys, query, sign); + if (key) { + return ['gnupg', key]; } } - getOpenPGPPublicKeyFor(email/*, sign*/) { - return this.gnupgKeyring && this.openpgpKeyring.publicKeys.getForAddress(email); + getOpenPGPPrivateKeyFor(query/*, sign*/) { + let key = findOpenPGPKey(this.openpgpPrivateKeys, query/*, sign*/); + if (key) { + return ['openpgp', key]; + } + } + + getOpenPGPPublicKeyFor(query/*, sign*/) { + let key = findOpenPGPKey(this.openpgpPublicKeys, query/*, sign*/); + if (key) { + return ['openpgp', key]; + } } - /** - * Checks if signing a message is possible with given email address. - * Returns the first library that can. - */ async getMailvelopePrivateKeyFor(email/*, sign*/) { let keyring = this.mailvelopeKeyring; - if (keyring) { - /** - * Mailvelope can't find by email, so we must get the fingerprint and use that instead - */ - let keys = await keyring.validKeyForAddress([email]); - if (keys && keys[email] && await keyring.hasPrivateKey(keys[email].keys[0].fingerprint)) { - return ['mailvelope', keys[email].keys[0].fingerprint]; - } + if (keyring && await keyring.hasPrivateKey({email:email})) { + return ['mailvelope', email]; } - return false; } @@ -359,13 +372,41 @@ export const PgpUserStore = new class { } /** - * Checks if decrypting a message is possible with given email address. + * Checks if decrypting a message is possible with given keyIds or email address. * Returns the first library that can. */ - async getKeyForDecrypting(email) { - return await this.getMailvelopePrivateKeyFor(email) - || this.getGnuPGPrivateKeyFor(email) - || this.getOpenPGPPrivateKeyFor(email); + async getKeyForDecryption(ids, email) { + ids = [email].concat(ids); + let i = ids.length, + key = await this.getMailvelopePrivateKeyFor({email:email}); + if (key) { + return key; + } +/* Not working, needs full fingerprint + while (i--) { + key = await this.getMailvelopePrivateKeyFor(ids[i]); + if (key) { + return key; + } + if (await keyring.hasPrivateKey(ids[i])) { + return ['mailvelope', ids[i]]; + } + } + i = ids.length; +*/ + while (i--) { + key = this.getGnuPGPrivateKeyFor(ids[i]); + if (key) { + return key; + } + } + i = ids.length; + while (i--) { + key = this.getOpenPGPPrivateKeyFor(ids[i]); + if (key) { + return key; + } + } } /** @@ -394,7 +435,7 @@ export const PgpUserStore = new class { } if (privateKeys && privateKeys.length) { - showScreenPopup(MessageOpenPgpPopupView, [ + showScreenPopup(OpenPgpSelectorPopupView, [ (decryptedKey) => { if (decryptedKey) { message.decrypt(decryptedKey).then( diff --git a/dev/Styles/User/OpenPgpKey.less b/dev/Styles/User/OpenPgpKey.less index 8e5970dc5..c318b157d 100644 --- a/dev/Styles/User/OpenPgpKey.less +++ b/dev/Styles/User/OpenPgpKey.less @@ -1,9 +1,10 @@ -#V-PopupsViewOpenPgpKey, #V-PopupsOpenPgpGenerate { +#V-PopupsOpenPgpKey, #V-PopupsOpenPgpGenerate { max-width: 570px; } -#V-PopupsViewOpenPgpKey { +#V-PopupsOpenPgpKey { .key-viewer { + margin: 0; max-height: 500px; overflow: auto; } diff --git a/dev/View/Popup/ViewOpenPgpKey.js b/dev/View/Popup/OpenPgpKey.js similarity index 58% rename from dev/View/Popup/ViewOpenPgpKey.js rename to dev/View/Popup/OpenPgpKey.js index 215c165f4..2ce1789d5 100644 --- a/dev/View/Popup/ViewOpenPgpKey.js +++ b/dev/View/Popup/OpenPgpKey.js @@ -2,9 +2,9 @@ import { Scope } from 'Common/Enums'; import { doc } from 'Common/Globals'; import { AbstractViewPopup } from 'Knoin/AbstractViews'; -class ViewOpenPgpKeyPopupView extends AbstractViewPopup { +class OpenPgpKeyPopupView extends AbstractViewPopup { constructor() { - super('ViewOpenPgpKey'); + super('OpenPgpKey'); this.addObservables({ key: '', @@ -21,18 +21,25 @@ class ViewOpenPgpKeyPopupView extends AbstractViewPopup { range.selectNodeContents(el); sel.addRange(range); } + if (navigator.clipboard) { + navigator.clipboard.writeText(this.key()).then( + () => console.log('Copied to clipboard'), + err => console.error(err) + ); + } } onShow(openPgpKey) { + // TODO: show more info this.key(openPgpKey ? openPgpKey.armor : ''); } onBuild() { - shortcuts.add('a', 'meta', Scope.ViewOpenPgpKey, () => { + shortcuts.add('a', 'meta', Scope.OpenPgpKey, () => { this.selectKey(); return false; }); } } -export { ViewOpenPgpKeyPopupView, ViewOpenPgpKeyPopupView as default }; +export { OpenPgpKeyPopupView, OpenPgpKeyPopupView as default }; diff --git a/dev/View/User/MailBox/MessageView.js b/dev/View/User/MailBox/MessageView.js index 2a8832c78..f64bd9958 100644 --- a/dev/View/User/MailBox/MessageView.js +++ b/dev/View/User/MailBox/MessageView.js @@ -625,72 +625,71 @@ export class MailMessageView extends AbstractViewRight { } pgpDecrypt(self) { - const pgpInfo = self.pgpEncrypted(); + const message = self.message(), + pgpInfo = message && message.pgpEncrypted(); if (pgpInfo) { - const message = self.message(); - if (window.mailvelope) { - /** - * https://mailvelope.github.io/mailvelope/Mailvelope.html#createEncryptedFormContainer - * Creates an iframe to display an encrypted form - */ -// mailvelope.createEncryptedFormContainer('#mailvelope-form'); - /** - * https://mailvelope.github.io/mailvelope/Mailvelope.html#createDisplayContainer - * Creates an iframe to display the decrypted content of the encrypted mail. - */ - let body = message.body; - body.textContent = ''; - mailvelope.createDisplayContainer( - '#'+body.id, - message.plain(), - PgpUserStore.mailvelopeKeyring, - { - senderAddress: message.from[0].email - } - ).then(status => { - if (status.error && status.error.message) { - alert(status.error.code + ': ' + status.error.message); - } else { - body.classList.add('mailvelope'); - } - }, error => { - console.error(error); - }); - } -/* - else { - // TODO: which key to decrypt, use pgpInfo.KeyIds - - PgpUserStore.getKeyForDecrypting(message.email()).then(result => { - console.log({canPgpSign:result}); - this.canPgpSign(!!result) - }); - - else if (window.openpgp) { - decryptMessage(message, recipients, fCallback) - } - else if (Settings.capa(Capa.GnuPG)) { - message. - - let params = { - Folder: message.folder, - Uid: message.uid, - PartId: message.pgpEncrypted().PartId, - KeyId: '', - Passphrase: prompt("Passphrase", ''), - Data: '' // optional + // Also check message.from[0].email + PgpUserStore.getKeyForDecryption(pgpInfo.KeyIds, message.to[0].email).then(result => { + if (!result) { + // TODO: show error + alert('No decrypt key found for ids:\n\n' + pgpInfo.KeyIds.join('\n')); + return; } - rl.app.Remote.post('GnupgDecrypt', null, params) - .then(data => { - // TODO - console.dir(data); - }) - .catch(error => { - // TODO - console.dir(error); + if ('mailvelope' === result[0]) { + /** + * https://mailvelope.github.io/mailvelope/Mailvelope.html#createEncryptedFormContainer + * Creates an iframe to display an encrypted form + */ +// mailvelope.createEncryptedFormContainer('#mailvelope-form'); + /** + * https://mailvelope.github.io/mailvelope/Mailvelope.html#createDisplayContainer + * Creates an iframe to display the decrypted content of the encrypted mail. + */ + let body = message.body; + body.textContent = ''; + mailvelope.createDisplayContainer( + '#'+body.id, + message.plain(), + PgpUserStore.mailvelopeKeyring, + { + senderAddress: message.from[0].email + } + ).then(status => { + if (status.error && status.error.message) { + alert(status.error.code + ': ' + status.error.message); + } else { + body.classList.add('mailvelope'); + } + }, error => { + console.error(error); }); - } -*/ + } + else if ('openpgp' === result[0]) { + // TODO +// PgpUserStore.decryptMessage(message, recipients, fCallback) + } + else if ('gnupg' === result[0]) { + let params = { + Folder: message.folder, + Uid: message.uid, + PartId: pgpInfo.PartId, + KeyId: result[1].id, + Passphrase: prompt('Passphrase for ' + result[1].id + ' ' + result[1].uids[0].uid), + Data: '' // optional + } + if (params.Passphrase) { + rl.app.Remote.post('GnupgDecrypt', null, params) + .then(data => { + // TODO + console.dir(data); + }) + .catch(error => { + // TODO + console.dir(error); + }); + } + } + }); } } diff --git a/snappymail/v/0.0.0/app/localization/ar-SA/user.json b/snappymail/v/0.0.0/app/localization/ar-SA/user.json index 3238a76e4..f71bb5dac 100644 --- a/snappymail/v/0.0.0/app/localization/ar-SA/user.json +++ b/snappymail/v/0.0.0/app/localization/ar-SA/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "الافتراضي" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP إستيراد مفتاح", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP توليد مفتاح", + "BUTTON_IMPORT_KEY": " إستيراد مفتاح", + "BUTTON_GENERATE_KEY_PAIR": " توليد مفتاح", "TITLE_PRIVATE": "خاص", "TITLE_PUBLIC": "عام", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/bg-BG/user.json b/snappymail/v/0.0.0/app/localization/bg-BG/user.json index 8ea93bbe3..7118e7736 100644 --- a/snappymail/v/0.0.0/app/localization/bg-BG/user.json +++ b/snappymail/v/0.0.0/app/localization/bg-BG/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "по подразбиране" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Внеси OpenPGP ключ", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Генерирай OpenPGP ключ", + "BUTTON_IMPORT_KEY": "Внеси ключ", + "BUTTON_GENERATE_KEY_PAIR": "Генерирай ключ", "TITLE_PRIVATE": "Частен", "TITLE_PUBLIC": "Публичен", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Автоматично запазване на чернова" diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json index 674694bc0..7694ae957 100644 --- a/snappymail/v/0.0.0/app/localization/cs-CZ/user.json +++ b/snappymail/v/0.0.0/app/localization/cs-CZ/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "výchozí" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importovat OpenPGP klíč", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generovat OpenPGP klíče", + "BUTTON_IMPORT_KEY": "Importovat klíč", + "BUTTON_GENERATE_KEY_PAIR": "Generovat klíče", "TITLE_PRIVATE": "Soukromý", "TITLE_PUBLIC": "Veřejný", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automaticky uložit koncept" diff --git a/snappymail/v/0.0.0/app/localization/da-DK/user.json b/snappymail/v/0.0.0/app/localization/da-DK/user.json index 92d470ca8..922bd297d 100644 --- a/snappymail/v/0.0.0/app/localization/da-DK/user.json +++ b/snappymail/v/0.0.0/app/localization/da-DK/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "standard" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importer OpenPGP nøgle", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generer OpenPGP nøgler", + "BUTTON_IMPORT_KEY": "Importer nøgle", + "BUTTON_GENERATE_KEY_PAIR": "Generer nøgler", "TITLE_PRIVATE": "Privat", "TITLE_PUBLIC": "Offentlig", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Gem kladde automatisk" diff --git a/snappymail/v/0.0.0/app/localization/de-DE/user.json b/snappymail/v/0.0.0/app/localization/de-DE/user.json index 5d18dd173..49150c2fd 100644 --- a/snappymail/v/0.0.0/app/localization/de-DE/user.json +++ b/snappymail/v/0.0.0/app/localization/de-DE/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "Standard" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP-Schlüssel importieren", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP-Schlüssel generieren", + "BUTTON_IMPORT_KEY": "Schlüssel importieren", + "BUTTON_GENERATE_KEY_PAIR": "Schlüssel generieren", "TITLE_PRIVATE": "Privat", "TITLE_PUBLIC": "Öffentlich", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/el-GR/user.json b/snappymail/v/0.0.0/app/localization/el-GR/user.json index 5fbe23778..b0e9ab3bc 100644 --- a/snappymail/v/0.0.0/app/localization/el-GR/user.json +++ b/snappymail/v/0.0.0/app/localization/el-GR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Import OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generate OpenPGP Keys", + "BUTTON_IMPORT_KEY": "Import Key", + "BUTTON_GENERATE_KEY_PAIR": "Generate Keys", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/en/user.json b/snappymail/v/0.0.0/app/localization/en/user.json index 286ea91d0..d113cecf4 100644 --- a/snappymail/v/0.0.0/app/localization/en/user.json +++ b/snappymail/v/0.0.0/app/localization/en/user.json @@ -257,7 +257,7 @@ "POPUP_IMPORT_BUTTON": "Import", "POPUP_VIEW_TITLE": "View OpenPGP key", "POPUP_VIEW_BUTTON": "Select", - "POPUP_GENERATE_TITLE": "Generate OpenPGP keys", + "POPUP_GENERATE_TITLE": "Generate OpenPGP key pair", "POPUP_GENERATE_BUTTON": "Generate", "LABEL_KEY_TYPE": "Type", "LABEL_SIGN": "Sign", @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Import OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generate OpenPGP Keys", + "BUTTON_IMPORT_KEY": "Import Key", + "BUTTON_GENERATE_KEY_PAIR": "Generate Key Pair", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/es-ES/user.json b/snappymail/v/0.0.0/app/localization/es-ES/user.json index e12cbdf94..03eae0e64 100644 --- a/snappymail/v/0.0.0/app/localization/es-ES/user.json +++ b/snappymail/v/0.0.0/app/localization/es-ES/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "predeterminado" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importar llave OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generar llaves OpenPGP", + "BUTTON_IMPORT_KEY": "Importar llave", + "BUTTON_GENERATE_KEY_PAIR": "Generar llaves", "TITLE_PRIVATE": "Privado", "TITLE_PUBLIC": "Público", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/et-EE/user.json b/snappymail/v/0.0.0/app/localization/et-EE/user.json index 052dca7c0..7aacadfbd 100644 --- a/snappymail/v/0.0.0/app/localization/et-EE/user.json +++ b/snappymail/v/0.0.0/app/localization/et-EE/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "vaikimisi" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Impordi OpenPGP võti", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Genereeri OpenPGP võti", + "BUTTON_IMPORT_KEY": "Impordi võti", + "BUTTON_GENERATE_KEY_PAIR": "Genereeri võti", "TITLE_PRIVATE": "Privaatne", "TITLE_PUBLIC": "Avalik", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/user.json b/snappymail/v/0.0.0/app/localization/fa-IR/user.json index ada90d4f4..0647c3561 100644 --- a/snappymail/v/0.0.0/app/localization/fa-IR/user.json +++ b/snappymail/v/0.0.0/app/localization/fa-IR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "پیش‌فرض" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "وارد کردن کلید OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "تولید کلیدهای OpenPGP", + "BUTTON_IMPORT_KEY": "وارد کردن کلید", + "BUTTON_GENERATE_KEY_PAIR": "تولید کلیدهای", "TITLE_PRIVATE": "خصوصی", "TITLE_PUBLIC": "عمومی", "LABEL_ALLOW_DRAFT_AUTOSAVE": "ذخیره خودکار پیش‌نویس" diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/user.json b/snappymail/v/0.0.0/app/localization/fi-FI/user.json index 774940740..83dc4290a 100644 --- a/snappymail/v/0.0.0/app/localization/fi-FI/user.json +++ b/snappymail/v/0.0.0/app/localization/fi-FI/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "oletus" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Tuo OpenPGP avain", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Luo OpenPGP avain", + "BUTTON_IMPORT_KEY": "Tuo avain", + "BUTTON_GENERATE_KEY_PAIR": "Luo avain", "TITLE_PRIVATE": "Yksityinen", "TITLE_PUBLIC": "Julkinen", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/user.json b/snappymail/v/0.0.0/app/localization/fr-FR/user.json index fb89f4125..55026f8b5 100644 --- a/snappymail/v/0.0.0/app/localization/fr-FR/user.json +++ b/snappymail/v/0.0.0/app/localization/fr-FR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "défaut" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importer la clé OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Générer les clés OpenPGP", + "BUTTON_IMPORT_KEY": "Importer la clé", + "BUTTON_GENERATE_KEY_PAIR": "Générer les clés", "TITLE_PRIVATE": "Privée", "TITLE_PUBLIC": "Publique", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Brouillon sauvegardé automatiquement" diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/user.json b/snappymail/v/0.0.0/app/localization/hu-HU/user.json index 201e82791..5d10baf2d 100644 --- a/snappymail/v/0.0.0/app/localization/hu-HU/user.json +++ b/snappymail/v/0.0.0/app/localization/hu-HU/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP kulcs importálás", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP kulcs generálás", + "BUTTON_IMPORT_KEY": "Kulcs importálás", + "BUTTON_GENERATE_KEY_PAIR": "Kulcs generálás", "TITLE_PRIVATE": "Privát", "TITLE_PUBLIC": "Publikus", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Piszkozat automatikus mentése" diff --git a/snappymail/v/0.0.0/app/localization/id-ID/user.json b/snappymail/v/0.0.0/app/localization/id-ID/user.json index 1c6317869..a85ba17e5 100644 --- a/snappymail/v/0.0.0/app/localization/id-ID/user.json +++ b/snappymail/v/0.0.0/app/localization/id-ID/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "Bawaan" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Impor kunci OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Buat kunci OpenPGP", + "BUTTON_IMPORT_KEY": "Impor kunci", + "BUTTON_GENERATE_KEY_PAIR": "Buat kunci", "TITLE_PRIVATE": "Pribadi", "TITLE_PUBLIC": "Publik", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Simpan konsep otomatis" diff --git a/snappymail/v/0.0.0/app/localization/is-IS/user.json b/snappymail/v/0.0.0/app/localization/is-IS/user.json index a5702d5d6..4eef06622 100644 --- a/snappymail/v/0.0.0/app/localization/is-IS/user.json +++ b/snappymail/v/0.0.0/app/localization/is-IS/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "sjálfgefið" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Flytja inn OpenPGP-lykil", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Búa til OpenPGP-lykla", + "BUTTON_IMPORT_KEY": "Flytja inn lykil", + "BUTTON_GENERATE_KEY_PAIR": "Búa til lykla", "TITLE_PRIVATE": "Einkalykill", "TITLE_PUBLIC": "Dreifilykill", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Vista drög sjálfkrafa" diff --git a/snappymail/v/0.0.0/app/localization/it-IT/user.json b/snappymail/v/0.0.0/app/localization/it-IT/user.json index ff5ca4feb..98ab773ef 100644 --- a/snappymail/v/0.0.0/app/localization/it-IT/user.json +++ b/snappymail/v/0.0.0/app/localization/it-IT/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "predefinito" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importa chiave OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Genera chiave OpenPGP", + "BUTTON_IMPORT_KEY": "Importa chiave", + "BUTTON_GENERATE_KEY_PAIR": "Genera chiave", "TITLE_PRIVATE": "Privata", "TITLE_PUBLIC": "Pubblica", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Salva automaticamente la bozza" diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/user.json b/snappymail/v/0.0.0/app/localization/ja-JP/user.json index df784d75e..482323d56 100644 --- a/snappymail/v/0.0.0/app/localization/ja-JP/user.json +++ b/snappymail/v/0.0.0/app/localization/ja-JP/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "デフォルト" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP キーをインポート", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP キーを生成", + "BUTTON_IMPORT_KEY": "キーをインポート", + "BUTTON_GENERATE_KEY_PAIR": "キーを生成", "TITLE_PRIVATE": "プライベート", "TITLE_PUBLIC": "パブリック", "LABEL_ALLOW_DRAFT_AUTOSAVE": "下書きを自動的に保存する" diff --git a/snappymail/v/0.0.0/app/localization/ko-KR/user.json b/snappymail/v/0.0.0/app/localization/ko-KR/user.json index a43ff4b28..83c5b3bf3 100644 --- a/snappymail/v/0.0.0/app/localization/ko-KR/user.json +++ b/snappymail/v/0.0.0/app/localization/ko-KR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP 키 가져오기", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP 키 생성", + "BUTTON_IMPORT_KEY": "키 가져오기", + "BUTTON_GENERATE_KEY_PAIR": "키 생성", "TITLE_PRIVATE": "비공개", "TITLE_PUBLIC": "공개", "LABEL_ALLOW_DRAFT_AUTOSAVE": "작성 중인 메시지 자동 저장" diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/user.json b/snappymail/v/0.0.0/app/localization/lt-LT/user.json index a5980301f..0545a349c 100644 --- a/snappymail/v/0.0.0/app/localization/lt-LT/user.json +++ b/snappymail/v/0.0.0/app/localization/lt-LT/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "numatytasis" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importuoti OpenPGP raktą", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Sukurti OpenPGP raktus", + "BUTTON_IMPORT_KEY": "Importuoti raktą", + "BUTTON_GENERATE_KEY_PAIR": "Sukurti raktus", "TITLE_PRIVATE": "Privatus", "TITLE_PUBLIC": "Viešas", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/lv-LV/user.json b/snappymail/v/0.0.0/app/localization/lv-LV/user.json index 364c1bc12..11b293e9d 100644 --- a/snappymail/v/0.0.0/app/localization/lv-LV/user.json +++ b/snappymail/v/0.0.0/app/localization/lv-LV/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Import OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generate OpenPGP Keys", + "BUTTON_IMPORT_KEY": "Import Key", + "BUTTON_GENERATE_KEY_PAIR": "Generate Keys", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/user.json b/snappymail/v/0.0.0/app/localization/nb-NO/user.json index cfa68401f..56e73efdc 100644 --- a/snappymail/v/0.0.0/app/localization/nb-NO/user.json +++ b/snappymail/v/0.0.0/app/localization/nb-NO/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "Standard" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importer OpenPGP-nøkkel", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Lag OpenPGP-nøkler", + "BUTTON_IMPORT_KEY": "Importer nøkkel", + "BUTTON_GENERATE_KEY_PAIR": "Lag nøkler", "TITLE_PRIVATE": "Privat", "TITLE_PUBLIC": "Offentlig", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Lagre utkast automatisk" diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/user.json b/snappymail/v/0.0.0/app/localization/nl-NL/user.json index d09ea26c7..d3ca19886 100644 --- a/snappymail/v/0.0.0/app/localization/nl-NL/user.json +++ b/snappymail/v/0.0.0/app/localization/nl-NL/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "standaard" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importeer OpenPGP sleutel", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Genereer OpenPGP sleutels", + "BUTTON_IMPORT_KEY": "Importeer sleutel", + "BUTTON_GENERATE_KEY_PAIR": "Genereer sleutels", "TITLE_PRIVATE": "Privé sleutel", "TITLE_PUBLIC": "Publieke sleutel", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/user.json b/snappymail/v/0.0.0/app/localization/pl-PL/user.json index 689ebc186..095891576 100644 --- a/snappymail/v/0.0.0/app/localization/pl-PL/user.json +++ b/snappymail/v/0.0.0/app/localization/pl-PL/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "domyślna" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importuj klucz OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generuj klucz OpenPGP", + "BUTTON_IMPORT_KEY": "Importuj klucz", + "BUTTON_GENERATE_KEY_PAIR": "Generuj klucz", "TITLE_PRIVATE": "Prywatny", "TITLE_PUBLIC": "Publiczny", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatycznie zapisuj szkic" diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/user.json b/snappymail/v/0.0.0/app/localization/pt-BR/user.json index 452c99ce9..f5cdc6e18 100644 --- a/snappymail/v/0.0.0/app/localization/pt-BR/user.json +++ b/snappymail/v/0.0.0/app/localization/pt-BR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "padrão" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importa chave OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Gerar chave OpenPGP", + "BUTTON_IMPORT_KEY": "Importa chave", + "BUTTON_GENERATE_KEY_PAIR": "Gerar chave", "TITLE_PRIVATE": "Privado", "TITLE_PUBLIC": "Público", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Salvar automaticamente rascunho" diff --git a/snappymail/v/0.0.0/app/localization/pt-PT/user.json b/snappymail/v/0.0.0/app/localization/pt-PT/user.json index 10cf2b84f..db0211a6f 100644 --- a/snappymail/v/0.0.0/app/localization/pt-PT/user.json +++ b/snappymail/v/0.0.0/app/localization/pt-PT/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "predefinida" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importar chave OpenPGP", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Gerar chaves OpenPGP", + "BUTTON_IMPORT_KEY": "Importar chave", + "BUTTON_GENERATE_KEY_PAIR": "Gerar chaves", "TITLE_PRIVATE": "Privada", "TITLE_PUBLIC": "Pública", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/ro-RO/user.json b/snappymail/v/0.0.0/app/localization/ro-RO/user.json index 78b077aca..06796a938 100644 --- a/snappymail/v/0.0.0/app/localization/ro-RO/user.json +++ b/snappymail/v/0.0.0/app/localization/ro-RO/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Import OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generate OpenPGP Keys", + "BUTTON_IMPORT_KEY": "Import Key", + "BUTTON_GENERATE_KEY_PAIR": "Generate Keys", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Salvează ciorna automat" diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/user.json b/snappymail/v/0.0.0/app/localization/ru-RU/user.json index e10e90b38..f55369da0 100644 --- a/snappymail/v/0.0.0/app/localization/ru-RU/user.json +++ b/snappymail/v/0.0.0/app/localization/ru-RU/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "основной" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Ипортировать OpenPGP ключ", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Новый OpenPGP ключ", + "BUTTON_IMPORT_KEY": "Ипортировать ключ", + "BUTTON_GENERATE_KEY_PAIR": "Новый ключ", "TITLE_PRIVATE": "Приватный", "TITLE_PUBLIC": "Публичный", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Автоматически сохранять черновик" diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/user.json b/snappymail/v/0.0.0/app/localization/sk-SK/user.json index a0a52c470..9b9d7bc6d 100644 --- a/snappymail/v/0.0.0/app/localization/sk-SK/user.json +++ b/snappymail/v/0.0.0/app/localization/sk-SK/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Import OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generate OpenPGP Keys", + "BUTTON_IMPORT_KEY": "Import Key", + "BUTTON_GENERATE_KEY_PAIR": "Generate Keys", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automaticky uložiť koncept." diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/user.json b/snappymail/v/0.0.0/app/localization/sl-SI/user.json index 44a737631..456ff844b 100644 --- a/snappymail/v/0.0.0/app/localization/sl-SI/user.json +++ b/snappymail/v/0.0.0/app/localization/sl-SI/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "privzeto" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Uvozi OpenPGP ključ", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Generiraj OpenPGP ključe", + "BUTTON_IMPORT_KEY": "Uvozi ključ", + "BUTTON_GENERATE_KEY_PAIR": "Generiraj ključe", "TITLE_PRIVATE": "Zasebni", "TITLE_PUBLIC": "Javni", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Samodejno shrani osnutek" diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/user.json b/snappymail/v/0.0.0/app/localization/sv-SE/user.json index 2a79cb95c..dfc7bdf60 100644 --- a/snappymail/v/0.0.0/app/localization/sv-SE/user.json +++ b/snappymail/v/0.0.0/app/localization/sv-SE/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "standard" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Importera OpenPGP-nyckel", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Skapa OpenPGP-nycklar", + "BUTTON_IMPORT_KEY": "Importera nyckel", + "BUTTON_GENERATE_KEY_PAIR": "Skapa nycklar", "TITLE_PRIVATE": "Privat", "TITLE_PUBLIC": "Publik", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Spara utkast automatiskt" diff --git a/snappymail/v/0.0.0/app/localization/tr-TR/user.json b/snappymail/v/0.0.0/app/localization/tr-TR/user.json index 2b3bb313c..92311a3ee 100644 --- a/snappymail/v/0.0.0/app/localization/tr-TR/user.json +++ b/snappymail/v/0.0.0/app/localization/tr-TR/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "OpenPGP Key İçe Aktar", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "OpenPGP Key Oluştur", + "BUTTON_IMPORT_KEY": "Key İçe Aktar", + "BUTTON_GENERATE_KEY_PAIR": "Key Oluştur", "TITLE_PRIVATE": "Private", "TITLE_PUBLIC": "Public", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/uk-UA/user.json b/snappymail/v/0.0.0/app/localization/uk-UA/user.json index 639b365b4..18950f771 100644 --- a/snappymail/v/0.0.0/app/localization/uk-UA/user.json +++ b/snappymail/v/0.0.0/app/localization/uk-UA/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "Імпортувати OpenPGP ключ", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "Новий OpenPGP ключ", + "BUTTON_IMPORT_KEY": "Імпортувати ключ", + "BUTTON_GENERATE_KEY_PAIR": "Новий ключ", "TITLE_PRIVATE": "Приватний", "TITLE_PUBLIC": "Публічний", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/user.json b/snappymail/v/0.0.0/app/localization/zh-CN/user.json index 0abd8771e..edb94096c 100644 --- a/snappymail/v/0.0.0/app/localization/zh-CN/user.json +++ b/snappymail/v/0.0.0/app/localization/zh-CN/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "默认" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "导入 OpenPGP 密钥", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "生成 OpenPGP 密钥", + "BUTTON_IMPORT_KEY": "导入 密钥", + "BUTTON_GENERATE_KEY_PAIR": "生成 密钥", "TITLE_PRIVATE": "私有", "TITLE_PUBLIC": "公开", "LABEL_ALLOW_DRAFT_AUTOSAVE": "自动保存草稿" diff --git a/snappymail/v/0.0.0/app/localization/zh-TW/user.json b/snappymail/v/0.0.0/app/localization/zh-TW/user.json index 400bbf0c1..73944e53e 100644 --- a/snappymail/v/0.0.0/app/localization/zh-TW/user.json +++ b/snappymail/v/0.0.0/app/localization/zh-TW/user.json @@ -449,8 +449,8 @@ "DEFAULT_IDENTITY_LABEL": "default" }, "SETTINGS_OPEN_PGP": { - "BUTTON_ADD_OPEN_PGP_KEY": "導入 OpenPGP Key", - "BUTTON_GENERATE_OPEN_PGP_KEYS": "生成 OpenPGP 密鑰", + "BUTTON_IMPORT_KEY": "導入 Key", + "BUTTON_GENERATE_KEY_PAIR": "生成 密鑰", "TITLE_PRIVATE": "私有", "TITLE_PUBLIC": "公開", "LABEL_ALLOW_DRAFT_AUTOSAVE": "Automatically save draft" diff --git a/snappymail/v/0.0.0/app/templates/Views/User/PopupsViewOpenPgpKey.html b/snappymail/v/0.0.0/app/templates/Views/User/PopupsOpenPgpKey.html similarity index 100% rename from snappymail/v/0.0.0/app/templates/Views/User/PopupsViewOpenPgpKey.html rename to snappymail/v/0.0.0/app/templates/Views/User/PopupsOpenPgpKey.html diff --git a/snappymail/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html b/snappymail/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html index 814dfcade..6c4880990 100644 --- a/snappymail/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html +++ b/snappymail/v/0.0.0/app/templates/Views/User/SettingsOpenPGP.html @@ -1,8 +1,8 @@
OpenPGP
- +    - +
@@ -18,7 +18,8 @@
-
+ +
GnuPG @@ -63,8 +64,10 @@
Private keys
+ -
+ +
OpenPGP.js @@ -107,8 +110,11 @@
Private keys
+ -
+ +
Mailvelope
+