Admin Panel localization (#467)

This commit is contained in:
RainLoop Team 2015-03-28 02:06:56 +04:00
parent 470b3645e2
commit 3dac6809d1
46 changed files with 1111 additions and 561 deletions

View file

@ -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

View file

@ -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
};
});

View file

@ -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()
]);
};
/**