mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
Admin Panel localization (#467)
This commit is contained in:
parent
470b3645e2
commit
3dac6809d1
46 changed files with 1111 additions and 561 deletions
|
|
@ -203,10 +203,11 @@
|
|||
};
|
||||
|
||||
/**
|
||||
* @param {boolean=} bAdmin = false
|
||||
* @param {boolean=} bLogout = false
|
||||
* @param {boolean=} bClose = false
|
||||
*/
|
||||
AbstractApp.prototype.loginAndLogoutReload = function (bLogout, bClose)
|
||||
AbstractApp.prototype.loginAndLogoutReload = function (bAdmin, bLogout, bClose)
|
||||
{
|
||||
var
|
||||
kn = require('Knoin/Knoin'),
|
||||
|
|
@ -227,7 +228,8 @@
|
|||
window.close();
|
||||
}
|
||||
|
||||
sCustomLogoutLink = sCustomLogoutLink || './';
|
||||
sCustomLogoutLink = sCustomLogoutLink || (bAdmin ? Links.rootAdmin() : Links.rootUser());
|
||||
|
||||
if (bLogout && window.location.href !== sCustomLogoutLink)
|
||||
{
|
||||
_.delay(function () {
|
||||
|
|
|
|||
|
|
@ -1214,7 +1214,7 @@
|
|||
{
|
||||
var self = this;
|
||||
Remote.logout(function () {
|
||||
self.loginAndLogoutReload(true,
|
||||
self.loginAndLogoutReload(false, true,
|
||||
Settings.settingsGet('ParentEmail') && 0 < Settings.settingsGet('ParentEmail').length);
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -49,6 +49,14 @@
|
|||
return this.sServer + '/Admin/';
|
||||
};
|
||||
|
||||
/**
|
||||
* @return {string}
|
||||
*/
|
||||
Links.prototype.rootUser = function ()
|
||||
{
|
||||
return './';
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {string} sDownload
|
||||
* @return {string}
|
||||
|
|
@ -295,9 +303,9 @@
|
|||
* @param {string} sLang
|
||||
* @return {string}
|
||||
*/
|
||||
Links.prototype.langLink = function (sLang)
|
||||
Links.prototype.langLink = function (sLang, bAdmin)
|
||||
{
|
||||
return this.sServer + '/Lang/0/' + encodeURI(sLang) + '/' + this.sVersion + '/';
|
||||
return this.sServer + '/Lang/0/' + (bAdmin ? 'Admin' : 'App') + '/' + encodeURI(sLang) + '/' + this.sVersion + '/';
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -284,11 +284,12 @@
|
|||
};
|
||||
|
||||
/**
|
||||
* @param {boolean} bAdmin
|
||||
* @param {string} sLanguage
|
||||
* @param {Function=} fDone
|
||||
* @param {Function=} fFail
|
||||
*/
|
||||
Translator.prototype.reload = function (sLanguage, fDone, fFail)
|
||||
Translator.prototype.reload = function (bAdmin, sLanguage, fDone, fFail)
|
||||
{
|
||||
var
|
||||
self = this,
|
||||
|
|
@ -300,7 +301,7 @@
|
|||
$html.addClass('rl-changing-language');
|
||||
|
||||
$.ajax({
|
||||
'url': require('Common/Links').langLink(sLanguage),
|
||||
'url': require('Common/Links').langLink(sLanguage, bAdmin),
|
||||
'dataType': 'script',
|
||||
'cache': true
|
||||
})
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
{
|
||||
if (Globals.__APP__ && Globals.__APP__.loginAndLogoutReload)
|
||||
{
|
||||
Globals.__APP__.loginAndLogoutReload(true);
|
||||
Globals.__APP__.loginAndLogoutReload(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
|
||||
if (!oData.ClearAuth && Globals.__APP__.loginAndLogoutReload)
|
||||
{
|
||||
Globals.__APP__.loginAndLogoutReload(true);
|
||||
Globals.__APP__.loginAndLogoutReload(false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,37 +33,37 @@
|
|||
SettingsAdminScreen.prototype.setupSettings = function (fCallback)
|
||||
{
|
||||
kn.addSettingsViewModel(require('Settings/Admin/General'),
|
||||
'AdminSettingsGeneral', 'General', 'general', true);
|
||||
'AdminSettingsGeneral', 'TABS_LABELS/LABEL_GENERAL_NAME', 'general', true);
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Login'),
|
||||
'AdminSettingsLogin', 'Login', 'login');
|
||||
'AdminSettingsLogin', 'TABS_LABELS/LABEL_LOGIN_NAME', 'login');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Branding'),
|
||||
'AdminSettingsBranding', 'Branding', 'branding');
|
||||
'AdminSettingsBranding', 'TABS_LABELS/LABEL_BRANDING_NAME', 'branding');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Contacts'),
|
||||
'AdminSettingsContacts', 'Contacts', 'contacts');
|
||||
'AdminSettingsContacts', 'TABS_LABELS/LABEL_CONTACTS_NAME', 'contacts');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Domains'),
|
||||
'AdminSettingsDomains', 'Domains', 'domains');
|
||||
'AdminSettingsDomains', 'TABS_LABELS/LABEL_DOMAINS_NAME', 'domains');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Security'),
|
||||
'AdminSettingsSecurity', 'Security', 'security');
|
||||
'AdminSettingsSecurity', 'TABS_LABELS/LABEL_SECURITY_NAME', 'security');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Social'),
|
||||
'AdminSettingsSocial', 'Integrations', 'integrations');
|
||||
'AdminSettingsSocial', 'TABS_LABELS/LABEL_INTEGRATION_NAME', 'integrations');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Plugins'),
|
||||
'AdminSettingsPlugins', 'Plugins', 'plugins');
|
||||
'AdminSettingsPlugins', 'TABS_LABELS/LABEL_PLUGINS_NAME', 'plugins');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Packages'),
|
||||
'AdminSettingsPackages', 'Packages', 'packages');
|
||||
'AdminSettingsPackages', 'TABS_LABELS/LABEL_PACKAGES_NAME', 'packages');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/Licensing'),
|
||||
'AdminSettingsLicensing', 'Licensing', 'licensing');
|
||||
'AdminSettingsLicensing', 'TABS_LABELS/LABEL_LICENSING_NAME', 'licensing');
|
||||
|
||||
kn.addSettingsViewModel(require('Settings/Admin/About'),
|
||||
'AdminSettingsAbout', 'About', 'about');
|
||||
'AdminSettingsAbout', 'TABS_LABELS/LABEL_ABOUT_NAME', 'about');
|
||||
|
||||
Plugins.runSettingsViewModelHooks(true);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
var
|
||||
ko = require('ko'),
|
||||
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Settings = require('Storage/Settings'),
|
||||
CoreStore = require('Stores/Admin/Core')
|
||||
;
|
||||
|
|
@ -32,6 +34,10 @@
|
|||
this.coreRemoteRelease = CoreStore.coreRemoteRelease;
|
||||
this.coreVersionCompare = CoreStore.coreVersionCompare;
|
||||
|
||||
this.coreRemoteVersionHtmlDesc = ko.computed(function () {
|
||||
return Translator.i18n('TAB_ABOUT/HTML_NEW_VERSION', {'VERSION': this.coreRemoteVersion()});
|
||||
}, this);
|
||||
|
||||
this.statusType = ko.computed(function () {
|
||||
|
||||
var
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
Enums = require('Common/Enums'),
|
||||
Utils = require('Common/Utils'),
|
||||
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
Settings = require('Storage/Settings')
|
||||
;
|
||||
|
||||
|
|
@ -68,7 +70,7 @@
|
|||
var bDisabled = -1 === Utils.inArray(sValue, aSupportedTypes);
|
||||
return {
|
||||
'id': sValue,
|
||||
'name': getTypeName(sValue) + (bDisabled ? ' (not supported)' : ''),
|
||||
'name': getTypeName(sValue) + (bDisabled ? ' (' + Translator.i18n('HINTS/NOT_SUPPORTED') + ')' : ''),
|
||||
'disabled': bDisabled
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
Enums = require('Common/Enums'),
|
||||
Utils = require('Common/Utils'),
|
||||
Links = require('Common/Links'),
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
ThemeStore = require('Stores/Theme'),
|
||||
LanguageStore = require('Stores/Language'),
|
||||
|
|
@ -26,6 +27,9 @@
|
|||
{
|
||||
this.language = LanguageStore.language;
|
||||
this.languages = LanguageStore.languages;
|
||||
this.languageAdmin = LanguageStore.languageAdmin;
|
||||
this.languagesAdmin = LanguageStore.languagesAdmin;
|
||||
|
||||
this.theme = ThemeStore.theme;
|
||||
this.themes = ThemeStore.themes;
|
||||
|
||||
|
|
@ -59,8 +63,13 @@
|
|||
return Utils.convertLangName(this.language());
|
||||
}, this);
|
||||
|
||||
this.languageAdminFullName = ko.computed(function () {
|
||||
return Utils.convertLangName(this.languageAdmin());
|
||||
}, this);
|
||||
|
||||
this.attachmentLimitTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
this.languageTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
this.languageAdminTrigger = ko.observable(Enums.SaveSettingsStep.Idle).extend({'throttle': 100});
|
||||
this.themeTrigger = ko.observable(Enums.SaveSettingsStep.Idle);
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +85,15 @@
|
|||
var
|
||||
f1 = Utils.settingsSaveHelperSimpleFunction(self.attachmentLimitTrigger, self),
|
||||
f2 = Utils.settingsSaveHelperSimpleFunction(self.languageTrigger, self),
|
||||
f3 = Utils.settingsSaveHelperSimpleFunction(self.themeTrigger, self)
|
||||
f3 = Utils.settingsSaveHelperSimpleFunction(self.themeTrigger, self),
|
||||
fReloadLanguageHelper = function (iSaveSettingsStep) {
|
||||
return function() {
|
||||
self.languageAdminTrigger(iSaveSettingsStep);
|
||||
_.delay(function () {
|
||||
self.languageAdminTrigger(Enums.SaveSettingsStep.Idle);
|
||||
}, 1000);
|
||||
};
|
||||
}
|
||||
;
|
||||
|
||||
self.mainAttachmentLimit.subscribe(function (sValue) {
|
||||
|
|
@ -91,6 +108,19 @@
|
|||
});
|
||||
});
|
||||
|
||||
self.languageAdmin.subscribe(function (sValue) {
|
||||
|
||||
self.languageAdminTrigger(Enums.SaveSettingsStep.Animate);
|
||||
|
||||
Translator.reload(true, sValue,
|
||||
fReloadLanguageHelper(Enums.SaveSettingsStep.TrueResult),
|
||||
fReloadLanguageHelper(Enums.SaveSettingsStep.FalseResult));
|
||||
|
||||
Remote.saveAdminConfig(null, {
|
||||
'LanguageAdmin': Utils.trim(sValue)
|
||||
});
|
||||
});
|
||||
|
||||
self.theme.subscribe(function (sValue) {
|
||||
|
||||
Utils.changeTheme(sValue, self.themeTrigger);
|
||||
|
|
@ -147,7 +177,16 @@
|
|||
|
||||
GeneralAdminSettings.prototype.selectLanguage = function ()
|
||||
{
|
||||
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
|
||||
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'), [
|
||||
this.language, this.languages(), LanguageStore.userLanguage()
|
||||
]);
|
||||
};
|
||||
|
||||
GeneralAdminSettings.prototype.selectLanguageAdmin = function ()
|
||||
{
|
||||
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'), [
|
||||
this.languageAdmin, this.languagesAdmin(), LanguageStore.userLanguageAdmin()
|
||||
]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
function GeneralUserSettings()
|
||||
{
|
||||
this.language = LanguageStore.language;
|
||||
this.languages = LanguageStore.languages;
|
||||
this.messagesPerPage = SettingsStore.messagesPerPage;
|
||||
this.messagesPerPageArray = Consts.Defaults.MessagesPerPageArray;
|
||||
|
||||
|
|
@ -110,7 +111,7 @@
|
|||
|
||||
self.languageTrigger(Enums.SaveSettingsStep.Animate);
|
||||
|
||||
Translator.reload(sValue,
|
||||
Translator.reload(false, sValue,
|
||||
fReloadLanguageHelper(Enums.SaveSettingsStep.TrueResult),
|
||||
fReloadLanguageHelper(Enums.SaveSettingsStep.FalseResult));
|
||||
|
||||
|
|
@ -195,7 +196,9 @@
|
|||
|
||||
GeneralUserSettings.prototype.selectLanguage = function ()
|
||||
{
|
||||
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'));
|
||||
require('Knoin/Knoin').showScreenPopup(require('View/Popup/Languages'), [
|
||||
this.language, this.languages(), LanguageStore.userLanguage()
|
||||
]);
|
||||
};
|
||||
|
||||
module.exports = GeneralUserSettings;
|
||||
|
|
|
|||
|
|
@ -17,23 +17,36 @@
|
|||
function LanguageStore()
|
||||
{
|
||||
this.languages = ko.observableArray([]);
|
||||
this.languagesTop = ko.observableArray([]);
|
||||
this.languagesAdmin = ko.observableArray([]);
|
||||
|
||||
this.language = ko.observable('')
|
||||
.extend({'limitedList': this.languages});
|
||||
|
||||
this.userLanguage = ko.observable('')
|
||||
.extend({'limitedList': this.languages});
|
||||
|
||||
this.languageAdmin = ko.observable('')
|
||||
.extend({'limitedList': this.languagesAdmin});
|
||||
|
||||
this.userLanguageAdmin = ko.observable('')
|
||||
.extend({'limitedList': this.languagesAdmin});
|
||||
}
|
||||
|
||||
LanguageStore.prototype.populate = function ()
|
||||
{
|
||||
var
|
||||
aLanguages = Settings.settingsGet('Languages'),
|
||||
aLanguagesTop = Settings.settingsGet('LanguagesTop')
|
||||
aLanguagesAdmin = Settings.settingsGet('LanguagesAdmin')
|
||||
;
|
||||
|
||||
this.languages(Utils.isArray(aLanguages) ? aLanguages : []);
|
||||
this.languagesTop(Utils.isArray(aLanguagesTop) ? aLanguagesTop : []);
|
||||
this.languagesAdmin(Utils.isArray(aLanguagesAdmin) ? aLanguagesAdmin : []);
|
||||
|
||||
this.language(Settings.settingsGet('Language'));
|
||||
this.languageAdmin(Settings.settingsGet('LanguageAdmin'));
|
||||
|
||||
this.userLanguage(Settings.settingsGet('UserLanguage'));
|
||||
this.userLanguageAdmin(Settings.settingsGet('UserLanguageAdmin'));
|
||||
};
|
||||
|
||||
module.exports = new LanguageStore();
|
||||
|
|
|
|||
|
|
@ -21,7 +21,11 @@
|
|||
background-color: #fff;
|
||||
text-align: left;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 2px;
|
||||
|
||||
&.user {
|
||||
background-color: #fffddd;
|
||||
}
|
||||
&.selected {
|
||||
background-color: #f5f5f5;
|
||||
border-color: #ccc;
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@
|
|||
{
|
||||
if (oData.Result)
|
||||
{
|
||||
require('App/Admin').loginAndLogoutReload();
|
||||
require('App/Admin').loginAndLogoutReload(true);
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
PaneSettingsAdminView.prototype.logoutClick = function ()
|
||||
{
|
||||
Remote.adminLogout(function () {
|
||||
require('App/Admin').loginAndLogoutReload(true);
|
||||
require('App/Admin').loginAndLogoutReload(true, true);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
this.activateText = ko.observable('');
|
||||
this.activateText.isError = ko.observable(false);
|
||||
|
||||
this.htmlDescription = ko.computed(function () {
|
||||
return Translator.i18n('POPUPS_ACTIVATE/HTML_DESC', {'DOMAIN': this.domain()});
|
||||
}, this);
|
||||
|
||||
this.key.subscribe(function () {
|
||||
this.activateText('');
|
||||
this.activateText.isError(false);
|
||||
|
|
@ -67,7 +71,7 @@
|
|||
if (true === oData.Result)
|
||||
{
|
||||
self.activationSuccessed(true);
|
||||
self.activateText('Subscription Key Activated Successfully');
|
||||
self.activateText(Translator.i18n('POPUPS_ACTIVATE/SUBS_KEY_ACTIVATED'));
|
||||
self.activateText.isError(false);
|
||||
}
|
||||
else
|
||||
|
|
@ -95,7 +99,7 @@
|
|||
else
|
||||
{
|
||||
this.activateProcess(false);
|
||||
this.activateText('Invalid Subscription Key');
|
||||
this.activateText(Translator.i18n('POPUPS_ACTIVATE/ERROR_INVALID_SUBS_KEY'));
|
||||
this.activateText.isError(true);
|
||||
this.key.focus(true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
Globals = require('Common/Globals'),
|
||||
Utils = require('Common/Utils'),
|
||||
|
||||
Translator = require('Common/Translator'),
|
||||
|
||||
CapaAdminStore = require('Stores/Admin/Capa'),
|
||||
|
||||
Remote = require('Remote/Admin/Ajax'),
|
||||
|
|
@ -96,8 +98,9 @@
|
|||
|
||||
this.headerText = ko.computed(function () {
|
||||
var sName = this.name();
|
||||
return this.edit() ? 'Edit Domain "' + sName + '"' :
|
||||
'Add Domain' + ('' === sName ? '' : ' "' + sName + '"');
|
||||
return this.edit() ? Translator.i18n('POPUPS_DOMAIN/TITLE_EDIT_DOMAIN', {'NAME': sName}) :
|
||||
('' === sName ? Translator.i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN') :
|
||||
Translator.i18n('POPUPS_DOMAIN/TITLE_ADD_DOMAIN_WITH_NAME', {'NAME': sName}));
|
||||
}, this);
|
||||
|
||||
this.domainIsComputed = ko.computed(function () {
|
||||
|
|
@ -348,12 +351,12 @@
|
|||
}
|
||||
else if (Enums.Notification.DomainAlreadyExists === oData.ErrorCode)
|
||||
{
|
||||
this.savingError('Domain already exists');
|
||||
this.savingError(Translator.i18n('ERRORS/DOMAIN_ALREADY_EXISTS'));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.savingError('Unknown error');
|
||||
this.savingError(Translator.i18n('ERRORS/UNKNOWN_ERROR'));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -21,54 +21,26 @@
|
|||
{
|
||||
AbstractView.call(this, 'Popups', 'PopupsLanguages');
|
||||
|
||||
this.LanguageStore = require('Stores/Language');
|
||||
var self = this;
|
||||
|
||||
this.exp = ko.observable(false);
|
||||
this.fLang = null;
|
||||
this.sUserLanguage = '';
|
||||
|
||||
this.langs = ko.observableArray([]);
|
||||
|
||||
this.languages = ko.computed(function () {
|
||||
return _.map(this.LanguageStore.languages(), function (sLanguage) {
|
||||
return _.map(self.langs(), function (sLanguage) {
|
||||
return {
|
||||
'key': sLanguage,
|
||||
'user': sLanguage === self.sUserLanguage,
|
||||
'selected': ko.observable(false),
|
||||
'fullName': Utils.convertLangName(sLanguage)
|
||||
};
|
||||
});
|
||||
}, this);
|
||||
});
|
||||
|
||||
this.languagesTop = ko.computed(function () {
|
||||
|
||||
var
|
||||
aTop = this.LanguageStore.languagesTop(),
|
||||
aLangs = this.languages()
|
||||
;
|
||||
|
||||
return 0 < aTop.length ? _.compact(_.map(aTop, function (sLang) {
|
||||
return _.find(aLangs, function (aItem) {
|
||||
return aItem && sLang === aItem.key;
|
||||
});
|
||||
})) : [];
|
||||
}, this);
|
||||
|
||||
this.languagesBottom = ko.computed(function () {
|
||||
|
||||
var
|
||||
aTop = this.languagesTop(),
|
||||
aLangs = this.languages()
|
||||
;
|
||||
|
||||
if (0 < aTop.length)
|
||||
{
|
||||
return _.filter(aLangs, function (aItem) {
|
||||
return -1 === Utils.inArray(aItem, aTop);
|
||||
});
|
||||
}
|
||||
|
||||
return aLangs;
|
||||
|
||||
}, this);
|
||||
|
||||
this.LanguageStore.language.subscribe(function () {
|
||||
this.resetMainLanguage();
|
||||
this.langs.subscribe(function () {
|
||||
this.setLanguageSelection();
|
||||
}, this);
|
||||
|
||||
kn.constructorEnd(this);
|
||||
|
|
@ -77,35 +49,42 @@
|
|||
kn.extendAsViewModel(['View/Popup/Languages', 'PopupsLanguagesViewModel'], LanguagesPopupView);
|
||||
_.extend(LanguagesPopupView.prototype, AbstractView.prototype);
|
||||
|
||||
LanguagesPopupView.prototype.languageEnName = function (sLanguage)
|
||||
LanguagesPopupView.prototype.languageTooltipName = function (sLanguage)
|
||||
{
|
||||
var sResult = Utils.convertLangName(sLanguage, true);
|
||||
return 'English' === sResult ? '' : sResult;
|
||||
return Utils.convertLangName(sLanguage, false) === sResult ? '' : sResult;
|
||||
};
|
||||
|
||||
LanguagesPopupView.prototype.resetMainLanguage = function ()
|
||||
LanguagesPopupView.prototype.setLanguageSelection = function ()
|
||||
{
|
||||
var sCurrent = this.LanguageStore.language();
|
||||
var sCurrent = this.fLang ? ko.unwrap(this.fLang) : '';
|
||||
_.each(this.languages(), function (oItem) {
|
||||
oItem['selected'](oItem['key'] === sCurrent);
|
||||
});
|
||||
};
|
||||
|
||||
LanguagesPopupView.prototype.onShow = function ()
|
||||
LanguagesPopupView.prototype.onShow = function (fLanguage, aLangs, sUserLanguage)
|
||||
{
|
||||
this.exp(true);
|
||||
this.fLang = fLanguage;
|
||||
this.sUserLanguage = sUserLanguage || '';
|
||||
|
||||
this.resetMainLanguage();
|
||||
this.langs(aLangs);
|
||||
};
|
||||
|
||||
LanguagesPopupView.prototype.onHide = function ()
|
||||
{
|
||||
this.exp(false);
|
||||
this.fLang = null;
|
||||
this.sUserLanguage = '';
|
||||
this.langs([]);
|
||||
};
|
||||
|
||||
LanguagesPopupView.prototype.changeLanguage = function (sLang)
|
||||
{
|
||||
this.LanguageStore.language(sLang);
|
||||
if (this.fLang)
|
||||
{
|
||||
this.fLang(sLang);
|
||||
}
|
||||
|
||||
this.cancelCommand();
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
this.readmePopoverConf = {
|
||||
'placement': 'top',
|
||||
'trigger': 'hover',
|
||||
'title': 'About',
|
||||
'title': Translator.i18n('POPUPS_PLUGIN/TOOLTIP_ABOUT_TITLE'),
|
||||
'container': 'body',
|
||||
'content': function () {
|
||||
return self.readme();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
var
|
||||
window = require('window'),
|
||||
_ = require('_'),
|
||||
$ = require('$'),
|
||||
ko = require('ko'),
|
||||
|
||||
Enums = require('Common/Enums'),
|
||||
|
|
@ -94,6 +93,7 @@
|
|||
|
||||
this.langRequest = ko.observable(false);
|
||||
this.language = LanguageStore.language;
|
||||
this.languages = LanguageStore.languages;
|
||||
|
||||
this.bSendLanguage = false;
|
||||
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
require('App/User').loginAndLogoutReload();
|
||||
require('App/User').loginAndLogoutReload(false);
|
||||
}
|
||||
}
|
||||
else if (oData.ErrorCode)
|
||||
|
|
@ -318,11 +318,6 @@
|
|||
{
|
||||
this.emailFocus(true);
|
||||
}
|
||||
|
||||
if (Settings.settingsGet('UserLanguage'))
|
||||
{
|
||||
$.cookie('rllang', LanguageStore.language(), {'expires': 30});
|
||||
}
|
||||
};
|
||||
|
||||
LoginUserView.prototype.onHide = function ()
|
||||
|
|
@ -344,7 +339,7 @@
|
|||
if (0 === iErrorCode)
|
||||
{
|
||||
self.submitRequest(true);
|
||||
require('App/User').loginAndLogoutReload();
|
||||
require('App/User').loginAndLogoutReload(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -406,10 +401,9 @@
|
|||
|
||||
self.langRequest(true);
|
||||
|
||||
Translator.reload(sValue, function() {
|
||||
Translator.reload(false, sValue, function() {
|
||||
self.langRequest(false);
|
||||
self.bSendLanguage = true;
|
||||
$.cookie('rllang', sValue, {'expires': 30});
|
||||
}, function() {
|
||||
self.langRequest(false);
|
||||
});
|
||||
|
|
@ -427,7 +421,9 @@
|
|||
|
||||
LoginUserView.prototype.selectLanguage = function ()
|
||||
{
|
||||
kn.showScreenPopup(require('View/Popup/Languages'));
|
||||
kn.showScreenPopup(require('View/Popup/Languages'), [
|
||||
this.language, this.languages(), LanguageStore.userLanguage()
|
||||
]);
|
||||
};
|
||||
|
||||
module.exports = LoginUserView;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue