i18n optimizations

This commit is contained in:
RainLoop Team 2015-03-21 00:23:41 +04:00
parent 1d9acea5ae
commit 30b7ce263f
50 changed files with 353 additions and 353 deletions

View file

@ -66,29 +66,27 @@
$oEl = $(oElement)
;
sKey = $oEl.data('i18n-text');
sKey = $oEl.data('i18n');
if (sKey)
{
$oEl.text(this.i18n(sKey));
}
else
{
sKey = $oEl.data('i18n-html');
if (sKey)
if ('[' === sKey.substr(0, 1))
{
$oEl.html(this.i18n(sKey));
switch (sKey.substr(0, 6))
{
case '[html]':
$oEl.html(this.i18n(sKey.substr(6)));
break;
case '[place':
$oEl.attr('placeholder', this.i18n(sKey.substr(13)));
break;
case '[title':
$oEl.attr('title', this.i18n(sKey.substr(7)));
break;
}
}
sKey = $oEl.data('i18n-placeholder');
if (sKey)
else
{
$oEl.attr('placeholder', this.i18n(sKey));
}
sKey = $oEl.data('i18n-title');
if (sKey)
{
$oEl.attr('title', this.i18n(sKey));
$oEl.text(this.i18n(sKey));
}
}
};
@ -102,13 +100,13 @@
var self = this;
_.defer(function () {
$('.i18n', oElements).each(function () {
$('[data-i18n]', oElements).each(function () {
self.i18nToNode(this);
});
if (bAnimate && Globals.bAnimationSupported)
{
$('.i18n-animation.i18n', oElements).letterfx({
$('.i18n-animation[data-i18n]', oElements).letterfx({
'fx': 'fall fade', 'backwards': false, 'timing': 50, 'fx_duration': '50ms', 'letter_end': 'restore', 'element_end': 'restore'
});
}

View file

@ -405,7 +405,7 @@
kn.extendAsViewModel(['View/Popup/Contacts', 'PopupsContactsViewModel'], ContactsPopupView);
_.extend(ContactsPopupView.prototype, AbstractView.prototype);
ContactsPopupView.prototype.getPropertyPlceholder = function (sType)
ContactsPopupView.prototype.getPropertyPlaceholder = function (sType)
{
var sResult = '';
switch (sType)
@ -426,7 +426,7 @@
ContactsPopupView.prototype.addNewProperty = function (sType, sTypeStr)
{
this.viewProperties.push(new ContactPropertyModel(sType, sTypeStr || '', '', true, this.getPropertyPlceholder(sType)));
this.viewProperties.push(new ContactPropertyModel(sType, sTypeStr || '', '', true, this.getPropertyPlaceholder(sType)));
};
ContactsPopupView.prototype.addNewOrFocusProperty = function (sType, sTypeStr)
@ -649,10 +649,10 @@
}
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.LastName, '', sLastName, false,
this.getPropertyPlceholder(Enums.ContactPropertyType.LastName)));
this.getPropertyPlaceholder(Enums.ContactPropertyType.LastName)));
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.FirstName, '', sFirstName, !oContact,
this.getPropertyPlceholder(Enums.ContactPropertyType.FirstName)));
this.getPropertyPlaceholder(Enums.ContactPropertyType.FirstName)));
this.viewID(sId);

View file

@ -10,12 +10,12 @@
<div class="b-admin-menu" data-bind="foreach: menu">
<!-- ko if: disabled -->
<span class="e-item disabled">
<span class="i18n e-link" data-bind="attr: { 'data-i18n-text': label }"></span>
<span class="i18n e-link" data-bind="attr: { 'data-i18n': label }"></span>
</span>
<!-- /ko -->
<!-- ko ifnot: disabled -->
<a class="e-item selectable" href="#" data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route) }">
<span class="i18n e-link" data-bind="attr: { 'data-i18n-text': label }"></span>
<span class="i18n e-link" data-bind="attr: { 'data-i18n': label }"></span>
</a>
<!-- /ko -->
</div>

View file

@ -2,21 +2,21 @@
<div class="modal hide b-shortcuts-content" data-bind="modal: modalVisibility">
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3 class="i18n" data-i18n-text="SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP"></h3>
<h3 class="i18n" data-i18n="SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP"></h3>
</div>
<div class="modal-body">
<ul class="nav nav-tabs">
<li class="active">
<a class="i18n" data-i18n-text="SHORTCUTS_HELP/TAB_MAILBOX" href="#mailbox-shortcuts-id" data-toggle="tab"></a>
<a class="i18n" data-i18n="SHORTCUTS_HELP/TAB_MAILBOX" href="#mailbox-shortcuts-id" data-toggle="tab"></a>
</li>
<li>
<a class="i18n" data-i18n-text="SHORTCUTS_HELP/TAB_MESSAGE_LIST" href="#message-list-shortcuts-id" data-toggle="tab"></a>
<a class="i18n" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_LIST" href="#message-list-shortcuts-id" data-toggle="tab"></a>
</li>
<li>
<a class="i18n" data-i18n-text="SHORTCUTS_HELP/TAB_MESSAGE_VIEW" href="#message-view-shortcuts-id" data-toggle="tab"></a>
<a class="i18n" data-i18n="SHORTCUTS_HELP/TAB_MESSAGE_VIEW" href="#message-view-shortcuts-id" data-toggle="tab"></a>
</li>
<li>
<a class="i18n" data-i18n-text="SHORTCUTS_HELP/TAB_COMPOSE" href="#compose-shortcuts-id" data-toggle="tab"></a>
<a class="i18n" data-i18n="SHORTCUTS_HELP/TAB_COMPOSE" href="#compose-shortcuts-id" data-toggle="tab"></a>
</li>
</ul>
<br />
@ -25,12 +25,12 @@
<table class="table table-striped table-bordered">
<tbody>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_OPEN_USER_DROPDOWN"></td><td>` (tilde)</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_REPLY"></td><td>R</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_REPLY_ALL"></td><td>A</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_FORWARD"></td><td>F</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_FORWARD_MULTIPLY"></td><td>Shift + F</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_HELP"></td><td>?, Shift + /</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_OPEN_USER_DROPDOWN"></td><td>` (tilde)</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_REPLY"></td><td>R</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_REPLY_ALL"></td><td>A</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_FORWARD"></td><td>F</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_FORWARD_MULTIPLY"></td><td>Shift + F</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_HELP"></td><td>?, Shift + /</td></tr>
</tbody>
</table>
@ -39,19 +39,19 @@
<table class="table table-striped table-bordered">
<tbody>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_CHECK_ALL"></td><td>Ctrl + A, Command + A</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_ARCHIVE"></td><td>Z</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_DELETE"></td><td>Delete, Shift + Delete, #</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_MOVE"></td><td>M</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_READ"></td><td>Q</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_UNREAD"></td><td>U</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_IMPORTANT"></td><td>I</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SEARCH"></td><td>/</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_CANCEL_SEARCH"></td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_FULLSCREEN_ENTER"></td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_VIEW_MESSAGE_ENTER"></td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SWITCH_TO_MESSAGE"></td><td>&rarr;, Tab</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SWITCH_TO_FOLDER_LIST"></td><td>&larr;, Shift + Tab</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_CHECK_ALL"></td><td>Ctrl + A, Command + A</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_ARCHIVE"></td><td>Z</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_DELETE"></td><td>Delete, Shift + Delete, #</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_MOVE"></td><td>M</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_READ"></td><td>Q</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_UNREAD"></td><td>U</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_IMPORTANT"></td><td>I</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SEARCH"></td><td>/</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_CANCEL_SEARCH"></td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_FULLSCREEN_ENTER"></td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_VIEW_MESSAGE_ENTER"></td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_MESSAGE"></td><td>&rarr;, Tab</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_FOLDER_LIST"></td><td>&larr;, Shift + Tab</td></tr>
</tbody>
</table>
@ -60,14 +60,14 @@
<table class="table table-striped table-bordered">
<tbody>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_FULLSCREEN_TOGGLE">Toggle fullscreen mode</td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_BLOCKQUOTES_TOGGLE">Toggle message blockquotes</td><td>B</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_THREAD_NEXT">Next message in thread</td><td>Ctrl + &larr;, Command + &larr;</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_THREAD_PREV">Previous message in thread</td><td>Ctrl + &rarr;, Command + &rarr;</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_PRINT">Print</td><td>Ctrl + P, Command + P</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_EXIT_FULLSCREEN">Exit fullscreen mode</td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_CLOSE_MESSAGE">Close message (No preview pane layout)</td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SWITCH_TO_LIST">Switch focus back to message list</td><td>Tab, Shift + Tab, Esc</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_FULLSCREEN_TOGGLE">Toggle fullscreen mode</td><td>Enter</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_BLOCKQUOTES_TOGGLE">Toggle message blockquotes</td><td>B</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_THREAD_NEXT">Next message in thread</td><td>Ctrl + &larr;, Command + &larr;</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_THREAD_PREV">Previous message in thread</td><td>Ctrl + &rarr;, Command + &rarr;</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_PRINT">Print</td><td>Ctrl + P, Command + P</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_EXIT_FULLSCREEN">Exit fullscreen mode</td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_CLOSE_MESSAGE">Close message (No preview pane layout)</td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SWITCH_TO_LIST">Switch focus back to message list</td><td>Tab, Shift + Tab, Esc</td></tr>
</tbody>
</table>
@ -76,11 +76,11 @@
<table class="table table-striped table-bordered">
<tbody>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_OPEN_COMPOSE_POPUP"></td><td>W, C</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_OPEN_IDENTITIES_DROPDOWN"></td><td>Ctrl + Q, Command + Q</td></tr>
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SAVE_MESSAGE"></td><td>Ctrl + S, Command + S</td></tr>
<!--<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_SEND_MESSAGE"></td><td>Ctrl + Enter, Command + Enter</td></tr>-->
<tr><td class="i18n" data-i18n-text="SHORTCUTS_HELP/LABEL_CLOSE_COMPOSE"></td><td>Esc</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_OPEN_COMPOSE_POPUP"></td><td>W, C</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_OPEN_IDENTITIES_DROPDOWN"></td><td>Ctrl + Q, Command + Q</td></tr>
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SAVE_MESSAGE"></td><td>Ctrl + S, Command + S</td></tr>
<!--<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_SEND_MESSAGE"></td><td>Ctrl + Enter, Command + Enter</td></tr>-->
<tr><td class="i18n" data-i18n="SHORTCUTS_HELP/LABEL_CLOSE_COMPOSE"></td><td>Esc</td></tr>
</tbody>
</table>

View file

@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_LANGUAGES/TITLE_LANGUAGES"></span>
<span class="i18n" data-i18n="POPUPS_LANGUAGES/TITLE_LANGUAGES"></span>
</h3>
</div>
<div class="modal-body">

View file

@ -5,6 +5,6 @@
"></i>
<!-- ko if: labeled -->
&nbsp;&nbsp;
<span class="sub-label i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="sub-label i18n" data-bind="attr: {'data-i18n': label}"></span>
<!-- /ko -->
</label>

View file

@ -2,6 +2,6 @@
<input type="checkbox" data-bind="checked: value, disable: disable() || !enable()" style="margin: 0 0 1px 0;" />
<!-- ko if: labeled -->
&nbsp;&nbsp;
<span class="sub-label i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="sub-label i18n" data-bind="attr: {'data-i18n': label}"></span>
<!-- /ko -->
</label>

View file

@ -5,6 +5,6 @@
'box': animationBox, 'checkmark': animationCheckmark}"></div>
</div>
<!-- ko if: labeled -->
<span class="sub-label i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="sub-label i18n" data-bind="attr: {'data-i18n': label}"></span>
<!-- /ko -->
</label>

View file

@ -1,8 +1,8 @@
<input class="i18n" type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder=""
data-bind="value: value, attr: {'data-i18n-placeholder': placeholder}, enable: enable, css: className" />
<input class="i18n" type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, attr: {'placeholder': placeholder}, enable: enable, css: className" />
<!-- ko if: labeled -->
&nbsp;
<span class="i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="i18n" data-bind="attr: {'data-i18n': label}"></span>
&nbsp;
<!-- /ko -->
<!-- ko if: triggered -->

View file

@ -2,6 +2,6 @@
<label data-bind="click: $parent.click, css: {'inline': $parent.inline}">
<i data-bind="css: $parent.value() === value ? 'icon-radio-checked' : 'icon-radio-unchecked'"></i>
&nbsp;&nbsp;
<span class="sub-label i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="sub-label i18n" data-bind="attr: {'data-i18n': label}"></span>
</label>
</div>

