OpenPGP (#53) Beta

Archive  (Closes #110)
Delete, Spam and Archive button in mail view when preview pane is off  (Closes #72)
Small fixes  (Closes #101)
This commit is contained in:
RainLoop Team 2014-04-02 03:58:24 +04:00
parent ab817e1396
commit cae0cc2f77
45 changed files with 1390 additions and 172 deletions

View file

@ -215,26 +215,43 @@ RainLoopApp.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFol
self = this,
oData = RL.data(),
oCache = RL.cache(),
oTrashOrSpamFolder = oCache.getFolderFromCacheList(
Enums.FolderType.Spam === iDeleteType ? oData.spamFolder() : oData.trashFolder())
oMoveFolder = null,
nSetSystemFoldersNotification = null
;
switch (iDeleteType)
{
case Enums.FolderType.Spam:
oMoveFolder = oCache.getFolderFromCacheList(oData.spamFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Spam;
break;
case Enums.FolderType.Trash:
oMoveFolder = oCache.getFolderFromCacheList(oData.trashFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Trash;
break;
case Enums.FolderType.Archive:
oMoveFolder = oCache.getFolderFromCacheList(oData.archiveFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Archive;
break;
}
bUseFolder = Utils.isUnd(bUseFolder) ? true : !!bUseFolder;
if (bUseFolder)
{
if ((Enums.FolderType.Spam === iDeleteType && Consts.Values.UnuseOptionValue === oData.spamFolder()) ||
(Enums.FolderType.Trash === iDeleteType && Consts.Values.UnuseOptionValue === oData.trashFolder()))
(Enums.FolderType.Trash === iDeleteType && Consts.Values.UnuseOptionValue === oData.trashFolder()) ||
(Enums.FolderType.Archive === iDeleteType && Consts.Values.UnuseOptionValue === oData.archiveFolder()))
{
bUseFolder = false;
}
}
if (!oTrashOrSpamFolder && bUseFolder)
if (!oMoveFolder && bUseFolder)
{
kn.showScreenPopup(PopupsFolderSystemViewModel, [
Enums.FolderType.Spam === iDeleteType ? Enums.SetSystemFoldersNotification.Spam : Enums.SetSystemFoldersNotification.Trash]);
kn.showScreenPopup(PopupsFolderSystemViewModel, [nSetSystemFoldersNotification]);
}
else if (!bUseFolder || (sFromFolderFullNameRaw === oData.spamFolder() || sFromFolderFullNameRaw === oData.trashFolder()))
else if (!bUseFolder || (Enums.FolderType.Trash === iDeleteType &&
(sFromFolderFullNameRaw === oData.spamFolder() || sFromFolderFullNameRaw === oData.trashFolder())))
{
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), function () {
@ -248,16 +265,16 @@ RainLoopApp.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFol
}]);
}
else if (oTrashOrSpamFolder)
else if (oMoveFolder)
{
RL.remote().messagesMove(
this.moveOrDeleteResponseHelper,
sFromFolderFullNameRaw,
oTrashOrSpamFolder.fullNameRaw,
oMoveFolder.fullNameRaw,
aUidForRemove
);
oData.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove, oTrashOrSpamFolder.fullNameRaw);
oData.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove, oMoveFolder.fullNameRaw);
}
};

View file

@ -36,6 +36,7 @@ Enums.FolderType = {
'Draft': 12,
'Trash': 13,
'Spam': 14,
'Archive': 15,
'User': 99
};
@ -92,7 +93,8 @@ Enums.SetSystemFoldersNotification = {
'Sent': 1,
'Draft': 2,
'Spam': 3,
'Trash': 4
'Trash': 4,
'Archive': 5
};
/**
@ -254,6 +256,8 @@ Enums.ContactScopeType = {
* @enum {number}
*/
Enums.SignedVerifyStatus = {
'UnknownPublicKeys': -4,
'UnknownPrivateKey': -3,
'Unverified': -2,
'Error': -1,
'None': 0,

View file

@ -207,6 +207,9 @@ FolderModel.prototype.initComputed = function ()
case Enums.FolderType.Trash:
sName = Utils.i18n('FOLDER_LIST/TRASH_NAME');
break;
case Enums.FolderType.Archive:
sName = Utils.i18n('FOLDER_LIST/ARCHIVE_NAME');
break;
}
}
@ -243,6 +246,9 @@ FolderModel.prototype.initComputed = function ()
case Enums.FolderType.Trash:
sSuffix = '(' + Utils.i18n('FOLDER_LIST/TRASH_NAME') + ')';
break;
case Enums.FolderType.Archive:
sSuffix = '(' + Utils.i18n('FOLDER_LIST/ARCHIVE_NAME') + ')';
break;
}
}

View file

@ -1046,7 +1046,7 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
aRes = [],
mPgpMessage = null,
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
aPublicKey = RL.data().findPublicKeysByEmail(sFrom),
aPublicKeys = RL.data().findPublicKeysByEmail(sFrom),
oValidKey = null,
oValidSysKey = null,
sPlain = ''
@ -1060,9 +1060,10 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
mPgpMessage = window.openpgp.cleartext.readArmored(this.plainRaw);
if (mPgpMessage && mPgpMessage.getText)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Unverified);
this.pgpSignedVerifyStatus(
aPublicKeys.length ? Enums.SignedVerifyStatus.Unverified : Enums.SignedVerifyStatus.UnknownPublicKeys);
aRes = mPgpMessage.verify(aPublicKey);
aRes = mPgpMessage.verify(aPublicKeys);
if (aRes && 0 < aRes.length)
{
oValidKey = _.find(aRes, function (oItem) {
@ -1099,6 +1100,78 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
}
};
MessageModel.prototype.decryptPgpEncryptedMessage = function (sPassword)
{
if (this.isPgpEncrypted())
{
var
aRes = [],
mPgpMessage = null,
mPgpMessageDecrypted = null,
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
aPublicKey = RL.data().findPublicKeysByEmail(sFrom),
oPrivateKey = RL.data().findSelfPrivateKey(sPassword),
oValidKey = null,
oValidSysKey = null,
sPlain = ''
;
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Error);
this.pgpSignedVerifyUser('');
if (!oPrivateKey)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.UnknownPrivateKey);
}
try
{
mPgpMessage = window.openpgp.message.readArmored(this.plainRaw);
if (mPgpMessage && oPrivateKey && mPgpMessage.decrypt)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Unverified);
mPgpMessageDecrypted = mPgpMessage.decrypt(oPrivateKey);
if (mPgpMessageDecrypted)
{
aRes = mPgpMessageDecrypted.verify(aPublicKey);
if (aRes && 0 < aRes.length)
{
oValidKey = _.find(aRes, function (oItem) {
return oItem && oItem.keyid && oItem.valid;
});
if (oValidKey)
{
oValidSysKey = RL.data().findPublicKeyByHex(oValidKey.keyid.toHex());
if (oValidSysKey)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Success);
this.pgpSignedVerifyUser(oValidSysKey.user);
}
}
}
sPlain = mPgpMessageDecrypted.getText();
sPlain =
$proxyDiv.empty().append(
$('<pre class="b-plain-openpgp signed verified"></pre>').text(sPlain)
).html()
;
$proxyDiv.empty();
this.replacePlaneTextBody(sPlain);
}
}
}
catch (oExc) {}
this.storePgpVerifyDataToDom();
}
};
MessageModel.prototype.replacePlaneTextBody = function (sPlain)
{
if (this.body)

View file

@ -22,7 +22,8 @@ WebMailAjaxRemoteStorage.prototype.folders = function (fCallback)
'SentFolder': RL.settingsGet('SentFolder'),
'DraftFolder': RL.settingsGet('DraftFolder'),
'SpamFolder': RL.settingsGet('SpamFolder'),
'TrashFolder': RL.settingsGet('TrashFolder')
'TrashFolder': RL.settingsGet('TrashFolder'),
'ArchiveFolder': RL.settingsGet('ArchiveFolder')
}, null, '', ['Folders']);
};

View file

@ -48,16 +48,19 @@ function WebMailDataStorage()
this.draftFolder = ko.observable('');
this.spamFolder = ko.observable('');
this.trashFolder = ko.observable('');
this.archiveFolder = ko.observable('');
this.sentFolder.subscribe(fRemoveSystemFolderType(this.sentFolder), this, 'beforeChange');
this.draftFolder.subscribe(fRemoveSystemFolderType(this.draftFolder), this, 'beforeChange');
this.spamFolder.subscribe(fRemoveSystemFolderType(this.spamFolder), this, 'beforeChange');
this.trashFolder.subscribe(fRemoveSystemFolderType(this.trashFolder), this, 'beforeChange');
this.archiveFolder.subscribe(fRemoveSystemFolderType(this.archiveFolder), this, 'beforeChange');
this.sentFolder.subscribe(fSetSystemFolderType(Enums.FolderType.SentItems), this);
this.draftFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Draft), this);
this.spamFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Spam), this);
this.trashFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Trash), this);
this.archiveFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Archive), this);
this.draftFolderNotEnabled = ko.computed(function () {
return '' === this.draftFolder() || Consts.Values.UnuseOptionValue === this.draftFolder();
@ -138,7 +141,8 @@ function WebMailDataStorage()
sSentFolder = this.sentFolder(),
sDraftFolder = this.draftFolder(),
sSpamFolder = this.spamFolder(),
sTrashFolder = this.trashFolder()
sTrashFolder = this.trashFolder(),
sArchiveFolder = this.archiveFolder()
;
if (Utils.isArray(aFolders) && 0 < aFolders.length)
@ -159,6 +163,10 @@ function WebMailDataStorage()
{
aList.push(sTrashFolder);
}
if ('' !== sArchiveFolder && Consts.Values.UnuseOptionValue !== sArchiveFolder)
{
aList.push(sArchiveFolder);
}
}
return aList;
@ -625,13 +633,15 @@ WebMailDataStorage.prototype.setFolders = function (oData)
if (oData.Result['SystemFolders'] &&
'' === '' + RL.settingsGet('SentFolder') + RL.settingsGet('DraftFolder') +
RL.settingsGet('SpamFolder') + RL.settingsGet('TrashFolder') + RL.settingsGet('NullFolder'))
RL.settingsGet('SpamFolder') + RL.settingsGet('TrashFolder') + RL.settingsGet('ArchiveFolder') +
RL.settingsGet('NullFolder'))
{
// TODO Magic Numbers
RL.settingsSet('SentFolder', oData.Result['SystemFolders'][2] || null);
RL.settingsSet('DraftFolder', oData.Result['SystemFolders'][3] || null);
RL.settingsSet('SpamFolder', oData.Result['SystemFolders'][4] || null);
RL.settingsSet('TrashFolder', oData.Result['SystemFolders'][5] || null);
RL.settingsSet('ArchiveFolder', oData.Result['SystemFolders'][12] || null);
bUpdate = true;
}
@ -640,6 +650,7 @@ WebMailDataStorage.prototype.setFolders = function (oData)
oRLData.draftFolder(fNormalizeFolder(RL.settingsGet('DraftFolder')));
oRLData.spamFolder(fNormalizeFolder(RL.settingsGet('SpamFolder')));
oRLData.trashFolder(fNormalizeFolder(RL.settingsGet('TrashFolder')));
oRLData.archiveFolder(fNormalizeFolder(RL.settingsGet('ArchiveFolder')));
if (bUpdate)
{
@ -648,6 +659,7 @@ WebMailDataStorage.prototype.setFolders = function (oData)
'DraftFolder': oRLData.draftFolder(),
'SpamFolder': oRLData.spamFolder(),
'TrashFolder': oRLData.trashFolder(),
'ArchiveFolder': oRLData.archiveFolder(),
'NullFolder': 'NullFolder'
});
}
@ -838,7 +850,6 @@ WebMailDataStorage.prototype.setMessage = function (oData, bCached)
sPlain = '',
bPgpSigned = false,
bPgpEncrypted = false,
mPgpMessage = null,
oMessagesBodiesDom = this.messagesBodiesDom(),
oMessage = this.message()
;
@ -903,12 +914,6 @@ WebMailDataStorage.prototype.setMessage = function (oData, bCached)
}
else if (bPgpEncrypted && oMessage.isPgpEncrypted())
{
// try
// {
// mPgpMessage = window.openpgp.message.readArmored(oMessage.plainRaw);
// }
// catch (oExc) {}
sPlain =
$proxyDiv.append(
$('<pre class="b-plain-openpgp encrypted"></pre>').text(oMessage.plainRaw)
@ -1157,7 +1162,12 @@ WebMailDataStorage.prototype.findPublicKeysByEmail = function (sEmail)
}));
};
WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
/**
* @param {string} sEmail
* @param {string=} sPassword
* @returns {?}
*/
WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword)
{
var
oPrivateKey = null,
@ -1174,7 +1184,7 @@ WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
if (oPrivateKey && !oPrivateKey.err && oPrivateKey.keys && oPrivateKey.keys[0])
{
oPrivateKey = oPrivateKey.keys[0];
oPrivateKey.decrypt(sPass);
oPrivateKey.decrypt(Utils.pString(sPassword));
}
else
{
@ -1189,3 +1199,12 @@ WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
return oPrivateKey;
};
/**
* @param {string=} sPassword
* @returns {?}
*/
WebMailDataStorage.prototype.findSelfPrivateKey = function (sPassword)
{
return this.findPrivateKeyByEmail(this.accountEmail(), sPassword);
};

View file

@ -90,6 +90,7 @@ html.ssm-state-desktop-large {
}
html.ssm-state-desktop {
#rl-left {
width: @rlLeftWidth;
}
@ -99,15 +100,16 @@ html.ssm-state-desktop {
}
#rl-sub-left {
width: 350px;
width: 400px;
}
#rl-sub-right {
left: 350px;
left: 400px;
}
}
html.ssm-state-tablet {
#rl-left {
width: 150px;
}
@ -117,7 +119,7 @@ html.ssm-state-tablet {
}
#rl-sub-left {
width: 310px;
width: 340px;
.messageList .inputSearch {
width: 220px;
@ -125,7 +127,7 @@ html.ssm-state-tablet {
}
#rl-sub-right {
left: 310px;
left: 340px;
}
.b-compose.modal {
@ -147,7 +149,7 @@ html.ssm-state-mobile {
}
#rl-sub-left {
width: 310px;
width: 340px;
.messageList .inputSearch {
width: 220px;
@ -155,7 +157,7 @@ html.ssm-state-mobile {
}
#rl-sub-right {
left: 310px;
left: 340px;
}
.b-compose.modal {

View file

@ -63,26 +63,39 @@ select {
.border-radius(@btnBorderRadius);
}
.btn-group + .btn-group {
margin-left: 3px;
}
.btn {
.border-radius(@btnBorderRadius);
background-image: none;
padding-left: 13px;
padding-right: 13px;
&.disabled, &[disabled] {
.opacity(75);
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
}
text-shadow: 0 1px 0 #fff;
&:active {
// &:active {
// .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.3), 0 0 0 rgba(0,0,0,.1)");
// }
}
.btn.btn-dark-disabled-border {
&.disabled, &[disabled] {
border-color: #aaa;
}
}
.btn-group.open {
.dropdown-toggle {
//.btn-group.open {
// .dropdown-toggle {
// .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.3), 0 0 0 rgba(0,0,0,.1)");
}
}
// }
//}
html.rgba.textshadow {
.btn.btn-danger, .btn.btn-success, .btn.btn-primary {

View file

@ -19,7 +19,7 @@
@rlMessageDelimiterColor: #999;
// bootstart
@btnBorderRadius: 2px;
@btnBorderRadius: 3px;
@tooltipColor: #eee;
@tooltipBackground: #333;

View file

@ -109,15 +109,26 @@ function MailBoxMessageListViewModel()
}, this);
this.isSpamFolder = ko.computed(function () {
return RL.data().spamFolder() === this.messageListEndFolder();
return oData.spamFolder() === this.messageListEndFolder() &&
'' !== oData.spamFolder();
}, this);
this.isSpamDisabled = ko.computed(function () {
return Consts.Values.UnuseOptionValue === RL.data().spamFolder();
return Consts.Values.UnuseOptionValue === oData.spamFolder();
}, this);
this.isTrashFolder = ko.computed(function () {
return RL.data().trashFolder() === this.messageListEndFolder();
return oData.trashFolder() === this.messageListEndFolder() &&
'' !== oData.trashFolder();
}, this);
this.isArchiveFolder = ko.computed(function () {
return oData.archiveFolder() === this.messageListEndFolder() &&
'' !== oData.archiveFolder();
}, this);
this.isArchiveDisabled = ko.computed(function () {
return Consts.Values.UnuseOptionValue === RL.data().archiveFolder();
}, this);
this.canBeMoved = this.hasCheckedOrSelectedLines;
@ -141,6 +152,12 @@ function MailBoxMessageListViewModel()
RL.data().currentFolderFullNameRaw(),
RL.data().messageListCheckedOrSelectedUidsWithSubMails(), true);
}, this.canBeMoved);
this.archiveCommand = Utils.createCommand(this, function () {
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
RL.data().currentFolderFullNameRaw(),
RL.data().messageListCheckedOrSelectedUidsWithSubMails(), true);
}, this.canBeMoved);
this.spamCommand = Utils.createCommand(this, function () {
RL.deleteMessagesFromFolder(Enums.FolderType.Spam,
@ -219,6 +236,15 @@ MailBoxMessageListViewModel.prototype.searchEnterAction = function ()
this.inputMessageListSearchFocus(false);
};
/**
* @returns {string}
*/
MailBoxMessageListViewModel.prototype.printableMessageCountForDeletion = function ()
{
var iCnt = this.messageListCheckedOrSelectedUidsWithSubMails().length;
return 1 < iCnt ? ' (' + (100 > iCnt ? iCnt : '99+') + ')' : '';
};
MailBoxMessageListViewModel.prototype.cancelSearch = function ()
{
this.mainMessageListSearch('');

View file

@ -36,8 +36,6 @@ function MailBoxMessageViewViewModel()
this.fullScreenMode = oData.messageFullScreenMode;
this.showFullInfo = ko.observable(false);
this.openPGPInformation = ko.observable('');
this.openPGPInformation.isError = ko.observable(false);
this.messageVisibility = ko.computed(function () {
return !this.messageLoadingThrottle() && !!this.message();
@ -80,6 +78,17 @@ function MailBoxMessageViewViewModel()
}, this.messageVisibility);
this.archiveCommand = Utils.createCommand(this, function () {
if (this.message())
{
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
this.message().folderFullNameRaw,
[this.message().uid], true);
}
}, this.messageVisibility);
this.spamCommand = Utils.createCommand(this, function () {
if (this.message())
@ -107,6 +116,7 @@ function MailBoxMessageViewViewModel()
this.viewUserPic = ko.observable(Consts.DataImages.UserDotPic);
this.viewUserPicVisible = ko.observable(false);
this.viewPgpPassword = ko.observable('');
this.viewPgpSignedVerifyStatus = ko.computed(function () {
return this.message() ? this.message().pgpSignedVerifyStatus() : Enums.SignedVerifyStatus.None;
}, this);
@ -114,11 +124,14 @@ function MailBoxMessageViewViewModel()
this.viewPgpSignedVerifyUser = ko.computed(function () {
return this.message() ? this.message().pgpSignedVerifyUser() : '';
}, this);
this.message.subscribe(function (oMessage) {
this.messageActiveDom(null);
this.viewPgpPassword('');
if (oMessage)
{
this.viewSubject(oMessage.subject());
@ -207,6 +220,12 @@ MailBoxMessageViewViewModel.prototype.pgpStatusVerifyMessage = function ()
switch (this.viewPgpSignedVerifyStatus())
{
// TODO i18n
case Enums.SignedVerifyStatus.UnknownPublicKeys:
sResult = 'No public keys found';
break;
case Enums.SignedVerifyStatus.UnknownPrivateKey:
sResult = 'No private key found';
break;
case Enums.SignedVerifyStatus.Unverified:
sResult = 'Unverified signature';
break;
@ -359,6 +378,38 @@ MailBoxMessageViewViewModel.prototype.isSentFolder = function ()
return RL.data().message() && RL.data().sentFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isSpamFolder = function ()
{
return RL.data().message() && RL.data().spamFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isSpamDisabled = function ()
{
return RL.data().message() && RL.data().spamFolder() === Consts.Values.UnuseOptionValue;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isArchiveFolder = function ()
{
return RL.data().message() && RL.data().archiveFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isArchiveDisabled = function ()
{
return RL.data().message() && RL.data().archiveFolder() === Consts.Values.UnuseOptionValue;
};
/**
* @return {boolean}
*/
@ -417,7 +468,7 @@ MailBoxMessageViewViewModel.prototype.decryptPgpEncryptedMessage = function (oMe
{
if (oMessage)
{
oMessage.decryptPgpEncryptedMessage();
oMessage.decryptPgpEncryptedMessage(this.viewPgpPassword());
}
};

View file

@ -64,7 +64,8 @@ function PopupsComposeOpenPgpViewModel()
if (bResult && this.encrypt())
{
aPublicKeys = _.compact(_.union(this.to(), function (sEmail) {
aPublicKeys = [];
_.each(this.to(), function (sEmail) {
var aKeys = oData.findPublicKeysByEmail(sEmail);
if (0 === aKeys.length && bResult)
{
@ -72,11 +73,10 @@ function PopupsComposeOpenPgpViewModel()
self.notification('No public key found for "' + sEmail + '" email');
bResult = false;
}
return aKeys;
}));
aPublicKeys = aPublicKeys.concat(aKeys);
});
if (bResult && (0 === aPublicKeys.length || this.to().length !== aPublicKeys.length))
{
bResult = false;

View file

@ -33,6 +33,7 @@ function PopupsFolderSystemViewModel()
this.draftFolder = oData.draftFolder;
this.spamFolder = oData.spamFolder;
this.trashFolder = oData.trashFolder;
this.archiveFolder = oData.archiveFolder;
fSaveSystemFolders = _.debounce(function () {
@ -40,12 +41,14 @@ function PopupsFolderSystemViewModel()
RL.settingsSet('DraftFolder', self.draftFolder());
RL.settingsSet('SpamFolder', self.spamFolder());
RL.settingsSet('TrashFolder', self.trashFolder());
RL.settingsSet('ArchiveFolder', self.archiveFolder());
RL.remote().saveSystemFolders(Utils.emptyFunction, {
'SentFolder': self.sentFolder(),
'DraftFolder': self.draftFolder(),
'SpamFolder': self.spamFolder(),
'TrashFolder': self.trashFolder(),
'ArchiveFolder': self.archiveFolder(),
'NullFolder': 'NullFolder'
});
@ -57,6 +60,7 @@ function PopupsFolderSystemViewModel()
RL.settingsSet('DraftFolder', self.draftFolder());
RL.settingsSet('SpamFolder', self.spamFolder());
RL.settingsSet('TrashFolder', self.trashFolder());
RL.settingsSet('ArchiveFolder', self.archiveFolder());
fSaveSystemFolders();
};
@ -65,6 +69,7 @@ function PopupsFolderSystemViewModel()
this.draftFolder.subscribe(fCallback);
this.spamFolder.subscribe(fCallback);
this.trashFolder.subscribe(fCallback);
this.archiveFolder.subscribe(fCallback);
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
@ -99,6 +104,9 @@ PopupsFolderSystemViewModel.prototype.onShow = function (iNotificationType)
case Enums.SetSystemFoldersNotification.Trash:
sNotification = Utils.i18n('POPUPS_SYSTEM_FOLDERS/NOTIFICATION_TRASH');
break;
case Enums.SetSystemFoldersNotification.Archive:
sNotification = Utils.i18n('POPUPS_SYSTEM_FOLDERS/NOTIFICATION_ARCHIVE');
break;
}
this.notification(sNotification);

View file

@ -17,5 +17,5 @@ class FolderType
const TRASH = 5;
const IMPORTANT = 10;
const STARRED = 11;
const ALLMAIL = 12;
const ARCHIVE = 12;
}

View file

@ -295,7 +295,7 @@ class Folder
case \in_array('\all', $aFlags):
case \in_array('\archive', $aFlags):
case \in_array('\allmail', $aFlags):
$iXListType = \MailSo\Imap\Enumerations\FolderType::ALLMAIL;
$iXListType = \MailSo\Imap\Enumerations\FolderType::ARCHIVE;
break;
}
}

View file

@ -1162,6 +1162,7 @@ class Actions
$aResult['DraftFolder'] = $oSettings->GetConf('DraftFolder', '');
$aResult['SpamFolder'] = $oSettings->GetConf('SpamFolder', '');
$aResult['TrashFolder'] = $oSettings->GetConf('TrashFolder', '');
$aResult['ArchiveFolder'] = $oSettings->GetConf('ArchiveFolder', '');
$aResult['NullFolder'] = $oSettings->GetConf('NullFolder', '');
$aResult['EditorDefaultType'] = $oSettings->GetConf('EditorDefaultType', $aResult['EditorDefaultType']);
$aResult['ShowImages'] = (bool) $oSettings->GetConf('ShowImages', $aResult['ShowImages']);
@ -1909,8 +1910,9 @@ class Actions
$oSettings->SetConf('SentFolder', $this->GetActionParam('SentFolder', ''));
$oSettings->SetConf('DraftFolder', $this->GetActionParam('DraftFolder', ''));
$oSettings->SetConf('TrashFolder', $this->GetActionParam('TrashFolder', ''));
$oSettings->SetConf('SpamFolder', $this->GetActionParam('SpamFolder', ''));
$oSettings->SetConf('TrashFolder', $this->GetActionParam('TrashFolder', ''));
$oSettings->SetConf('ArchiveFolder', $this->GetActionParam('ArchiveFolder', ''));
$oSettings->SetConf('NullFolder', $this->GetActionParam('NullFolder', ''));
return $this->DefaultResponse(__FUNCTION__,
@ -3347,6 +3349,7 @@ class Actions
$aCache = array(
'Sent' => \MailSo\Imap\Enumerations\FolderType::SENT,
'Send' => \MailSo\Imap\Enumerations\FolderType::SENT,
'Sent Item' => \MailSo\Imap\Enumerations\FolderType::SENT,
'Sent Items' => \MailSo\Imap\Enumerations\FolderType::SENT,
@ -3358,6 +3361,7 @@ class Actions
'Send Mails' => \MailSo\Imap\Enumerations\FolderType::SENT,
'Draft' => \MailSo\Imap\Enumerations\FolderType::DRAFTS,
'Drafts' => \MailSo\Imap\Enumerations\FolderType::DRAFTS,
'Draft Mail' => \MailSo\Imap\Enumerations\FolderType::DRAFTS,
'Draft Mails' => \MailSo\Imap\Enumerations\FolderType::DRAFTS,
@ -3365,14 +3369,22 @@ class Actions
'Drafts Mails' => \MailSo\Imap\Enumerations\FolderType::DRAFTS,
'Spam' => \MailSo\Imap\Enumerations\FolderType::SPAM,
'Junk' => \MailSo\Imap\Enumerations\FolderType::SPAM,
'Bulk Mail' => \MailSo\Imap\Enumerations\FolderType::SPAM,
'Bulk Mails' => \MailSo\Imap\Enumerations\FolderType::SPAM,
'Trash' => \MailSo\Imap\Enumerations\FolderType::TRASH,
'Deleted' => \MailSo\Imap\Enumerations\FolderType::TRASH,
'Bin' => \MailSo\Imap\Enumerations\FolderType::TRASH
'Bin' => \MailSo\Imap\Enumerations\FolderType::TRASH,
'Archive' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
'All' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
'All Mail' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
'All Mails' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
'AllMail' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
'AllMails' => \MailSo\Imap\Enumerations\FolderType::ARCHIVE,
);
$this->Plugins()->RunHook('filter.system-folders-names', array($oAccount, &$aCache));
@ -3403,7 +3415,8 @@ class Actions
\MailSo\Imap\Enumerations\FolderType::SENT,
\MailSo\Imap\Enumerations\FolderType::DRAFTS,
\MailSo\Imap\Enumerations\FolderType::SPAM,
\MailSo\Imap\Enumerations\FolderType::TRASH
\MailSo\Imap\Enumerations\FolderType::TRASH,
\MailSo\Imap\Enumerations\FolderType::ARCHIVE
)))
{
$aResult[$iFolderXListType] = $oFolder->FullNameRaw();
@ -3428,7 +3441,8 @@ class Actions
\MailSo\Imap\Enumerations\FolderType::SENT,
\MailSo\Imap\Enumerations\FolderType::DRAFTS,
\MailSo\Imap\Enumerations\FolderType::SPAM,
\MailSo\Imap\Enumerations\FolderType::TRASH
\MailSo\Imap\Enumerations\FolderType::TRASH,
\MailSo\Imap\Enumerations\FolderType::ARCHIVE
)))
{
$aResult[$iFolderType] = $oFolder->FullNameRaw();
@ -3473,6 +3487,7 @@ class Actions
if ($oFolderCollection instanceof \MailSo\Mail\FolderCollection)
{
$aSystemFolders = array();
$this->recFoldersTypes($oAccount, $oFolderCollection, $aSystemFolders);
$oFolderCollection->SystemFolders = $aSystemFolders;
@ -3500,6 +3515,10 @@ class Actions
{
$aList[] = \MailSo\Imap\Enumerations\FolderType::TRASH;
}
if ('' === $this->GetActionParam('ArchiveFolder', ''))
{
$aList[] = \MailSo\Imap\Enumerations\FolderType::ARCHIVE;
}
$this->Plugins()->RunHook('filter.folders-system-types', array($oAccount, &$aList));
@ -6284,8 +6303,9 @@ class Actions
*/
private function hashFolderFullName($sFolderFullName)
{
return \in_array(\strtolower($sFolderFullName), array('inbox', 'sent', 'send', 'drafts', 'spam', 'junk', 'bin', 'trash')) ?
\ucfirst(\strtolower($sFolderFullName)) : \md5($sFolderFullName);
return \in_array(\strtolower($sFolderFullName), array('inbox', 'sent', 'send', 'drafts',
'spam', 'junk', 'bin', 'trash', 'archive', 'allmail')) ?
\ucfirst(\strtolower($sFolderFullName)) : \md5($sFolderFullName);
// return \in_array(\strtolower($sFolderFullName), array('inbox', 'sent', 'send', 'drafts', 'spam', 'junk', 'bin', 'trash')) ?
// \ucfirst(\strtolower($sFolderFullName)) :

View file

@ -21,14 +21,17 @@
</ul>
</div>
<div class="btn-group">&nbsp;</div>
<div class="btn-group btn-group-custom-margin">
<a class="btn buttonDelete" data-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE_LIST/BUTTON_DELETE'">
<i class="icon-trash"></i>
<span data-bind="text: 1 < messageListCheckedOrSelectedUidsWithSubMails().length ? ' (' + messageListCheckedOrSelectedUidsWithSubMails().length + ')' : ''"></span>
<div class="btn-group">
<a class="btn btn-dark-disabled-border button-archive" data-placement="bottom" data-bind="visible: !isArchiveFolder() && !isArchiveDisabled(), command: archiveCommand, tooltip: 'MESSAGE_LIST/BUTTON_ARCHIVE'">
<i class="icon-archive"></i>
</a>
<a class="btn buttonSpam" data-placement="bottom" data-bind="visible: !isSpamFolder() && !isSpamDisabled(), command: spamCommand, tooltip: 'MESSAGE_LIST/BUTTON_SPAM'">
<a class="btn btn-dark-disabled-border button-spam" data-placement="bottom" data-bind="visible: !isSpamFolder() && !isSpamDisabled(), command: spamCommand, tooltip: 'MESSAGE_LIST/BUTTON_SPAM'">
<i class="icon-bug"></i>
</a>
<a class="btn btn-dark-disabled-border button-delete" data-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE_LIST/BUTTON_DELETE'">
<i class="icon-trash"></i>
<span data-bind="text: printableMessageCountForDeletion()"></span>
</a>
</div>
<div class="btn-group">&nbsp;</div>
<div class="btn-group">

View file

@ -14,24 +14,27 @@
</a>
</div>
<div class="btn-group" data-bind="visible: !isDraftFolder()">
<a class="btn buttonReply" data-placement="bottom" data-bind="command: replyCommand, tooltip: 'MESSAGE/BUTTON_REPLY'">
<a class="btn btn-dark-disabled-border buttonReply" data-placement="bottom" data-bind="command: replyCommand, tooltip: 'MESSAGE/BUTTON_REPLY'">
<i class="icon-reply"></i>
</a>
<a class="btn buttonReplyAll" data-placement="bottom" data-bind="command: replyAllCommand, tooltip: 'MESSAGE/BUTTON_REPLY_ALL'">
<a class="btn btn-dark-disabled-border buttonReplyAll" data-placement="bottom" data-bind="command: replyAllCommand, tooltip: 'MESSAGE/BUTTON_REPLY_ALL'">
<i class="icon-reply-all"></i>
</a>
<a class="btn buttonForward" data-placement="bottom" data-bind=" command: forwardCommand, tooltip: 'MESSAGE/BUTTON_FORWARD'">
<a class="btn btn-dark-disabled-border buttonForward" data-placement="bottom" data-bind=" command: forwardCommand, tooltip: 'MESSAGE/BUTTON_FORWARD'">
<i class="icon-forward"></i>
</a>
</div>
<div class="btn-group">&nbsp;</div>
<div class="btn-group btn-group-custom-margin">
<a class="btn btn-danger buttonDelete" data-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE/BUTTON_DELETE'">
<i class="icon-trash icon-white"></i>
<div class="btn-group">
<a class="btn btn-dark-disabled-border button-archive" data-placement="bottom" data-bind="visible: !isArchiveFolder() && !isArchiveDisabled(), command: archiveCommand, tooltip: 'MESSAGE/BUTTON_ARCHIVE'">
<i class="icon-archive"></i>
</a>
<a class="btn buttonSpam" data-placement="bottom" data-bind="visible: !isDraftFolder(), command: spamCommand, tooltip: 'MESSAGE/BUTTON_SPAM'">
<a class="btn btn-dark-disabled-border button-spam" data-placement="bottom" data-bind="visible: !isDraftFolder() && !isSpamFolder() && !isSpamDisabled(), command: spamCommand, tooltip: 'MESSAGE/BUTTON_SPAM'">
<i class="icon-bug"></i>
</a>
<a class="btn btn-dark-disabled-border button-delete" data-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE/BUTTON_DELETE'">
<i class="icon-trash"></i>
</a>
</div>
<div class="btn-group">&nbsp;</div>
<div class="btn-group">
@ -201,15 +204,14 @@
<div class="pgpSigned" data-bind="visible: message() && message().isPgpSigned() && isPgpActionVisible(), click: function() { verifyPgpSignedClearMessage(message()); }">
<i class="icon-lock"></i>
&nbsp;&nbsp;
OpenPGP signed message (click to verify)
<span class="i18n" data-i18n-text="MESSAGE/PGP_SIGNED_MESSAGE_DESC"></span>
</div>
<div class="pgpEncrypted" data-bind="visible: message() && message().isPgpEncrypted()">
<div class="pgpEncrypted" data-bind="visible: message() && message().isPgpEncrypted() && isPgpActionVisible()">
<i class="icon-lock"></i>
&nbsp;&nbsp;
<span data-bind="click: function() { decryptPgpEncryptedMessage(message()); }">
OpenPGP encrypted message (click to decrypt)
</span>
<input type="password" />
<span class="i18n" data-i18n-text="MESSAGE/PGP_ENCRYPTED_MESSAGE_DESC" data-bind="click: function() { decryptPgpEncryptedMessage(message()); }"></span>
&nbsp;&nbsp;
<input type="password" class="i18n span3 inputPgpPassword" style="margin-bottom: 0" data-i18n-placeholder="MESSAGE/PGP_PASSWORD_INPUT_PLACEHOLDER" data-bind="value: viewPgpPassword" />
</div>
<div class="attachmentsPlace" data-bind="visible: message() && message().hasVisibleAttachments()">
<ul class="attachmentList" data-bind="foreach: message() ? message().attachments() : []">

View file

@ -14,16 +14,18 @@
</div>
<br />
<div class="control-group">
<label data-bind="click: function () { sign(!sign()); }">
<i data-bind="css: sign() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_SIGN"></span>
</label>
<label data-bind="click: function () { encrypt(!encrypt()); }">
<i data-bind="css: encrypt() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_ENCRYPT"></span>
</label>
<div class="controls">
<label data-bind="click: function () { sign(!sign()); }">
<i data-bind="css: sign() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_SIGN"></span>
</label>
<label data-bind="click: function () { encrypt(!encrypt()); }">
<i data-bind="css: encrypt() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_ENCRYPT"></span>
</label>
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_PASSWORD"></label>
@ -38,7 +40,9 @@
<a class="btn buttonDo" data-bind="command: doCommand">
<i data-bind="css: {'icon-key': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/BUTTON_DO"></span>
<span class="i18n" data-bind="visible: sign() && !encrypt()" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN"></span>
<span class="i18n" data-bind="visible: !sign() && encrypt()" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/BUTTON_ENCRYPT"></span>
<span class="i18n" data-bind="visible: (sign() && encrypt()) || (!sign() && !encrypt())" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN_AND_ENCRYPT"></span>
</a>
</div>
</div>

View file

@ -34,8 +34,8 @@
</div>
<div class="btn-group">
<a class="btn btn-danger button-delete" data-bind="command: deleteCommand">
<i class="icon-trash icon-white"></i>
<a class="btn button-delete" data-bind="command: deleteCommand">
<i class="icon-trash"></i>
<span data-bind="text: 1 < contactsCheckedOrSelected().length ? ' (' + contactsCheckedOrSelected().length + ')' : ''"></span>
</a>
</div>

View file

@ -48,6 +48,15 @@
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defautOptionsAfterRender"></select>
</div>
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_ARCHIVE"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: archiveFolder,
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defautOptionsAfterRender"></select>
</div>
</div>
</div>
</div>
</div>

View file

@ -50,6 +50,7 @@ SENT_NAME = "Versandt"
DRAFTS_NAME = "Entwürfe"
SPAM_NAME = "Spam"
TRASH_NAME = "Papierkorb"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Speicherplatz-Verbrauch"
@ -58,6 +59,7 @@ TITLE = "Speicherplatz-Verbrauch"
BUTTON_RELOAD = "Nachrichtenliste neu laden"
BUTTON_MOVE_TO = "Verschieben nach"
BUTTON_DELETE = "Löschen"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Ordner leeren"
BUTTON_MULTY_FORWARD = "Nachrichten weiterleiten"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Bearbeiten"
BUTTON_BACK = "Zurück"
BUTTON_CLOSE = "Schließen"
BUTTON_DELETE = "Löschen"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Verschieben nach"
BUTTON_MORE = "Mehr"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Thema"
PRINT_LABEL_ATTACHMENTS = "Anhänge"
MESSAGE_LOADING = "es wird geladen"
MESSAGE_VIEW_DESC = "Wählen Sie eine Nachricht aus der Liste aus um sie anzuzeigen."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Dieser Schritt wird alle Mails im Ordner <strong>%FOLDER%<
DANGER_DESC_HTML_2 = "Einmal begonnen, kann dieser Vorgang nicht mehr abgebrochen oder beendet werden."
TITLE_CLEARING_PROCESS = "Ordner wird gelöscht ..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Wählen Sie den System-Ordner aus"
SELECT_CHOOSE_ONE = "Wählen Sie einen aus"
@ -243,6 +275,7 @@ LABEL_SENT = "Gesendet"
LABEL_DRAFTS = "Entwürfe"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Papierkorb"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Abbrechen"
BUTTON_CLOSE = "Schließen"
@ -257,6 +290,8 @@ Falls Sie diese Nachrichten endgültig löschen möchten, wählen Sie die Option
NOTIFICATION_TRASH = "Sie haben keinen \"Papierkorb\" System-Ordner gewählt, in dem die gelöschten Nachrichten abgelegt werden.
Falls Sie gelöschte Nachrichten endgültig löschen möchten, wählen Sie die Option \"Nicht anwenden\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Wird geladen"
LOGIN = "Login"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Vorlagen"
LABEL_CHANGE_PASSWORD_NAME = "Passwort"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Zurück"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Neues Passwordt"
LABEL_REPEAT_PASSWORD = "Neues Passwort erneut eingeben"
BUTTON_UPDATE_PASSWORD = "Neues Passwort setzen"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Ungültiger Token"
AUTH_ERROR = "Authentifizierung mißlungen"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Sent"
DRAFTS_NAME = "Drafts"
SPAM_NAME = "Spam"
TRASH_NAME = "Trash"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Quota usage"
@ -58,6 +59,7 @@ TITLE = "Quota usage"
BUTTON_RELOAD = "Reload Message List"
BUTTON_MOVE_TO = "Move To"
BUTTON_DELETE = "Delete"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Clear Folder"
BUTTON_MULTY_FORWARD = "Forward messages"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Edit"
BUTTON_BACK = "Back"
BUTTON_CLOSE = "Close"
BUTTON_DELETE = "Delete"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Move To"
BUTTON_MORE = "More"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Subject"
PRINT_LABEL_ATTACHMENTS = "Attachments"
MESSAGE_LOADING = "Loading"
MESSAGE_VIEW_DESC = "Select message in list to view it here."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -252,6 +258,15 @@ LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Select system folders"
SELECT_CHOOSE_ONE = "Choose one"
@ -260,6 +275,7 @@ LABEL_SENT = "Sent"
LABEL_DRAFTS = "Drafts"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Trash"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Cancel"
BUTTON_CLOSE = "Close"
@ -274,6 +290,8 @@ If you wish to remove messages permanently, please select \"Do not use\" option.
NOTIFICATION_TRASH = "You haven't selected \"Trash\" system folder deleted messages are placed to.
If you wish to remove messages permanently, please select \"Do not use\" option."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Loading"
LOGIN = "Login"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Enviados"
DRAFTS_NAME = "Borradores"
SPAM_NAME = "Spam"
TRASH_NAME = "Papelera"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Uso de espacio"
@ -58,6 +59,7 @@ TITLE = "Uso de espacio"
BUTTON_RELOAD = "Actualizar Lista de Mensajes"
BUTTON_MOVE_TO = "Mover a"
BUTTON_DELETE = "Eliminar"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Vaciar carpeta"
BUTTON_MULTY_FORWARD = "Reenviar mensajes"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Editar"
BUTTON_BACK = "Atrás"
BUTTON_CLOSE = "Cerrar"
BUTTON_DELETE = "Eliminar"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Mover a"
BUTTON_MORE = "Más"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Asunto"
PRINT_LABEL_ATTACHMENTS = "Adjuntos"
MESSAGE_LOADING = "Cargando"
MESSAGE_VIEW_DESC = "Seleccione un mensaje en la lista para verlo aquí."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Con esta acción usted puede borrar todos los emails de la
DANGER_DESC_HTML_2 = "Una vez comenzado, el proceso no puede ser abortado ni cancelado."
TITLE_CLEARING_PROCESS = "Limpiando carpeta..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Seleccione las carpetas del sistema"
SELECT_CHOOSE_ONE = "Elija una"
@ -243,6 +275,7 @@ LABEL_SENT = "Enviados"
LABEL_DRAFTS = "Borradores"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Papelera"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Cancelar"
BUTTON_CLOSE = "Cerrar"
@ -257,6 +290,8 @@ Si desea eliminar los mensajes permanentemente, por favor seleccione la opción
NOTIFICATION_TRASH = "Usted no ha seleccionado la carpeta del sistema para alojar los mensajes enviados a la \"Papelera\" .
Si desea eliminar los mensajes permanentemente, por favor seleccione la opción \"No usar\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Cargando"
LOGIN = "Ingresar"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temas"
LABEL_CHANGE_PASSWORD_NAME = "Contraseña"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Atrás"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nueva contraseña"
LABEL_REPEAT_PASSWORD = "Otra vez su Nueva contraseña"
BUTTON_UPDATE_PASSWORD = "Establecer nueva contraseña"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Elemento Inválido"
AUTH_ERROR = "Autentificación fallida"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Envoyés"
DRAFTS_NAME = "Brouillons"
SPAM_NAME = "Spam"
TRASH_NAME = "Corbeille"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Quota"
@ -58,6 +59,7 @@ TITLE = "Quota"
BUTTON_RELOAD = "Recharger la liste des messages"
BUTTON_MOVE_TO = "Déplacer vers"
BUTTON_DELETE = "Supprimer"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Vider le dossier"
BUTTON_MULTY_FORWARD = "Transmettre les messages"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Modifier"
BUTTON_BACK = "Retour"
BUTTON_CLOSE = "Fermer"
BUTTON_DELETE = "Supprimer"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Déplacer vers"
BUTTON_MORE = "Plus"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Sujet"
PRINT_LABEL_ATTACHMENTS = "Pièces jointes"
MESSAGE_LOADING = "Chargement"
MESSAGE_VIEW_DESC = "Sélectionner un message dans la liste pour l'afficher ici."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Accusé de réception (affiché) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Cette action effacera tous les mails du dossier <strong>%F
DANGER_DESC_HTML_2 = "Une fois lancé, le processus ne peut pas être interrompu ou annulé."
TITLE_CLEARING_PROCESS = "Purge du dossier..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Sélectionner les dossiers système"
SELECT_CHOOSE_ONE = "Faites un choix"
@ -243,6 +275,7 @@ LABEL_SENT = "Envoyés"
LABEL_DRAFTS = "Bouillons"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Corbeille"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Annuler"
BUTTON_CLOSE = "Fermer"
@ -257,6 +290,8 @@ Si vous ne souhaitez supprimer définitivement les messages, sélectionner l'opt
NOTIFICATION_TRASH = "Vous n'avez pas sélectionné de dossier \"Corbeille\" où placer les messages supprimés.
Si vous ne souhaitez supprimer définitivement les messages, sélectionner l'option \"Ne pas utiliser\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Chargement"
LOGIN = "Identifiant"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Thèmes"
LABEL_CHANGE_PASSWORD_NAME = "Mot de passe"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Retour"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nouveau mot de passe"
LABEL_REPEAT_PASSWORD = "Confirmation du nouveau mot de passe"
BUTTON_UPDATE_PASSWORD = "Enregistrer le nouveau mot de passe"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Jeton invalide"
AUTH_ERROR = "L'authentification a échoué"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Elküldött levelek"
DRAFTS_NAME = "Piszkozatok"
SPAM_NAME = "Levélszemét"
TRASH_NAME = "Lomtár"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Helyfoglalás"
@ -58,6 +59,7 @@ TITLE = "Helyfoglalás"
BUTTON_RELOAD = "Levél lista újratöltés"
BUTTON_MOVE_TO = "Áthelyezés"
BUTTON_DELETE = "Törlés"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Levélszemét"
BUTTON_EMPTY_FOLDER = "Mappa űrítés"
BUTTON_MULTY_FORWARD = "Levél továbbítás"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Szerkesztés"
BUTTON_BACK = "Vissza"
BUTTON_CLOSE = "Bezárás"
BUTTON_DELETE = "Tőrlés"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Levélszemét"
BUTTON_MOVE_TO = "Áthelyezés"
BUTTON_MORE = "Egyéb"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Tárgy"
PRINT_LABEL_ATTACHMENTS = "Mellékletek"
MESSAGE_LOADING = "Betöltés"
MESSAGE_VIEW_DESC = "Select message in list to view it here."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "This action will result in removing all mails from <strong
DANGER_DESC_HTML_2 = "Once started, the process cannot be aborted or cancelled."
TITLE_CLEARING_PROCESS = "Purging the folder..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Select system folders"
SELECT_CHOOSE_ONE = "Choose one"
@ -243,6 +275,7 @@ LABEL_SENT = "Sent"
LABEL_DRAFTS = "Drafts"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Trash"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Cancel"
BUTTON_CLOSE = "Close"
@ -257,6 +290,8 @@ If you wish to remove messages permanently, please select \"Do not use\" option.
NOTIFICATION_TRASH = "You haven't selected \"Trash\" system folder deleted messages are placed to.
If you wish to remove messages permanently, please select \"Do not use\" option."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Loading"
LOGIN = "Login"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identitások"
LABEL_SOCIAL_NAME = "Közösség"
LABEL_THEMES_NAME = "Sablonok"
LABEL_CHANGE_PASSWORD_NAME = "Jelszó"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Vissza"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "New password"
LABEL_REPEAT_PASSWORD = "New password again"
BUTTON_UPDATE_PASSWORD = "Set New Password"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Invalid token"
AUTH_ERROR = "Authentication failed"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Sent"
DRAFTS_NAME = "Drög"
SPAM_NAME = "Ruslpóstur"
TRASH_NAME = "Ruslatunna"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Diska notkun"
@ -58,6 +59,7 @@ TITLE = "Diska notkun"
BUTTON_RELOAD = "Endurhlaða Skilaboða Lista"
BUTTON_MOVE_TO = "Færa í"
BUTTON_DELETE = "Eyða"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Ruslpóstur"
BUTTON_EMPTY_FOLDER = "Hreinsa Möppu"
BUTTON_MULTY_FORWARD = "Áframsenda skilaboð"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Breyta"
BUTTON_BACK = "Til baka"
BUTTON_CLOSE = "Loka"
BUTTON_DELETE = "Eyða"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Ruslpóstur"
BUTTON_MOVE_TO = "Færa í"
BUTTON_MORE = "Meira"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Viðhengi"
PRINT_LABEL_ATTACHMENTS = "Viðhengi"
MESSAGE_LOADING = "Hleð"
MESSAGE_VIEW_DESC = "Veldu bréf úr listanum til að skoða hér."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Þessi aðgerð veldur því að öll bréf úr <strong>%F
DANGER_DESC_HTML_2 = "Það er ekki hægt að hætta við aðgerðina eftir að búið er að keyra hana."
TITLE_CLEARING_PROCESS = "Tæmi möppu..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Veldu kerfismöppur"
SELECT_CHOOSE_ONE = "Veldu eitt"
@ -243,6 +275,7 @@ LABEL_SENT = "Sent"
LABEL_DRAFTS = "Drög"
LABEL_SPAM = "Ruslpóstur"
LABEL_TRASH = "Ruslatunna"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Hætta við"
BUTTON_CLOSE = "Loka"
@ -257,6 +290,8 @@ Ef þú vilt fjarlægja bréf endanlega, vinsamlegast veldu \"Ekki nota\" valmö
NOTIFICATION_TRASH = "Þú hefur ekki valið \"Ruslatunna\" kerfismöppu sem eydd bréf eru sett í.
Ef þú vilt fjarlægja bréfið endanlega, vinsamlegast veldu \"Ekki nota\" valmöguleikann."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Hleð"
LOGIN = "Innskrá"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Félagsmiðlar"
LABEL_THEMES_NAME = "Þemur"
LABEL_CHANGE_PASSWORD_NAME = "Lykilorð"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Til baka"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nýtt lykilorð"
LABEL_REPEAT_PASSWORD = "Nýtt lykilorð aftur"
BUTTON_UPDATE_PASSWORD = "Setja nýtt lykilorð"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Rangt tákn"
AUTH_ERROR = "Auðkenning mistókst"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Posta inviata"
DRAFTS_NAME = "Bozze"
SPAM_NAME = "Posta indesiderata"
TRASH_NAME = "Cestino"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Uso della quota"
@ -58,6 +59,7 @@ TITLE = "Uso della quota"
BUTTON_RELOAD = "Ricarica lista messaggi"
BUTTON_MOVE_TO = "Sposta in"
BUTTON_DELETE = "Cancella"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Marca come indesiderati"
BUTTON_EMPTY_FOLDER = "Pulisci cartella"
BUTTON_MULTY_FORWARD = "Inoltra messaggi"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Modifica"
BUTTON_BACK = "Indietro"
BUTTON_CLOSE = "Chiudi"
BUTTON_DELETE = "Cancella"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Marca come indesiderato"
BUTTON_MOVE_TO = "Sposta in"
BUTTON_MORE = "Di più"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Oggetto"
PRINT_LABEL_ATTACHMENTS = "Allegati"
MESSAGE_LOADING = "Caricamento..."
MESSAGE_VIEW_DESC = "Seleziona un messaggio dalla lista per visualizzarlo qui"
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Avviso di lettura - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Questa azione cancellerà tutti i messaggi presenti nella
DANGER_DESC_HTML_2 = "Una volta iniziato, il processo non può più essere annullato."
TITLE_CLEARING_PROCESS = "Svuotando la cartella..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Seleziona le cartelle di sistema"
SELECT_CHOOSE_ONE = "Selezionane una"
@ -243,6 +275,7 @@ LABEL_SENT = "Posta inviata"
LABEL_DRAFTS = "Bozze"
LABEL_SPAM = "Posta indesiderata"
LABEL_TRASH = "Cestino"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Annulla"
BUTTON_CLOSE = "Chiudi"
@ -257,6 +290,8 @@ Se li vuoi rimuovere permanentemente seleziona \"Non usarla\"."
NOTIFICATION_TRASH = "Non hai selezionato una cartella di sistema per il cestino.
Se non lo vuoi usare (e quindi cancellare i messaggi permanentemente) seleziona \"Non usarla\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Caricamento..."
LOGIN = "Accedi"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identità"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temi"
LABEL_CHANGE_PASSWORD_NAME = "Password"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Indietro"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nuova password"
LABEL_REPEAT_PASSWORD = "Ripeti nuova password"
BUTTON_UPDATE_PASSWORD = "Cambia password"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Token invalido"
AUTH_ERROR = "Autenticazione fallita"

View file

@ -50,6 +50,7 @@ SENT_NAME = "送信済み"
DRAFTS_NAME = "下書き"
SPAM_NAME = "迷惑メール"
TRASH_NAME = "ごみ箱"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "クォータ使用量"
@ -58,6 +59,7 @@ TITLE = "クォータ使用量"
BUTTON_RELOAD = "リスト更新"
BUTTON_MOVE_TO = "移動"
BUTTON_DELETE = "削除"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "迷惑メールにする"
BUTTON_EMPTY_FOLDER = "フォルダを空に"
BUTTON_MULTY_FORWARD = "転送"
@ -92,6 +94,7 @@ BUTTON_EDIT = "編集"
BUTTON_BACK = "戻る"
BUTTON_CLOSE = "閉じる"
BUTTON_DELETE = "削除"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "迷惑メール"
BUTTON_MOVE_TO = "移動"
BUTTON_MORE = "その他"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "件名"
PRINT_LABEL_ATTACHMENTS = "添付ファイル"
MESSAGE_LOADING = "読み込み中"
MESSAGE_VIEW_DESC = "選択したメールがここに表示されます。"
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "開封確認メッセージ - %SUBJECT%"
@ -252,6 +258,15 @@ LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Select system folders"
SELECT_CHOOSE_ONE = "Choose one"
@ -260,6 +275,7 @@ LABEL_SENT = "送信済み"
LABEL_DRAFTS = "下書き"
LABEL_SPAM = "迷惑メール"
LABEL_TRASH = "ゴミ箱"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "キャンセル"
BUTTON_CLOSE = "閉じる"
@ -274,6 +290,8 @@ If you wish to remove messages permanently, please select \"Do not use\" option.
NOTIFICATION_TRASH = "You haven't selected \"Trash\" system folder deleted messages are placed to.
If you wish to remove messages permanently, please select \"Do not use\" option."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Loading"
LOGIN = "Login"

View file

@ -50,6 +50,7 @@ SENT_NAME = "보낸 편지함"
DRAFTS_NAME = "임시 보관함"
SPAM_NAME = "스팸함"
TRASH_NAME = "휴지통"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "사용량"
@ -58,6 +59,7 @@ TITLE = "사용량"
BUTTON_RELOAD = "메일 목록 새로고침"
BUTTON_MOVE_TO = "이동"
BUTTON_DELETE = "삭제"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "스팸"
BUTTON_EMPTY_FOLDER = "폴더 비우기"
BUTTON_MULTY_FORWARD = "전달"
@ -92,6 +94,7 @@ BUTTON_EDIT = "수정"
BUTTON_BACK = "뒤로"
BUTTON_CLOSE = "닫기"
BUTTON_DELETE = "삭제"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "스팸"
BUTTON_MOVE_TO = "이동"
BUTTON_MORE = "더보기"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "제목"
PRINT_LABEL_ATTACHMENTS = "첨부파일"
MESSAGE_LOADING = "여는 중..."
MESSAGE_VIEW_DESC = "목록에서 선택한 메시지가 여기에 표시됩니다."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "이 동작은 <strong>%FOLDER%</strong> 폴더의 메시
DANGER_DESC_HTML_2 = "작업이 시작되면 중지하거나 취소할 수 없습니다."
TITLE_CLEARING_PROCESS = "폴더 비우는 중..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "메일함을 지정해주세요"
SELECT_CHOOSE_ONE = "선택해주세요"
@ -243,6 +275,7 @@ LABEL_SENT = "보낸 편지함"
LABEL_DRAFTS = "임시 보관함"
LABEL_SPAM = "스팸함"
LABEL_TRASH = "휴지통"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "취소"
BUTTON_CLOSE = "닫기"
@ -254,6 +287,8 @@ NOTIFICATION_SPAM = "스팸함 폴더가 지정되지 않았습니다. 스팸처
NOTIFICATION_TRASH = "휴지통 폴더가 지정되지 않았습니다. 삭제한 메시지를 휴지통에 보관하지 않고 바로 삭제하려면 \"사용하지 않음\" 옵션을 선택해주세요."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "로딩 중"
LOGIN = "로그인"
@ -286,6 +321,7 @@ LABEL_IDENTITIES_NAME = "신원"
LABEL_SOCIAL_NAME = "소셜"
LABEL_THEMES_NAME = "테마"
LABEL_CHANGE_PASSWORD_NAME = "비밀번호"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "뒤로"
[SETTINGS_IDENTITY]
@ -394,6 +430,14 @@ LABEL_NEW_PASSWORD = "새 비밀번호"
LABEL_REPEAT_PASSWORD = "비밀번호 재입력"
BUTTON_UPDATE_PASSWORD = "비밀번호 변경"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "잘못된 토큰입니다."
AUTH_ERROR = "인증 실패"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Nosūtītie"
DRAFTS_NAME = "Melnraksti"
SPAM_NAME = "Spams"
TRASH_NAME = "Miskaste"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Kvotas izmantojums"
@ -58,6 +59,7 @@ TITLE = "Kvotas izmantojums"
BUTTON_RELOAD = "Pārlādēt ziņojumu sarakstu"
BUTTON_MOVE_TO = "Pārvietot uz"
BUTTON_DELETE = "Dzēst"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spams"
BUTTON_EMPTY_FOLDER = "Iztīrīt mapi"
BUTTON_MULTY_FORWARD = "Pārsūtīt ziņojumus"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Labot"
BUTTON_BACK = "Atpakaļ"
BUTTON_CLOSE = "Aizvērt"
BUTTON_DELETE = "Dzēst"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spams"
BUTTON_MOVE_TO = "Pārvietot uz"
BUTTON_MORE = "Vairāk"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Tēma"
PRINT_LABEL_ATTACHMENTS = "Pielikumi"
MESSAGE_LOADING = "Lādējās"
MESSAGE_VIEW_DESC = "Izvēlaties ziņojumu no saraksta lai to apskatītu."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Šī darbība izdzēsīs visus ziņojumus no <strong>%FOLD
DANGER_DESC_HTML_2 = "Šo procesu nevarēs apturēt."
TITLE_CLEARING_PROCESS = "Mape tiek iztīrīta..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Izvēlaties sistēmas mapes"
SELECT_CHOOSE_ONE = "Izvēlaties vienu"
@ -243,6 +275,7 @@ LABEL_SENT = "Nosūtīts"
LABEL_DRAFTS = "Melnraksts"
LABEL_SPAM = "Spams"
LABEL_TRASH = "Miskaste"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Atcelt"
BUTTON_CLOSE = "Aizvērt"
@ -257,6 +290,8 @@ Ja tu vēlies izdzēst ziņojumus pavisam, izvēlies \"Neizmantot\" opciju."
NOTIFICATION_TRASH = "Tu neesi izvēlējies \"Miskaste\" sistēmas mapi.
Ja tu vēlies izdzēst ziņojumus pavisam, izvēlies \"Neizmantot\" opciju."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Lādējas"
LOGIN = "Ielogoties"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Sociālie"
LABEL_THEMES_NAME = "Tēmas"
LABEL_CHANGE_PASSWORD_NAME = "Parole"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Atpakaļ"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Jaunā parole"
LABEL_REPEAT_PASSWORD = "Jaunā parole vēlreiz"
BUTTON_UPDATE_PASSWORD = "Saglabāt paroli"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Nepareizs tokens"
AUTH_ERROR = "Autorizācija neizdevās"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Verzonden"
DRAFTS_NAME = "Klad"
SPAM_NAME = "Spam"
TRASH_NAME = "Prullenbak"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Quota gebruik"
@ -58,6 +59,7 @@ TITLE = "Quota gebruik"
BUTTON_RELOAD = "Berichten lijst herladen"
BUTTON_MOVE_TO = "Verplaatsen naar"
BUTTON_DELETE = "Verwijderen"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Map leeg maken"
BUTTON_MULTY_FORWARD = "Berichten Doorsturen"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Aanpassen"
BUTTON_BACK = "Terug"
BUTTON_CLOSE = "Sluiten"
BUTTON_DELETE = "Verwijderen"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Verplaatsen naar"
BUTTON_MORE = "Meer"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Onderwerp"
PRINT_LABEL_ATTACHMENTS = "Bijlages"
MESSAGE_LOADING = "Bericht ophalen"
MESSAGE_VIEW_DESC = "Selecteer het bericht in de lijst om hier te bekijken."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Deze actie verwijdert alle emails van de map <strong>%FOLD
DANGER_DESC_HTML_2 = "Eens in gang gezet kan het proces niet geannuleerd worden!"
TITLE_CLEARING_PROCESS = "Folder aan het leegmaken..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Selecteer systeem mappen"
SELECT_CHOOSE_ONE = "Kies één"
@ -243,6 +275,7 @@ LABEL_SENT = "Verzonden"
LABEL_DRAFTS = "Klad"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Prullenbak"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Annuleer"
BUTTON_CLOSE = "Sluiten"
@ -257,6 +290,8 @@ Indien u berichten permanent wil verwijderen, kies de \"Niet gebruiken\" optie."
NOTIFICATION_TRASH = "U heeft nog geen \"Trash\" folder aangeduid waar de berichten geplaatst worden.
Indien u berichten permanent wil verwijderen, kies de \"Niet gebruiken\" optie."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Ophalen"
LOGIN = "Inloggen"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identities"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Themes"
LABEL_CHANGE_PASSWORD_NAME = "Paswoord"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Terug"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nieuw paswoord"
LABEL_REPEAT_PASSWORD = "Nieuw paswoord opnieuw"
BUTTON_UPDATE_PASSWORD = "Instellen nieuw paswoord"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Onjuist teken"
AUTH_ERROR = "Authentificatie misgelukt"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Sendt"
DRAFTS_NAME = "Kladd"
SPAM_NAME = "Spam"
TRASH_NAME = "Søppel"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Kvote bruk"
@ -58,6 +59,7 @@ TITLE = "Kvote bruk"
BUTTON_RELOAD = "Hent nye meldinger"
BUTTON_MOVE_TO = "Flytt til"
BUTTON_DELETE = "Slett"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_EMPTY_FOLDER = "Fjern mappe"
BUTTON_MULTY_FORWARD = "Videresend meldinger"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Rediger"
BUTTON_BACK = "Tilbake"
BUTTON_CLOSE = "Lukk"
BUTTON_DELETE = "Slett"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Spam"
BUTTON_MOVE_TO = "Flytt til"
BUTTON_MORE = "Mer"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Emne"
PRINT_LABEL_ATTACHMENTS = "Vedlegg"
MESSAGE_LOADING = "Laster"
MESSAGE_VIEW_DESC = "Velg melding på listen for å vise det her ."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Denne handlingen vil resultere i å fjerne alle poster fra
DANGER_DESC_HTML_2 = "Når den er startet , prosessen kan ikke bli avbrutt eller kansellert ."
TITLE_CLEARING_PROCESS = "Tømme mappen ..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Velg systemmapper"
SELECT_CHOOSE_ONE = "Velg en"
@ -243,6 +275,7 @@ LABEL_SENT = "Sendt"
LABEL_DRAFTS = "Kladd"
LABEL_SPAM = "Spam"
LABEL_TRASH = "Trash"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Avbryt"
BUTTON_CLOSE = "Lukk"
@ -257,6 +290,8 @@ Hvis du ønsker å fjerne meldinger permanent , velger du \"Ikke bruk\" alternat
NOTIFICATION_TRASH = "Du har ikke valgt \"Trash\" system mappen slettede meldinger skal plasseres til .
Hvis du ønsker å fjerne meldinger permanent , velger du \"Ikke bruk\" alternativet ."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Laster"
LOGIN = "Logg inn"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "identiteter"
LABEL_SOCIAL_NAME = "Sosialt"
LABEL_THEMES_NAME = "Tema"
LABEL_CHANGE_PASSWORD_NAME = "Passord"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Tilbake"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nytt passord"
LABEL_REPEAT_PASSWORD = "Nytt passord på nytt"
BUTTON_UPDATE_PASSWORD = "Sett nytt passord"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Ugyldig token"
AUTH_ERROR = "Autentisering feilet"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Wysłane"
DRAFTS_NAME = "Wersje robocze"
SPAM_NAME = "Spam"
TRASH_NAME = "Kosz"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Wykorzystane miejsce"
@ -58,6 +59,7 @@ TITLE = "Wykorzystane miejsce"
BUTTON_RELOAD = "Odśwież"
BUTTON_MOVE_TO = "Przenieś do"
BUTTON_DELETE = "Usuń"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Oznacz jako spam"
BUTTON_EMPTY_FOLDER = "Wyczyść folder"
BUTTON_MULTY_FORWARD = "Przekaż dalej"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Edytuj"
BUTTON_BACK = "Wstecz"
BUTTON_CLOSE = "Zamknij"
BUTTON_DELETE = "Usuń"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Oznacz jako spam"
BUTTON_MOVE_TO = "Przenieś Do"
BUTTON_MORE = "Więcej"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Temat"
PRINT_LABEL_ATTACHMENTS = "Załączniki"
MESSAGE_LOADING = "Ładowanie..."
MESSAGE_VIEW_DESC = "Wybierz wiadomość z listy w celu jej wyświetlenia."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Potwierdzenie odbioru (wyświetlenia) - %SUBJECT%"
@ -234,6 +240,32 @@ DANGER_DESC_HTML_1 = "Wybrana akcja doprowadzi do usunięcia na stałe wszystkic
DANGER_DESC_HTML_2 = "Po rozpoczęciu, proces nie może zostać przerwany ani anulowany."
TITLE_CLEARING_PROCESS = "Trwa usuwanie wszystkich wiadomości w folderze..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Wybierz foldery systemowe"
SELECT_CHOOSE_ONE = "Wybierz"
@ -242,6 +274,7 @@ LABEL_SENT = "Wysłane"
LABEL_DRAFTS = "Wersje robocze"
LABEL_SPAM = "SPAM"
LABEL_TRASH = "Kosz"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Anuluj"
BUTTON_CLOSE = "Zamknij"
@ -256,6 +289,8 @@ Jeżeli wiadomości oznaczone jako spam mają być usuwane na stałe, proszę o
NOTIFICATION_TRASH = "Nie został wybrany folder \"Kosz\" do którego przenoszone są wszystkie usunięte wiadomości.
Jeżeli wiadomości usunięte mają być usuwane na stałe, proszę o zaznaczenie opcji \"Nie używaj\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Ładowanie"
LOGIN = "Login"
@ -288,6 +323,7 @@ LABEL_IDENTITIES_NAME = "Tożsamości"
LABEL_SOCIAL_NAME = "Social Media"
LABEL_THEMES_NAME = "Wygląd"
LABEL_CHANGE_PASSWORD_NAME = "Hasło"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Wstecz"
[SETTINGS_IDENTITY]
@ -396,6 +432,14 @@ LABEL_NEW_PASSWORD = "Nowe hasło"
LABEL_REPEAT_PASSWORD = "Powtórz nowe hasło"
BUTTON_UPDATE_PASSWORD = "Zmień hasło na nowe"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Nieprawidłowy token"
AUTH_ERROR = "Błąd autoryzacji"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Enviar"
DRAFTS_NAME = "Rascunhos"
SPAM_NAME = "Lixo Eletrônico"
TRASH_NAME = "Lixeira"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Uso da Cota"
@ -58,6 +59,7 @@ TITLE = "Uso da Cota"
BUTTON_RELOAD = "Atualizar Lista de Mensagens"
BUTTON_MOVE_TO = "Mover Para"
BUTTON_DELETE = "Excluir"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Lixo Eletrônico"
BUTTON_EMPTY_FOLDER = "Limpar Pasta"
BUTTON_MULTY_FORWARD = "Encaminhar mensagens"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Editar"
BUTTON_BACK = "Voltar"
BUTTON_CLOSE = "Fechar"
BUTTON_DELETE = "Excluir"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Lixo Eletrônico"
BUTTON_MOVE_TO = "Mover para"
BUTTON_MORE = "Mais"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Assunto"
PRINT_LABEL_ATTACHMENTS = "Anexos"
MESSAGE_LOADING = "Carregando"
MESSAGE_VIEW_DESC = "Selecione a lista de mensagens para visuzalizá-la aqui."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Aviso de recepção (informado) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Esta ação irá resultar na remoção de todos os e-mails
DANGER_DESC_HTML_2 = "Uma vez iniciado, o processo não pode ser interrompido ou cancelado."
TITLE_CLEARING_PROCESS = "Excluindo a pasta..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Selecione as pastas do sistema"
SELECT_CHOOSE_ONE = "Escolha um"
@ -243,6 +275,7 @@ LABEL_SENT = "Enviar"
LABEL_DRAFTS = "Rascunhos"
LABEL_SPAM = "Lixo Eletrônico"
LABEL_TRASH = "Lixo"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Cancelar"
BUTTON_CLOSE = "Fechar"
@ -257,6 +290,8 @@ Se você deseja remover as mensagens permanentemente, por favor selecione a opç
NOTIFICATION_TRASH = "Você não selecionou \"Trash\" a pasta de mensagens excluídas do sistema que são colocadas para.
Se você deseja remover as mensagens permanentemente, por favor selecione a opção \"Do not use\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Carregando"
LOGIN = "Usuário"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identidades"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temas"
LABEL_CHANGE_PASSWORD_NAME = "Senha"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Voltar"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nova senha"
LABEL_REPEAT_PASSWORD = "Repita a nova senha"
BUTTON_UPDATE_PASSWORD = "Defina a nova senha"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Senha inválida"
AUTH_ERROR = "Falha na autenticação"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Enviar"
DRAFTS_NAME = "Rascunhos"
SPAM_NAME = "Lixo Eletrônico"
TRASH_NAME = "Lixeira"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Uso da Cota"
@ -58,6 +59,7 @@ TITLE = "Uso da Cota"
BUTTON_RELOAD = "Atualizar Lista de Mensagens"
BUTTON_MOVE_TO = "Mover Para"
BUTTON_DELETE = "Excluir"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Lixo Eletrônico"
BUTTON_EMPTY_FOLDER = "Limpar Pasta"
BUTTON_MULTY_FORWARD = "Encaminhar mensagens"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Editar"
BUTTON_BACK = "Voltar"
BUTTON_CLOSE = "Fechar"
BUTTON_DELETE = "Excluir"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "Lixo Eletrônico"
BUTTON_MOVE_TO = "Mover para"
BUTTON_MORE = "Mais"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Assunto"
PRINT_LABEL_ATTACHMENTS = "Anexos"
MESSAGE_LOADING = "Carregando"
MESSAGE_VIEW_DESC = "Selecione a lista de mensagens para visuzalizá-la aqui."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Aviso de recepção (informado) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Esta ação irá resultar na remoção de todos os e-mails
DANGER_DESC_HTML_2 = "Uma vez iniciado, o processo não pode ser interrompido ou cancelado."
TITLE_CLEARING_PROCESS = "Excluindo a pasta..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Selecione as pastas do sistema"
SELECT_CHOOSE_ONE = "Escolha um"
@ -243,6 +275,7 @@ LABEL_SENT = "Enviar"
LABEL_DRAFTS = "Rascunhos"
LABEL_SPAM = "Lixo Eletrônico"
LABEL_TRASH = "Lixo"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Cancelar"
BUTTON_CLOSE = "Fechar"
@ -257,6 +290,8 @@ Se você deseja remover as mensagens permanentemente, por favor selecione a opç
NOTIFICATION_TRASH = "Você não selecionou \"Trash\" a pasta de mensagens excluídas do sistema que são colocadas para.
Se você deseja remover as mensagens permanentemente, por favor selecione a opção \"Do not use\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Carregando"
LOGIN = "Usuário"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Identidades"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temas"
LABEL_CHANGE_PASSWORD_NAME = "Senha"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Voltar"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Nova senha"
LABEL_REPEAT_PASSWORD = "Repita a nova senha"
BUTTON_UPDATE_PASSWORD = "Defina a nova senha"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Senha inválida"
AUTH_ERROR = "Falha na autenticação"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Trimise"
DRAFTS_NAME = "Salvate"
SPAM_NAME = "SPAM"
TRASH_NAME = "Șterse"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "Cotă"
@ -58,6 +59,7 @@ TITLE = "Cotă"
BUTTON_RELOAD = "Actualizare"
BUTTON_MOVE_TO = "Mută la"
BUTTON_DELETE = "Șterge"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "SPAM"
BUTTON_EMPTY_FOLDER = "Golește folderul"
BUTTON_MULTY_FORWARD = "Redirecționează mesajul"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Editează"
BUTTON_BACK = "Înapoi"
BUTTON_CLOSE = "Închide"
BUTTON_DELETE = "Șterge"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "SPAM"
BUTTON_MOVE_TO = "Mută la"
BUTTON_MORE = "Mai mult"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Subiect"
PRINT_LABEL_ATTACHMENTS = "Atașament"
MESSAGE_LOADING = "Se încarcă..."
MESSAGE_VIEW_DESC = "Selectați un mesaj pentru al vizualiza."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Mesajul dumneavoastră a fost citit - %SUBJECT%"
@ -234,6 +240,32 @@ DANGER_DESC_HTML_1 = "Această acțiune va conduce la eliminarea completă a tut
DANGER_DESC_HTML_2 = "După începerea procesului de curățare <strong style=\"color:red\">nu mai puteți</strong> anula procesul."
TITLE_CLEARING_PROCESS = "Curăț dosarul..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Selectați dosarul de sistem"
SELECT_CHOOSE_ONE = "Nu a fost încă selectat"
@ -242,6 +274,7 @@ LABEL_SENT = "Trimise"
LABEL_DRAFTS = "Salvate"
LABEL_SPAM = "SPAM"
LABEL_TRASH = "Șterse"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "Anulează"
BUTTON_CLOSE = "Închide"
@ -256,6 +289,8 @@ NOTIFICATION_SPAM = "Вы еще не выбрали системную папк
NOTIFICATION_TRASH = "Вы еще не выбрали системную папку \"Удаленные\", в которую складываются все сообщения после удаления.
Если же вы хотите удалять письма сразу, пожалуйста, выберите пункт \"Не использовать\"."
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "Se încarcă"
LOGIN = "Conectare"
@ -288,6 +323,7 @@ LABEL_IDENTITIES_NAME = "Profiluri"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Subiecte"
LABEL_CHANGE_PASSWORD_NAME = "Parolă"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Înapoi"
[SETTINGS_IDENTITY]
@ -396,6 +432,14 @@ LABEL_NEW_PASSWORD = "Noua parolă"
LABEL_REPEAT_PASSWORD = "Confirmați parola"
BUTTON_UPDATE_PASSWORD = "Salvați noua parolă"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "Semn invalid"
AUTH_ERROR = "Nu se poate realiza conectarea"

View file

@ -50,6 +50,7 @@ SENT_NAME = "Отправленные"
DRAFTS_NAME = "Черновики"
SPAM_NAME = "Спам"
TRASH_NAME = "Корзина"
ARCHIVE_NAME = "Архив"
[QUOTA]
TITLE = "Дисковая квота"
@ -58,6 +59,7 @@ TITLE = "Дисковая квота"
BUTTON_RELOAD = "Обновить Список Писем"
BUTTON_MOVE_TO = "Переместить"
BUTTON_DELETE = "Удалить"
BUTTON_ARCHIVE = "Архивировать"
BUTTON_SPAM = "В спам"
BUTTON_EMPTY_FOLDER = "Очистить всю папку"
BUTTON_MULTY_FORWARD = "Переслать сообщения"
@ -92,6 +94,7 @@ BUTTON_EDIT = "Редактировать"
BUTTON_BACK = "Назад"
BUTTON_CLOSE = "Закрыть"
BUTTON_DELETE = "Удалить"
BUTTON_ARCHIVE = "Архивировать"
BUTTON_SPAM = "В спам"
BUTTON_MOVE_TO = "Переместить"
BUTTON_MORE = "Еще"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "Тема"
PRINT_LABEL_ATTACHMENTS = "Файлы"
MESSAGE_LOADING = "Загрузка"
MESSAGE_VIEW_DESC = "Выберите сообщение для просмотра."
PGP_PASSWORD_INPUT_PLACEHOLDER = "Пароль"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP подписанное сообщение (нажмите, чтобы подтвердить)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP шифрованное сообщение (нажмите, чтобы расшифровать)"
[READ_RECEIPT]
SUBJECT = "Уведомление о прочтении письма - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "Данное действие приведет к полн
DANGER_DESC_HTML_2 = "После начала очистки, процесс <strong style=\"color:red\">нельзя</strong> будет останосить или отменить."
TITLE_CLEARING_PROCESS = "Очистка папки..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Импорт OpenPGP ключа"
BUTTON_IMPORT_OPEN_PGP_KEY = "Импорт"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "Просмотр OpenPGP ключа"
BUTTON_SELECT = "Выбрать"
BUTTON_CLOSE = "Закрыть"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Генерация OpenPGP ключа"
LABEL_EMAIL = "Почта"
LABEL_NAME = "Имя"
LABEL_PASSWORD = "Пароль"
LABEL_KEY_BIT_LENGTH = "Длина ключа"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Создать"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP подпись и шифрование"
LABEL_SIGN = "Подпись"
LABEL_ENCRYPT = "Шифрование"
LABEL_PASSWORD = "Пароль"
BUTTON_SIGN = "Подпись"
BUTTON_ENCRYPT = "Шифрование"
BUTTON_SIGN_AND_ENCRYPT = "Подпись и шифрование"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "Выберите системые папки"
SELECT_CHOOSE_ONE = "Еще не выбрана"
@ -243,6 +275,7 @@ LABEL_SENT = "Отправленные"
LABEL_DRAFTS = "Черновики"
LABEL_SPAM = "Спам"
LABEL_TRASH = "Удаленные"
LABEL_ARCHIVE = "Архив"
BUTTON_CANCEL = "Отменить"
BUTTON_CLOSE = "Закрыть"
@ -257,6 +290,8 @@ NOTIFICATION_SPAM = "Вы еще не выбрали системную папк
NOTIFICATION_TRASH = "Вы еще не выбрали системную папку \"Удаленные\", в которую складываются все сообщения после удаления.
Если же вы хотите удалять письма сразу, пожалуйста, выберите пункт \"Не использовать\"."
NOTIFICATION_ARCHIVE = "Вы еще не выбрали системную папку \"Архив\", в которую складываются все сообщения после архивации."
[TITLES]
LOADING = "Загрузка"
LOGIN = "Вход"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "Профили"
LABEL_SOCIAL_NAME = "Социальные"
LABEL_THEMES_NAME = "Темы"
LABEL_CHANGE_PASSWORD_NAME = "Пароль"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Назад"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "Новый пароль"
LABEL_REPEAT_PASSWORD = "Повторить"
BUTTON_UPDATE_PASSWORD = "Установить Новый Пароль"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Ипортировать OpenPGP ключ"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Новый OpenPGP ключ"
TITLE_PRIVATE = "Приватный"
TITLE_PUBLIC = "Публичный"
DELETING_ASK = "Точно?"
[NOTIFICATIONS]
INVALID_TOKEN = "Неверный токен запроса"
AUTH_ERROR = "Не удалось авторизоваться"

View file

@ -50,6 +50,7 @@ SENT_NAME = "已发邮件"
DRAFTS_NAME = "草稿"
SPAM_NAME = "垃圾邮件"
TRASH_NAME = "已删除邮件"
ARCHIVE_NAME = "Archive"
[QUOTA]
TITLE = "存储空间使用量"
@ -58,6 +59,7 @@ TITLE = "存储空间使用量"
BUTTON_RELOAD = "重新加载邮件列表"
BUTTON_MOVE_TO = "移至"
BUTTON_DELETE = "已删除邮件"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "垃圾邮件"
BUTTON_EMPTY_FOLDER = "清空文件夹"
BUTTON_MULTY_FORWARD = "转发邮件"
@ -92,6 +94,7 @@ BUTTON_EDIT = "编辑"
BUTTON_BACK = "返回"
BUTTON_CLOSE = "关闭"
BUTTON_DELETE = "删除"
BUTTON_ARCHIVE = "Archive"
BUTTON_SPAM = "垃圾邮件"
BUTTON_MOVE_TO = "移至"
BUTTON_MORE = "更多"
@ -126,6 +129,9 @@ PRINT_LABEL_SUBJECT = "主题"
PRINT_LABEL_ATTACHMENTS = "附件"
MESSAGE_LOADING = "加载中"
MESSAGE_VIEW_DESC = "在此查看列表中选中的邮件。"
PGP_PASSWORD_INPUT_PLACEHOLDER = "Password"
PGP_SIGNED_MESSAGE_DESC = "OpenPGP signed message (click to verify)"
PGP_ENCRYPTED_MESSAGE_DESC = "OpenPGP encrypted message (click to decrypt)"
[READ_RECEIPT]
SUBJECT = "Return Receipt (displayed) - %SUBJECT%"
@ -235,6 +241,32 @@ DANGER_DESC_HTML_1 = "此操作将完全删除文件夹 <strong>%FOLDER%</strong
DANGER_DESC_HTML_2 = "一旦操作执行,不可中断和撤销!"
TITLE_CLEARING_PROCESS = "文件夹清理中..."
[POPUPS_IMPORT_OPEN_PGP_KEY]
TITLE_IMPORT_OPEN_PGP_KEY = "Import OpenPGP key"
BUTTON_IMPORT_OPEN_PGP_KEY = "Import"
[POPUPS_VIEW_OPEN_PGP_KEY]
TITLE_VIEW_OPEN_PGP_KEY = "View OpenPGP key"
BUTTON_SELECT = "Select"
BUTTON_CLOSE = "Close"
[POPUPS_GENERATE_OPEN_PGP_KEYS]
TITLE_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP keys"
LABEL_EMAIL = "Email"
LABEL_NAME = "Name"
LABEL_PASSWORD = "Password"
LABEL_KEY_BIT_LENGTH = "Key length"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate"
[POPUPS_COMPOSE_OPEN_PGP]
TITLE_COMPOSE_OPEN_PGP = "OpenPGP Sign/Encrypt"
LABEL_SIGN = "Sign"
LABEL_ENCRYPT = "Encrypt"
LABEL_PASSWORD = "Password"
BUTTON_SIGN = "Sign"
BUTTON_ENCRYPT = "Encrypt"
BUTTON_SIGN_AND_ENCRYPT = "Sign and encrypt"
[POPUPS_SYSTEM_FOLDERS]
TITLE_SYSTEM_FOLDERS = "选择系统文件夹"
SELECT_CHOOSE_ONE = "选择一个"
@ -243,6 +275,7 @@ LABEL_SENT = "已发邮件"
LABEL_DRAFTS = "草稿"
LABEL_SPAM = "垃圾邮件"
LABEL_TRASH = "已删除邮件"
LABEL_ARCHIVE = "Archive"
BUTTON_CANCEL = "取消"
BUTTON_CLOSE = "关闭"
@ -257,6 +290,8 @@ NOTIFICATION_SPAM = "您没有选择 垃圾邮件 文件夹来存储垃圾邮件
NOTIFICATION_TRASH = "您没有选择 已删除邮件 文件夹来存储垃圾邮件。
如果您希望永久删除邮件,请选择 不使用 选项。"
NOTIFICATION_ARCHIVE = "You haven't selected \"Archive\" system folder achived messages are placed to."
[TITLES]
LOADING = "加载中"
LOGIN = "登陆"
@ -289,6 +324,7 @@ LABEL_IDENTITIES_NAME = "签名"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "主题"
LABEL_CHANGE_PASSWORD_NAME = "密码"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "返回"
[SETTINGS_IDENTITY]
@ -397,6 +433,14 @@ LABEL_NEW_PASSWORD = "新密码"
LABEL_REPEAT_PASSWORD = "再次新密码"
BUTTON_UPDATE_PASSWORD = "设置新密码"
[SETTINGS_OPEN_PGP]
LEGEND_OPEN_PGP = "OpenPGP"
BUTTON_ADD_OPEN_PGP_KEY = "Import OpenPGP Key"
BUTTON_GENERATE_OPEN_PGP_KEYS = "Generate OpenPGP Keys"
TITLE_PRIVATE = "Private"
TITLE_PUBLIC = "Public"
DELETING_ASK = "Are you sure?"
[NOTIFICATIONS]
INVALID_TOKEN = "无效标记"
AUTH_ERROR = "认证失败"

View file

@ -5451,23 +5451,34 @@ select {
margin-left: 0px;
}
.dropdown-menu {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.btn-group + .btn-group {
margin-left: 3px;
}
.btn {
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
background-image: none;
padding-left: 13px;
padding-right: 13px;
text-shadow: 0 1px 0 #fff;
}
.btn.disabled,
.btn[disabled] {
opacity: 0.75;
filter: alpha(opacity=75);
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn.btn-dark-disabled-border.disabled,
.btn.btn-dark-disabled-border[disabled] {
border-color: #aaa;
}
html.rgba.textshadow .btn.btn-danger,
html.rgba.textshadow .btn.btn-success,
html.rgba.textshadow .btn.btn-primary {
@ -5503,38 +5514,38 @@ html.rgba.textshadow .btn.btn-primary {
border-radius: 2px;
}
.btn-group > .btn:first-child {
-webkit-border-top-left-radius: 2px;
-moz-border-radius-topleft: 2px;
border-top-left-radius: 2px;
-webkit-border-bottom-left-radius: 2px;
-moz-border-radius-bottomleft: 2px;
border-bottom-left-radius: 2px;
-webkit-border-top-left-radius: 3px;
-moz-border-radius-topleft: 3px;
border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
border-bottom-left-radius: 3px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 2px;
-moz-border-radius-topright: 2px;
border-top-right-radius: 2px;
-webkit-border-bottom-right-radius: 2px;
-moz-border-radius-bottomright: 2px;
border-bottom-right-radius: 2px;
-webkit-border-top-right-radius: 3px;
-moz-border-radius-topright: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
-moz-border-radius-bottomright: 3px;
border-bottom-right-radius: 3px;
}
.btn-group > .btn.large:first-child {
-webkit-border-top-left-radius: 2px;
-moz-border-radius-topleft: 2px;
border-top-left-radius: 2px;
-webkit-border-bottom-left-radius: 2px;
-moz-border-radius-bottomleft: 2px;
border-bottom-left-radius: 2px;
-webkit-border-top-left-radius: 3px;
-moz-border-radius-topleft: 3px;
border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
border-bottom-left-radius: 3px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 2px;
-moz-border-radius-topright: 2px;
border-top-right-radius: 2px;
-webkit-border-bottom-right-radius: 2px;
-moz-border-radius-bottomright: 2px;
border-bottom-right-radius: 2px;
-webkit-border-top-right-radius: 3px;
-moz-border-radius-topright: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
-moz-border-radius-bottomright: 3px;
border-bottom-right-radius: 3px;
}
textarea,
input[type="text"],
@ -6165,10 +6176,10 @@ html.ssm-state-desktop #rl-right {
left: 200px;
}
html.ssm-state-desktop #rl-sub-left {
width: 350px;
width: 400px;
}
html.ssm-state-desktop #rl-sub-right {
left: 350px;
left: 400px;
}
html.ssm-state-tablet #rl-left {
width: 150px;
@ -6177,13 +6188,13 @@ html.ssm-state-tablet #rl-right {
left: 150px;
}
html.ssm-state-tablet #rl-sub-left {
width: 310px;
width: 340px;
}
html.ssm-state-tablet #rl-sub-left .messageList .inputSearch {
width: 220px;
}
html.ssm-state-tablet #rl-sub-right {
left: 310px;
left: 340px;
}
html.ssm-state-tablet .b-compose.modal {
width: 800px;
@ -6198,13 +6209,13 @@ html.ssm-state-mobile #rl-right {
left: 120px;
}
html.ssm-state-mobile #rl-sub-left {
width: 310px;
width: 340px;
}
html.ssm-state-mobile #rl-sub-left .messageList .inputSearch {
width: 220px;
}
html.ssm-state-mobile #rl-sub-right {
left: 310px;
left: 340px;
}
html.ssm-state-mobile .b-compose.modal {
width: 800px;

File diff suppressed because one or more lines are too long

View file

@ -376,6 +376,7 @@ Enums.FolderType = {
'Draft': 12,
'Trash': 13,
'Spam': 14,
'Archive': 15,
'User': 99
};
@ -432,7 +433,8 @@ Enums.SetSystemFoldersNotification = {
'Sent': 1,
'Draft': 2,
'Spam': 3,
'Trash': 4
'Trash': 4,
'Archive': 5
};
/**
@ -594,6 +596,8 @@ Enums.ContactScopeType = {
* @enum {number}
*/
Enums.SignedVerifyStatus = {
'UnknownPublicKeys': -4,
'UnknownPrivateKey': -3,
'Unverified': -2,
'Error': -1,
'None': 0,

File diff suppressed because one or more lines are too long

View file

@ -380,6 +380,7 @@ Enums.FolderType = {
'Draft': 12,
'Trash': 13,
'Spam': 14,
'Archive': 15,
'User': 99
};
@ -436,7 +437,8 @@ Enums.SetSystemFoldersNotification = {
'Sent': 1,
'Draft': 2,
'Spam': 3,
'Trash': 4
'Trash': 4,
'Archive': 5
};
/**
@ -598,6 +600,8 @@ Enums.ContactScopeType = {
* @enum {number}
*/
Enums.SignedVerifyStatus = {
'UnknownPublicKeys': -4,
'UnknownPrivateKey': -3,
'Unverified': -2,
'Error': -1,
'None': 0,
@ -7066,7 +7070,7 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
aRes = [],
mPgpMessage = null,
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
aPublicKey = RL.data().findPublicKeysByEmail(sFrom),
aPublicKeys = RL.data().findPublicKeysByEmail(sFrom),
oValidKey = null,
oValidSysKey = null,
sPlain = ''
@ -7080,9 +7084,10 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
mPgpMessage = window.openpgp.cleartext.readArmored(this.plainRaw);
if (mPgpMessage && mPgpMessage.getText)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Unverified);
this.pgpSignedVerifyStatus(
aPublicKeys.length ? Enums.SignedVerifyStatus.Unverified : Enums.SignedVerifyStatus.UnknownPublicKeys);
aRes = mPgpMessage.verify(aPublicKey);
aRes = mPgpMessage.verify(aPublicKeys);
if (aRes && 0 < aRes.length)
{
oValidKey = _.find(aRes, function (oItem) {
@ -7119,6 +7124,78 @@ MessageModel.prototype.verifyPgpSignedClearMessage = function ()
}
};
MessageModel.prototype.decryptPgpEncryptedMessage = function (sPassword)
{
if (this.isPgpEncrypted())
{
var
aRes = [],
mPgpMessage = null,
mPgpMessageDecrypted = null,
sFrom = this.from && this.from[0] && this.from[0].email ? this.from[0].email : '',
aPublicKey = RL.data().findPublicKeysByEmail(sFrom),
oPrivateKey = RL.data().findSelfPrivateKey(sPassword),
oValidKey = null,
oValidSysKey = null,
sPlain = ''
;
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Error);
this.pgpSignedVerifyUser('');
if (!oPrivateKey)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.UnknownPrivateKey);
}
try
{
mPgpMessage = window.openpgp.message.readArmored(this.plainRaw);
if (mPgpMessage && oPrivateKey && mPgpMessage.decrypt)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Unverified);
mPgpMessageDecrypted = mPgpMessage.decrypt(oPrivateKey);
if (mPgpMessageDecrypted)
{
aRes = mPgpMessageDecrypted.verify(aPublicKey);
if (aRes && 0 < aRes.length)
{
oValidKey = _.find(aRes, function (oItem) {
return oItem && oItem.keyid && oItem.valid;
});
if (oValidKey)
{
oValidSysKey = RL.data().findPublicKeyByHex(oValidKey.keyid.toHex());
if (oValidSysKey)
{
this.pgpSignedVerifyStatus(Enums.SignedVerifyStatus.Success);
this.pgpSignedVerifyUser(oValidSysKey.user);
}
}
}
sPlain = mPgpMessageDecrypted.getText();
sPlain =
$proxyDiv.empty().append(
$('<pre class="b-plain-openpgp signed verified"></pre>').text(sPlain)
).html()
;
$proxyDiv.empty();
this.replacePlaneTextBody(sPlain);
}
}
}
catch (oExc) {}
this.storePgpVerifyDataToDom();
}
};
MessageModel.prototype.replacePlaneTextBody = function (sPlain)
{
if (this.body)
@ -7334,6 +7411,9 @@ FolderModel.prototype.initComputed = function ()
case Enums.FolderType.Trash:
sName = Utils.i18n('FOLDER_LIST/TRASH_NAME');
break;
case Enums.FolderType.Archive:
sName = Utils.i18n('FOLDER_LIST/ARCHIVE_NAME');
break;
}
}
@ -7370,6 +7450,9 @@ FolderModel.prototype.initComputed = function ()
case Enums.FolderType.Trash:
sSuffix = '(' + Utils.i18n('FOLDER_LIST/TRASH_NAME') + ')';
break;
case Enums.FolderType.Archive:
sSuffix = '(' + Utils.i18n('FOLDER_LIST/ARCHIVE_NAME') + ')';
break;
}
}
@ -7788,6 +7871,7 @@ function PopupsFolderSystemViewModel()
this.draftFolder = oData.draftFolder;
this.spamFolder = oData.spamFolder;
this.trashFolder = oData.trashFolder;
this.archiveFolder = oData.archiveFolder;
fSaveSystemFolders = _.debounce(function () {
@ -7795,12 +7879,14 @@ function PopupsFolderSystemViewModel()
RL.settingsSet('DraftFolder', self.draftFolder());
RL.settingsSet('SpamFolder', self.spamFolder());
RL.settingsSet('TrashFolder', self.trashFolder());
RL.settingsSet('ArchiveFolder', self.archiveFolder());
RL.remote().saveSystemFolders(Utils.emptyFunction, {
'SentFolder': self.sentFolder(),
'DraftFolder': self.draftFolder(),
'SpamFolder': self.spamFolder(),
'TrashFolder': self.trashFolder(),
'ArchiveFolder': self.archiveFolder(),
'NullFolder': 'NullFolder'
});
@ -7812,6 +7898,7 @@ function PopupsFolderSystemViewModel()
RL.settingsSet('DraftFolder', self.draftFolder());
RL.settingsSet('SpamFolder', self.spamFolder());
RL.settingsSet('TrashFolder', self.trashFolder());
RL.settingsSet('ArchiveFolder', self.archiveFolder());
fSaveSystemFolders();
};
@ -7820,6 +7907,7 @@ function PopupsFolderSystemViewModel()
this.draftFolder.subscribe(fCallback);
this.spamFolder.subscribe(fCallback);
this.trashFolder.subscribe(fCallback);
this.archiveFolder.subscribe(fCallback);
this.defautOptionsAfterRender = Utils.defautOptionsAfterRender;
@ -7854,6 +7942,9 @@ PopupsFolderSystemViewModel.prototype.onShow = function (iNotificationType)
case Enums.SetSystemFoldersNotification.Trash:
sNotification = Utils.i18n('POPUPS_SYSTEM_FOLDERS/NOTIFICATION_TRASH');
break;
case Enums.SetSystemFoldersNotification.Archive:
sNotification = Utils.i18n('POPUPS_SYSTEM_FOLDERS/NOTIFICATION_ARCHIVE');
break;
}
this.notification(sNotification);
@ -10468,7 +10559,8 @@ function PopupsComposeOpenPgpViewModel()
if (bResult && this.encrypt())
{
aPublicKeys = _.compact(_.union(this.to(), function (sEmail) {
aPublicKeys = [];
_.each(this.to(), function (sEmail) {
var aKeys = oData.findPublicKeysByEmail(sEmail);
if (0 === aKeys.length && bResult)
{
@ -10476,11 +10568,10 @@ function PopupsComposeOpenPgpViewModel()
self.notification('No public key found for "' + sEmail + '" email');
bResult = false;
}
return aKeys;
}));
aPublicKeys = aPublicKeys.concat(aKeys);
});
if (bResult && (0 === aPublicKeys.length || this.to().length !== aPublicKeys.length))
{
bResult = false;
@ -11534,15 +11625,26 @@ function MailBoxMessageListViewModel()
}, this);
this.isSpamFolder = ko.computed(function () {
return RL.data().spamFolder() === this.messageListEndFolder();
return oData.spamFolder() === this.messageListEndFolder() &&
'' !== oData.spamFolder();
}, this);
this.isSpamDisabled = ko.computed(function () {
return Consts.Values.UnuseOptionValue === RL.data().spamFolder();
return Consts.Values.UnuseOptionValue === oData.spamFolder();
}, this);
this.isTrashFolder = ko.computed(function () {
return RL.data().trashFolder() === this.messageListEndFolder();
return oData.trashFolder() === this.messageListEndFolder() &&
'' !== oData.trashFolder();
}, this);
this.isArchiveFolder = ko.computed(function () {
return oData.archiveFolder() === this.messageListEndFolder() &&
'' !== oData.archiveFolder();
}, this);
this.isArchiveDisabled = ko.computed(function () {
return Consts.Values.UnuseOptionValue === RL.data().archiveFolder();
}, this);
this.canBeMoved = this.hasCheckedOrSelectedLines;
@ -11566,6 +11668,12 @@ function MailBoxMessageListViewModel()
RL.data().currentFolderFullNameRaw(),
RL.data().messageListCheckedOrSelectedUidsWithSubMails(), true);
}, this.canBeMoved);
this.archiveCommand = Utils.createCommand(this, function () {
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
RL.data().currentFolderFullNameRaw(),
RL.data().messageListCheckedOrSelectedUidsWithSubMails(), true);
}, this.canBeMoved);
this.spamCommand = Utils.createCommand(this, function () {
RL.deleteMessagesFromFolder(Enums.FolderType.Spam,
@ -11644,6 +11752,15 @@ MailBoxMessageListViewModel.prototype.searchEnterAction = function ()
this.inputMessageListSearchFocus(false);
};
/**
* @returns {string}
*/
MailBoxMessageListViewModel.prototype.printableMessageCountForDeletion = function ()
{
var iCnt = this.messageListCheckedOrSelectedUidsWithSubMails().length;
return 1 < iCnt ? ' (' + (100 > iCnt ? iCnt : '99+') + ')' : '';
};
MailBoxMessageListViewModel.prototype.cancelSearch = function ()
{
this.mainMessageListSearch('');
@ -12167,8 +12284,6 @@ function MailBoxMessageViewViewModel()
this.fullScreenMode = oData.messageFullScreenMode;
this.showFullInfo = ko.observable(false);
this.openPGPInformation = ko.observable('');
this.openPGPInformation.isError = ko.observable(false);
this.messageVisibility = ko.computed(function () {
return !this.messageLoadingThrottle() && !!this.message();
@ -12211,6 +12326,17 @@ function MailBoxMessageViewViewModel()
}, this.messageVisibility);
this.archiveCommand = Utils.createCommand(this, function () {
if (this.message())
{
RL.deleteMessagesFromFolder(Enums.FolderType.Archive,
this.message().folderFullNameRaw,
[this.message().uid], true);
}
}, this.messageVisibility);
this.spamCommand = Utils.createCommand(this, function () {
if (this.message())
@ -12238,6 +12364,7 @@ function MailBoxMessageViewViewModel()
this.viewUserPic = ko.observable(Consts.DataImages.UserDotPic);
this.viewUserPicVisible = ko.observable(false);
this.viewPgpPassword = ko.observable('');
this.viewPgpSignedVerifyStatus = ko.computed(function () {
return this.message() ? this.message().pgpSignedVerifyStatus() : Enums.SignedVerifyStatus.None;
}, this);
@ -12245,11 +12372,14 @@ function MailBoxMessageViewViewModel()
this.viewPgpSignedVerifyUser = ko.computed(function () {
return this.message() ? this.message().pgpSignedVerifyUser() : '';
}, this);
this.message.subscribe(function (oMessage) {
this.messageActiveDom(null);
this.viewPgpPassword('');
if (oMessage)
{
this.viewSubject(oMessage.subject());
@ -12338,6 +12468,12 @@ MailBoxMessageViewViewModel.prototype.pgpStatusVerifyMessage = function ()
switch (this.viewPgpSignedVerifyStatus())
{
// TODO i18n
case Enums.SignedVerifyStatus.UnknownPublicKeys:
sResult = 'No public keys found';
break;
case Enums.SignedVerifyStatus.UnknownPrivateKey:
sResult = 'No private key found';
break;
case Enums.SignedVerifyStatus.Unverified:
sResult = 'Unverified signature';
break;
@ -12490,6 +12626,38 @@ MailBoxMessageViewViewModel.prototype.isSentFolder = function ()
return RL.data().message() && RL.data().sentFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isSpamFolder = function ()
{
return RL.data().message() && RL.data().spamFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isSpamDisabled = function ()
{
return RL.data().message() && RL.data().spamFolder() === Consts.Values.UnuseOptionValue;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isArchiveFolder = function ()
{
return RL.data().message() && RL.data().archiveFolder() === RL.data().message().folderFullNameRaw;
};
/**
* @return {boolean}
*/
MailBoxMessageViewViewModel.prototype.isArchiveDisabled = function ()
{
return RL.data().message() && RL.data().archiveFolder() === Consts.Values.UnuseOptionValue;
};
/**
* @return {boolean}
*/
@ -12548,7 +12716,7 @@ MailBoxMessageViewViewModel.prototype.decryptPgpEncryptedMessage = function (oMe
{
if (oMessage)
{
oMessage.decryptPgpEncryptedMessage();
oMessage.decryptPgpEncryptedMessage(this.viewPgpPassword());
}
};
@ -13905,16 +14073,19 @@ function WebMailDataStorage()
this.draftFolder = ko.observable('');
this.spamFolder = ko.observable('');
this.trashFolder = ko.observable('');
this.archiveFolder = ko.observable('');
this.sentFolder.subscribe(fRemoveSystemFolderType(this.sentFolder), this, 'beforeChange');
this.draftFolder.subscribe(fRemoveSystemFolderType(this.draftFolder), this, 'beforeChange');
this.spamFolder.subscribe(fRemoveSystemFolderType(this.spamFolder), this, 'beforeChange');
this.trashFolder.subscribe(fRemoveSystemFolderType(this.trashFolder), this, 'beforeChange');
this.archiveFolder.subscribe(fRemoveSystemFolderType(this.archiveFolder), this, 'beforeChange');
this.sentFolder.subscribe(fSetSystemFolderType(Enums.FolderType.SentItems), this);
this.draftFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Draft), this);
this.spamFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Spam), this);
this.trashFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Trash), this);
this.archiveFolder.subscribe(fSetSystemFolderType(Enums.FolderType.Archive), this);
this.draftFolderNotEnabled = ko.computed(function () {
return '' === this.draftFolder() || Consts.Values.UnuseOptionValue === this.draftFolder();
@ -13995,7 +14166,8 @@ function WebMailDataStorage()
sSentFolder = this.sentFolder(),
sDraftFolder = this.draftFolder(),
sSpamFolder = this.spamFolder(),
sTrashFolder = this.trashFolder()
sTrashFolder = this.trashFolder(),
sArchiveFolder = this.archiveFolder()
;
if (Utils.isArray(aFolders) && 0 < aFolders.length)
@ -14016,6 +14188,10 @@ function WebMailDataStorage()
{
aList.push(sTrashFolder);
}
if ('' !== sArchiveFolder && Consts.Values.UnuseOptionValue !== sArchiveFolder)
{
aList.push(sArchiveFolder);
}
}
return aList;
@ -14482,13 +14658,15 @@ WebMailDataStorage.prototype.setFolders = function (oData)
if (oData.Result['SystemFolders'] &&
'' === '' + RL.settingsGet('SentFolder') + RL.settingsGet('DraftFolder') +
RL.settingsGet('SpamFolder') + RL.settingsGet('TrashFolder') + RL.settingsGet('NullFolder'))
RL.settingsGet('SpamFolder') + RL.settingsGet('TrashFolder') + RL.settingsGet('ArchiveFolder') +
RL.settingsGet('NullFolder'))
{
// TODO Magic Numbers
RL.settingsSet('SentFolder', oData.Result['SystemFolders'][2] || null);
RL.settingsSet('DraftFolder', oData.Result['SystemFolders'][3] || null);
RL.settingsSet('SpamFolder', oData.Result['SystemFolders'][4] || null);
RL.settingsSet('TrashFolder', oData.Result['SystemFolders'][5] || null);
RL.settingsSet('ArchiveFolder', oData.Result['SystemFolders'][12] || null);
bUpdate = true;
}
@ -14497,6 +14675,7 @@ WebMailDataStorage.prototype.setFolders = function (oData)
oRLData.draftFolder(fNormalizeFolder(RL.settingsGet('DraftFolder')));
oRLData.spamFolder(fNormalizeFolder(RL.settingsGet('SpamFolder')));
oRLData.trashFolder(fNormalizeFolder(RL.settingsGet('TrashFolder')));
oRLData.archiveFolder(fNormalizeFolder(RL.settingsGet('ArchiveFolder')));
if (bUpdate)
{
@ -14505,6 +14684,7 @@ WebMailDataStorage.prototype.setFolders = function (oData)
'DraftFolder': oRLData.draftFolder(),
'SpamFolder': oRLData.spamFolder(),
'TrashFolder': oRLData.trashFolder(),
'ArchiveFolder': oRLData.archiveFolder(),
'NullFolder': 'NullFolder'
});
}
@ -14695,7 +14875,6 @@ WebMailDataStorage.prototype.setMessage = function (oData, bCached)
sPlain = '',
bPgpSigned = false,
bPgpEncrypted = false,
mPgpMessage = null,
oMessagesBodiesDom = this.messagesBodiesDom(),
oMessage = this.message()
;
@ -14760,12 +14939,6 @@ WebMailDataStorage.prototype.setMessage = function (oData, bCached)
}
else if (bPgpEncrypted && oMessage.isPgpEncrypted())
{
// try
// {
// mPgpMessage = window.openpgp.message.readArmored(oMessage.plainRaw);
// }
// catch (oExc) {}
sPlain =
$proxyDiv.append(
$('<pre class="b-plain-openpgp encrypted"></pre>').text(oMessage.plainRaw)
@ -15014,7 +15187,12 @@ WebMailDataStorage.prototype.findPublicKeysByEmail = function (sEmail)
}));
};
WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
/**
* @param {string} sEmail
* @param {string=} sPassword
* @returns {?}
*/
WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPassword)
{
var
oPrivateKey = null,
@ -15031,7 +15209,7 @@ WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
if (oPrivateKey && !oPrivateKey.err && oPrivateKey.keys && oPrivateKey.keys[0])
{
oPrivateKey = oPrivateKey.keys[0];
oPrivateKey.decrypt(sPass);
oPrivateKey.decrypt(Utils.pString(sPassword));
}
else
{
@ -15047,6 +15225,15 @@ WebMailDataStorage.prototype.findPrivateKeyByEmail = function (sEmail, sPass)
return oPrivateKey;
};
/**
* @param {string=} sPassword
* @returns {?}
*/
WebMailDataStorage.prototype.findSelfPrivateKey = function (sPassword)
{
return this.findPrivateKeyByEmail(this.accountEmail(), sPassword);
};
/**
* @constructor
*/
@ -15343,7 +15530,8 @@ WebMailAjaxRemoteStorage.prototype.folders = function (fCallback)
'SentFolder': RL.settingsGet('SentFolder'),
'DraftFolder': RL.settingsGet('DraftFolder'),
'SpamFolder': RL.settingsGet('SpamFolder'),
'TrashFolder': RL.settingsGet('TrashFolder')
'TrashFolder': RL.settingsGet('TrashFolder'),
'ArchiveFolder': RL.settingsGet('ArchiveFolder')
}, null, '', ['Folders']);
};
@ -17342,26 +17530,43 @@ RainLoopApp.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFol
self = this,
oData = RL.data(),
oCache = RL.cache(),
oTrashOrSpamFolder = oCache.getFolderFromCacheList(
Enums.FolderType.Spam === iDeleteType ? oData.spamFolder() : oData.trashFolder())
oMoveFolder = null,
nSetSystemFoldersNotification = null
;
switch (iDeleteType)
{
case Enums.FolderType.Spam:
oMoveFolder = oCache.getFolderFromCacheList(oData.spamFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Spam;
break;
case Enums.FolderType.Trash:
oMoveFolder = oCache.getFolderFromCacheList(oData.trashFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Trash;
break;
case Enums.FolderType.Archive:
oMoveFolder = oCache.getFolderFromCacheList(oData.archiveFolder());
nSetSystemFoldersNotification = Enums.SetSystemFoldersNotification.Archive;
break;
}
bUseFolder = Utils.isUnd(bUseFolder) ? true : !!bUseFolder;
if (bUseFolder)
{
if ((Enums.FolderType.Spam === iDeleteType && Consts.Values.UnuseOptionValue === oData.spamFolder()) ||
(Enums.FolderType.Trash === iDeleteType && Consts.Values.UnuseOptionValue === oData.trashFolder()))
(Enums.FolderType.Trash === iDeleteType && Consts.Values.UnuseOptionValue === oData.trashFolder()) ||
(Enums.FolderType.Archive === iDeleteType && Consts.Values.UnuseOptionValue === oData.archiveFolder()))
{
bUseFolder = false;
}
}
if (!oTrashOrSpamFolder && bUseFolder)
if (!oMoveFolder && bUseFolder)
{
kn.showScreenPopup(PopupsFolderSystemViewModel, [
Enums.FolderType.Spam === iDeleteType ? Enums.SetSystemFoldersNotification.Spam : Enums.SetSystemFoldersNotification.Trash]);
kn.showScreenPopup(PopupsFolderSystemViewModel, [nSetSystemFoldersNotification]);
}
else if (!bUseFolder || (sFromFolderFullNameRaw === oData.spamFolder() || sFromFolderFullNameRaw === oData.trashFolder()))
else if (!bUseFolder || (Enums.FolderType.Trash === iDeleteType &&
(sFromFolderFullNameRaw === oData.spamFolder() || sFromFolderFullNameRaw === oData.trashFolder())))
{
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), function () {
@ -17375,16 +17580,16 @@ RainLoopApp.prototype.deleteMessagesFromFolder = function (iDeleteType, sFromFol
}]);
}
else if (oTrashOrSpamFolder)
else if (oMoveFolder)
{
RL.remote().messagesMove(
this.moveOrDeleteResponseHelper,
sFromFolderFullNameRaw,
oTrashOrSpamFolder.fullNameRaw,
oMoveFolder.fullNameRaw,
aUidForRemove
);
oData.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove, oTrashOrSpamFolder.fullNameRaw);
oData.removeMessagesFromList(sFromFolderFullNameRaw, aUidForRemove, oMoveFolder.fullNameRaw);
}
};

File diff suppressed because one or more lines are too long