Attachments (redesign)

This commit is contained in:
RainLoop Team 2014-12-27 23:48:55 +04:00
parent 735842bb88
commit f9640b3ffa
40 changed files with 293 additions and 110 deletions

View file

@ -192,6 +192,37 @@
return Links.attachmentPreviewAsPlain(this.download); return Links.attachmentPreviewAsPlain(this.download);
}; };
/**
* @return {string}
*/
AttachmentModel.prototype.linkPreviewMain = function ()
{
var sResult = '';
switch (true)
{
case this.isImage():
case this.isPdf():
sResult = this.linkPreview();
break;
case this.isText():
sResult = this.linkPreviewAsPlain();
break;
case this.isFramed():
sResult = this.linkFramed();
break;
}
return sResult;
};
/**
* @return {boolean}
*/
AttachmentModel.prototype.hasPreview = function ()
{
return this.isImage() || this.isPdf() || this.isText() || this.isFramed();
};
/** /**
* @return {string} * @return {string}
*/ */

View file

@ -437,6 +437,7 @@
}, this); }, this);
// other // other
this.composeInEdit = ko.observable(false);
this.capaOpenPGP = ko.observable(false); this.capaOpenPGP = ko.observable(false);
this.openpgpkeys = ko.observableArray([]); this.openpgpkeys = ko.observableArray([]);
this.openpgp = null; this.openpgp = null;

View file

@ -41,6 +41,10 @@
margin-left: 8px; margin-left: 8px;
} }
.button-close, .button-skip {
margin-left: 8px;
}
.disabled.button-delete { .disabled.button-delete {
margin-left: 0px; margin-left: 0px;
} }

View file

@ -253,34 +253,52 @@ html.rl-no-preview-pane {
border-radius: 2px; border-radius: 2px;
.attachmentIconParent { .attachmentIconParent {
position: relative;
height: 56px; height: 56px;
width: 60px; width: 60px;
background: none; background: none;
.iconPreview, .iconBG, .iconMain {
position: absolute;
top: 0;
left: 0;
display: inline-block;
width: 100%;
height: 100%;
}
.iconPreview {
display: none;
background: #555;
background-image: none;
background: rgba(0, 0, 0, .5) !important;
.attachmentIcon {
color: #fff;
text-shadow: 0 1px 0 #000;
}
}
} }
.attachmentNameParent { .attachmentNameParent {
position: relative;
margin-left: 60px; margin-left: 60px;
padding: 4px; padding: 4px;
padding-left: 6px; padding-left: 6px;
min-width: 90px; min-width: 90px;
color: #fff;
background: #eee;
color: #333; color: #333;
background: #fafafa; background: #fafafa;
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
} }
&.hasThumbnail .attachmentNameParent {
background: rgba(0, 0, 0, .6);
color: #fff;
text-shadow: 0 1px 0 #000;
border-left: 0px;
}
.attachmentIcon { .attachmentIcon {
margin: 6px 0 0 13px; margin: 6px 0 0 13px;
font-size: 36px; font-size: 36px;
@ -289,46 +307,27 @@ html.rl-no-preview-pane {
color: #aaa; color: #aaa;
} }
.attachmentIconParent.hasPreview { .attachmentIconParent.hasPreview:hover {
.attachmentNonePreview { .iconPreview {
display: inline-block;
}
.iconMain {
display: none; display: none;
} }
} }
a.attachmentPreview { .showPreview {
display: inline-block; display: none;
height: 100%;
width: 100%;
} }
.attachmentIconParent.hasPreview:hover { .attachmentIconParent.hasPreview {
.showPreview {
background: #555 !important; display: inline;
background-image: none !important;
background: rgba(0, 0, 0, .8) !important;
color: #fff;
.attachmentIcon {
color: #fff;
text-shadow: 0 1px 0 #000;
} }
}
.attachmentIconParent.hasPreview .show-hover { .hidePreview {
display: none; display: none;
} }
.attachmentIconParent.hasPreview:hover .show-hover {
display: inline-block;
}
.attachmentIconParent.hasPreview:hover .hide-hover {
display: none;
}
&.hasThumbnail .attachmentMainIcon {
display: none;
} }
} }
} }

View file

@ -33,6 +33,7 @@
this.fYesAction = null; this.fYesAction = null;
this.fNoAction = null; this.fNoAction = null;
this.bFocusYesOnShow = true;
this.bDisabeCloseOnEsc = true; this.bDisabeCloseOnEsc = true;
this.sDefaultKeyScope = Enums.KeyState.PopupAsk; this.sDefaultKeyScope = Enums.KeyState.PopupAsk;
@ -81,8 +82,9 @@
* @param {Function=} fNoFunc * @param {Function=} fNoFunc
* @param {string=} sYesButton * @param {string=} sYesButton
* @param {string=} sNoButton * @param {string=} sNoButton
* @param {boolean=} bFocusYesOnShow
*/ */
AskPopupView.prototype.onShow = function (sAskDesc, fYesFunc, fNoFunc, sYesButton, sNoButton) AskPopupView.prototype.onShow = function (sAskDesc, fYesFunc, fNoFunc, sYesButton, sNoButton, bFocusYesOnShow)
{ {
this.clearPopup(); this.clearPopup();
@ -99,11 +101,16 @@
{ {
this.yesButton(sNoButton); this.yesButton(sNoButton);
} }
this.bFocusYesOnShow = Utils.isUnd(bFocusYesOnShow) ? true : !!bFocusYesOnShow;
}; };
AskPopupView.prototype.onFocus = function () AskPopupView.prototype.onFocus = function ()
{ {
this.yesFocus(true); if (this.bFocusYesOnShow)
{
this.yesFocus(true);
}
}; };
AskPopupView.prototype.onBuild = function () AskPopupView.prototype.onBuild = function ()

View file

@ -43,7 +43,6 @@
this.aDraftInfo = null; this.aDraftInfo = null;
this.sInReplyTo = ''; this.sInReplyTo = '';
this.bFromDraft = false; this.bFromDraft = false;
this.bSkipNext = false;
this.sReferences = ''; this.sReferences = '';
this.bCapaAdditionalIdentities = Settings.capa(Enums.Capa.AdditionalIdentities); this.bCapaAdditionalIdentities = Settings.capa(Enums.Capa.AdditionalIdentities);
@ -58,6 +57,9 @@
} }
; ;
this.bSkipNextHide = false;
this.composeInEdit = Data.composeInEdit;
this.capaOpenPGP = Data.capaOpenPGP; this.capaOpenPGP = Data.capaOpenPGP;
this.resizer = ko.observable(false).extend({'throttle': 50}); this.resizer = ko.observable(false).extend({'throttle': 50});
@ -313,7 +315,7 @@
this.savedError(false); this.savedError(false);
this.saving(true); this.saving(true);
this.bSkipNext = true; this.autosaveStart();
Cache.setFolderHash(Data.draftFolder(), ''); Cache.setFolderHash(Data.draftFolder(), '');
@ -338,11 +340,25 @@
}, this.canBeSendedOrSaved); }, this.canBeSendedOrSaved);
Events.sub('interval.1m', function () { this.skipCommand = Utils.createCommand(this, function () {
if (this.modalVisibility() && !Data.draftFolderNotEnabled() && !this.isEmptyForm(false) &&
!this.bSkipNext && !this.saving() && !this.sending() && !this.savedError()) this.bSkipNextHide = true;
if (this.modalVisibility() && !this.saving() && !this.sending() &&
!Data.draftFolderNotEnabled())
{
this.saveCommand();
}
this.tryToClosePopup();
}, this.canBeSendedOrSaved);
Events.sub('interval.2m', function () {
if (this.modalVisibility() && !Data.draftFolderNotEnabled() && !this.isEmptyForm(false) &&
!this.saving() && !this.sending() && !this.savedError())
{ {
this.bSkipNext = false;
this.saveCommand(); this.saveCommand();
} }
}, this); }, this);
@ -400,6 +416,9 @@
this.tryToClosePopup = _.debounce(_.bind(this.tryToClosePopup, this), 200); this.tryToClosePopup = _.debounce(_.bind(this.tryToClosePopup, this), 200);
this.emailsSource = _.bind(this.emailsSource, this); this.emailsSource = _.bind(this.emailsSource, this);
this.autosaveFunction = _.bind(this.autosaveFunction, this);
this.iTimer = 0;
kn.constructorEnd(this); kn.constructorEnd(this);
} }
@ -407,6 +426,28 @@
kn.extendAsViewModel(['View/Popup/Compose', 'PopupsComposeViewModel'], ComposePopupView); kn.extendAsViewModel(['View/Popup/Compose', 'PopupsComposeViewModel'], ComposePopupView);
_.extend(ComposePopupView.prototype, AbstractView.prototype); _.extend(ComposePopupView.prototype, AbstractView.prototype);
ComposePopupView.prototype.autosaveFunction = function ()
{
if (this.modalVisibility() && !Data.draftFolderNotEnabled() && !this.isEmptyForm(false) &&
!this.saving() && !this.sending() && !this.savedError())
{
this.saveCommand();
}
this.autosaveStart();
};
ComposePopupView.prototype.autosaveStart = function ()
{
window.clearTimeout(this.iTimer);
this.iTimer = window.setTimeout(this.autosaveFunction, 1000 * 60 * 1);
};
ComposePopupView.prototype.autosaveStop = function ()
{
window.clearTimeout(this.iTimer);
};
ComposePopupView.prototype.emailsSource = function (oData, fResponse) ComposePopupView.prototype.emailsSource = function (oData, fResponse)
{ {
require('App/User').getAutocomplete(oData.term, function (aData) { require('App/User').getAutocomplete(oData.term, function (aData) {
@ -594,6 +635,8 @@
{ {
if (oData.Result.NewFolder && oData.Result.NewUid) if (oData.Result.NewFolder && oData.Result.NewUid)
{ {
bResult = true;
if (this.bFromDraft) if (this.bFromDraft)
{ {
oMessage = Data.message(); oMessage = Data.message();
@ -606,27 +649,22 @@
this.draftFolder(oData.Result.NewFolder); this.draftFolder(oData.Result.NewFolder);
this.draftUid(oData.Result.NewUid); this.draftUid(oData.Result.NewUid);
if (this.modalVisibility()) this.savedTime(window.Math.round((new window.Date()).getTime() / 1000));
this.savedOrSendingText(
0 < this.savedTime() ? Utils.i18n('COMPOSE/SAVED_TIME', {
'TIME': moment.unix(this.savedTime() - 1).format('LT')
}) : ''
);
if (this.bFromDraft)
{ {
this.savedTime(window.Math.round((new window.Date()).getTime() / 1000)); Cache.setFolderHash(this.draftFolder(), '');
this.savedOrSendingText(
0 < this.savedTime() ? Utils.i18n('COMPOSE/SAVED_TIME', {
'TIME': moment.unix(this.savedTime() - 1).format('LT')
}) : ''
);
bResult = true;
if (this.bFromDraft)
{
Cache.setFolderHash(this.draftFolder(), '');
}
} }
} }
} }
if (!this.modalVisibility() && !bResult) if (!bResult)
{ {
this.savedError(true); this.savedError(true);
this.savedOrSendingText(Utils.getNotification(Enums.Notification.CantSaveMessage)); this.savedOrSendingText(Utils.getNotification(Enums.Notification.CantSaveMessage));
@ -637,7 +675,16 @@
ComposePopupView.prototype.onHide = function () ComposePopupView.prototype.onHide = function ()
{ {
this.reset(); this.autosaveStop();
if (!this.bSkipNextHide)
{
this.composeInEdit(false);
this.reset();
}
this.bSkipNextHide = false;
kn.routeOn(); kn.routeOn();
}; };
@ -736,6 +783,41 @@
{ {
kn.routeOff(); kn.routeOff();
this.autosaveStart();
if (this.composeInEdit())
{
sType = sType || Enums.ComposeType.Empty;
var
self = this,
PopupsAskViewModel = require('View/Popup/Ask')
;
if (Enums.ComposeType.Empty !== sType)
{
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('COMPOSE/DISCARD_UNSAVED_DATA'), function () {
self.initOnShow(sType, oMessageOrArray, aToEmails, sCustomSubject, sCustomPlainText);
}, null, null, null, false]);
}
}
else
{
this.initOnShow(sType, oMessageOrArray, aToEmails, sCustomSubject, sCustomPlainText);
}
};
/**
* @param {string=} sType = Enums.ComposeType.Empty
* @param {?MessageModel|Array=} oMessageOrArray = null
* @param {Array=} aToEmails = null
* @param {string=} sCustomSubject = null
* @param {string=} sCustomPlainText = null
*/
ComposePopupView.prototype.initOnShow = function (sType, oMessageOrArray, aToEmails, sCustomSubject, sCustomPlainText)
{
this.composeInEdit(true);
var var
self = this, self = this,
sFrom = '', sFrom = '',
@ -1033,14 +1115,21 @@
PopupsAskViewModel = require('View/Popup/Ask') PopupsAskViewModel = require('View/Popup/Ask')
; ;
if (!kn.isPopupVisible(PopupsAskViewModel)) if (!kn.isPopupVisible(PopupsAskViewModel) && this.modalVisibility())
{ {
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'), function () { if (this.bSkipNextHide || (this.isEmptyForm() && !this.draftUid()))
if (self.modalVisibility()) {
{ Utils.delegateRun(self, 'closeCommand');
Utils.delegateRun(self, 'closeCommand'); }
} else
}]); {
kn.showScreenPopup(PopupsAskViewModel, [Utils.i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'), function () {
if (self.modalVisibility())
{
Utils.delegateRun(self, 'closeCommand');
}
}]);
}
} }
}; };
@ -1716,14 +1805,14 @@
ComposePopupView.prototype.isEmptyForm = function (bIncludeAttachmentInProgress) ComposePopupView.prototype.isEmptyForm = function (bIncludeAttachmentInProgress)
{ {
bIncludeAttachmentInProgress = Utils.isUnd(bIncludeAttachmentInProgress) ? true : !!bIncludeAttachmentInProgress; bIncludeAttachmentInProgress = Utils.isUnd(bIncludeAttachmentInProgress) ? true : !!bIncludeAttachmentInProgress;
var bAttach = bIncludeAttachmentInProgress ? var bWithoutAttach = bIncludeAttachmentInProgress ?
0 === this.attachments().length : 0 === this.attachmentsInReady().length; 0 === this.attachments().length : 0 === this.attachmentsInReady().length;
return 0 === this.to().length && return 0 === this.to().length &&
0 === this.cc().length && 0 === this.cc().length &&
0 === this.bcc().length && 0 === this.bcc().length &&
0 === this.subject().length && 0 === this.subject().length &&
bAttach && bWithoutAttach &&
(!this.oEditor || '' === this.oEditor.getData()) (!this.oEditor || '' === this.oEditor.getData())
; ;
}; };

View file

@ -34,6 +34,8 @@
this.oContentVisible = null; this.oContentVisible = null;
this.oContentScrollable = null; this.oContentScrollable = null;
this.composeInEdit = Data.composeInEdit;
this.messageList = Data.messageList; this.messageList = Data.messageList;
this.folderList = Data.folderList; this.folderList = Data.folderList;
this.folderListSystem = Data.folderListSystem; this.folderListSystem = Data.folderListSystem;

View file

@ -367,7 +367,7 @@
if (this.pswpDom) if (this.pswpDom)
{ {
oDom oDom
.on('click', 'a.attachmentImagePreview[data-index]:visible', function (oEvent) { .on('click', '.attachmentImagePreview[data-index]', function (oEvent) {
var var
oPs = null, oPs = null,
@ -375,7 +375,7 @@
aItems = [] aItems = []
; ;
oDom.find('a.attachmentImagePreview:visible').each(function (index, oSubElement) { oDom.find('.attachmentImagePreview[data-index]').each(function (index, oSubElement) {
var $oItem = $(oSubElement); var $oItem = $(oSubElement);

View file

@ -191,7 +191,8 @@ gulp.task('less:main', function() {
})) }))
.pipe(rename(cfg.paths.less.main.name)) .pipe(rename(cfg.paths.less.main.name))
.pipe(eol('\n', true)) .pipe(eol('\n', true))
.pipe(gulp.dest(cfg.paths.staticCSS)); .pipe(gulp.dest(cfg.paths.staticCSS))
.on('error', gutil.log);
}); });
gulp.task('css:main-begin', ['less:main'], function() { gulp.task('css:main-begin', ['less:main'], function() {

View file

@ -2,7 +2,7 @@
"name": "RainLoop", "name": "RainLoop",
"title": "RainLoop Webmail", "title": "RainLoop Webmail",
"version": "1.7.1", "version": "1.7.1",
"release": "215", "release": "217",
"description": "Simple, modern & fast web-based email client", "description": "Simple, modern & fast web-based email client",
"homepage": "http://rainloop.net", "homepage": "http://rainloop.net",
"main": "gulpfile.js", "main": "gulpfile.js",
@ -52,7 +52,7 @@
"gulp-uglify": "*", "gulp-uglify": "*",
"gulp-rimraf": "*", "gulp-rimraf": "*",
"gulp-jshint": "*", "gulp-jshint": "*",
"gulp-less": "*", "gulp-less": "1.3.6",
"gulp-zip": "*", "gulp-zip": "*",
"gulp-rename": "*", "gulp-rename": "*",
"gulp-replace": "*", "gulp-replace": "*",

View file

@ -241,7 +241,8 @@ class FacebookRedirectLoginHelper
} }
$buf = ''; $buf = '';
// http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/ // http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/
if (is_readable('/dev/urandom')) { if (false && is_readable('/dev/urandom')) {
// if (is_readable('/dev/urandom')) {
$fp = fopen('/dev/urandom', 'rb'); $fp = fopen('/dev/urandom', 'rb');
if ($fp !== FALSE) { if ($fp !== FALSE) {
$buf = fread($fp, $bytes); $buf = fread($fp, $bytes);

View file

@ -7081,7 +7081,7 @@ class Actions
$oThumb =@ new \PHPThumb\GD($sFileName); $oThumb =@ new \PHPThumb\GD($sFileName);
if ($oThumb) if ($oThumb)
{ {
$oThumb->adaptiveResize(220, 80)->show(); $oThumb->adaptiveResize(60, 60)->show();
$bDone = true; $bDone = true;
} }
} }

View file

@ -1,6 +1,7 @@
<div class="b-folders g-ui-user-select-none thm-folders" data-bind="css: {'focused': folderList.focused}"> <div class="b-folders g-ui-user-select-none thm-folders" data-bind="css: {'focused': folderList.focused}">
<div class="b-toolbar btn-toolbar"> <div class="b-toolbar btn-toolbar">
<a class="btn buttonCompose pull-left" data-tooltip-placement="bottom" data-bind="click: composeClick, tooltip: 'FOLDER_LIST/BUTTON_COMPOSE'"> <a class="btn buttonCompose pull-left" data-tooltip-placement="bottom"
data-bind="click: composeClick, tooltip: 'FOLDER_LIST/BUTTON_COMPOSE', css: {'btn-warning': composeInEdit}">
<i class="icon-paper-plane"></i> <i class="icon-paper-plane"></i>
</a> </a>
<a class="btn buttonContacts pull-left" data-tooltip-placement="bottom" data-bind="visible: allowContacts, click: contactsClick, tooltip: 'FOLDER_LIST/BUTTON_CONTACTS'"> <a class="btn buttonContacts pull-left" data-tooltip-placement="bottom" data-bind="visible: allowContacts, click: contactsClick, tooltip: 'FOLDER_LIST/BUTTON_CONTACTS'">

View file

@ -294,32 +294,24 @@
</div> </div>
<div class="attachmentsPlace" data-bind="visible: message() && message().hasVisibleAttachments()"> <div class="attachmentsPlace" data-bind="visible: message() && message().hasVisibleAttachments()">
<ul class="attachmentList" data-bind="foreach: message() ? message().attachments() : []"> <ul class="attachmentList" data-bind="foreach: message() ? message().attachments() : []">
<li class="attachmentItem clearfix" draggable="true" data-bind="visible: !isLinked, title: fileName, event: { 'dragstart': eventDragStart }, <li class="attachmentItem clearfix" draggable="true" data-bind="visible: !isLinked, title: fileName, event: { 'dragstart': eventDragStart }">
css: { 'hasThumbnail': hasThumbnail() }, attr: { 'style': linkThumbnailPreviewStyle() }">
<div class="attachmentIconParent pull-left" data-bind="css: { 'hasPreview': hasPreview() }"> <div class="attachmentIconParent pull-left" data-bind="css: { 'hasPreview': hasPreview() }">
<div class="attachmentNonePreview"> <div class="hidePreview">
<i class="attachmentIcon attachmentMainIcon" data-bind="css: iconClass()"></i> <div class="iconMain">
<i class="attachmentIcon attachmentMainIcon" data-bind="css: iconClass()"></i>
</div>
</div>
<div class="showPreview">
<a data-bind="css: {'attachmentImagePreview': isImage()}, attr: {'href': linkPreviewMain(), title: fileName, 'data-index': $index}">
<div class="iconMain">
<i class="attachmentIcon attachmentMainIcon" data-bind="css: iconClass()"></i>
</div>
<div class="iconBG" data-bind="attr: { 'style': linkThumbnailPreviewStyle() }"></div>
<div class="iconPreview">
<i class="attachmentIcon icon-eye show-hover"></i>
</div>
</a>
</div> </div>
<a class="attachmentPreview attachmentImagePreview magnificPopupImage"
data-bind="visible: isImage(), attr: {href: linkPreview(), title: fileName, 'data-index': $index}" target="_blank">
<i class="attachmentIcon icon-eye show-hover"></i>
<i class="attachmentIcon attachmentMainIcon hide-hover" data-bind="css: iconClass()"></i>
</a>
<a class="attachmentPreview"
data-bind="visible: isText(), attr: {href: linkPreviewAsPlain(), title: fileName}" target="_blank">
<i class="attachmentIcon icon-eye show-hover"></i>
<i class="attachmentIcon attachmentMainIcon hide-hover" data-bind="css: iconClass()"></i>
</a>
<a class="attachmentPreview"
data-bind="visible: isPdf(), attr: {href: linkPreview(), title: fileName}" target="_blank">
<i class="attachmentIcon icon-eye show-hover"></i>
<i class="attachmentIcon attachmentMainIcon hide-hover" data-bind="css: iconClass()"></i>
</a>
<a class="attachmentPreview"
data-bind="visible: isFramed(), attr: {href: linkFramed(), title: fileName}" target="_blank">
<i class="attachmentIcon icon-eye show-hover"></i>
<i class="attachmentIcon attachmentMainIcon hide-hover" data-bind="css: iconClass()"></i>
</a>
</div> </div>
<div class="attachmentNameParent"> <div class="attachmentNameParent">
<div style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden;"> <div style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden;">

View file

@ -1,7 +1,6 @@
<div class="popups"> <div class="popups">
<div class="modal hide b-compose" data-backdrop="static" data-bind="modal: modalVisibility, css: {'loading': saving() || sending()}"> <div class="modal hide b-compose" data-backdrop="static" data-bind="modal: modalVisibility, css: {'loading': saving() || sending()}">
<div class="modal-header b-header-toolbar g-ui-user-select-none"> <div class="modal-header b-header-toolbar g-ui-user-select-none">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<a class="btn btn-large button-send" data-bind="command: sendCommand, css: {'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }"> <a class="btn btn-large button-send" data-bind="command: sendCommand, css: {'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }">
<i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner animated': sending(), 'icon-white': sendError() || sendSuccessButSaveError()}"></i> <i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner animated': sending(), 'icon-white': sendError() || sendSuccessButSaveError()}"></i>
&nbsp;&nbsp; &nbsp;&nbsp;
@ -12,6 +11,12 @@
&nbsp;&nbsp; &nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_SAVE"></span> <span class="i18n" data-i18n-text="COMPOSE/BUTTON_SAVE"></span>
</a> </a>
<a class="btn button-close pull-right" data-tooltip-placement="bottom" data-bind="click: tryToClosePopup, tooltip: 'COMPOSE/BUTTON_CANCEL'">
<i class="icon-remove"></i>
</a>
<a class="btn button-skip pull-right" data-tooltip-placement="bottom" data-bind="command: skipCommand, tooltip: 'COMPOSE/BUTTON_MINIMIZE'">
<i class="icon-down"></i>
</a>
<a class="btn btn-danger button-delete button-delete-transitions" data-bind="command: deleteCommand"> <a class="btn btn-danger button-delete button-delete-transitions" data-bind="command: deleteCommand">
<i class="icon-trash icon-white"></i> <i class="icon-trash icon-white"></i>
</a> </a>

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Изпрати"
BUTTON_SAVE = "Запази" BUTTON_SAVE = "Запази"
BUTTON_DELETE = "Изтрий" BUTTON_DELETE = "Изтрий"
BUTTON_CANCEL = "Отказа" BUTTON_CANCEL = "Отказа"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Запазено в %TIME%" SAVED_TIME = "Запазено в %TIME%"
SAVED_ERROR_ON_SEND = "Съобщението беше изпратено, но не беше запазено в папката с изпратени съобщения" SAVED_ERROR_ON_SEND = "Съобщението беше изпратено, но не беше запазено в папката с изпратени съобщения"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Прикрепете файлове" ATTACH_FILES = "Прикрепете файлове"
ATTACH_DROP_FILES_DESC = "Пуснете файловете тук" ATTACH_DROP_FILES_DESC = "Пуснете файловете тук"
ATTACH_ITEM_CANCEL = "Отказ" ATTACH_ITEM_CANCEL = "Отказ"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Senden"
BUTTON_SAVE = "Speichern" BUTTON_SAVE = "Speichern"
BUTTON_DELETE = "Löschen" BUTTON_DELETE = "Löschen"
BUTTON_CANCEL = "Abbrechen" BUTTON_CANCEL = "Abbrechen"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Gespeichert um %TIME%" SAVED_TIME = "Gespeichert um %TIME%"
SAVED_ERROR_ON_SEND = "Die Nachricht wurde gesendet, konnte aber nicht im Ordner gespeichert werden." SAVED_ERROR_ON_SEND = "Die Nachricht wurde gesendet, konnte aber nicht im Ordner gespeichert werden."
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Dateien anhängen" ATTACH_FILES = "Dateien anhängen"
ATTACH_DROP_FILES_DESC = "Fügen Sie hier Dateien ein" ATTACH_DROP_FILES_DESC = "Fügen Sie hier Dateien ein"
ATTACH_ITEM_CANCEL = "Abbrechen" ATTACH_ITEM_CANCEL = "Abbrechen"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Send"
BUTTON_SAVE = "Save" BUTTON_SAVE = "Save"
BUTTON_DELETE = "Delete" BUTTON_DELETE = "Delete"
BUTTON_CANCEL = "Cancel" BUTTON_CANCEL = "Cancel"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Saved at %TIME%" SAVED_TIME = "Saved at %TIME%"
SAVED_ERROR_ON_SEND = "Message was sent but not saved to sent items folder" SAVED_ERROR_ON_SEND = "Message was sent but not saved to sent items folder"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Attach files" ATTACH_FILES = "Attach files"
ATTACH_DROP_FILES_DESC = "Drop files here" ATTACH_DROP_FILES_DESC = "Drop files here"
ATTACH_ITEM_CANCEL = "Cancel" ATTACH_ITEM_CANCEL = "Cancel"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Enviar"
BUTTON_SAVE = "Guardar" BUTTON_SAVE = "Guardar"
BUTTON_DELETE = "Eliminar" BUTTON_DELETE = "Eliminar"
BUTTON_CANCEL = "Cancelar" BUTTON_CANCEL = "Cancelar"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Guardado a las %TIME%" SAVED_TIME = "Guardado a las %TIME%"
SAVED_ERROR_ON_SEND = "El Mensaje se envió pero no se guardó en la carpeta de Enviados" SAVED_ERROR_ON_SEND = "El Mensaje se envió pero no se guardó en la carpeta de Enviados"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Añadir archivos" ATTACH_FILES = "Añadir archivos"
ATTACH_DROP_FILES_DESC = "Arrastre sus archivos aquí" ATTACH_DROP_FILES_DESC = "Arrastre sus archivos aquí"
ATTACH_ITEM_CANCEL = "Cancelar" ATTACH_ITEM_CANCEL = "Cancelar"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Envoyer"
BUTTON_SAVE = "Enregistrer" BUTTON_SAVE = "Enregistrer"
BUTTON_DELETE = "Supprimer" BUTTON_DELETE = "Supprimer"
BUTTON_CANCEL = "Annuler" BUTTON_CANCEL = "Annuler"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Enregistré à %TIME%" SAVED_TIME = "Enregistré à %TIME%"
SAVED_ERROR_ON_SEND = "Le message a été envoyé mais n'a pas été enregistré dans le dossier des messages envoyés" SAVED_ERROR_ON_SEND = "Le message a été envoyé mais n'a pas été enregistré dans le dossier des messages envoyés"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Ajouter des fichiers joints" ATTACH_FILES = "Ajouter des fichiers joints"
ATTACH_DROP_FILES_DESC = "Glisser les fichiers ici" ATTACH_DROP_FILES_DESC = "Glisser les fichiers ici"
ATTACH_ITEM_CANCEL = "Annuler" ATTACH_ITEM_CANCEL = "Annuler"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Küldés"
BUTTON_SAVE = "Mentés" BUTTON_SAVE = "Mentés"
BUTTON_DELETE = "Törlés" BUTTON_DELETE = "Törlés"
BUTTON_CANCEL = "Mégse" BUTTON_CANCEL = "Mégse"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Saved at %TIME%" SAVED_TIME = "Saved at %TIME%"
SAVED_ERROR_ON_SEND = "Message was sent but not saved to sent items folder" SAVED_ERROR_ON_SEND = "Message was sent but not saved to sent items folder"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Melléklet" ATTACH_FILES = "Melléklet"
ATTACH_DROP_FILES_DESC = "Drop files here" ATTACH_DROP_FILES_DESC = "Drop files here"
ATTACH_ITEM_CANCEL = "Mégse" ATTACH_ITEM_CANCEL = "Mégse"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Senda"
BUTTON_SAVE = "Vista" BUTTON_SAVE = "Vista"
BUTTON_DELETE = "Eyða" BUTTON_DELETE = "Eyða"
BUTTON_CANCEL = "Hætta við" BUTTON_CANCEL = "Hætta við"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Vistað %TIME%" SAVED_TIME = "Vistað %TIME%"
SAVED_ERROR_ON_SEND = "Bréf var sent en ekki vistað í hluta möppu" SAVED_ERROR_ON_SEND = "Bréf var sent en ekki vistað í hluta möppu"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Hengja við skrár" ATTACH_FILES = "Hengja við skrár"
ATTACH_DROP_FILES_DESC = "Setja skrár hér" ATTACH_DROP_FILES_DESC = "Setja skrár hér"
ATTACH_ITEM_CANCEL = "Hætta við" ATTACH_ITEM_CANCEL = "Hætta við"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Invia"
BUTTON_SAVE = "Salva" BUTTON_SAVE = "Salva"
BUTTON_DELETE = "Cancella" BUTTON_DELETE = "Cancella"
BUTTON_CANCEL = "Annulla" BUTTON_CANCEL = "Annulla"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Salvata il %TIME%" SAVED_TIME = "Salvata il %TIME%"
SAVED_ERROR_ON_SEND = "Il messaggio è stato inviato ma non è stato salvato nella cartella \"Posta Inviata\"" SAVED_ERROR_ON_SEND = "Il messaggio è stato inviato ma non è stato salvato nella cartella \"Posta Inviata\""
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Allega files" ATTACH_FILES = "Allega files"
ATTACH_DROP_FILES_DESC = "Trascina i file qui" ATTACH_DROP_FILES_DESC = "Trascina i file qui"
ATTACH_ITEM_CANCEL = "Annulla" ATTACH_ITEM_CANCEL = "Annulla"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "送信"
BUTTON_SAVE = "保存" BUTTON_SAVE = "保存"
BUTTON_DELETE = "削除" BUTTON_DELETE = "削除"
BUTTON_CANCEL = "キャンセル" BUTTON_CANCEL = "キャンセル"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "%TIME% に保存しました" SAVED_TIME = "%TIME% に保存しました"
SAVED_ERROR_ON_SEND = "メールは送信できましたが、送信済みに保存できませんでした" SAVED_ERROR_ON_SEND = "メールは送信できましたが、送信済みに保存できませんでした"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "ファイルを添付" ATTACH_FILES = "ファイルを添付"
ATTACH_DROP_FILES_DESC = "ここにファイルをドロップ" ATTACH_DROP_FILES_DESC = "ここにファイルをドロップ"
ATTACH_ITEM_CANCEL = "キャンセル" ATTACH_ITEM_CANCEL = "キャンセル"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "보내기"
BUTTON_SAVE = "저장" BUTTON_SAVE = "저장"
BUTTON_DELETE = "삭제" BUTTON_DELETE = "삭제"
BUTTON_CANCEL = "취소" BUTTON_CANCEL = "취소"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "%TIME% 에 저장됨" SAVED_TIME = "%TIME% 에 저장됨"
SAVED_ERROR_ON_SEND = "메시지는 전송되었지만, 보낸 보관함에 저장되지 않았습니다." SAVED_ERROR_ON_SEND = "메시지는 전송되었지만, 보낸 보관함에 저장되지 않았습니다."
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "첨부파일" ATTACH_FILES = "첨부파일"
ATTACH_DROP_FILES_DESC = "파일을 드래그해 넣으세요" ATTACH_DROP_FILES_DESC = "파일을 드래그해 넣으세요"
ATTACH_ITEM_CANCEL = "취소" ATTACH_ITEM_CANCEL = "취소"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Siųsti"
BUTTON_SAVE = "Išsaugoti" BUTTON_SAVE = "Išsaugoti"
BUTTON_DELETE = "Naikinti" BUTTON_DELETE = "Naikinti"
BUTTON_CANCEL = "Atšaukti" BUTTON_CANCEL = "Atšaukti"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Išsaugota %TIME%" SAVED_TIME = "Išsaugota %TIME%"
SAVED_ERROR_ON_SEND = "Pranešimas buvo išsiųstas, bet neišsaugotas išsiųstų kataloge" SAVED_ERROR_ON_SEND = "Pranešimas buvo išsiųstas, bet neišsaugotas išsiųstų kataloge"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Prisegti failų" ATTACH_FILES = "Prisegti failų"
ATTACH_DROP_FILES_DESC = "Įkelkite failus čia" ATTACH_DROP_FILES_DESC = "Įkelkite failus čia"
ATTACH_ITEM_CANCEL = "Atšaukti" ATTACH_ITEM_CANCEL = "Atšaukti"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Sūtīt"
BUTTON_SAVE = "Saglabāt" BUTTON_SAVE = "Saglabāt"
BUTTON_DELETE = "Dzēst" BUTTON_DELETE = "Dzēst"
BUTTON_CANCEL = "Atcelt" BUTTON_CANCEL = "Atcelt"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Saglabāts %TIME%" SAVED_TIME = "Saglabāts %TIME%"
SAVED_ERROR_ON_SEND = "Ziņojums nosūtīts, bet tas nav saglabāts izsūtnē." SAVED_ERROR_ON_SEND = "Ziņojums nosūtīts, bet tas nav saglabāts izsūtnē."
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Pievienot failus" ATTACH_FILES = "Pievienot failus"
ATTACH_DROP_FILES_DESC = "Iemet failus šeit" ATTACH_DROP_FILES_DESC = "Iemet failus šeit"
ATTACH_ITEM_CANCEL = "Atcelt" ATTACH_ITEM_CANCEL = "Atcelt"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Verzenden"
BUTTON_SAVE = "Concept opslaan" BUTTON_SAVE = "Concept opslaan"
BUTTON_DELETE = "Verwijder" BUTTON_DELETE = "Verwijder"
BUTTON_CANCEL = "Annuleer" BUTTON_CANCEL = "Annuleer"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Bewaard op %TIME%" SAVED_TIME = "Bewaard op %TIME%"
SAVED_ERROR_ON_SEND = "Bericht is verzonden maar niet bewaard in de VERZONDEN map" SAVED_ERROR_ON_SEND = "Bericht is verzonden maar niet bewaard in de VERZONDEN map"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Bestand(en) toevoegen" ATTACH_FILES = "Bestand(en) toevoegen"
ATTACH_DROP_FILES_DESC = "Sleep bestanden naar hier" ATTACH_DROP_FILES_DESC = "Sleep bestanden naar hier"
ATTACH_ITEM_CANCEL = "Annuleer" ATTACH_ITEM_CANCEL = "Annuleer"

View file

@ -206,8 +206,10 @@ BUTTON_SEND = "Send"
BUTTON_SAVE = "Lagre" BUTTON_SAVE = "Lagre"
BUTTON_DELETE = "Slett" BUTTON_DELETE = "Slett"
BUTTON_CANCEL = "Avbryt" BUTTON_CANCEL = "Avbryt"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Lagret %TIME%" SAVED_TIME = "Lagret %TIME%"
SAVED_ERROR_ON_SEND = "Meldingen ble sendt, men ble ikke lagret i mappen for sendte elementer" SAVED_ERROR_ON_SEND = "Meldingen ble sendt, men ble ikke lagret i mappen for sendte elementer"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Legg ved filer" ATTACH_FILES = "Legg ved filer"
ATTACH_DROP_FILES_DESC = "Slipp filer her" ATTACH_DROP_FILES_DESC = "Slipp filer her"
ATTACH_ITEM_CANCEL = "Avbryt" ATTACH_ITEM_CANCEL = "Avbryt"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Wyślij"
BUTTON_SAVE = "Zapisz" BUTTON_SAVE = "Zapisz"
BUTTON_DELETE = "Usuń" BUTTON_DELETE = "Usuń"
BUTTON_CANCEL = "Anuluj" BUTTON_CANCEL = "Anuluj"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Zapisane o: %TIME%" SAVED_TIME = "Zapisane o: %TIME%"
SAVED_ERROR_ON_SEND = "Wiadomość została wysłana, ale nie została zapisana w folderze: Wysłane" SAVED_ERROR_ON_SEND = "Wiadomość została wysłana, ale nie została zapisana w folderze: Wysłane"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Dołącz pliki" ATTACH_FILES = "Dołącz pliki"
ATTACH_DROP_FILES_DESC = "Przeciągnij pliki tutaj" ATTACH_DROP_FILES_DESC = "Przeciągnij pliki tutaj"
ATTACH_ITEM_CANCEL = "Anuluj" ATTACH_ITEM_CANCEL = "Anuluj"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Enviar"
BUTTON_SAVE = "Salvar" BUTTON_SAVE = "Salvar"
BUTTON_DELETE = "Excluir" BUTTON_DELETE = "Excluir"
BUTTON_CANCEL = "Cancelar" BUTTON_CANCEL = "Cancelar"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Salvo as %TIME%" SAVED_TIME = "Salvo as %TIME%"
SAVED_ERROR_ON_SEND = "Sua mensagem foi enviada mas não foi salva na pasta de itens enviados." SAVED_ERROR_ON_SEND = "Sua mensagem foi enviada mas não foi salva na pasta de itens enviados."
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Anexar arquivos" ATTACH_FILES = "Anexar arquivos"
ATTACH_DROP_FILES_DESC = "Arraste os arquivos aqui" ATTACH_DROP_FILES_DESC = "Arraste os arquivos aqui"
ATTACH_ITEM_CANCEL = "Cancelar" ATTACH_ITEM_CANCEL = "Cancelar"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Enviar"
BUTTON_SAVE = "Salvar" BUTTON_SAVE = "Salvar"
BUTTON_DELETE = "Eccluir" BUTTON_DELETE = "Eccluir"
BUTTON_CANCEL = "Cancelar" BUTTON_CANCEL = "Cancelar"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Salvo em %TIME%" SAVED_TIME = "Salvo em %TIME%"
SAVED_ERROR_ON_SEND = "Sua mensagem foi enviada, mas não salva a pasta de itens enviados." SAVED_ERROR_ON_SEND = "Sua mensagem foi enviada, mas não salva a pasta de itens enviados."
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Anexar arquivos" ATTACH_FILES = "Anexar arquivos"
ATTACH_DROP_FILES_DESC = "Coloque os arquivos aqui" ATTACH_DROP_FILES_DESC = "Coloque os arquivos aqui"
ATTACH_ITEM_CANCEL = "Cancelar" ATTACH_ITEM_CANCEL = "Cancelar"

View file

@ -206,8 +206,10 @@ BUTTON_SEND = "Trimite"
BUTTON_SAVE = "Salvează" BUTTON_SAVE = "Salvează"
BUTTON_DELETE = "Șterge" BUTTON_DELETE = "Șterge"
BUTTON_CANCEL = "Anulează" BUTTON_CANCEL = "Anulează"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Salvat la %TIME%" SAVED_TIME = "Salvat la %TIME%"
SAVED_ERROR_ON_SEND = "Mesajul a fost trimis, dar nu a fost slavat" SAVED_ERROR_ON_SEND = "Mesajul a fost trimis, dar nu a fost slavat"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Atașează fișiere" ATTACH_FILES = "Atașează fișiere"
ATTACH_DROP_FILES_DESC = "Puneți fișierele aici" ATTACH_DROP_FILES_DESC = "Puneți fișierele aici"
ATTACH_ITEM_CANCEL = "Anulează" ATTACH_ITEM_CANCEL = "Anulează"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Отправить"
BUTTON_SAVE = "Сохранить" BUTTON_SAVE = "Сохранить"
BUTTON_DELETE = "Удалить" BUTTON_DELETE = "Удалить"
BUTTON_CANCEL = "Отменить" BUTTON_CANCEL = "Отменить"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Сохранено в %TIME%" SAVED_TIME = "Сохранено в %TIME%"
SAVED_ERROR_ON_SEND = "Сообщение было отправлено, но не было сохранено" SAVED_ERROR_ON_SEND = "Сообщение было отправлено, но не было сохранено"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Прикрепить файлы" ATTACH_FILES = "Прикрепить файлы"
ATTACH_DROP_FILES_DESC = "Поместите файлы сюда" ATTACH_DROP_FILES_DESC = "Поместите файлы сюда"
ATTACH_ITEM_CANCEL = "Отменить" ATTACH_ITEM_CANCEL = "Отменить"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Odoslať"
BUTTON_SAVE = "Uložiť" BUTTON_SAVE = "Uložiť"
BUTTON_DELETE = "Odstrániť" BUTTON_DELETE = "Odstrániť"
BUTTON_CANCEL = "Zrušiť" BUTTON_CANCEL = "Zrušiť"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Uložené o %TIME%" SAVED_TIME = "Uložené o %TIME%"
SAVED_ERROR_ON_SEND = "Správa bola odoslaná ale nebola uložená do priečinka odoslaných správ" SAVED_ERROR_ON_SEND = "Správa bola odoslaná ale nebola uložená do priečinka odoslaných správ"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Pripojiť súbory" ATTACH_FILES = "Pripojiť súbory"
ATTACH_DROP_FILES_DESC = "Súbory pusťte tu" ATTACH_DROP_FILES_DESC = "Súbory pusťte tu"
ATTACH_ITEM_CANCEL = "Zrušiť" ATTACH_ITEM_CANCEL = "Zrušiť"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Skicka"
BUTTON_SAVE = "Spara" BUTTON_SAVE = "Spara"
BUTTON_DELETE = "Ta bort" BUTTON_DELETE = "Ta bort"
BUTTON_CANCEL = "Avbryt" BUTTON_CANCEL = "Avbryt"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Sparat kl %TIME%" SAVED_TIME = "Sparat kl %TIME%"
SAVED_ERROR_ON_SEND = "Meddelandet skickat men inte sparat i skickat-mappen" SAVED_ERROR_ON_SEND = "Meddelandet skickat men inte sparat i skickat-mappen"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Bifoga filer" ATTACH_FILES = "Bifoga filer"
ATTACH_DROP_FILES_DESC = "Släpp filer här" ATTACH_DROP_FILES_DESC = "Släpp filer här"
ATTACH_ITEM_CANCEL = "Avbryt" ATTACH_ITEM_CANCEL = "Avbryt"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "Gönder"
BUTTON_SAVE = "Kaydet" BUTTON_SAVE = "Kaydet"
BUTTON_DELETE = "Sil" BUTTON_DELETE = "Sil"
BUTTON_CANCEL = "Vazgeç" BUTTON_CANCEL = "Vazgeç"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "%TIME% tarihinde kaydedildi" SAVED_TIME = "%TIME% tarihinde kaydedildi"
SAVED_ERROR_ON_SEND = "Mesaj gönderildi fakat gönderilenler klasörüne kaydedilmedi" SAVED_ERROR_ON_SEND = "Mesaj gönderildi fakat gönderilenler klasörüne kaydedilmedi"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Ek dosyalar" ATTACH_FILES = "Ek dosyalar"
ATTACH_DROP_FILES_DESC = "Dosyaları buraya sürükleyin" ATTACH_DROP_FILES_DESC = "Dosyaları buraya sürükleyin"
ATTACH_ITEM_CANCEL = "Vazgeç" ATTACH_ITEM_CANCEL = "Vazgeç"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "Надслати"
BUTTON_SAVE = "Зберегти" BUTTON_SAVE = "Зберегти"
BUTTON_DELETE = "Видалити" BUTTON_DELETE = "Видалити"
BUTTON_CANCEL = "Відмінити" BUTTON_CANCEL = "Відмінити"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "Збережено в %TIME%" SAVED_TIME = "Збережено в %TIME%"
SAVED_ERROR_ON_SEND = "Повідомлення було надіслано, але не збережено" SAVED_ERROR_ON_SEND = "Повідомлення було надіслано, але не збережено"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "Додати файли" ATTACH_FILES = "Додати файли"
ATTACH_DROP_FILES_DESC = "Помістити файли сюди" ATTACH_DROP_FILES_DESC = "Помістити файли сюди"
ATTACH_ITEM_CANCEL = "Відмінити" ATTACH_ITEM_CANCEL = "Відмінити"

View file

@ -207,8 +207,10 @@ BUTTON_SEND = "发送"
BUTTON_SAVE = "保存" BUTTON_SAVE = "保存"
BUTTON_DELETE = "删除" BUTTON_DELETE = "删除"
BUTTON_CANCEL = "取消" BUTTON_CANCEL = "取消"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "保存于 %TIME%" SAVED_TIME = "保存于 %TIME%"
SAVED_ERROR_ON_SEND = "邮件已发送但并未保存在已发邮件列表中。" SAVED_ERROR_ON_SEND = "邮件已发送但并未保存在已发邮件列表中。"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "添加附件" ATTACH_FILES = "添加附件"
ATTACH_DROP_FILES_DESC = "拖动文件至此" ATTACH_DROP_FILES_DESC = "拖动文件至此"
ATTACH_ITEM_CANCEL = "取消" ATTACH_ITEM_CANCEL = "取消"

View file

@ -208,8 +208,10 @@ BUTTON_SEND = "發送"
BUTTON_SAVE = "保存" BUTTON_SAVE = "保存"
BUTTON_DELETE = "刪除" BUTTON_DELETE = "刪除"
BUTTON_CANCEL = "取消" BUTTON_CANCEL = "取消"
BUTTON_MINIMIZE = "Minimize"
SAVED_TIME = "保存於 %TIME%" SAVED_TIME = "保存於 %TIME%"
SAVED_ERROR_ON_SEND = "郵件已發送但並未保存在已發郵寄清單中。" SAVED_ERROR_ON_SEND = "郵件已發送但並未保存在已發郵寄清單中。"
DISCARD_UNSAVED_DATA = "Discard unsaved data?"
ATTACH_FILES = "添加附件" ATTACH_FILES = "添加附件"
ATTACH_DROP_FILES_DESC = "拖動文件至此" ATTACH_DROP_FILES_DESC = "拖動文件至此"
ATTACH_ITEM_CANCEL = "取消" ATTACH_ITEM_CANCEL = "取消"