View file

@ -1,12 +1,12 @@
<!-- ko if: preLabeled -->
<span class="i18n" data-bind="attr: {'data-i18n-text': preLabel}"></span>
<span class="i18n" data-bind="attr: {'data-i18n': preLabel}"></span>
&nbsp;&nbsp;
<!-- /ko -->
<select data-bind="options: options, value: value, optionsText: optionsText, optionsValue: optionsValue,
css: className, optionsAfterRender: defautOptionsAfterRender"></select>
<!-- ko if: labeled -->
&nbsp;
<span class="i18n" data-bind="attr: {'data-i18n-text': label}"></span>
<span class="i18n" data-bind="attr: {'data-i18n': label}"></span>
&nbsp;
<!-- /ko -->
<!-- ko if: triggered -->

View file

@ -1,5 +1,5 @@
<textarea class="i18n" rows="5" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder=""
data-bind="value: value, enable: enable, attr: { placeholder: placeholder, rows: rows, spellcheck: spellcheck ? 'true' : 'false' }, css: className"></textarea>
<textarea class="i18n" rows="5" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, enable: enable, attr: { 'placeholder': placeholder, 'rows': rows, 'spellcheck': spellcheck ? 'true' : 'false' }, css: className"></textarea>
<!-- ko if: triggered -->
&nbsp;
<div data-bind="component: {

View file

@ -23,9 +23,10 @@
{{INCLUDE/TopControlGroup/PLACE}}
<div class="controls" data-bind="css: {'error': emailError}">
<div class="input-append">
<input type="email" class="i18n input-block-level inputEmail checkAutocomplete" name="RainLoopEmail" id="RainLoopEmail"
<input type="email" class="i18n input-block-level inputEmail checkAutocomplete"
name="RainLoopEmail" id="RainLoopEmail"
autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: email, hasFocus: emailFocus" data-i18n-placeholder="LOGIN/LABEL_EMAIL" />
data-bind="textInput: email, hasFocus: emailFocus" data-i18n="[placeholder]LOGIN/LABEL_EMAIL" />
<span class="add-on">
<i class="icon-mail"></i>
</span>
@ -35,7 +36,7 @@
<div class="input-append">
<input type="password" class="i18n input-block-level inputPassword checkAutocomplete" name="RainLoopPassword" id="RainLoopPassword"
autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: password, hasFocus: passwordFocus" data-i18n-placeholder="LOGIN/LABEL_PASSWORD" />
data-bind="textInput: password, hasFocus: passwordFocus" data-i18n="[placeholder]LOGIN/LABEL_PASSWORD" />
<span class="add-on">
<i class="icon-key"></i>
</span>
@ -44,7 +45,7 @@
<div class="controls" data-bind="visible: additionalCode.visibility(), css: {'error': additionalCode.error}">
<div class="input-append">
<input type="text" class="i18n input-block-level inputAdditionalCode" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: additionalCode, hasFocus: additionalCode.focused" data-i18n-placeholder="LOGIN/LABEL_VERIFICATION_CODE" />
data-bind="textInput: additionalCode, hasFocus: additionalCode.focused" data-i18n="[placeholder]LOGIN/LABEL_VERIFICATION_CODE" />
<span class="add-on">
<i class="icon-key"></i>
</span>
@ -54,14 +55,14 @@
<label class="additionalCodeSignMeLabel" data-bind="click: function () { additionalCodeSignMe(!additionalCodeSignMe()); }">
<i data-bind="css: additionalCodeSignMe() ? 'checkboxAdditionalCodeSignMe icon-checkbox-checked' : 'checkboxAdditionalCodeSignMe icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="LOGIN/LABEL_DONT_ASK_VERIFICATION_CODE"></span>
<span class="i18n" data-i18n="LOGIN/LABEL_DONT_ASK_VERIFICATION_CODE"></span>
</label>
</div>
{{INCLUDE/BottomControlGroup/PLACE}}
<div class="controls">
<button type="submit" class="btn btn-large btn-block buttonLogin" data-bind="command: submitCommand, hasFocus: submitFocus">
<i class="icon-spinner animated" data-bind="visible: submitRequest"></i>
<span class="i18n i18n-animation" data-i18n-text="LOGIN/BUTTON_SIGN_IN" data-bind="visible: !submitRequest()"></span>
<span class="i18n i18n-animation" data-i18n="LOGIN/BUTTON_SIGN_IN" data-bind="visible: !submitRequest()"></span>
</button>
</div>
<div class="controls">
@ -82,18 +83,18 @@
<label class="signMeLabel inline" data-bind="click: function () { signMe(!signMe()); }, visible: signMeVisibility">
<i data-bind="css: signMe() ? 'checkboxSignMe icon-checkbox-checked' : 'checkboxSignMe icon-checkbox-unchecked'"></i>
&nbsp;&nbsp;
<span class="i18n i18n-animation" data-i18n-text="LOGIN/LABEL_SIGN_ME"></span>
<span class="i18n i18n-animation" data-i18n="LOGIN/LABEL_SIGN_ME"></span>
</label>
</div>
<div class="controls clearfix" data-bind="visible: '' !== forgotPasswordLinkUrl || '' !== registrationLinkUrl">
<div class="forgot-link thm-forgot pull-left" data-bind="visible: '' !== forgotPasswordLinkUrl" style="text-align: center">
<a href="#" target="_blank" class="g-ui-link" data-bind="attr: {href: forgotPasswordLinkUrl}, css: {'pull-right': '' !== registrationLinkUrl}"
><span class="i18n" data-i18n-text="LOGIN/LABEL_FORGOT_PASSWORD"></span></a>
><span class="i18n" data-i18n="LOGIN/LABEL_FORGOT_PASSWORD"></span></a>
</div>
&nbsp;
<div class="registration-link thm-registration pull-right" data-bind="visible: '' !== registrationLinkUrl" style="text-align: center">
<a href="#" target="_blank" class="g-ui-link" data-bind="attr: {href: registrationLinkUrl}, css: {'pull-left': '' !== forgotPasswordLinkUrl}"
><span class="i18n" data-i18n-text="LOGIN/LABEL_REGISTRATION"></span></a>
><span class="i18n" data-i18n="LOGIN/LABEL_REGISTRATION"></span></a>
</div>
</div>
</form>

View file

@ -53,35 +53,35 @@
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_UNSET_SEEN"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/MENU_UNSET_SEEN"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="click: listSetSeen, css: {'disabled': !hasCheckedOrSelectedLines()}">
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_SEEN"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/MENU_SET_SEEN"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="click: listSetFlags, css: {'disabled': !hasCheckedOrSelectedLines()}">
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_FLAG"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/MENU_SET_FLAG"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="click: listUnsetFlags, css: {'disabled': !hasCheckedOrSelectedLines()}">
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_UNSET_FLAG"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/MENU_UNSET_FLAG"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="click: listSetAllSeen, css: {'disabled': !hasMessages()}">
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_ALL_SEEN"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/MENU_SET_ALL_SEEN"></span>
</a>
</li>
<li class="divider" role="presentation"></li>
@ -89,7 +89,7 @@
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-reply-all"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></span>
</a>
</li>
<li class="divider" role="presentation" data-bind="visible: !hideDangerousActions"></li>
@ -97,14 +97,14 @@
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-trash"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: !hideDangerousActions, command: clearCommand">
<a class="e-link menuitem" href="#" tabindex="-1">
<i class="icon-fire"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_EMPTY_FOLDER"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/BUTTON_EMPTY_FOLDER"></span>
</a>
</li>
</ul>
@ -117,7 +117,7 @@
<div class="input-append pull-right">
<input type="search" class="i18n span4 inputSearch" tabindex="-1"
placeholder="Search" autocorrect="off" autocapitalize="off"
data-i18n-placeholder="SEARCH/MAIN_INPUT_PLACEHOLDER" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
data-i18n="[placeholder]SEARCH/MAIN_INPUT_PLACEHOLDER" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
<a class="btn buttonMoreSearch" data-bind="click: advancedSearchClick">
<span class="caret"></span>
</a>
@ -140,23 +140,23 @@
<div class="listDragOver" data-bind="css: {'viewAppendArea': dragOver() && '' === messageListError() && !popupVisibility(), 'dragOverEnter': dragOverEnter }, initDom: dragOverArea">
<i class="icon-down e-icon"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE_LIST/PUT_MESSAGE_HERE"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/PUT_MESSAGE_HERE"></span>
</div>
<div class="listClear" data-bind="visible: '' === messageListSearchDesc() && '' === messageListError() && 0 < messageList().length && (isSpamFolder() || isTrashFolder())">
<span class="g-ui-link i18n" data-i18n-text="MESSAGE_LIST/BUTTON_EMPTY_FOLDER" data-bind="command: clearCommand"></span>
<span class="g-ui-link i18n" data-i18n="MESSAGE_LIST/BUTTON_EMPTY_FOLDER" data-bind="command: clearCommand"></span>
</div>
<div class="listError" data-bind="visible: !dragOver() && '' !== messageListError()">
<span class="error" data-bind="text: messageListError"></span>
</div>
<div class="listEmptyList" data-bind="visible: !dragOver() && 0 === messageList().length && !messageListCompleteLoadingThrottle() && '' === messageListError() && '' === messageListSearch()">
<span class="i18n" data-i18n-text="MESSAGE_LIST/EMPTY_LIST"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/EMPTY_LIST"></span>
</div>
<div class="listEmptyListLoading" data-bind="visible: !dragOver() && 0 === messageList().length &&
messageListCompleteLoadingThrottle() && '' === messageListError()">
<span class="i18n" data-i18n-text="MESSAGE_LIST/LIST_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
<span class="i18n" data-i18n="MESSAGE_LIST/LIST_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
</div>
<div class="listEmptySearchList" data-bind="visible: !dragOver() && 0 === messageList().length && !messageListCompleteLoadingThrottle() && '' === messageListError() && '' !== messageListSearch()">
<span class="i18n" data-i18n-text="MESSAGE_LIST/EMPTY_SEARCH_LIST"></span>
<span class="i18n" data-i18n="MESSAGE_LIST/EMPTY_SEARCH_LIST"></span>
</div>
<div data-bind="draggable: dragAndDronHelper, droppableSelector: '.b-folders .content.g-scrollbox'">
<div class="messageListPlace" data-bind="template: { name: messageListItemTemplate(), foreach: messageList }"></div>

View file

