#89 support decrypting using Mailvelope

This commit is contained in:
the-djmaze 2022-01-26 17:08:10 +01:00
parent 3aca446e8d
commit d3b60bf097
39 changed files with 243 additions and 161 deletions

View file

@ -48,8 +48,11 @@ export class OpenPgpUserSettings /*extends AbstractViewSettings*/ {
}
onBuild() {
window.mailvelope
&& mailvelope.createSettingsContainer('#mailvelope-settings'/*[, keyring], options*/);
/**
* Create an iframe to display the Mailvelope keyring settings.
* The iframe will be injected into the container identified by selector.
*/
window.mailvelope && mailvelope.createSettingsContainer('#mailvelope-settings'/*[, keyring], options*/);
}
/**

View file

@ -385,27 +385,6 @@ export const PgpUserStore = new class {
return false;
}
/**
* Creates an iframe to display the decrypted content of the encrypted mail.
* The iframe will be injected into the container identified by selector.
*/
/*
mailvelope.createDisplayContainer(selector, armored, this.mailvelopeKeyring, {senderAddress:''}).then(status => {
if (status.error && status.error.message) {
return error_handler(status.error);
}
ref.hide_message(msgid);
$(selector).children().not('iframe').hide();
$(ref.gui_objects.messagebody).addClass('mailvelope');
// on success we can remove encrypted part from the attachments list
if (ref.env.pgp_mime_part)
$('#attach' + ref.env.pgp_mime_part).remove();
setTimeout(function() { $(window).resize(); }, 10);
}, error_handler);
*/
/**
* Creates an iframe with an editor for a new encrypted mail.
* The iframe will be injected into the container identified by selector.
@ -428,14 +407,6 @@ export const PgpUserStore = new class {
}, error_handler)
*/
/**
* Creates an iframe to display the keyring settings.
* The iframe will be injected into the container identified by selector.
*/
/*
mailvelope.createSettingsContainer(selector [, keyring], options)
*/
/**
* Returns headers that should be added to an outgoing email.
* So far this is only the autocrypt header.

View file

@ -432,33 +432,37 @@ html.rl-no-preview-pane {
}
}
.b-openpgp-encrypted {
color: #18F;
}
.b-openpgp-signed {
color: #FA0;
}
.b-openpgp-control {
cursor: pointer;
display: block;
opacity: 0.5;
margin: 15px;
&:hover {
opacity: 1;
}
.openpgp-control {
margin: 0.5em;
padding: 0.5em;
&.success {
color: green;
opacity: 1;
}
&.error {
color: red;
opacity: 1;
}
span {
margin-right: 1em;
}
button {
cursor: pointer;
}
&.encrypted {
border: 1px dashed #18F;
color: #18F;
}
&.signed {
border: 1px dashed #FA0;
color: #FA0;
}
}
.b-text-part > iframe {
min-height: 50vh;
}
.thread-controls {

View file

@ -42,6 +42,8 @@ import { AbstractViewRight } from 'Knoin/AbstractViews';
import { PgpUserStore } from 'Stores/User/Pgp';
const currentMessage = () => MessageUserStore.message();
export class MailMessageView extends AbstractViewRight {
constructor() {
super('MailMessageView');
@ -55,7 +57,7 @@ export class MailMessageView extends AbstractViewRight {
createCommandActionHelper = (folderType, useFolder) =>
createCommand(() => {
const message = MessageUserStore.message();
const message = currentMessage();
if (message) {
MessageUserStore.message(null);
rl.app.deleteMessagesFromFolder(folderType, message.folder, [message.uid], useFolder);
@ -152,7 +154,7 @@ export class MailMessageView extends AbstractViewRight {
)
},
messageVisibility: () => !MessageUserStore.messageLoading() && !!MessageUserStore.message(),
messageVisibility: () => !MessageUserStore.messageLoading() && !!currentMessage(),
canBeRepliedOrForwarded: () => !this.isDraftFolder() && this.messageVisibility(),
@ -178,17 +180,18 @@ export class MailMessageView extends AbstractViewRight {
return '';
},
pgpSigned: () => MessageUserStore.message() && !!MessageUserStore.message().pgpSigned(),
pgpEncrypted: () => MessageUserStore.message() && MessageUserStore.message().isPgpEncrypted(),
pgpSigned: () => currentMessage() && !!currentMessage().pgpSigned(),
pgpEncrypted: () => currentMessage()
&& currentMessage().isPgpEncrypted(),
pgpSupported: () => currentMessage() && PgpUserStore.isSupported(),
messageListOrViewLoading:
() => MessageUserStore.listIsLoading() | MessageUserStore.messageLoading()
});
this.addSubscribables({
showAttachmentControls: v => MessageUserStore.message()
&& MessageUserStore.message().attachments.forEach(item => item && item.checked(!!v)),
showAttachmentControls: v => currentMessage()
&& currentMessage().attachments.forEach(item => item && item.checked(!!v)),
lastReplyAction_: value => Local.set(ClientSideKeyName.LastReplyAction, value),
@ -253,7 +256,7 @@ export class MailMessageView extends AbstractViewRight {
});
MessageUserStore.messageViewTrigger.subscribe(() => {
const message = MessageUserStore.message();
const message = currentMessage();
this.viewIsFlagged(message ? message.isFlagged() : false);
});
@ -279,13 +282,13 @@ export class MailMessageView extends AbstractViewRight {
goUpCommand() {
dispatchEvent(new CustomEvent('mailbox.message-list.selector.go-up',
{detail:SettingsUserStore.usePreviewPane() || !!MessageUserStore.message()} // bForceSelect
{detail:SettingsUserStore.usePreviewPane() || !!currentMessage()} // bForceSelect
));
}
goDownCommand() {
dispatchEvent(new CustomEvent('mailbox.message-list.selector.go-down',
{detail:SettingsUserStore.usePreviewPane() || !!MessageUserStore.message()} // bForceSelect
{detail:SettingsUserStore.usePreviewPane() || !!currentMessage()} // bForceSelect
));
}
@ -302,14 +305,14 @@ export class MailMessageView extends AbstractViewRight {
* @returns {void}
*/
replyOrforward(sType) {
showMessageComposer([sType, MessageUserStore.message()]);
showMessageComposer([sType, currentMessage()]);
}
onBuild(dom) {
this.oMessageScrollerDom = dom.querySelector('.messageItem');
this.fullScreenMode.subscribe(value =>
value && MessageUserStore.message() && AppUserStore.focusedState(Scope.MessageView));
value && currentMessage() && AppUserStore.focusedState(Scope.MessageView));
this.showFullInfo.subscribe(value => Local.set(ClientSideKeyName.MessageHeaderFullInfo, value ? '1' : '0'));
@ -359,7 +362,7 @@ export class MailMessageView extends AbstractViewRight {
}
if (eqs(event, '.messageItemHeader .subjectParent .flagParent')) {
const message = MessageUserStore.message();
const message = currentMessage();
message && rl.app.messageListAction(
message.folder,
message.isFlagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
@ -381,7 +384,7 @@ export class MailMessageView extends AbstractViewRight {
// exit fullscreen, back
shortcuts.add('escape,backspace', '', Scope.MessageView, () => {
if (!this.viewModelDom.hidden && MessageUserStore.message()) {
if (!this.viewModelDom.hidden && currentMessage()) {
const preview = SettingsUserStore.usePreviewPane();
if (this.fullScreenMode()) {
this.fullScreenMode(false);
@ -407,7 +410,7 @@ export class MailMessageView extends AbstractViewRight {
// reply
shortcuts.add('r,mailreply', '', [Scope.MessageList, Scope.MessageView], () => {
if (MessageUserStore.message()) {
if (currentMessage()) {
this.replyCommand();
return false;
}
@ -416,13 +419,13 @@ export class MailMessageView extends AbstractViewRight {
// replyAll
shortcuts.add('a', '', [Scope.MessageList, Scope.MessageView], () => {
if (MessageUserStore.message()) {
if (currentMessage()) {
this.replyAllCommand();
return false;
}
});
shortcuts.add('mailreply', 'shift', [Scope.MessageList, Scope.MessageView], () => {
if (MessageUserStore.message()) {
if (currentMessage()) {
this.replyAllCommand();
return false;
}
@ -430,7 +433,7 @@ export class MailMessageView extends AbstractViewRight {
// forward
shortcuts.add('f,mailforward', '', [Scope.MessageList, Scope.MessageView], () => {
if (MessageUserStore.message()) {
if (currentMessage()) {
this.forwardCommand();
return false;
}
@ -438,7 +441,7 @@ export class MailMessageView extends AbstractViewRight {
// message information
shortcuts.add('i', 'meta', [Scope.MessageList, Scope.MessageView], () => {
if (MessageUserStore.message()) {
if (currentMessage()) {
this.showFullInfo(!this.showFullInfo());
}
return false;
@ -446,7 +449,7 @@ export class MailMessageView extends AbstractViewRight {
// toggle message blockquotes
shortcuts.add('b', '', [Scope.MessageList, Scope.MessageView], () => {
const message = MessageUserStore.message();
const message = currentMessage();
if (message && message.body) {
message.body.querySelectorAll('.rlBlockquoteSwitcher').forEach(node => node.click());
return false;
@ -465,7 +468,7 @@ export class MailMessageView extends AbstractViewRight {
// print
shortcuts.add('p,printscreen', 'meta', [Scope.MessageView, Scope.MessageList], () => {
MessageUserStore.message() && MessageUserStore.message().printMessage();
currentMessage() && currentMessage().printMessage();
return false;
});
@ -481,14 +484,14 @@ export class MailMessageView extends AbstractViewRight {
// change focused state
shortcuts.add('arrowleft', '', Scope.MessageView, () => {
if (!this.fullScreenMode() && MessageUserStore.message() && SettingsUserStore.usePreviewPane()
if (!this.fullScreenMode() && currentMessage() && SettingsUserStore.usePreviewPane()
&& !this.oMessageScrollerDom.scrollLeft) {
AppUserStore.focusedState(Scope.MessageList);
return false;
}
});
shortcuts.add('tab', 'shift', Scope.MessageView, () => {
if (!this.fullScreenMode() && MessageUserStore.message() && SettingsUserStore.usePreviewPane()) {
if (!this.fullScreenMode() && currentMessage() && SettingsUserStore.usePreviewPane()) {
AppUserStore.focusedState(Scope.MessageList);
}
return false;
@ -499,42 +502,42 @@ export class MailMessageView extends AbstractViewRight {
* @returns {boolean}
*/
isDraftFolder() {
return MessageUserStore.message() && FolderUserStore.draftsFolder() === MessageUserStore.message().folder;
return currentMessage() && FolderUserStore.draftsFolder() === currentMessage().folder;
}
/**
* @returns {boolean}
*/
isSentFolder() {
return MessageUserStore.message() && FolderUserStore.sentFolder() === MessageUserStore.message().folder;
return currentMessage() && FolderUserStore.sentFolder() === currentMessage().folder;
}
/**
* @returns {boolean}
*/
isSpamFolder() {
return MessageUserStore.message() && FolderUserStore.spamFolder() === MessageUserStore.message().folder;
return currentMessage() && FolderUserStore.spamFolder() === currentMessage().folder;
}
/**
* @returns {boolean}
*/
isSpamDisabled() {
return MessageUserStore.message() && FolderUserStore.spamFolder() === UNUSED_OPTION_VALUE;
return currentMessage() && FolderUserStore.spamFolder() === UNUSED_OPTION_VALUE;
}
/**
* @returns {boolean}
*/
isArchiveFolder() {
return MessageUserStore.message() && FolderUserStore.archiveFolder() === MessageUserStore.message().folder;
return currentMessage() && FolderUserStore.archiveFolder() === currentMessage().folder;
}
/**
* @returns {boolean}
*/
isArchiveDisabled() {
return MessageUserStore.message() && FolderUserStore.archiveFolder() === UNUSED_OPTION_VALUE;
return currentMessage() && FolderUserStore.archiveFolder() === UNUSED_OPTION_VALUE;
}
/**
@ -549,8 +552,8 @@ export class MailMessageView extends AbstractViewRight {
}
editMessage() {
if (MessageUserStore.message()) {
showMessageComposer([ComposeType.Draft, MessageUserStore.message()]);
if (currentMessage()) {
showMessageComposer([ComposeType.Draft, currentMessage()]);
}
}
@ -563,7 +566,7 @@ export class MailMessageView extends AbstractViewRight {
}
downloadAsZip() {
const hashes = (MessageUserStore.message() ? MessageUserStore.message().attachments : [])
const hashes = (currentMessage() ? currentMessage().attachments : [])
.map(item => (item && !item.isLinked && item.checked() ? item.download : ''))
.filter(v => v);
if (hashes.length) {
@ -586,7 +589,7 @@ export class MailMessageView extends AbstractViewRight {
* @returns {void}
*/
showImages() {
MessageUserStore.message() && MessageUserStore.message().showExternalImages();
currentMessage() && currentMessage().showExternalImages();
}
/**
@ -602,7 +605,7 @@ export class MailMessageView extends AbstractViewRight {
* @returns {void}
*/
readReceipt() {
let oMessage = MessageUserStore.message()
let oMessage = currentMessage()
if (oMessage && oMessage.readReceipt()) {
Remote.request('SendReadReceiptMessage', null, {
MessageFolder: oMessage.folder,
@ -622,19 +625,50 @@ export class MailMessageView extends AbstractViewRight {
}
pgpDecrypt(self) {
const message = self.message();
if (message && PgpUserStore.isSupported()) {
// pgpClickHelper(message.body, message.plain(), message.getEmails(['from', 'to', 'cc']));
if (self.pgpEncrypted()) {
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);
});
}
/*
pgpEncrypted: () => PgpUserStore.isSupported()
&& MessageUserStore.message() && MessageUserStore.message().isPgpEncrypted(),
else if (window.openpgp) {
decryptMessage(message, recipients, fCallback)
}
else if (Settings.capa(Capa.GnuPG)) {
}
*/
}
}
pgpVerify(self) {
const message = self.message();
if (message && PgpUserStore.isSupported()) {
if (self.pgpSigned()) {
const message = self.message();
PgpUserStore.hasPublicKeyForEmails([message.from[0].email]).then(mode => {
if ('gnupg' === mode) {
let params = message.pgpSigned(); // { BodyPartId: "1", SigPartId: "2", MicAlg: "pgp-sha256" }

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "الملحقات",
"MESSAGE_VIEW_DESC": "حدد رسالة من القائمة ليتم عرضها هنا",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message (click to verify)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message (click to decrypt)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message",
"BUTTON_PGP_VERIFY": "click to verify",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message",
"BUTTON_PGP_DECRYPT": "click to decrypt",
"LINK_DOWNLOAD_AS_ZIP": "zip تنزيل كـ",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Прикрепени файлове",
"MESSAGE_VIEW_DESC": "Изберете съобщение, за да го видите тук.",
"MESSAGE_VIEW_MOVE_DESC": "Изберете цел от папките в лявото поле",
"PGP_SIGNED_MESSAGE_DESC": "Подписано с OpenPGP (кликни за проверка)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Шифровано с OpenPGP (кликни за проверка)",
"PGP_SIGNED_MESSAGE_DESC": "Подписано с OpenPGP",
"BUTTON_PGP_VERIFY": "кликни за проверка",
"PGP_ENCRYPTED_MESSAGE_DESC": "Шифровано с OpenPGP",
"BUTTON_PGP_DECRYPT": "кликни за проверка",
"LINK_DOWNLOAD_AS_ZIP": "Свали като ZIP файл",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Přílohy",
"MESSAGE_VIEW_DESC": "Vyberte zprávu ze seznamu pro její zobrazení zde.",
"MESSAGE_VIEW_MOVE_DESC": "Vyberte cílovou složku v levém panelu.",
"PGP_SIGNED_MESSAGE_DESC": "Zpráva podepsaná OpenPGP (klikněte pro ověření)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Zpráva šifrovaná OpenPGP (klikněte pro dešifraci)",
"PGP_SIGNED_MESSAGE_DESC": "Zpráva podepsaná OpenPGP",
"BUTTON_PGP_VERIFY": "klikněte pro ověření",
"PGP_ENCRYPTED_MESSAGE_DESC": "Zpráva šifrovaná OpenPGP",
"BUTTON_PGP_DECRYPT": "klikněte pro dešifraci",
"LINK_DOWNLOAD_AS_ZIP": "Stáhnout jako zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Vedhæftninger",
"MESSAGE_VIEW_DESC": "Vælg meddelelse i oversigten for visning.",
"MESSAGE_VIEW_MOVE_DESC": "Vælg modtagemappe i panelet til venstre.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signeret meddelelse (tryk for at verificere)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP krypteret meddelelse (tryk for at dekryptere)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signeret meddelelse",
"BUTTON_PGP_VERIFY": "tryk for at verificere",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP krypteret meddelelse",
"BUTTON_PGP_DECRYPT": "tryk for at dekryptere",
"LINK_DOWNLOAD_AS_ZIP": "Hent som zip-fil",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Anhänge",
"MESSAGE_VIEW_DESC": "Wählen Sie eine Nachricht aus der Liste aus, um sie anzuzeigen.",
"MESSAGE_VIEW_MOVE_DESC": "Klicke auf den Ordnernamen auf der linken Seite, um die Nachricht zu verschieben.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signierte Nachricht (klicken, um zu überprüfen)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-verschlüsselte Nachricht (klicken, um zu entschlüsseln)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signierte Nachricht",
"BUTTON_PGP_VERIFY": "klicken, um zu überprüfen",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-verschlüsselte Nachricht",
"BUTTON_PGP_DECRYPT": "klicken, um zu entschlüsseln",
"LINK_DOWNLOAD_AS_ZIP": "Als ZIP-Datei herunterladen",
"SPAM_SCORE": "Spam-Score",
"HAS_VIRUS_WARNING": "WARNUNG: Virus erkannt"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Συνημμένα",
"MESSAGE_VIEW_DESC": "Επιλέξτε ένα μήνυμα από τη λίστα για να εμφανιστεί εδώ.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "Μήνυμα υπογεγραμμένο με OpenPGP (κάντε κλικ για έλεγχο)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Μήνυμα κωδικοποιημένο με OpenPGP (κάντε κλίκ για αποκωδικοποίηση)",
"PGP_SIGNED_MESSAGE_DESC": "Μήνυμα υπογεγραμμένο με OpenPGP",
"BUTTON_PGP_VERIFY": "κάντε κλικ για έλεγχο",
"PGP_ENCRYPTED_MESSAGE_DESC": "Μήνυμα κωδικοποιημένο με OpenPGP",
"BUTTON_PGP_DECRYPT": "κάντε κλίκ για αποκωδικοποίηση",
"LINK_DOWNLOAD_AS_ZIP": "Μεταφόρτωση σαν zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Attachments",
"MESSAGE_VIEW_DESC": "Select any message in the list to view it here.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message (click to verify)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message (click to decrypt)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message",
"BUTTON_PGP_VERIFY": "click to verify",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message",
"BUTTON_PGP_DECRYPT": "click to decrypt",
"LINK_DOWNLOAD_AS_ZIP": "Download as zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Adjuntos",
"MESSAGE_VIEW_DESC": "Seleccione un mensaje de la lista para verlo aquí.",
"MESSAGE_VIEW_MOVE_DESC": "Haga clic en el nombre de la carpeta del panel izquierdo para seleccionar el destino.",
"PGP_SIGNED_MESSAGE_DESC": "Mensaje firmado mediante OpenPGP (click para verificar)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensaje cifrado mediante OpenPGP (click para desencriptar)",
"PGP_SIGNED_MESSAGE_DESC": "Mensaje firmado mediante OpenPGP",
"BUTTON_PGP_VERIFY": "click para verificar",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensaje cifrado mediante OpenPGP",
"BUTTON_PGP_DECRYPT": "click para desencriptar",
"LINK_DOWNLOAD_AS_ZIP": "Descargar todo (archivo ZIP)",
"SPAM_SCORE": "Puntuación de spam",
"HAS_VIRUS_WARNING": "ADVERTENCIA: virus detectado"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Manused",
"MESSAGE_VIEW_DESC": "Vali nimekirjast kiri, mida siin näidata",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP abil signeeritud kiri (kliki verifitseerimiseks)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP abil krüpteeritud kiri (kliki dekrüpteerimiseks)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP abil signeeritud kiri",
"BUTTON_PGP_VERIFY": "kliki verifitseerimiseks",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP abil krüpteeritud kiri",
"BUTTON_PGP_DECRYPT": "kliki dekrüpteerimiseks",
"LINK_DOWNLOAD_AS_ZIP": "Laadi alla .zip failina",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "پیوست‌ها",
"MESSAGE_VIEW_DESC": "پیام را در لیست جهت مشاهده انتخاب کنید",
"MESSAGE_VIEW_MOVE_DESC": "بر روی نام شاخه در پنل سمت راست جهت انتخاب مقصد کلیک کنید",
"PGP_SIGNED_MESSAGE_DESC": "پیام توسط OpenPGP امضاء شد (برای بررسی کلیک کنید)",
"PGP_ENCRYPTED_MESSAGE_DESC": "پیام توسط OpenPGP رمزنگاری شد (برای خارج شدن از حالت رمز کلیک کنید)",
"PGP_SIGNED_MESSAGE_DESC": "پیام توسط OpenPGP امضاء شد",
"BUTTON_PGP_VERIFY": "برای بررسی کلیک کنید",
"PGP_ENCRYPTED_MESSAGE_DESC": "پیام توسط OpenPGP رمزنگاری شد",
"BUTTON_PGP_DECRYPT": "برای خارج شدن از حالت رمز کلیک کنید",
"LINK_DOWNLOAD_AS_ZIP": "دریافت با پسوند zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Liite",
"MESSAGE_VIEW_DESC": "Valitse viesti listasta nähdäksesi sen tässä",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP allekirjoitettu viesti (klikkaa verifioidaksesi)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP salattu visti (klikkaa avataksesi salaus)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP allekirjoitettu viesti",
"BUTTON_PGP_VERIFY": "klikkaa verifioidaksesi",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP salattu visti",
"BUTTON_PGP_DECRYPT": "klikkaa avataksesi salaus",
"LINK_DOWNLOAD_AS_ZIP": "Lataa zip-tiedostona",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Pièces jointes",
"MESSAGE_VIEW_DESC": "Sélectionner un message dans la liste pour l'afficher ici.",
"MESSAGE_VIEW_MOVE_DESC": "Cliquez sur le nom du dossier dans le panneau de gauche pour sélectionner la destination.",
"PGP_SIGNED_MESSAGE_DESC": "Message signé par OpenPGP (cliquer pour vérifier)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Message chiffré par OpenPGP (cliquer pour déchiffrer)",
"PGP_SIGNED_MESSAGE_DESC": "Message signé par OpenPGP",
"BUTTON_PGP_VERIFY": "cliquer pour vérifier",
"PGP_ENCRYPTED_MESSAGE_DESC": "Message chiffré par OpenPGP",
"BUTTON_PGP_DECRYPT": "cliquer pour déchiffrer",
"LINK_DOWNLOAD_AS_ZIP": "Télécharger le zip",
"SPAM_SCORE": "Score de spam",
"HAS_VIRUS_WARNING": "ATTENTION : virus détecté"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Mellékletek",
"MESSAGE_VIEW_DESC": "Válassz egy üzenetet a listából, hogy megjelenjen itt.",
"MESSAGE_VIEW_MOVE_DESC": "A cél kiválasztásához a bal oldali panelen kattints a mappa nevére.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP aláírt üzenet (kattints az ellenőrzéshez)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP kódolt üzenet (kattints a visszafejtéshez)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP aláírt üzenet",
"BUTTON_PGP_VERIFY": "kattints az ellenőrzéshez",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP kódolt üzenet",
"BUTTON_PGP_DECRYPT": "kattints a visszafejtéshez",
"LINK_DOWNLOAD_AS_ZIP": "Letöltés zip fájlként",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "FIGYELEM: vírust észleltünk"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Lampiran",
"MESSAGE_VIEW_DESC": "Pilih pesan pada daftar untuk menampilkannya di sini.",
"MESSAGE_VIEW_MOVE_DESC": "Klik pada nama folder pada panel kiri untuk memilih tujuan.",
"PGP_SIGNED_MESSAGE_DESC": "Pesan bertanda-tangan OpenPGP (klik untuk verifikasi)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Pesan terenkripsi OpenPGP (klik untuk mendekripsi)",
"PGP_SIGNED_MESSAGE_DESC": "Pesan bertanda-tangan OpenPGP",
"BUTTON_PGP_VERIFY": "klik untuk verifikasi",
"PGP_ENCRYPTED_MESSAGE_DESC": "Pesan terenkripsi OpenPGP",
"BUTTON_PGP_DECRYPT": "klik untuk mendekripsi",
"LINK_DOWNLOAD_AS_ZIP": "Unduh sebagai berkas zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Viðhengi",
"MESSAGE_VIEW_DESC": "Veldu skilaboð úr listanum til að skoða hér.",
"MESSAGE_VIEW_MOVE_DESC": "Smelltu á heiti möppu á spjaldinu til vinstri til að velja áfangastaðinn.",
"PGP_SIGNED_MESSAGE_DESC": "Skeyti undirritað með OpenPGP (smelltu til að sannvotta)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Skeyti dulritað með OpenPGP (smelltu til að afkóða)",
"PGP_SIGNED_MESSAGE_DESC": "Skeyti undirritað með OpenPGP",
"BUTTON_PGP_VERIFY": "smelltu til að sannvotta",
"PGP_ENCRYPTED_MESSAGE_DESC": "Skeyti dulritað með OpenPGP",
"BUTTON_PGP_DECRYPT": "smelltu til að afkóða",
"LINK_DOWNLOAD_AS_ZIP": "Sækja sem .zip skrá",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Allegati",
"MESSAGE_VIEW_DESC": "Seleziona un messaggio dalla lista per visualizzarlo qui",
"MESSAGE_VIEW_MOVE_DESC": "Clicca sul nome della cartella nel pannello sinistro per selezionare la destinazione.",
"PGP_SIGNED_MESSAGE_DESC": "Messaggio firmato con OpenPGP (clicca qui per verificarlo)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Messaggio cifrato con OpenPGP (clicca qui per decifrarlo)",
"PGP_SIGNED_MESSAGE_DESC": "Messaggio firmato con OpenPGP",
"BUTTON_PGP_VERIFY": "clicca qui per verificarlo",
"PGP_ENCRYPTED_MESSAGE_DESC": "Messaggio cifrato con OpenPGP",
"BUTTON_PGP_DECRYPT": "clicca qui per decifrarlo",
"LINK_DOWNLOAD_AS_ZIP": "Scarica come archivio ZIP",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "添付ファイル",
"MESSAGE_VIEW_DESC": "選択したメールがここに表示されます。",
"MESSAGE_VIEW_MOVE_DESC": "左側のパネルでフォルダ名をクリックして移動先を選択します。",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP 署名済みメッセージ (クリックして検証)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP 暗号化メッセージ (クリックして復号化)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP 署名済みメッセージ",
"BUTTON_PGP_VERIFY": "クリックして検証",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP 暗号化メッセージ",
"BUTTON_PGP_DECRYPT": "クリックして復号化",
"LINK_DOWNLOAD_AS_ZIP": "Zip としてダウンロード",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "첨부파일",
"MESSAGE_VIEW_DESC": "목록에서 선택한 메시지가 여기에 표시됩니다.",
"MESSAGE_VIEW_MOVE_DESC": "왼쪽 패널에서 폴더명을 클릭하여 위치를 선택하세요.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP로 서명된 메세지입니다. (인증하려면 클릭하세요)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP로 암호화된 메세지입니다. (복호화하려면 클릭하세요)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP로 서명된 메세지입니다.",
"BUTTON_PGP_VERIFY": "인증하려면 클릭하세요",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP로 암호화된 메세지입니다.",
"BUTTON_PGP_DECRYPT": "복호화하려면 클릭하세요",
"LINK_DOWNLOAD_AS_ZIP": ".zip 파일로 다운로드",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Priedai",
"MESSAGE_VIEW_DESC": "Pasirinkite žinutę sąraše, kad matytumėte jos turinį čia.",
"MESSAGE_VIEW_MOVE_DESC": "Kairėje pasirinkite katalogą, į kurį norite perkelti.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP pasirašytas pranešimas (spustelkite patikrinimui)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP šifruotas pranešimas (spustelkite iššifravimui)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP pasirašytas pranešimas",
"BUTTON_PGP_VERIFY": "spustelkite patikrinimui",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP šifruotas pranešimas",
"BUTTON_PGP_DECRYPT": "spustelkite iššifravimui",
"LINK_DOWNLOAD_AS_ZIP": "Atsisiųsti zip archyvą",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Pielikumi",
"MESSAGE_VIEW_DESC": "Izvēlaties ziņojumu no saraksta lai to apskatītu.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message (click to verify)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message (click to decrypt)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message",
"BUTTON_PGP_VERIFY": "click to verify",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message",
"BUTTON_PGP_DECRYPT": "click to decrypt",
"LINK_DOWNLOAD_AS_ZIP": "Download as zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Vedlegg",
"MESSAGE_VIEW_DESC": "Trykk på en melding for å lese den",
"MESSAGE_VIEW_MOVE_DESC": "Trykk på mappenavn i panelet til venstre for å velge mål.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signert melding (trykk for å bekrefte)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-kryptert melding (trykk for å dekryptere)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signert melding",
"BUTTON_PGP_VERIFY": "trykk for å bekrefte",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-kryptert melding",
"BUTTON_PGP_DECRYPT": "trykk for å dekryptere",
"LINK_DOWNLOAD_AS_ZIP": "Last ned som zip-fil",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Bijlagen",
"MESSAGE_VIEW_DESC": "Selecteer een bericht in de lijst om hier te bekijken",
"MESSAGE_VIEW_MOVE_DESC": "Klik op de doel map in het linker paneel.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP ondertekend bericht (klik om te verifiëren)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP versleuteld bericht (klik om te ontsleutelen)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP ondertekend bericht",
"BUTTON_PGP_VERIFY": "klik om te verifiëren",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP versleuteld bericht",
"BUTTON_PGP_DECRYPT": "klik om te ontsleutelen",
"LINK_DOWNLOAD_AS_ZIP": "Download als zip",
"SPAM_SCORE": "Spamscore",
"HAS_VIRUS_WARNING": "WAARSCHUWING: virus gedetecteerd"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Załączniki",
"MESSAGE_VIEW_DESC": "Wybierz wiadomość do wyświetlenia.",
"MESSAGE_VIEW_MOVE_DESC": "Kliknij nazwę folderu w lewym panelu, aby wybrać folder docelowy.",
"PGP_SIGNED_MESSAGE_DESC": "Wiadomość podpisana OpenPGP (kliknij aby zweryfikować)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Wiadomość zaszyfrowana OpenPGP (kliknij aby odszyfrować)",
"PGP_SIGNED_MESSAGE_DESC": "Wiadomość podpisana OpenPGP",
"BUTTON_PGP_VERIFY": "kliknij aby zweryfikować",
"PGP_ENCRYPTED_MESSAGE_DESC": "Wiadomość zaszyfrowana OpenPGP",
"BUTTON_PGP_DECRYPT": "kliknij aby odszyfrować",
"LINK_DOWNLOAD_AS_ZIP": "Pobierz jako plik zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Anexos",
"MESSAGE_VIEW_DESC": "Selecione uma mensagem para visualizá-la aqui.",
"MESSAGE_VIEW_MOVE_DESC": "Clique no nome da pasta no painel esquerdo para selecionar o destino.",
"PGP_SIGNED_MESSAGE_DESC": "Mensagem assinada com OpenPGP (clique para verificar)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensagem criptografada com OpenPGP (clique para descriptografar)",
"PGP_SIGNED_MESSAGE_DESC": "Mensagem assinada com OpenPGP",
"BUTTON_PGP_VERIFY": "clique para verificar",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensagem criptografada com OpenPGP",
"BUTTON_PGP_DECRYPT": "clique para descriptografar",
"LINK_DOWNLOAD_AS_ZIP": "Baixar como zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Anexos",
"MESSAGE_VIEW_DESC": "Selecione uma mensagem na lista para ver o conteúdo aqui.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "Mensagem assinada com OpenPGP (clique para verificar)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensagem encriptada com OpenPGP (clique para desencriptar)",
"PGP_SIGNED_MESSAGE_DESC": "Mensagem assinada com OpenPGP",
"BUTTON_PGP_VERIFY": "clique para verificar",
"PGP_ENCRYPTED_MESSAGE_DESC": "Mensagem encriptada com OpenPGP",
"BUTTON_PGP_DECRYPT": "clique para desencriptar",
"LINK_DOWNLOAD_AS_ZIP": "Transferir em arquivo zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Atașament",
"MESSAGE_VIEW_DESC": "Selectați un mesaj pentru a-l vizualiza.",
"MESSAGE_VIEW_MOVE_DESC": "Faceți clic pe numele dosarului din panoul din stânga pentru a selecta destinația.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message (click to verify)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message (click to decrypt)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message",
"BUTTON_PGP_VERIFY": "click to verify",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message",
"BUTTON_PGP_DECRYPT": "click to decrypt",
"LINK_DOWNLOAD_AS_ZIP": "Download as zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Файлы",
"MESSAGE_VIEW_DESC": "Выберите сообщение для просмотра.",
"MESSAGE_VIEW_MOVE_DESC": "Выберите имя папки в левой панели, чтобы переместить сообщение.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP подписанное сообщение (нажмите, чтобы подтвердить)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP шифрованное сообщение (нажмите, чтобы расшифровать)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP подписанное сообщение",
"BUTTON_PGP_VERIFY": "нажмите, чтобы подтвердить",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP шифрованное сообщение",
"BUTTON_PGP_DECRYPT": "нажмите, чтобы расшифровать",
"LINK_DOWNLOAD_AS_ZIP": "Сохранить как zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Prílohy",
"MESSAGE_VIEW_DESC": "Vyberte správu zo zoznamu pre jej zobrazenie.",
"MESSAGE_VIEW_MOVE_DESC": "Zvoľte cieľ kliknutím na názov priečinka v ľavom stĺpci.",
"PGP_SIGNED_MESSAGE_DESC": "Správa podpísaná s OpenPGP (kliknite pre overenie)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Správa šifrovaná s OpenPGP (kliknite pre dešifrovanie)",
"PGP_SIGNED_MESSAGE_DESC": "Správa podpísaná s OpenPGP",
"BUTTON_PGP_VERIFY": "kliknite pre overenie",
"PGP_ENCRYPTED_MESSAGE_DESC": "Správa šifrovaná s OpenPGP",
"BUTTON_PGP_DECRYPT": "kliknite pre dešifrovanie",
"LINK_DOWNLOAD_AS_ZIP": "Prevziať ako zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Priloge",
"MESSAGE_VIEW_DESC": "Izberite sporočilo s seznama za ogled.",
"MESSAGE_VIEW_MOVE_DESC": "Za izbor cilja kliknite na ime mape na levi strani.",
"PGP_SIGNED_MESSAGE_DESC": "Sporočilo, podpisano z OpenPGP (kliknite za overovitev)",
"PGP_ENCRYPTED_MESSAGE_DESC": "Sporočilo, šifrirano z OpenPGP (kliknite za dešifriranje)",
"PGP_SIGNED_MESSAGE_DESC": "Sporočilo, podpisano z OpenPGP",
"BUTTON_PGP_VERIFY": "kliknite za overovitev",
"PGP_ENCRYPTED_MESSAGE_DESC": "Sporočilo, šifrirano z OpenPGP",
"BUTTON_PGP_DECRYPT": "kliknite za dešifriranje",
"LINK_DOWNLOAD_AS_ZIP": "Prenesi kot .zip datoteko",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Bilagor",
"MESSAGE_VIEW_DESC": "Välj meddelande i listan att visa här.",
"MESSAGE_VIEW_MOVE_DESC": "Klicka på mapp till vänster för att välja mål mapp.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signerat meddelande (klicka för att verifiera)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-krypterat meddelande (klicka för att dekryptera)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP-signerat meddelande",
"BUTTON_PGP_VERIFY": "klicka för att verifiera",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP-krypterat meddelande",
"BUTTON_PGP_DECRYPT": "klicka för att dekryptera",
"LINK_DOWNLOAD_AS_ZIP": "Ladda ner som ZIP-fil",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "VARNING: virus upptäckt"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Ekler",
"MESSAGE_VIEW_DESC": "Burada görüntülemek için listeden mesaj seçin.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP imzalı mesaj (onay için tıklayın)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP şifreli mesaj (çözmek için tıklayın)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP imzalı mesaj",
"BUTTON_PGP_VERIFY": "onay için tıklayın",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP şifreli mesaj",
"BUTTON_PGP_DECRYPT": "çözmek için tıklayın",
"LINK_DOWNLOAD_AS_ZIP": "Download as zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "Файли",
"MESSAGE_VIEW_DESC": "Виберіть повідомлення для перегляду.",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP підписане повідомлення (натисніть, щоб підтвердити)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP шифроване повідомлення (натисніть, щоб розшифрувати)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP підписане повідомлення",
"BUTTON_PGP_VERIFY": "натисніть, щоб підтвердити",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP шифроване повідомлення",
"BUTTON_PGP_DECRYPT": "натисніть, щоб розшифрувати",
"LINK_DOWNLOAD_AS_ZIP": "Завантажити як zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "附件",
"MESSAGE_VIEW_DESC": "在此查看列表中选中的邮件。",
"MESSAGE_VIEW_MOVE_DESC": "点击左侧面板的文件夹作为目的地",
"PGP_SIGNED_MESSAGE_DESC": "由 OpenPGP 签名 (点击验证)",
"PGP_ENCRYPTED_MESSAGE_DESC": "由 OpenPGP 加密 (点击解密)",
"PGP_SIGNED_MESSAGE_DESC": "由 OpenPGP 签名",
"BUTTON_PGP_VERIFY": "点击验证",
"PGP_ENCRYPTED_MESSAGE_DESC": "由 OpenPGP 加密",
"BUTTON_PGP_DECRYPT": "点击解密",
"LINK_DOWNLOAD_AS_ZIP": "下载为zip压缩包",
"SPAM_SCORE": "垃圾邮件分数",
"HAS_VIRUS_WARNING": "警告:检测到病毒"

View file

@ -148,8 +148,10 @@
"PRINT_LABEL_ATTACHMENTS": "附件",
"MESSAGE_VIEW_DESC": "在此查看列表中選中的郵件。",
"MESSAGE_VIEW_MOVE_DESC": "Click folder name in the left panel to select the destination.",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message (click to verify)",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message (click to decrypt)",
"PGP_SIGNED_MESSAGE_DESC": "OpenPGP signed message",
"BUTTON_PGP_VERIFY": "click to verify",
"PGP_ENCRYPTED_MESSAGE_DESC": "OpenPGP encrypted message",
"BUTTON_PGP_DECRYPT": "click to decrypt",
"LINK_DOWNLOAD_AS_ZIP": "Download as zip",
"SPAM_SCORE": "Spam Score",
"HAS_VIRUS_WARNING": "WARNING: virus detected"

View file

@ -320,13 +320,15 @@
</div>
</div>
<div class="b-openpgp-control b-openpgp-encrypted" data-bind="visible: pgpEncrypted, click: pgpDecrypt">
<div class="openpgp-control encrypted" data-bind="visible: pgpEncrypted">
<i class="fontastic">🔒</i>
<span data-i18n="MESSAGE/PGP_ENCRYPTED_MESSAGE_DESC"></span>
<button data-bind="visible: pgpSupported, click: pgpDecrypt" data-i18n="MESSAGE/BUTTON_PGP_DECRYPT"></button>
</div>
<div class="b-openpgp-control b-openpgp-signed" data-bind="visible: pgpSigned, click: pgpVerify">
<div class="openpgp-control signed" data-bind="visible: pgpSigned">
<i class="fontastic">✍️</i>
<span data-i18n="MESSAGE/PGP_SIGNED_MESSAGE_DESC"></span>
<button data-bind="visible: pgpSupported, click: pgpVerify" data-i18n="MESSAGE/BUTTON_PGP_VERIFY"></button>
</div>
<div class="bodyText"