@ -50,7 +50,7 @@
</div>
<div class="b-message-view-desc" data-bind="visible: !message() && '' === messageError() && !hasCheckedMessages()">
<span class="i18n" data-i18n-text="MESSAGE/MESSAGE_VIEW_DESC"></span>
<span class="i18n" data-i18n="MESSAGE/MESSAGE_VIEW_DESC"></span>
</div>
<div class="b-message-view-desc error" data-bind="visible: !message() && '' !== messageError()">
@ -74,7 +74,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyCommand">
<i class="icon-reply"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_REPLY"></span>
</a>
</li>
<li class="e-item" role="presentation"
@ -82,7 +82,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyAllCommand">
<i class="icon-reply-all"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY_ALL"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_REPLY_ALL"></span>
</a>
</li>
<li class="e-item" role="presentation"
@ -90,21 +90,21 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardCommand">
<i class="icon-forward"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_FORWARD"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: editAsNewCommand">
<i class="icon-pencil"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_EDIT_AS_NEW"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_EDIT_AS_NEW"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardAsAttachmentCommand">
<i class="icon-forward"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT"></span>
</a>
</li>
<li class="divider" role="presentation" data-bind="visible: !isDraftFolder()"></li>
@ -112,28 +112,28 @@
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: archiveCommand">
<i class="icon-archive"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_ARCHIVE"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_ARCHIVE"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && !isSpamFolder() && !isSpamDisabled()">
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: spamCommand">
<i class="icon-angry-smiley"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_SPAM"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_SPAM"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && isSpamFolder() && !isSpamDisabled()">
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: notSpamCommand">
<i class="icon-happy-smiley"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_NOT_SPAM"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_NOT_SPAM"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane()">
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: deleteCommand">
<i class="icon-trash"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_DELETE"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_DELETE"></span>
</a>
</li>
<li class="divider" role="presentation" data-bind="visible: usePreviewPane()"></li>
@ -141,14 +141,14 @@
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().printMessage(); }} ">
<i class="icon-print"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/MENU_PRINT"></span>
<span class="i18n" data-i18n="MESSAGE/MENU_PRINT"></span>
</a>
</li>
<li class="e-item" role="presentation">
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().viewPopupMessage(); }}">
<i class="icon-popup"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_IN_NEW_WINDOW"></span>
<span class="i18n" data-i18n="MESSAGE/BUTTON_IN_NEW_WINDOW"></span>
</a>
</li>
<li class="divider" role="presentation"></li>
@ -156,14 +156,14 @@
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewViewLink()">
<i class="icon-file-code"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/MENU_VIEW_ORIGINAL"></span>
<span class="i18n" data-i18n="MESSAGE/MENU_VIEW_ORIGINAL"></span>
</a>
</li>
<li class="e-item" role="presentation">
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewDownloadLink()">
<i class="icon-download"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/MENU_DOWNLOAD_ORIGINAL"></span>
<span class="i18n" data-i18n="MESSAGE/MENU_DOWNLOAD_ORIGINAL"></span>
</a>
</li>
</ul>
@ -252,7 +252,7 @@
data-bind="text: viewThreadsControlDesc"></span>)</span>
<b style="color: red; margin-right: 5px" data-bind="visible: viewIsImportant">!</b>
<span class="subject" data-bind="text: viewSubject, title: viewSubject"></span>
<span class="i18n emptySubjectText" data-i18n-text="MESSAGE/EMPTY_SUBJECT_TEXT"></span>
<span class="i18n emptySubjectText" data-i18n="MESSAGE/EMPTY_SUBJECT_TEXT"></span>
</div>
<div class="senderParent">
<div class="g-ui-user-select-none" style="float: left; cursor: pointer; margin-left: 1px;" data-bind="click: function() { showFullInfo(!showFullInfo()); }">
@ -265,7 +265,7 @@
<i data-bind="css: viewFromDkimStatusIconClass, title: viewFromDkimStatusTitle" />
</span>
<span data-bind="visible: isDraftOrSentFolder()">
<span class="i18n uiLabel labelTo" data-i18n-text="MESSAGE/LABEL_TO"></span>:
<span class="i18n uiLabel labelTo" data-i18n="MESSAGE/LABEL_TO"></span>:
<span class="to" data-bind="html: viewToShort, title: viewTo"></span>
</span>
<span data-bind="visible: 0 < viewTimeStamp()">
@ -278,7 +278,7 @@
<div class="informationFull" data-bind="visible: showFullInfo()">
<div>
<div class="pull-left" data-bind="visible: '' !== viewFrom()">
<span class="i18n uiLabel labelFrom" data-i18n-text="MESSAGE/LABEL_FROM"></span>:
<span class="i18n uiLabel labelFrom" data-i18n="MESSAGE/LABEL_FROM"></span>:
&nbsp;
<span class="from" data-bind="text: viewFrom, title: viewFrom"></span>
</div>
@ -288,27 +288,27 @@
<div class="clearfix"></div>
</div>
<div data-bind="visible: '' !== viewTo()">
<span class="i18n uiLabel labelTo" data-i18n-text="MESSAGE/LABEL_TO"></span>:
<span class="i18n uiLabel labelTo" data-i18n="MESSAGE/LABEL_TO"></span>:
&nbsp;
<span class="to" data-bind="text: viewTo, title: viewTo"></span>
</div>
<div data-bind="visible: '' !== viewCc()">
<span class="i18n uiLabel labelCc" data-i18n-text="MESSAGE/LABEL_CC"></span>:
<span class="i18n uiLabel labelCc" data-i18n="MESSAGE/LABEL_CC"></span>:
&nbsp;
<span class="cc" data-bind="text: viewCc, title: viewCc"></span>
</div>
<div data-bind="visible: '' !== viewBcc()">
<span class="i18n uiLabel labelBcc" data-i18n-text="MESSAGE/LABEL_BCC"></span>:
<span class="i18n uiLabel labelBcc" data-i18n="MESSAGE/LABEL_BCC"></span>:
&nbsp;
<span class="bcc" data-bind="text: viewBcc, title: viewBcc"></span>
</div>
<div data-bind="visible: '' !== viewReplyTo()">
<span class="i18n uiLabel labelBcc" data-i18n-text="MESSAGE/LABEL_REPLY_TO"></span>:
<span class="i18n uiLabel labelBcc" data-i18n="MESSAGE/LABEL_REPLY_TO"></span>:
&nbsp;
<span class="bcc" data-bind="text: viewReplyTo, title: viewReplyTo"></span>
</div>
<div data-bind="visible: 0 < viewTimeStamp()">
<span class="i18n uiLabel labelBcc" data-i18n-text="MESSAGE/LABEL_DATE"></span>:
<span class="i18n uiLabel labelBcc" data-i18n="MESSAGE/LABEL_DATE"></span>:
&nbsp;
<span class="date" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></span>
&nbsp;
@ -335,7 +335,7 @@
<div class="line-loading e-strip-animation" data-bind="visible: messageLoadingThrottle()"></div>
<div class="loading g-ui-min-height-300" data-bind="visible: messageLoadingThrottle()">
<span class="i18n text" data-i18n-text="MESSAGE/MESSAGE_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
<span class="i18n text" data-i18n="MESSAGE/MESSAGE_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
</div>
</div>
@ -343,12 +343,12 @@
<div class="showImages" data-bind="visible: message() && message().hasImages(), click: function() { showImages(message()); }">
<i class="icon-image"></i>
&nbsp;&nbsp;
<span class="i18n text" data-i18n-text="MESSAGE/BUTTON_SHOW_IMAGES"></span>
<span class="i18n text" data-i18n="MESSAGE/BUTTON_SHOW_IMAGES"></span>
</div>
<div class="readReceipt" data-bind="visible: message() && !isDraftOrSentFolder() && '' !== message().readReceipt() && !message().isReadReceipt(), click: function() { readReceipt(message()); }">
<i class="icon-mail"></i>
&nbsp;&nbsp;
<span class="i18n text" data-i18n-text="MESSAGE/BUTTON_NOTIFY_READ_RECEIPT"></span>
<span class="i18n text" data-i18n="MESSAGE/BUTTON_NOTIFY_READ_RECEIPT"></span>
</div>
<div class="pgpInfo" data-bind="visible: isPgpStatusVerifyVisible(), css: {'success': isPgpStatusVerifySuccess()}">
<i class="icon-key"></i>
@ -358,16 +358,16 @@
<div class="pgpSigned" data-bind="visible: message() && message().isPgpSigned() && isPgpActionVisible(), click: function() { verifyPgpSignedClearMessage(message()); }">
<i class="icon-lock"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/PGP_SIGNED_MESSAGE_DESC"></span>
<span class="i18n" data-i18n="MESSAGE/PGP_SIGNED_MESSAGE_DESC"></span>
</div>
<div class="pgpEncrypted" data-bind="visible: message() && message().isPgpEncrypted() && isPgpActionVisible()">
<i class="icon-lock"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="MESSAGE/PGP_ENCRYPTED_MESSAGE_DESC" data-bind="click: function() { decryptPgpEncryptedMessage(message()); }"></span>
<span class="i18n" data-i18n="MESSAGE/PGP_ENCRYPTED_MESSAGE_DESC" data-bind="click: function() { decryptPgpEncryptedMessage(message()); }"></span>
&nbsp;&nbsp;
<input type="password" class="i18n span3 inputPgpPassword"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
style="margin-bottom: 0" data-i18n-placeholder="MESSAGE/PGP_PASSWORD_INPUT_PLACEHOLDER" data-bind="value: viewPgpPassword, onEnter: function() { decryptPgpEncryptedMessage(message()); }" />
style="margin-bottom: 0" data-i18n="[placeholder]MESSAGE/PGP_PASSWORD_INPUT_PLACEHOLDER" data-bind="value: viewPgpPassword, onEnter: function() { decryptPgpEncryptedMessage(message()); }" />
</div>
<div class="attachmentsPlace" data-bind="visible: message() && message().hasVisibleAttachments()">
<ul class="attachmentList" data-bind="foreach: message() ? message().attachments() : []">

View file

@ -9,9 +9,9 @@
<div class="pswp__ui pswp__ui--hidden">
<div class="pswp__top-bar">
<div class="pswp__counter"></div>
<button class="pswp__button pswp__button--close i18n" title="Close (Esc)" data-i18n-title="PREVIEW_POPUP/CLOSE"></button>
<button class="pswp__button pswp__button--fs i18n" title="Toggle fullscreen" data-i18n-title="PREVIEW_POPUP/FULLSCREEN"></button>
<button class="pswp__button pswp__button--zoom i18n" title="Zoom in/out" data-i18n-title="PREVIEW_POPUP/ZOOM"></button>
<button class="pswp__button pswp__button--close i18n" title="Close (Esc)" data-i18n="[title]PREVIEW_POPUP/CLOSE"></button>
<button class="pswp__button pswp__button--fs i18n" title="Toggle fullscreen" data-i18n="[title]PREVIEW_POPUP/FULLSCREEN"></button>
<button class="pswp__button pswp__button--zoom i18n" title="Zoom in/out" data-i18n="[title]PREVIEW_POPUP/ZOOM"></button>
<div class="pswp__preloader">
<div class="pswp__preloader__icn">
<div class="pswp__preloader__cut">
@ -23,8 +23,8 @@
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
<div class="pswp__share-tooltip"></div>
</div>
<button class="pswp__button pswp__button--arrow--left i18n" title="Previous (arrow left)" data-i18n-title="PREVIEW_POPUP/GALLERY_PREV"></button>
<button class="pswp__button pswp__button--arrow--right i18n" title="Next (arrow right)" data-i18n-title="PREVIEW_POPUP/GALLERY_NEXT"></button>
<button class="pswp__button pswp__button--arrow--left i18n" title="Previous (arrow left)" data-i18n="[title]PREVIEW_POPUP/GALLERY_PREV"></button>
<button class="pswp__button pswp__button--arrow--right i18n" title="Next (arrow right)" data-i18n="[title]PREVIEW_POPUP/GALLERY_NEXT"></button>
<div class="pswp__caption">
<div class="pswp__caption__center"></div>
</div>

View file

@ -4,8 +4,8 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span data-bind="visible: isNew" class="i18n" data-i18n-text="POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT"></span>
<span data-bind="visible: !isNew()" class="i18n" data-i18n-text="POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT"></span>
<span data-bind="visible: isNew" class="i18n" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT"></span>
<span data-bind="visible: !isNew()" class="i18n" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT"></span>
</h3>
</div>
<div class="modal-body">
@ -20,7 +20,7 @@
</div>
<br />
<div class="control-group" data-bind="css: {'error': emailError}">
<label class="i18n control-label" data-i18n-text="LOGIN/LABEL_EMAIL"></label>
<label class="i18n control-label" data-i18n="LOGIN/LABEL_EMAIL"></label>
<div class="controls">
<label style="margin-top: 5px;" data-bind="visible: !isNew()"><strong data-bind="text: email"></strong></label>
<input type="email" class="inputEmail input-large" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -28,7 +28,7 @@
</div>
</div>
<div class="control-group" data-bind="css: {'error': passwordError}">
<label class="i18n control-label" data-i18n-text="LOGIN/LABEL_PASSWORD"></label>
<label class="i18n control-label" data-i18n="LOGIN/LABEL_PASSWORD"></label>
<div class="controls">
<input type="password" class="inputPassword input-large" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: password, onEnter: addAccountCommand" />
@ -41,8 +41,8 @@
<i data-bind="visible: isNew, css: {'icon-user-add': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
<i data-bind="visible: !isNew(), css: {'icon-ok': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<span data-bind="visible: isNew" class="i18n" data-i18n-text="POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT"></span>
<span data-bind="visible: !isNew()" class="i18n" data-i18n-text="POPUPS_ADD_ACCOUNT/BUTTON_UPDATE_ACCOUNT"></span>
<span data-bind="visible: isNew" class="i18n" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT"></span>
<span data-bind="visible: !isNew()" class="i18n" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_UPDATE_ACCOUNT"></span>
</a>
</div>
</div>

View file

@ -4,7 +4,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY"></span>
<span class="i18n" data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY"></span>
</h3>
</div>
<div class="modal-body">
@ -18,7 +18,7 @@
<a class="btn buttonAddAccount" data-bind="command: addOpenPgpKeyCommand">
<i class="icon-list-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_IMPORT_OPEN_PGP_KEY/BUTTON_IMPORT_OPEN_PGP_KEY"></span>
<span class="i18n" data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/BUTTON_IMPORT_OPEN_PGP_KEY"></span>
</a>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="SEARCH/TITLE_ADV"></span>
<span class="i18n" data-i18n="SEARCH/TITLE_ADV"></span>
</h3>
</div>
<div class="modal-body">
@ -13,7 +13,7 @@
<div class="span4">
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_FROM"></span>
<span class="i18n" data-i18n="SEARCH/LABEL_ADV_FROM"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -22,7 +22,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TO"></span>
<span class="i18n" data-i18n="SEARCH/LABEL_ADV_TO"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -31,7 +31,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_SUBJECT"></span>
<span class="i18n" data-i18n="SEARCH/LABEL_ADV_SUBJECT"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -40,7 +40,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TEXT"></span>
<span class="i18n" data-i18n="SEARCH/LABEL_ADV_TEXT"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -51,17 +51,17 @@
<div class="span4">
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE"></span>
<span class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE"></span>
</label>
<div class="controls">
<select data-bind="value: selectedDateValue">
<option value="-1" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_ALL"></option>
<option value="3" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_DAYS"></option>
<option value="7" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_7_DAYS"></option>
<option value="30" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_MONTH"></option>
<option value="90" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_MONTHS"></option>
<option value="180" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_6_MONTHS"></option>
<option value="365" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_YEAR"></option>
<option value="-1" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_ALL"></option>
<option value="3" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_3_DAYS"></option>
<option value="7" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_7_DAYS"></option>
<option value="30" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_MONTH"></option>
<option value="90" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_3_MONTHS"></option>
<option value="180" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_6_MONTHS"></option>
<option value="365" class="i18n" data-i18n="SEARCH/LABEL_ADV_DATE_YEAR"></option>
</select>
</div>
</div>
@ -100,7 +100,7 @@
<button type="submit" class="btn buttonAdvSearch" data-bind="command: searchCommand">
<i class="icon-search"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SEARCH/BUTTON_ADV_SEARCH"></span>
<span class="i18n" data-i18n="SEARCH/BUTTON_ADV_SEARCH"></span>
</a>
</div>
</div>

View file

@ -4,12 +4,12 @@
<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 big': sending(), 'icon-white': sendError() || sendSuccessButSaveError()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_SEND"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_SEND"></span>
</a>
<a class="btn button-save" data-bind="command: saveCommand, css: {'btn-danger': savedError }">
<i data-bind="css: {'icon-floppy': !saving(), 'icon-spinner animated': saving(), 'icon-white': savedError()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_SAVE"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_SAVE"></span>
</a>
<a class="close-custom" data-tooltip-placement="bottom" data-bind="click: tryToClosePopup, tooltip: 'COMPOSE/BUTTON_CANCEL'">&times;</a>
@ -27,7 +27,7 @@
<div class="e-row" style="height: 40px;">
<div class="e-cell e-label">
<label class="control-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_FROM"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_FROM"></span>
</label>
</div>
<div class="e-cell e-value">
@ -57,21 +57,21 @@
<a class="e-link">
<i class="icon-checkbox-unchecked" data-bind="css: {'icon-checkbox-checked': requestReadReceipt(), 'icon-checkbox-unchecked': !requestReadReceipt() }"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_REQUEST_READ_RECEIPT"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_REQUEST_READ_RECEIPT"></span>
</a>
</li>
<li class="e-item" data-bind="click: function () { requestDsn(!requestDsn()); }">
<a class="e-link">
<i class="icon-checkbox-unchecked" data-bind="css: {'icon-checkbox-checked': requestDsn(), 'icon-checkbox-unchecked': !requestDsn() }"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_REQUEST_DSN"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_REQUEST_DSN"></span>
</a>
</li>
<li class="e-item" data-bind="click: function () { markAsImportant(!markAsImportant()); }">
<a class="e-link">
<i class="icon-checkbox-unchecked" data-bind="css: {'icon-checkbox-checked': markAsImportant(), 'icon-checkbox-unchecked': !markAsImportant() }"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_MARK_AS_IMPORTANT"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_MARK_AS_IMPORTANT"></span>
</a>
</li>
<li class="divider" data-bind="visible: capaOpenPGP"></li>
@ -79,7 +79,7 @@
<a class="e-link">
<i class="icon-key"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="COMPOSE/BUTTON_OPEN_PGP"></span>
<span class="i18n" data-i18n="COMPOSE/BUTTON_OPEN_PGP"></span>
</a>
</li>
</ul>
@ -92,15 +92,15 @@
</div>
<div class="btn-group pull-right">&nbsp;</div>
<span class="pull-right">
<span class="i18n g-ui-link" data-i18n-text="COMPOSE/TITLE_CC"
<span class="i18n g-ui-link" data-i18n="COMPOSE/TITLE_CC"
data-bind="visible: !showCc(), click: function () { showCc(true); }"></span>
&nbsp;&nbsp;
<span data-bind="visible: !showBcc()">
<span class="i18n g-ui-link" data-i18n-text="COMPOSE/TITLE_BCC"
<span class="i18n g-ui-link" data-i18n="COMPOSE/TITLE_BCC"
data-bind="click: function () { showBcc(true); }"></span>
&nbsp;&nbsp;
</span>
<span class="i18n g-ui-link" data-i18n-text="COMPOSE/TITLE_REPLY_TO"
<span class="i18n g-ui-link" data-i18n="COMPOSE/TITLE_REPLY_TO"
data-bind="visible: !showReplyTo(), click: function () { showReplyTo(true); }"></span>
&nbsp;
</span>
@ -109,19 +109,19 @@
<div class="e-row">
<div class="e-cell e-label">
<label class="control-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_TO"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_TO"></span>
</label>
</div>
<div class="e-cell e-value">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: to, emailsTagsFocus: to.focused, autoCompleteSource: emailsSource" />
<span class="help-block error-desc" data-bind="visible: emptyToError">
<span class="i18n" data-i18n-text="COMPOSE/EMPTY_TO_ERROR_DESC"></span>
<span class="i18n" data-i18n="COMPOSE/EMPTY_TO_ERROR_DESC"></span>
</span>
</div>
</div>
<div class="e-row cc-row" data-bind="visible: showCc">
<div class="e-cell e-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_CC"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_CC"></span>
</div>
<div class="e-cell e-value">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: cc, autoCompleteSource: emailsSource" />
@ -129,7 +129,7 @@
</div>
<div class="e-row bcc-row" data-bind="visible: showBcc">
<div class="e-cell e-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_BCC"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_BCC"></span>
</div>
<div class="e-cell e-value">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: bcc, autoCompleteSource: emailsSource" />
@ -137,7 +137,7 @@
</div>
<div class="e-row reply-to-row" data-bind="visible: showReplyTo">
<div class="e-cell e-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_REPLY_TO"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_REPLY_TO"></span>
</div>
<div class="e-cell e-value">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" data-bind="emailsTags: replyTo, autoCompleteSource: emailsSource" />
@ -145,7 +145,7 @@
</div>
<div class="e-row">
<div class="e-cell e-label">
<span class="i18n" data-i18n-text="COMPOSE/TITLE_SUBJECT"></span>
<span class="i18n" data-i18n="COMPOSE/TITLE_SUBJECT"></span>
</div>
<div class="e-cell e-value">
<input type="text" size="70" autocomplete="off" data-bind="textInput: subject" />
@ -171,10 +171,10 @@
</button>
</div>
<span class="help-block error-desc" data-bind="visible: attachmentsInProcessError">
<span class="i18n" data-i18n-text="COMPOSE/ATTACHMENTS_UPLOAD_ERROR_DESC"></span>
<span class="i18n" data-i18n="COMPOSE/ATTACHMENTS_UPLOAD_ERROR_DESC"></span>
</span>
<span class="help-block error-desc" data-bind="visible: !attachmentsInProcessError() && attachmentsInErrorError()">
<span class="i18n" data-i18n-text="COMPOSE/ATTACHMENTS_ERROR_DESC"></span>
<span class="i18n" data-i18n="COMPOSE/ATTACHMENTS_ERROR_DESC"></span>
</span>
</div>
<div class="pull-right" style="margin-right: 4px;">
@ -203,11 +203,11 @@
<div class="content g-scrollbox">
<div class="content-wrapper">
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}">
<span class="i18n" data-i18n-text="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
<span class="i18n" data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
</div>
<ul class="attachmentList" data-bind="template: { name: 'ComposeAttachment', foreach: attachments }"></ul>
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length">
<span class="i18n" data-i18n-text="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></span>
<span class="i18n" data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></span>
</div>
</div>
</div>

View file

@ -4,7 +4,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP"></span>
<span class="i18n" data-i18n="POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP"></span>
</h3>
</div>
<div class="modal-body">
@ -32,7 +32,7 @@
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_COMPOSE_OPEN_PGP/LABEL_PASSWORD"></label>
<label class="i18n control-label" data-i18n="POPUPS_COMPOSE_OPEN_PGP/LABEL_PASSWORD"></label>
<div class="controls">
<input type="password" class="inputPassword input-large" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: password, hasfocus: password.focus, onEnter: doCommand" />
@ -44,9 +44,9 @@
<button class="btn buttonDo" data-bind="command: doCommand, hasfocus: buttonFocus">
<i data-bind="css: {'icon-key': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<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>
<span class="i18n" data-bind="visible: sign() && !encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN"></span>
<span class="i18n" data-bind="visible: !sign() && encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_ENCRYPT"></span>
<span class="i18n" data-bind="visible: (sign() && encrypt()) || (!sign() && !encrypt())" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN_AND_ENCRYPT"></span>
</button>
</div>
</div>

View file

@ -10,7 +10,7 @@
<a class="btn single button-create-contact" data-bind="command: newCommand">
<i class="icon-plus"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_ADD_CONTACT"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_ADD_CONTACT"></span>
</a>
</div>
@ -37,7 +37,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="initDom: importUploaderButton">
<i data-bind="css: {'icon-import': !contacts.importing(), 'icon-spinner animated': contacts.importing}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_IMPORT"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_IMPORT"></span>
</a>
</li>
<li class="divider" role="presentation" data-bind="visible: allowExport"></li>
@ -45,14 +45,14 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: exportCsv">
<i data-bind="css: {'icon-export': !contacts.exportingCsv(), 'icon-spinner animated': contacts.exportingCsv}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_EXPORT_CSV"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_EXPORT_CSV"></span>
</a>
</li>
<li class="e-item" role="presentation" data-bind="visible: allowExport" >
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: exportVcf">
<i data-bind="css: {'icon-export': !contacts.exportingVcf(), 'icon-spinner animated': contacts.exportingVcf}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_EXPORT_VCARD"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_EXPORT_VCARD"></span>
</a>
</li>
<li class="divider" role="presentation" data-bind="visible: enableContactsSync() && allowContactsSync()"></li>
@ -60,7 +60,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: syncCommand">
<i data-bind="css: {'icon-sync': !contacts.syncing(), 'icon-spinner animated': contacts.syncing}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_SYNC"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_SYNC"></span>
</a>
</li>
</ul>
@ -71,22 +71,22 @@
<div class="modal-body" style="position: relative;">
<div class="b-list-toolbar">
<input type="search" class="i18n span3 e-search" placeholder="Search" autocorrect="off" autocapitalize="off"
data-i18n-placeholder="CONTACTS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
data-i18n="[placeholder]CONTACTS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
</div>
<div class="b-list-content g-ui-user-select-none" data-bind="nano: true, css: {'hideContactListCheckbox': !useCheckboxesInList()}">
<div class="content g-scrollbox">
<div class="content-wrapper">
<div class="listClear" data-bind="visible: viewClearSearch() && '' !== search()">
<span class="g-ui-link i18n" data-i18n-text="CONTACTS/CLEAR_SEARCH" data-bind="command: clearCommand"></span>
<span class="g-ui-link i18n" data-i18n="CONTACTS/CLEAR_SEARCH" data-bind="command: clearCommand"></span>
</div>
<div class="listEmptyList" data-bind="visible: 0 === contacts().length && '' === search() && !contacts.loading()">
<span class="i18n" data-i18n-text="CONTACTS/EMPTY_LIST"></span>
<span class="i18n" data-i18n="CONTACTS/EMPTY_LIST"></span>
</div>
<div class="listEmptyListLoading" data-bind="visible: 0 === contacts().length && '' === search() && contacts.loading()">
<span class="i18n" data-i18n-text="CONTACTS/LIST_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
<span class="i18n" data-i18n="CONTACTS/LIST_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
</div>
<div class="listEmptySearchList" data-bind="visible: 0 === contacts().length && '' !== search() && !contacts.loading()">
<span class="i18n" data-i18n-text="CONTACTS/EMPTY_SEARCH"></span>
<span class="i18n" data-i18n="CONTACTS/EMPTY_SEARCH"></span>
</div>
<div class="e-contact-foreach g-ui-user-select-none" data-bind="foreach: contacts, visible: 0 < contacts().length">
<div class="e-contact-item g-ui-user-select-none" data-bind="css: lineAsCss()">
@ -119,7 +119,7 @@
<div class="b-view-content-toolbar btn-toolbar" data-bind="css: {'read-only': viewReadOnly}">
<div class="btn-group pull-right dropdown colored-toggle button-add-prop" data-bind="visible: !emptySelection(), registrateBootstrapDropdown: true">
<a id="button-add-prop-dropdown-id" href="#" tabindex="-1" class="btn single dropdown-toggle" data-toggle="dropdown">
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_LABEL"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_LABEL"></span>
&nbsp;&nbsp;
<span class="caret"></span>
</a>
@ -128,21 +128,21 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addNewEmail">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_EMAIL"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_EMAIL"></span>
</a>
</li>
<li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addNewPhone">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_PHONE"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_PHONE"></span>
</a>
</li>
<li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addNewWeb">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_URL"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_URL"></span>
</a>
</li>
<li class="divider" role="presentation"></li>
@ -150,12 +150,12 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addNewNickname">
<i class="icon-none"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_NICKNAME"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_NICKNAME"></span>
</a>
</li>
<!-- <li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addNewAddress">
<span class="i18n" data-i18n-text="CONTACTS/ADD_MENU_ADDRESS"></span>
<span class="i18n" data-i18n="CONTACTS/ADD_MENU_ADDRESS"></span>
</a>
</li>-->
</ul>
@ -165,8 +165,8 @@
<button class="btn single button-save-contact" data-bind="visible: !emptySelection(), command: saveCommand, css: {'dirty': watchDirty}">
<i data-bind="css: {'icon-ok': !viewSaving(), 'icon-spinner animated': viewSaving()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_CREATE_CONTACT" data-bind="visible: '' === viewID()"></span>
<span class="i18n" data-i18n-text="CONTACTS/BUTTON_UPDATE_CONTACT" data-bind="visible: '' !== viewID()"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_CREATE_CONTACT" data-bind="visible: '' === viewID()"></span>
<span class="i18n" data-i18n="CONTACTS/BUTTON_UPDATE_CONTACT" data-bind="visible: '' !== viewID()"></span>
</button>
</div>
</div>
@ -174,7 +174,7 @@
<div class="content g-scrollbox">
<div class="content-wrapper">
<div class="b-contact-view-desc" data-bind="visible: emptySelection">
<span class="i18n" data-i18n-text="CONTACTS/CONTACT_VIEW_DESC"></span>
<span class="i18n" data-i18n="CONTACTS/CONTACT_VIEW_DESC"></span>
</div>
<div data-bind="visible: !emptySelection()">
<div class="form-horizontal top-part">
@ -186,7 +186,7 @@
<div data-bind="foreach: viewPropertiesNames">
<div class="property-line">
<span class="contactValueStatic" data-bind="text: value" />
<input type="text" class="contactValueInput" placeholder=""
<input type="text" class="contactValueInput"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup', attr: {'placeholder': placeholderValue}" />
</div>
@ -195,13 +195,13 @@
<div class="property-line">
<!-- ko if: !largeValue() -->
<span class="contactValueStatic" data-bind="text: value" />
<input type="text" class="contactValueInput" placeholder=""
<input type="text" class="contactValueInput"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup', attr: {'placeholder': placeholderValue}" />
<!-- /ko -->
<!-- ko if: largeValue -->
<span class="contactValueTextAreaStatic" data-bind="text: value" />
<textarea class="contactValueTextArea" placeholder=""
<textarea class="contactValueTextArea"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup', attr: {'placeholder': placeholderValue}"></textarea>
<!-- /ko -->
@ -217,12 +217,12 @@
<div data-bind="foreach: viewPropertiesEmails">
<div class="property-line">
<span class="contactValueStatic" data-bind="text: value" />
<input type="text" class="contactValueInput" placeholder=""
<input type="text" class="contactValueInput"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup'" />
</div>
</div>
<a href="javascript:void(0);" class="g-ui-link add-link i18n" data-bind="visible: !viewReadOnly(), click: addNewEmail" data-i18n-text="CONTACTS/LINK_ADD_EMAIL"></a>
<a href="javascript:void(0);" class="g-ui-link add-link i18n" data-bind="visible: !viewReadOnly(), click: addNewEmail" data-i18n="CONTACTS/LINK_ADD_EMAIL"></a>
</div>
</div>
<div class="control-group" data-bind="visible: 0 < viewPropertiesPhones().length">
@ -233,7 +233,7 @@
<div data-bind="foreach: viewPropertiesPhones">
<div class="property-line">
<span class="contactValueStatic" data-bind="text: value" />
<input type="text" class="contactValueInput" placeholder=""
<input type="text" class="contactValueInput"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup'" />
</div>

View file

@ -4,8 +4,8 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_FILTER/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span>
<span class="i18n" data-i18n-text="POPUPS_FILTER/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span>
<span class="i18n" data-i18n="POPUPS_FILTER/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span>
<span class="i18n" data-i18n="POPUPS_FILTER/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span>
</h3>
</div>
<div class="modal-body">
@ -14,38 +14,39 @@
<div class="control-group" data-bind="css: {'error': name.error}">
<div class="controls">
<input type="text" class="i18n span5" data-bind="value: name, hasFocus: name.focused"
placeholder="" autocorrect="off" autocapitalize="off" spellcheck="false"
data-i18n-placeholder="POPUPS_FILTER/FILTER_NAME"
<input type="text" class="i18n span5"
data-bind="value: name, hasFocus: name.focused"
autocorrect="off" autocapitalize="off" spellcheck="false"
data-i18n="[placeholder]POPUPS_FILTER/FILTER_NAME"
/>
</div>
</div>
<div class="legend i18n" data-i18n-text="POPUPS_FILTER/LEGEND_CONDITIONS"></div>
<div class="legend i18n" data-i18n="POPUPS_FILTER/LEGEND_CONDITIONS"></div>
<div>
<div data-bind="visible: 1 < conditions().length">
<select class="span4" data-bind="value: conditionsType">
<option value="Any" class="i18n"
data-i18n-text="POPUPS_FILTER/SELECT_MATCH_ANY"></option>
data-i18n="POPUPS_FILTER/SELECT_MATCH_ANY"></option>
<option value="All" class="i18n"
data-i18n-text="POPUPS_FILTER/SELECT_MATCH_ALL"></option>
data-i18n="POPUPS_FILTER/SELECT_MATCH_ALL"></option>
</select>
</div>
<div data-bind="visible: 0 < conditions().length, foreach: conditions">
<div data-bind="template: {'name': template(), 'data': $data}"></div>
</div>
<div data-bind="visible: 0 === conditions().length">
<span class="i18n" data-i18n-text="POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC"></span>
<span class="i18n" data-i18n="POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC"></span>
</div>
<br />
<a class="btn" data-bind="click: addCondition, i18nInit: true">
<i class="icon-plus"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_FILTER/BUTTON_ADD_CONDITION"></span>
<span class="i18n" data-i18n="POPUPS_FILTER/BUTTON_ADD_CONDITION"></span>
</a>
</div>
<br />
<div class="legend i18n" data-i18n-text="POPUPS_FILTER/LEGEND_ACTIONS"></div>
<div class="legend i18n" data-i18n="POPUPS_FILTER/LEGEND_ACTIONS"></div>
<select class="span3" data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
<div data-bind="template: {'name': actionTemplate()}, i18nUpdate: actionTemplate"></div>
</div>
@ -55,7 +56,7 @@
<a class="btn buttonSave" data-bind="command: saveFilter">
<i class="icon-ok"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_FILTER/BUTTON_DONE"></span>
<span class="i18n" data-i18n="POPUPS_FILTER/BUTTON_DONE"></span>
</a>
</div>
</div>

View file

@ -4,8 +4,8 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
<span class="i18n" data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
<span class="i18n" data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
</h3>
</div>
<div class="modal-body">
@ -13,20 +13,20 @@
<i class="icon-warning" style="color:red" />
&nbsp;&nbsp;
<strong>
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></span>
<span class="i18n" data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></span>
</strong>
<br />
<br />
<span data-bind="html: dangerDescHtml"></span>
<br />
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2"></span>
<span class="i18n" data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2"></span>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-danger buttonClear" data-bind="command: clearCommand">
<i class="icon-fire" data-bind="css: {'icon-fire': !clearingProcess(), 'icon-spinner animated white': clearingProcess()}" ></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/BUTTON_CLEAR"></span>
<span class="i18n" data-i18n="POPUPS_CLEAR_FOLDER/BUTTON_CLEAR"></span>
</a>
</div>
</div>

View file

@ -4,7 +4,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></span>
<span class="i18n" data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></span>
</h3>
</div>
<div class="modal-body">
@ -12,7 +12,7 @@
<br />
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_CREATE_FOLDER/LABEL_NAME"></span>
<span class="i18n" data-i18n="POPUPS_CREATE_FOLDER/LABEL_NAME"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputName" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -21,7 +21,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_CREATE_FOLDER/LABEL_PARENT"></span>
<span class="i18n" data-i18n="POPUPS_CREATE_FOLDER/LABEL_PARENT"></span>
</label>
<div class="controls">
<select data-bind="options: parentFolderSelectList, value: selectedParentValue,
@ -34,7 +34,7 @@
<a class="btn buttonCreate" data-bind="command: createFolder">
<i class="icon-folder-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_CREATE_FOLDER/BUTTON_CREATE"></span>
<span class="i18n" data-i18n="POPUPS_CREATE_FOLDER/BUTTON_CREATE"></span>
</a>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS"></span>
</h3>
</div>
<div class="modal-body">
@ -14,7 +14,7 @@
<br />
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_SENT"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/LABEL_SENT"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: sentFolder,
@ -23,7 +23,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_DRAFTS"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/LABEL_DRAFTS"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: draftFolder,
@ -32,7 +32,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_SPAM"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/LABEL_SPAM"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: spamFolder,
@ -41,7 +41,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_TRASH"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/LABEL_TRASH"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: trashFolder,
@ -50,7 +50,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_SYSTEM_FOLDERS/LABEL_ARCHIVE"></span>
<span class="i18n" data-i18n="POPUPS_SYSTEM_FOLDERS/LABEL_ARCHIVE"></span>
</label>
<div class="controls">
<select data-bind="options: folderSelectList, value: archiveFolder,

View file

@ -4,8 +4,8 @@
<div class="modal-header g-ui-user-select-none">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span data-bind="visible: !edit()" class="i18n" data-i18n-text="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></span>
<span data-bind="visible: edit" class="i18n" data-i18n-text="POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY"></span>
<span data-bind="visible: !edit()" class="i18n" data-i18n="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></span>
<span data-bind="visible: edit" class="i18n" data-i18n="POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY"></span>
</h3>
</div>
<div class="modal-body">
@ -16,7 +16,7 @@
</div>
<br />
<div class="control-group" data-bind="visible: !owner(), css: {'error': email.hasError}">
<label class="i18n control-label" data-i18n-text="POPUPS_IDENTITY/LABEL_EMAIL"></label>
<label class="i18n control-label" data-i18n="POPUPS_IDENTITY/LABEL_EMAIL"></label>
<div class="controls">
<input type="email" class="inputEmail input-xlarge"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -24,13 +24,13 @@
</div>
</div>
<div class="control-group" data-bind="visible: owner">
<label class="i18n control-label" data-i18n-text="POPUPS_IDENTITY/LABEL_EMAIL"></label>
<label class="i18n control-label" data-i18n="POPUPS_IDENTITY/LABEL_EMAIL"></label>
<div class="controls">
<div class="textEmail" data-bind="text: email"></div>
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_IDENTITY/LABEL_NAME"></label>
<label class="i18n control-label" data-i18n="POPUPS_IDENTITY/LABEL_NAME"></label>
<div class="controls">
<input type="text" class="inputName input-xlarge"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -38,7 +38,7 @@
</div>
</div>
<div class="control-group" data-bind="visible: showReplyTo, css: {'error': replyTo.hasError}">
<label class="i18n control-label" data-i18n-text="POPUPS_IDENTITY/LABEL_REPLY_TO"></label>
<label class="i18n control-label" data-i18n="POPUPS_IDENTITY/LABEL_REPLY_TO"></label>
<div class="controls">
<input type="text" class="inputReplyTo input-xlarge"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -46,7 +46,7 @@
</div>
</div>
<div class="control-group" data-bind="visible: showBcc, css: {'error': bcc.hasError}">
<label class="i18n control-label" data-i18n-text="POPUPS_IDENTITY/LABEL_BCC"></label>
<label class="i18n control-label" data-i18n="POPUPS_IDENTITY/LABEL_BCC"></label>
<div class="controls">
<input type="text" class="inputBcc input-xlarge"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -56,12 +56,12 @@
<div class="control-group" data-bind="visible: !showReplyTo() || !showBcc()">
<div class="controls">
<span data-bind="visible: !showReplyTo()">
<span class="i18n g-ui-link" data-i18n-text="POPUPS_IDENTITY/LABEL_REPLY_TO"
<span class="i18n g-ui-link" data-i18n="POPUPS_IDENTITY/LABEL_REPLY_TO"
data-bind="click: function () { showReplyTo(true); }"></span>
&nbsp;&nbsp;
</span>
<span data-bind="visible: !showBcc()">
<span class="i18n g-ui-link" data-i18n-text="POPUPS_IDENTITY/LABEL_BCC"
<span class="i18n g-ui-link" data-i18n="POPUPS_IDENTITY/LABEL_BCC"
data-bind="click: function () { showBcc(true); }"></span>
</span>
</div>
@ -90,8 +90,8 @@
<i data-bind="visible: !edit(), css: {'icon-user-add': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
<i data-bind="visible: edit, css: {'icon-ok': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<span data-bind="visible: !edit()" class="i18n" data-i18n-text="POPUPS_IDENTITY/BUTTON_ADD_IDENTITY"></span>
<span data-bind="visible: edit" class="i18n" data-i18n-text="POPUPS_IDENTITY/BUTTON_UPDATE_IDENTITY"></span>
<span data-bind="visible: !edit()" class="i18n" data-i18n="POPUPS_IDENTITY/BUTTON_ADD_IDENTITY"></span>
<span data-bind="visible: edit" class="i18n" data-i18n="POPUPS_IDENTITY/BUTTON_UPDATE_IDENTITY"></span>
</a>
</div>
</div>

View file

@ -4,13 +4,13 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS"></span>
<span class="i18n" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS"></span>
</h3>
</div>
<div class="modal-body">
<div class="form-horizontal">
<div class="control-group" data-bind="css: {'error': email.error}">
<label class="i18n control-label" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_EMAIL"></label>
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_EMAIL"></label>
<div class="controls">
<input type="email" class="inputEmail input-large"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -18,7 +18,7 @@
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_NAME"></label>
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_NAME"></label>
<div class="controls">
<input type="text" class="inputName input-large"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -26,7 +26,7 @@
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_PASSWORD"></label>
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_PASSWORD"></label>
<div class="controls">
<input type="password" class="inputPassword input-large"
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -34,7 +34,7 @@
</div>
</div>
<div class="control-group">
<label class="i18n control-label" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
<label class="i18n control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
<div class="controls">
<select data-bind="value: keyBitLength, options: [1024, 2048]"></select>
</div>
@ -45,7 +45,7 @@
<a class="btn buttonHenerateOpenPgpKey" data-bind="command: generateOpenPgpKeyCommand">
<i data-bind="css: {'icon-key': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_GENERATE_OPEN_PGP_KEYS/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
<span class="i18n" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
</a>
</div>
</div>

View file

@ -4,8 +4,8 @@
<div class="modal-header g-ui-user-select-none">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span data-bind="visible: '' === id()" class="i18n" data-i18n-text="POPUPS_ADD_TEMPLATE/TITLE_ADD_TEMPLATE"></span>
<span data-bind="visible: '' !== id()" class="i18n" data-i18n-text="POPUPS_ADD_TEMPLATE/TITLE_UPDATE_TEMPLATE"></span>
<span data-bind="visible: '' === id()" class="i18n" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_ADD_TEMPLATE"></span>
<span data-bind="visible: '' !== id()" class="i18n" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_UPDATE_TEMPLATE"></span>
</h3>
</div>
<div class="modal-body">
@ -16,7 +16,7 @@
</div>
<br />
<div class="control-group" data-bind="css: {'error': name.error}">
<label class="i18n control-label" data-i18n-text="POPUPS_ADD_TEMPLATE/LABEL_NAME"></label>
<label class="i18n control-label" data-i18n="POPUPS_ADD_TEMPLATE/LABEL_NAME"></label>
<div class="controls">
<input type="text" class="inputName input-xlarge" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
data-bind="textInput: name, onEnter: addTemplateCommand, hasfocus: name.focus" />
@ -35,8 +35,8 @@
<i data-bind="visible: '' == id(), css: {'icon-user-add': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
<i data-bind="visible: '' !== id(), css: {'icon-ok': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
&nbsp;&nbsp;
<span data-bind="visible: '' == id()" class="i18n" data-i18n-text="POPUPS_ADD_TEMPLATE/BUTTON_ADD_TEMPLATE"></span>
<span data-bind="visible: '' !== id()" class="i18n" data-i18n-text="POPUPS_ADD_TEMPLATE/BUTTON_UPDATE_TEMPLATE"></span>
<span data-bind="visible: '' == id()" class="i18n" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_ADD_TEMPLATE"></span>
<span data-bind="visible: '' !== id()" class="i18n" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_UPDATE_TEMPLATE"></span>
</a>
</div>
</div>

View file

@ -4,7 +4,7 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_TWO_FACTOR_TEST/TITLE_TEST_CODE"></span>
<span class="i18n" data-i18n="POPUPS_TWO_FACTOR_TEST/TITLE_TEST_CODE"></span>
</h3>
</div>
<div class="modal-body">
@ -12,7 +12,7 @@
<br />
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="POPUPS_TWO_FACTOR_TEST/LABEL_CODE"></span>
<span class="i18n" data-i18n="POPUPS_TWO_FACTOR_TEST/LABEL_CODE"></span>
</label>
<div class="controls">
<input type="text" class="uiInput inputName"
@ -26,7 +26,7 @@
<a class="btn" data-bind="command: testCode, css: { 'btn-success': true === code.status(), 'btn-danger': false === code.status() }">
<i data-bind="css: {'icon-ok': !testing(), 'icon-spinner animated': testing(), 'icon-white': true === code.status() || false === code.status() }"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_TWO_FACTOR_TEST/BUTTON_TEST"></span>
<span class="i18n" data-i18n="POPUPS_TWO_FACTOR_TEST/BUTTON_TEST"></span>
</a>
</div>
</div>

View file

@ -4,7 +4,7 @@
<div class="modal-header g-ui-user-select-none">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY"></span>
<span class="i18n" data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY"></span>
</h3>
</div>
<div class="modal-body">
@ -18,12 +18,12 @@
<a class="btn buttonClose" data-bind="command: cancelCommand">
<i class="icon-remove"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_CLOSE"></span>
<span class="i18n" data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_CLOSE"></span>
</a>
<a class="btn buttonClose" data-bind="click: selectKey">
<i class="icon-key"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_SELECT"></span>
<span class="i18n" data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_SELECT"></span>
</a>
</div>
</div>

View file

@ -81,35 +81,35 @@ pre {
<table cellpadding="0" cellspacing="0" class="tbl">
<tbody>
<tr>
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_FROM"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_FROM"></td>
<td class="tv" data-bind="text: popupFrom"></td>
</tr>
<tr>
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_TO"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_TO"></td>
<td class="tv" data-bind="text: popupTo"></td>
</tr>
<tr data-bind="visible: '' !== popupCc">
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_CC"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_CC"></td>
<td class="tv" data-bind="text: popupCc"></td>
</tr>
<tr data-bind="visible: '' !== popupBcc">
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_BCC"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_BCC"></td>
<td class="tv" data-bind="text: popupBcc"></td>
</tr>
<tr data-bind="visible: '' !== popupReplyTo">
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_REPLY_TO"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_REPLY_TO"></td>
<td class="tv" data-bind="text: popupReplyTo"></td>
</tr>
<tr data-bind="visible: '' !== popupDate">
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_DATE"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_DATE"></td>
<td class="tv" data-bind="text: popupDate"></td>
</tr>
<tr>
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_SUBJECT"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_SUBJECT"></td>
<td class="tv" data-bind="text: popupSubject"></td>
</tr>
<tr data-bind="visible: '' !== popupAttachments">
<td class="tt i18n" data-i18n-text="MESSAGE/PRINT_LABEL_ATTACHMENTS"></td>
<td class="tt i18n" data-i18n="MESSAGE/PRINT_LABEL_ATTACHMENTS"></td>
<td class="tv" data-bind="text: popupAttachments"></td>
</tr>
<tr>

View file

@ -2,7 +2,7 @@
<div data-bind="visible: allowAdditionalAccount">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS"></span>
&nbsp;&nbsp;&nbsp;
<i class="icon-spinner animated" style="margin-top: 5px" data-bind="visible: accounts.loading"></i>
</div>
@ -10,7 +10,7 @@
<a class="btn" data-bind="click: addNewAccount">
<i class="icon-user-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/BUTTON_ADD_ACCOUNT"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_ACCOUNT"></span>
</a>
<br />
<br />
@ -32,7 +32,7 @@
<td>
<span data-bind="visible: !canBeDeleted()"></span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oAccount) { $root.deleteAccount(oAccount); }">
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/DELETING_ASK"></span>
</a>
</td>
<td>
@ -48,13 +48,13 @@
<br />
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></span>
</div>
</div>
<a class="btn" data-bind="click: addNewIdentity">
<i class="icon-user-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY"></span>
</a>
<br />
<br />
@ -74,13 +74,13 @@
<span class="identity-name" data-bind="text: formattedName()"></span>
&nbsp;&nbsp;
<span class="identity-default" data-bind="visible: 0 === $index()">
(<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>)
(<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>)
</span>
</td>
<td>
<span data-bind="visible: !canBeDeleted()"></span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }">
<span class="i18n" data-i18n-text="SETTINGS_ACCOUNTS/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_ACCOUNTS/DELETING_ASK"></span>
</a>
</td>
<td>

View file

@ -1,13 +1,13 @@
<div class="b-settings-general g-ui-user-select-none">
<div class="form-horizontal long-label">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_CHANGE_PASSWORD/LEGEND_CHANGE_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CHANGE_PASSWORD/LEGEND_CHANGE_PASSWORD"></span>
</div>
<div class="row">
<div class="span6">
<div class="control-group" data-bind="css: {'error': currentPassword.error}">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CHANGE_PASSWORD/LABEL_CURRENT_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CHANGE_PASSWORD/LABEL_CURRENT_PASSWORD"></span>
</label>
<div class="controls">
<input type="password" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -16,7 +16,7 @@
</div>
<div class="control-group" data-bind="css: {'error': passwordMismatch}">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CHANGE_PASSWORD/LABEL_NEW_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CHANGE_PASSWORD/LABEL_NEW_PASSWORD"></span>
</label>
<div class="controls">
<input type="password" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -25,7 +25,7 @@
</div>
<div class="control-group" data-bind="css: {'error': passwordMismatch}">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CHANGE_PASSWORD/LABEL_REPEAT_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CHANGE_PASSWORD/LABEL_REPEAT_PASSWORD"></span>
</label>
<div class="controls">
<input type="password" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -37,7 +37,7 @@
<a class="btn" data-bind="command: saveNewPasswordCommand, css: { 'btn-success': passwordUpdateSuccess, 'btn-danger': passwordUpdateError }">
<i data-bind="css: {'icon-spinner animated': changeProcess(), 'icon-key': !changeProcess(), 'icon-white': passwordUpdateSuccess() || passwordUpdateError() }"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_CHANGE_PASSWORD/BUTTON_UPDATE_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CHANGE_PASSWORD/BUTTON_UPDATE_PASSWORD"></span>
</a>
</div>
</div>

View file

@ -1,7 +1,7 @@
<div class="b-settings-contacts">
<div class="form-horizontal g-ui-user-select-none">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LEGEND_CONTACTS"></span>
<span class="i18n" data-i18n="SETTINGS_CONTACTS/LEGEND_CONTACTS"></span>
</div>
<div class="control-group">
<div class="controls">
@ -18,7 +18,7 @@
<br />
<div class="form-horizontal" data-bind="visible: allowContactsSync">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC"></span>
<span class="i18n" data-i18n="SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC"></span>
</div>
<div class="control-group">
<div class="controls">
@ -33,7 +33,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></span>
<span class="i18n" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></span>
</label>
<div class="controls">
<input type="text" class="input-xxlarge"
@ -43,7 +43,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></span>
<span class="i18n" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></span>
</label>
<div class="controls">
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
@ -52,7 +52,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_PASSWORD"></span>
<span class="i18n" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_PASSWORD"></span>
</label>
<div class="controls">
<input type="password" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"

View file

@ -1,7 +1,7 @@
<div class="b-settings-filters g-ui-user-select-none">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/LEGEND_FILTERS"></span>
<span class="i18n" data-i18n="SETTINGS_FILTERS/LEGEND_FILTERS"></span>
&nbsp;&nbsp;&nbsp;
<i class="icon-spinner animated" style="margin-top: 5px" data-bind="visible: filters.loading"></i>
</div>
@ -11,7 +11,7 @@
<a class="btn" data-bind="click: addFilter">
<i class="icon-plus"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_ADD_FILTER"></span>
<span class="i18n" data-i18n="SETTINGS_FILTERS/BUTTON_ADD_FILTER"></span>
</a>
&nbsp;&nbsp;
<a class="btn" data-bind="visible: filterRaw.allow, click: function () { filterRaw.active(!filterRaw.active()) },
@ -22,7 +22,7 @@
<a class="btn hide-on-disabled-command" data-bind="command: saveChanges">
<i data-bind="css: {'icon-floppy': !filters.saving(), 'icon-spinner animated': filters.saving()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_SAVE"></span>
<span class="i18n" data-i18n="SETTINGS_FILTERS/BUTTON_SAVE"></span>
</a>
</div>
<div class="span3" style="margin-left: 0;">
@ -35,7 +35,7 @@
<div class="alert g-ui-user-select-none" style="margin-bottom: 0">
<i class="icon-warning"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/CHACHES_NEED_TO_BE_SAVED_DESC"></span>
<span class="i18n" data-i18n="SETTINGS_FILTERS/CHACHES_NEED_TO_BE_SAVED_DESC"></span>
</div>
</div>
</div>
@ -55,7 +55,7 @@
<div class="control-group" data-bind="css: {'error': filterRaw.error}, visible: inited() && filterRaw.allow() && filterRaw.active()">
<div class="controls">
<pre style="word-break: break-word;" data-bind="visible: '' !== filterRaw.capa()">
<b class="i18n" data-i18n-text="SETTINGS_FILTERS/CAPABILITY_LABEL"></b>:
<b class="i18n" data-i18n="SETTINGS_FILTERS/CAPABILITY_LABEL"></b>:
<span data-bind="text: filterRaw.capa"></span>
</pre>
<textarea class="span8" style="height: 300px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace;"
@ -88,7 +88,7 @@
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }">
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_FILTERS/DELETING_ASK"></span>
</a>
</td>
<td>

View file

@ -1,7 +1,7 @@
<div class="control-group" data-bind="css: {'error': actionValue.error}">
<div class="controls">
<input type="text" class="span3 i18n" data-bind="value: actionValue" placeholder=""
data-i18n-placeholder="POPUPS_FILTER/EMAIL_LABEL" />
<input type="text" class="span3 i18n" data-bind="value: actionValue"
data-i18n="[placeholder]POPUPS_FILTER/EMAIL_LABEL" />
</div>
</div>
<div class="control-group">

View file

@ -1,6 +1,6 @@
<div class="control-group" data-bind="css: {'error': actionValue.error}" style="margin-bottom: 0">
<div class="controls">
<textarea class="span5 i18n" data-bind="value: actionValue" style="height: 100px;"
placeholder="" data-i18n-placeholder="POPUPS_FILTER/REJECT_MESSAGE_LABEL"></textarea>
data-i18n="[placeholder]POPUPS_FILTER/REJECT_MESSAGE_LABEL"></textarea>
</div>
</div>

View file

@ -9,14 +9,14 @@
size: 1
}
}"></div>
<input type="text" class="span5 i18n" data-bind="value: actionValueSecond" placeholder=""
data-i18n-placeholder="POPUPS_FILTER/VACATION_SUBJECT_LABEL" />
<input type="text" class="span5 i18n" data-bind="value: actionValueSecond"
data-i18n="[placeholder]POPUPS_FILTER/VACATION_SUBJECT_LABEL" />
</div>
</div>
<div class="control-group" data-bind="css: {'error': actionValue.error}" style="margin-bottom: 0">
<div class="controls">
<textarea class="span5 i18n" data-bind="value: actionValue" style="height: 100px;"
placeholder="" data-i18n-placeholder="POPUPS_FILTER/VACATION_MESSAGE_LABEL"></textarea>
data-i18n="[placeholder]POPUPS_FILTER/VACATION_MESSAGE_LABEL"></textarea>
</div>
</div>
<div class="control-group">

View file

@ -9,7 +9,7 @@
data-bind="value: nameForEdit, visible: edited, hasfocus: edited, onEnter: function () { $root.folderEditOnEnter($data); }, onEsc: function () { $root.folderEditOnEsc($data); }" />
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function() { $root.deleteFolder($data); }">
<span class="i18n" data-i18n-text="SETTINGS_FOLDERS/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_FOLDERS/DELETING_ASK"></span>
</a>
</td>
<td>

View file

@ -1,7 +1,7 @@
<div class="b-settings-folders g-ui-user-select-none" data-bind="css: { 'ignore-folder-subscribe': !useImapSubscribe }">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_FOLDERS/LEGEND_FOLDERS"></span>
<span class="i18n" data-i18n="SETTINGS_FOLDERS/LEGEND_FOLDERS"></span>
&nbsp;&nbsp;&nbsp;
<i class="icon-spinner animated" style="margin-top: 5px" data-bind="visible: loading"></i>
</div>
@ -9,18 +9,18 @@
<a class="btn" data-bind="click: createFolder">
<i class="icon-folder-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FOLDERS/BUTTON_CREATE"></span>
<span class="i18n" data-i18n="SETTINGS_FOLDERS/BUTTON_CREATE"></span>
</a>
&nbsp;&nbsp;
<a class="btn" data-bind="click: systemFolder">
<i class="icon-wrench"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FOLDERS/BUTTON_SYSTEM"></span>
<span class="i18n" data-i18n="SETTINGS_FOLDERS/BUTTON_SYSTEM"></span>
</a>
<div class="alert folders-list-error" data-bind="visible: folderList.optimized">
<b class="i18n" data-i18n-text="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_1"></b>
<b class="i18n" data-i18n="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_1"></b>
<br />
<span class="i18n" data-i18n-text="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_2"></span>
<span class="i18n" data-i18n="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_2"></span>
</div>
<div class="alert folders-list-error" data-bind="visible: '' !== folderList.error()">
<button type="button" class="close" data-bind="click: function () { folderList.error(''); }">&times;</button>

View file

@ -1,11 +1,11 @@
<div class="b-settings-general g-ui-user-select-none">
<div class="form-horizontal">
<div class="legend">
<span class="i18n i18n-animation" data-i18n-text="SETTINGS_GENERAL/LEGEND_GENERAL"></span>
<span class="i18n i18n-animation" data-i18n="SETTINGS_GENERAL/LEGEND_GENERAL"></span>
</div>
<div class="control-group" data-bind="visible: allowLanguagesOnSettings">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_GENERAL/LABEL_LANGUAGE"></span>
<span class="i18n" data-i18n="SETTINGS_GENERAL/LABEL_LANGUAGE"></span>
</label>
<div class="controls">
<div class="flag-selector">
@ -23,7 +23,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_GENERAL/LABEL_LAYOUT"></span>
<span class="i18n" data-i18n="SETTINGS_GENERAL/LABEL_LAYOUT"></span>
</label>
<div class="controls">
<div data-bind="component: {
@ -40,7 +40,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_GENERAL/LABEL_EDITOR"></span>
<span class="i18n" data-i18n="SETTINGS_GENERAL/LABEL_EDITOR"></span>
</label>
<div class="controls">
<div data-bind="component: {
@ -58,7 +58,7 @@
<br />
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE"></span>
<span class="i18n" data-i18n="SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE"></span>
</label>
<div class="controls">
<div data-bind="component: {
@ -109,7 +109,7 @@
</div>
<div class="form-horizontal" data-bind="visible: isDesktopNotificationSupported() || soundNotificationIsSupported()">
<div class="legend">
<span class="i18n i18n-animation" data-i18n-text="SETTINGS_GENERAL/LABEL_NOTIFICATIONS"></span>
<span class="i18n i18n-animation" data-i18n="SETTINGS_GENERAL/LABEL_NOTIFICATIONS"></span>
</div>
<div class="control-group">
<div class="controls">
@ -125,7 +125,7 @@
}"></div>
&nbsp;
<span data-bind="visible: isDesktopNotificationDenied">
<span class="i18n" style="color: #999" data-i18n-text="SETTINGS_GENERAL/LABEL_CHROME_NOTIFICATION_DESC_DENIED"></span>
<span class="i18n" style="color: #999" data-i18n="SETTINGS_GENERAL/LABEL_CHROME_NOTIFICATION_DESC_DENIED"></span>
</span>
</div>
<div data-bind="visible: soundNotificationIsSupported">

View file

@ -3,12 +3,12 @@
<div class="b-settings-menu" data-bind="foreach: menu">
<!-- ko if: disabled -->
<span class="e-item disabled">
<span class="i18n e-link" data-bind="attr: { 'data-i18n-text': label }"></span>
<span class="i18n e-link" data-bind="attr: { 'data-i18n': label }"></span>
</span>
<!-- /ko -->
<!-- ko ifnot: disabled -->
<a class="e-item selectable" href="#" data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route) }">
<span class="i18n e-link" data-bind="attr: { 'data-i18n-text': label }"></span>
<span class="i18n e-link" data-bind="attr: { 'data-i18n': label }"></span>
</a>
<!-- /ko -->
</div>

View file

@ -1,19 +1,19 @@
<div class="b-settings-open-pgp g-ui-user-select-none">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_OPEN_PGP/LEGEND_OPEN_PGP"></span>
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/LEGEND_OPEN_PGP"></span>
</div>
</div>
<a class="btn" data-bind="click: addOpenPgpKey">
<i class="icon-list-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY"></span>
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY"></span>
</a>
&nbsp;&nbsp;
<a class="btn" data-bind="click: generateOpenPgpKey">
<i class="icon-key"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_OPEN_PGP/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
</a>
<br />
<br />
@ -28,10 +28,10 @@
<!-- ko foreach: openpgpkeysPrivate -->
<tr class="open-pgp-key-item">
<td>
<i class="open-pgp-key-img icon-lock i18n" data-i18n-title="SETTINGS_OPEN_PGP/TITLE_PRIVATE"></i>
<i class="open-pgp-key-img icon-lock i18n" data-i18n="[title]SETTINGS_OPEN_PGP/TITLE_PRIVATE"></i>
<span class="open-pgp-key-user" data-bind="text: user"></span>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }">
<span class="i18n" data-i18n-text="SETTINGS_OPEN_PGP/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/DELETING_ASK"></span>
</a>
</td>
<td>
@ -49,11 +49,11 @@
<!-- ko foreach: openpgpkeysPublic -->
<tr class="open-pgp-key-item">
<td>
<span class="open-pgp-key-img icon-key i18n" data-i18n-title="SETTINGS_OPEN_PGP/TITLE_PUBLIC"></span>
<span class="open-pgp-key-img icon-key i18n" data-i18n="[title]SETTINGS_OPEN_PGP/TITLE_PUBLIC"></span>
<span class="open-pgp-key-user" data-bind="text: user"></span>
(<span class="open-pgp-key-id" data-bind="text: id"></span>)
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }">
<span class="i18n" data-i18n-text="SETTINGS_OPEN_PGP/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_OPEN_PGP/DELETING_ASK"></span>
</a>
</td>
<td>

View file

@ -4,7 +4,7 @@
<a class="btn button-back" data-bind="click: backToMailBoxClick">
<i class="icon-left"></i>
&nbsp;&nbsp;
<span class="i18n i18n-animation" data-i18n-text="SETTINGS_LABELS/BUTTON_BACK"></span>
<span class="i18n i18n-animation" data-i18n="SETTINGS_LABELS/BUTTON_BACK"></span>
</a>
</div>
</div>

View file

@ -1,11 +1,11 @@
<div class="b-settings-security">
<div class="form-horizontal" data-bind="visible: capaAutoLogout">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LEGEND_SECURITY"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LEGEND_SECURITY"></span>
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LABEL_AUTOLOGOUT"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LABEL_AUTOLOGOUT"></span>
</label>
<div class="controls">
<div data-bind="component: {
@ -25,7 +25,7 @@
</div>
<div class="form-horizontal" data-bind="visible: capaTwoFactor">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LEGEND_TWO_FACTOR_AUTH"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LEGEND_TWO_FACTOR_AUTH"></span>
</div>
<div class="control-group" data-bind="visible: twoFactorStatus">
<div class="controls" style="display: inline-block" data-bind="tooltip: viewTwoFactorEnableTooltip">
@ -41,7 +41,7 @@
</div>
<div class="control-group">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LABEL_TWO_FACTOR_USER"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LABEL_TWO_FACTOR_USER"></span>
</label>
<div class="controls" style="padding-top: 5px;">
<strong><span data-bind="text: viewUser"></span></strong>
@ -52,18 +52,18 @@
<a class="btn" data-bind="click: clearTwoFactor, visible: twoFactorStatus">
<i class="icon-remove" data-bind="css: {'icon-remove': !clearing(), 'icon-spinner animated': clearing()}" ></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/BUTTON_CLEAR"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/BUTTON_CLEAR"></span>
</a>
<a class="btn" data-bind="click: createTwoFactor, visible: !twoFactorStatus()">
<i class="icon-ok" data-bind="css: {'icon-ok': !processing(), 'icon-spinner animated': processing()}" ></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/BUTTON_CREATE"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/BUTTON_CREATE"></span>
</a>
<span>&nbsp;&nbsp;</span>
<a class="btn" data-bind="click: testTwoFactor, visible: twoFactorStatus">
<i class="icon-info"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/BUTTON_TEST"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/BUTTON_TEST"></span>
</a>
</div>
</div>
@ -71,21 +71,21 @@
<div class="controls" style="padding-top: 5px;">
<strong data-bind="visible: secreting">...</strong>
<span class="g-ui-link i18n" data-bind="click: showSecret, visible: !secreting()"
data-i18n-text="SETTINGS_SECURITY/BUTTON_SHOW_SECRET"></span>
data-i18n="SETTINGS_SECURITY/BUTTON_SHOW_SECRET"></span>
</div>
</div>
<div class="control-group" data-bind="visible: '' !== viewSecret()">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LABEL_TWO_FACTOR_SECRET"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LABEL_TWO_FACTOR_SECRET"></span>
</label>
<div class="controls" style="padding-top: 5px;">
<strong data-bind="text: viewSecret"></strong>
&nbsp;&nbsp;
<span class="g-ui-link i18n" data-bind="click: hideSecret" data-i18n-text="SETTINGS_SECURITY/BUTTON_HIDE_SECRET"></span>
<span class="g-ui-link i18n" data-bind="click: hideSecret" data-i18n="SETTINGS_SECURITY/BUTTON_HIDE_SECRET"></span>
<br />
<br />
<blockquote>
<p class="muted i18n" style="width: 550px" data-i18n-text="SETTINGS_SECURITY/TWO_FACTOR_SECRET_DESC"></p>
<p class="muted i18n" style="width: 550px" data-i18n="SETTINGS_SECURITY/TWO_FACTOR_SECRET_DESC"></p>
</blockquote>
<!-- ko if: '' !== viewUrl() -->
<img style="margin-left: -7px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2P8DwQACgAD/il4QJ8AAAAASUVORK5CYII=" data-bind="attr: {'src': viewUrl}" />
@ -94,13 +94,13 @@
</div>
<div class="control-group" data-bind="visible: '' !== viewBackupCodes()">
<label class="control-label">
<span class="i18n" data-i18n-text="SETTINGS_SECURITY/LABEL_TWO_FACTOR_BACKUP_CODES"></span>
<span class="i18n" data-i18n="SETTINGS_SECURITY/LABEL_TWO_FACTOR_BACKUP_CODES"></span>
</label>
<div class="controls" style="padding-top: 5px;">
<pre data-bind="text: viewBackupCodes" style="width: 230px; word-break: break-word;"></pre>
<br />
<blockquote>
<p class="muted i18n" style="width: 550px" data-i18n-text="SETTINGS_SECURITY/TWO_FACTOR_BACKUP_CODES_DESC"></p>
<p class="muted i18n" style="width: 550px" data-i18n="SETTINGS_SECURITY/TWO_FACTOR_BACKUP_CODES_DESC"></p>
</blockquote>
</div>
</div>

View file

@ -1,19 +1,19 @@
<div class="b-settings-social g-ui-user-select-none">
<div class="form-horizontal" data-bind="visible: googleEnable() && googleEnableAuth()">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/LEGEND_GOOGLE"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/LEGEND_GOOGLE"></span>
</div>
<div class="control-group" data-bind="visible: !googleLoggined()">
<button class="btn" data-bind="command: connectGoogle">
<i class="icon-google" data-bind="visible: !googleActions()"></i>
<i class="icon-spinner animated" data-bind="visible: googleActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_GOOGLE_CONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_GOOGLE_CONNECT"></span>
</button>
<br />
<br />
<blockquote>
<p class="i18n muted" style="width: 500px" data-i18n-text="SETTINGS_SOCIAL/MAIN_GOOGLE_DESC"></p>
<p class="i18n muted" style="width: 500px" data-i18n="SETTINGS_SOCIAL/MAIN_GOOGLE_DESC"></p>
</blockquote>
</div>
<div class="control-group" data-bind="visible: googleLoggined">
@ -28,25 +28,25 @@
<i class="icon-remove" data-bind="visible: !googleActions()"></i>
<i class="icon-spinner animated" data-bind="visible: googleActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_GOOGLE_DISCONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_GOOGLE_DISCONNECT"></span>
</button>
</div>
</div>
<div class="form-horizontal" data-bind="visible: facebookEnable">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/LEGEND_FACEBOOK"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/LEGEND_FACEBOOK"></span>
</div>
<div class="control-group" data-bind="visible: !facebookLoggined()">
<button class="btn" data-bind="command: connectFacebook">
<i class="icon-facebook" data-bind="visible: !facebookActions()"></i>
<i class="icon-spinner animated" data-bind="visible: facebookActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_FACEBOOK_CONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_FACEBOOK_CONNECT"></span>
</button>
<br />
<br />
<blockquote>
<p class="i18n muted" style="width: 500px" data-i18n-text="SETTINGS_SOCIAL/MAIN_FACEBOOK_DESC"></p>
<p class="i18n muted" style="width: 500px" data-i18n="SETTINGS_SOCIAL/MAIN_FACEBOOK_DESC"></p>
</blockquote>
</div>
<div class="control-group" data-bind="visible: facebookLoggined">
@ -61,25 +61,25 @@
<i class="icon-remove" data-bind="visible: !facebookActions()"></i>
<i class="icon-spinner animated" data-bind="visible: facebookActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_FACEBOOK_DISCONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_FACEBOOK_DISCONNECT"></span>
</button>
</div>
</div>
<div class="form-horizontal" data-bind="visible: twitterEnable">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/LEGEND_TWITTER"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/LEGEND_TWITTER"></span>
</div>
<div class="control-group" data-bind="visible: !twitterLoggined()">
<button class="btn" data-bind="command: connectTwitter">
<i class="icon-twitter" data-bind="visible: !twitterActions()"></i>
<i class="icon-spinner animated" data-bind="visible: twitterActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_TWITTER_CONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_TWITTER_CONNECT"></span>
</button>
<br />
<br />
<blockquote>
<p class="i18n muted" style="width: 500px" data-i18n-text="SETTINGS_SOCIAL/MAIN_TWITTER_DESC"></p>
<p class="i18n muted" style="width: 500px" data-i18n="SETTINGS_SOCIAL/MAIN_TWITTER_DESC"></p>
</blockquote>
</div>
<div class="control-group" data-bind="visible: twitterLoggined">
@ -94,7 +94,7 @@
<i class="icon-remove" data-bind="visible: !twitterActions()"></i>
<i class="icon-spinner animated" data-bind="visible: twitterActions()"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_SOCIAL/BUTTON_TWITTER_DISCONNECT"></span>
<span class="i18n" data-i18n="SETTINGS_SOCIAL/BUTTON_TWITTER_DISCONNECT"></span>
</button>
</div>
</div>

View file

@ -1,7 +1,7 @@
<div class="b-settings-templates g-ui-user-select-none">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_TEMPLATES/LEGEND_TEMPLATES"></span>
<span class="i18n" data-i18n="SETTINGS_TEMPLATES/LEGEND_TEMPLATES"></span>
&nbsp;&nbsp;&nbsp;
<i class="icon-spinner animated" style="margin-top: 5px" data-bind="visible: templates.loading"></i>
</div>
@ -9,7 +9,7 @@
<a class="btn" data-bind="click: addNewTemplate">
<i class="icon-user-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_TEMPLATES/BUTTON_ADD_TEMPLATE"></span>
<span class="i18n" data-i18n="SETTINGS_TEMPLATES/BUTTON_ADD_TEMPLATE"></span>
</a>
<br />
<br />
@ -30,7 +30,7 @@
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess}, click: function(oTemplate) { $root.deleteTemplate(oTemplate); }">
<span class="i18n" data-i18n-text="SETTINGS_TEMPLATES/DELETING_ASK"></span>
<span class="i18n" data-i18n="SETTINGS_TEMPLATES/DELETING_ASK"></span>
</a>
</td>
<td>

View file

@ -1,7 +1,7 @@
<div class="b-settings-themes g-ui-user-select-none">
<div class="form-horizontal">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_THEMES/LEGEND_THEMES"></span>
<span class="i18n" data-i18n="SETTINGS_THEMES/LEGEND_THEMES"></span>
&nbsp;&nbsp;
<div data-bind="component: {
name: 'SaveTrigger',
@ -19,7 +19,7 @@
<br />
<div class="form-horizontal" data-bind="visible: capaUserBackground">
<div class="legend">
<span class="i18n" data-i18n-text="SETTINGS_THEMES/LEGEND_THEMES_CUSTOM"></span>
<span class="i18n" data-i18n="SETTINGS_THEMES/LEGEND_THEMES_CUSTOM"></span>
</div>
<div class="control-group g-ui-user-select-none">
<div class="row" data-bind="visible: '' !== background.error()" style="margin-left: 0; margin-bottom: 10px;">
@ -36,7 +36,7 @@
<a class="btn" data-bind="initDom: background.uploaderButton">
<i data-bind="css: {'icon-image': !background.loading(), 'icon-spinner animated': background.loading()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_THEMES/BUTTON_UPLOAD_BACKGROUND_IMAGE"></span>
<span class="i18n" data-i18n="SETTINGS_THEMES/BUTTON_UPLOAD_BACKGROUND_IMAGE"></span>
</a>
</div>
</div>

View file

@ -39,7 +39,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addAccountClick">
<i class="icon-user-add"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="TOP_TOOLBAR/BUTTON_ADD_ACCOUNT"></span>
<span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_ADD_ACCOUNT"></span>
</a>
</li>
<!-- /ko -->
@ -47,14 +47,14 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: settingsClick">
<i class="icon-cog"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="TOP_TOOLBAR/BUTTON_SETTINGS"></span>
<span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_SETTINGS"></span>
</a>
</li>
<li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: settingsHelp">
<i class="icon-help"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="TOP_TOOLBAR/BUTTON_HELP"></span>
<span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_HELP"></span>
</a>
</li>
<li class="divider" role="presentation"></li>
@ -62,7 +62,7 @@
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: logoutClick">
<i class="icon-power"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="TOP_TOOLBAR/BUTTON_LOGOUT"></span>
<span class="i18n" data-i18n="TOP_TOOLBAR/BUTTON_LOGOUT"></span>
</a>
</li>
</ul>