diff --git a/db/update20.0.sql b/db/update20.0.sql
index 421c1f8f69..6941c0bbd1 100644
--- a/db/update20.0.sql
+++ b/db/update20.0.sql
@@ -117,6 +117,8 @@ CREATE TABLE IF NOT EXISTS `zt_solution` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+REPLACE INTO `zt_space` (`id`, `name`,`k8space`,`owner`,`default`,`createdAt`) VALUES (1, 'default space', 'quickon-app', 'qadmin', 1, current_date());
+
CREATE TABLE IF NOT EXISTS `zt_session` (
`id` varchar(32) NOT NULL,
`data` mediumtext,
diff --git a/db/zentao.sql b/db/zentao.sql
index 6dfcefd083..d8c68c6bb2 100755
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -14010,6 +14010,8 @@ REPLACE INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `typ
('1','0','*','*','*','moduleName=measurement&methodName=initCrontabQueue','初始化度量队列','zentao',0,'normal','2020-07-07 14:51:48'),
('*/5','*','*','*','*','moduleName=measurement&methodName=execCrontabQueue','执行度量队列','zentao',0,'running','2020-07-10 13:10:58');
+REPLACE INTO `zt_space` (`id`, `name`,`k8space`,`owner`,`default`,`createdAt`) VALUES (1, 'default space', 'quickon-app', 'qadmin', 1, current_date());
+
-- DROP TABLE IF EXISTS `zt_pivot`;
CREATE TABLE IF NOT EXISTS `zt_pivot` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
diff --git a/module/admin/lang/menu.php b/module/admin/lang/menu.php
index a4a4273c77..6c41a5b1d6 100644
--- a/module/admin/lang/menu.php
+++ b/module/admin/lang/menu.php
@@ -190,7 +190,7 @@ $lang->admin->menuList->platform['subMenu']['setrules'] = array('link' => "{$
$lang->admin->menuList->platform['tabMenu']['plat']['backup'] = array('link' => "{$lang->backup->common}|system|browsebackup|");
$lang->admin->menuList->platform['tabMenu']['plat']['dblist'] = array('link' => "{$lang->devops->dblist}|system|dblist|");
-$lang->admin->menuList->platform['tabMenu']['plat']['domain'] = array('link' => "{$lang->devops->domain}|system|configdomain|");
+$lang->admin->menuList->platform['tabMenu']['plat']['domain'] = array('link' => "{$lang->devops->domain}|system|configdomain|", 'alias' => 'editdomain,domainview');
$lang->admin->menuList->platform['tabMenu']['plat']['oss'] = array('link' => "{$lang->devops->oss}|system|ossview|");
$lang->admin->menuList->platform['tabMenu']['menuOrder']['plat']['5'] = 'backup';
diff --git a/module/instance/lang/de.php b/module/instance/lang/de.php
new file mode 100644
index 0000000000..3940f83815
--- /dev/null
+++ b/module/instance/lang/de.php
@@ -0,0 +1,331 @@
+instance = new stdclass;
+$lang->instance->name = 'name';
+$lang->instance->appName = 'Application type';
+$lang->instance->version = 'version';
+$lang->instance->status = 'Status';
+$lang->instance->cpu = 'CPU';
+$lang->instance->mem = 'Memory';
+$lang->instance->space = 'space';
+$lang->instance->domain = 'Domain name';
+$lang->instance->visitIP = 'Access Method';
+$lang->instance->dbType = 'Database';
+$lang->instance->advanceOption = 'Advanced Options';
+$lang->instance->baseInfo = 'Basic Information';
+$lang->instance->backupAndRestore = 'Backup';
+$lang->instance->advanced = 'Advanced';
+$lang->instance->enableLDAP = 'Enable LDAP';
+$lang->instance->linkLDAP = 'Integrated LDAP';
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->customSetting = 'Custom Configuration';
+$lang->instance->upgradeToSenior = 'Upgrade to Advanced Edition';
+$lang->instance->updateDomain = 'Update Domain Name';
+$lang->instance->updateLog = 'Update Log';
+$lang->instance->start = 'Start';
+$lang->instance->restart = 'Restart';
+$lang->instance->stop = 'Close';
+$lang->instance->install = 'Install';
+$lang->instance->update = 'Update';
+$lang->instance->upgrade = 'Upgrade';
+$lang->instance->customInstall = 'Custom Install';
+$lang->instance->uninstall = 'delete';
+$lang->instance->visit = 'Visit';
+$lang->instance->editName = 'Modify Name';
+$lang->instance->cpuCore = 'Core';
+$lang->instance->scaleble = 'Application level expansion';
+$lang->instance->change = 'Modify';
+
+$lang->instance->systemLDAPInactive = 'System LDAP not enabled';
+$lang->instance->toSystemLDAP = 'Deactivate';
+
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->systemSMTPInactive = 'System SMTP not enabled';
+$lang->instance->toSystemSMTP = 'Deactivate';
+
+$lang->instance->serviceInfo = 'Service Information';
+$lang->instance->appTemplate = 'Application Template';
+$lang->instance->source = 'Source';
+$lang->instance->installBy = 'Creator';
+$lang->instance->installAt = 'Creation time';
+$lang->instance->runDuration = 'Running';
+$lang->instance->defaultAccount = 'Default User';
+$lang->instance->defaultPassword = 'Default Password';
+$lang->instance->operationLog = 'Operation Record';
+$lang->instance->installedService = 'Installed Service';
+$lang->instance->runningService = 'Running Service';
+$lang->instance->installApp = 'Install App';
+$lang->instance->cpuUsage = 'CPU usage';
+$lang->instance->memUsage = 'Memory usage';
+$lang->instance->memTotal = 'of %s';
+$lang->instance->currentMemory = 'Current Memory';
+$lang->instance->adjustMem = 'Adjust Memory';
+$lang->instance->setting = 'Setting';
+$lang->instance->saveSetting = 'Save Settings';
+$lang->instance->leftTime = 'Remaining';
+$lang->instance->switchTo = 'Upgrade to';
+$lang->instance->or = 'or';
+$lang->instance->hasRead = 'Read';
+$lang->instance->stopInstanceTips = 'You can only upgrade to the advanced version after shutting down the service!';
+
+$lang->instance->dbTypes = array();
+$lang->instance->dbTypes['sharedDB'] = 'Shared Database';
+$lang->instance->dbTypes['unsharedDB'] = 'Exclusive Database';
+
+$lang->instance->backup = new stdclass;
+$lang->instance->backup->common = 'backup';
+$lang->instance->backup->date = 'backup time';
+$lang->instance->backup->operator = 'Backup person';
+$lang->instance->backup->type = 'Backup type';
+$lang->instance->backup->backupStatus = 'Backup Status';
+$lang->instance->backup->restoreStatus = 'Rollback Status';
+$lang->instance->backup->restoreOperator = 'Rollback by';
+$lang->instance->backup->restoreTime = 'rollback time';
+$lang->instance->backup->action = 'Operation';
+$lang->instance->backup->restore = 'rollback';
+$lang->instance->backup->restoreInfo = 'Rollback Information';
+$lang->instance->backup->delete = 'Delete';
+$lang->instance->backup->rebackup = 'Retrying backup';
+$lang->instance->backup->create = 'Create backup';
+$lang->instance->backup->database = 'Database';
+$lang->instance->backup->dbType = 'Type';
+$lang->instance->backup->dbName = 'name';
+$lang->instance->backup->dbStatus = 'Status';
+$lang->instance->backup->dbSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->dbSize = 'Size';
+$lang->instance->backup->volume = 'Data volume';
+$lang->instance->backup->volName = 'name';
+$lang->instance->backup->volMountName = 'Mount directory';
+$lang->instance->backup->volStatus = 'Status';
+$lang->instance->backup->volSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->volSize = 'Size';
+$lang->instance->backup->lastRestore = 'Last rollback';
+$lang->instance->backup->restoreDate = 'Rollback time';
+$lang->instance->backup->lastBackupAt = 'Last backup time';
+$lang->instance->backup->backupBeforeRestore = 'We recommend that you backup before rolling back!';
+$lang->instance->backup->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->backup->autoBackup = 'Automatic backup';
+$lang->instance->backup->cycleDays = 'backup cycle';
+$lang->instance->backup->backupTime = 'backup time';
+$lang->instance->backup->keepDays = 'retention days';
+$lang->instance->backup->keepDayRange = 'Please enter an integer between 1 and 30';
+$lang->instance->backup->firstStartTime = '%s The first backup will be performed on %s';
+$lang->instance->backup->invalidTime = 'Invalid time';
+$lang->instance->backup->disableAutoBackup = 'Automatic backup has been turned off';
+$lang->instance->backup->keepBackupBySystem = 'The system will only delete expired automatic backup data when there is more than one backup data.';
+
+$lang->instance->backup->cycleList[1] = 'Daily';
+
+$lang->instance->backup->operators = array();
+$lang->instance->backup->operators['auto'] = 'Automatic backup';
+
+$lang->instance->backup->statusList = array();
+$lang->instance->backup->statusList['success'] = 'successful';
+$lang->instance->backup->statusList['failed'] = 'failed';
+$lang->instance->backup->statusList['pending'] = 'Waiting';
+$lang->instance->backup->statusList['processing'] = 'Backup in progress';
+$lang->instance->backup->statusList['inprogress'] = 'Backup in progress';
+$lang->instance->backup->statusList['completed'] = 'completed';
+$lang->instance->backup->statusList['executedFailed'] = 'Failed';
+$lang->instance->backup->statusList['uploading'] = 'Uploading';
+$lang->instance->backup->statusList['deleting'] = 'Deleting';
+$lang->instance->backup->statusList['uploadFailed'] = 'Upload failed';
+$lang->instance->backup->statusList['downloading'] = 'Downloading';
+$lang->instance->backup->statusList['downloadFailed'] = 'Download failed';
+
+$lang->instance->restore = new stdclass;
+$lang->instance->restore->autoRestore = 'Auto Restore';
+$lang->instance->restore->enableAutoRestore = 'Enable automatic restore';
+$lang->instance->restore->cycleDays = 'Restore cycle';
+$lang->instance->restore->restoreTime = 'Restore Time';
+$lang->instance->restore->invalidTime = 'Invalid time';
+$lang->instance->restore->disableAutoRestore = 'Automatic restore has been turned off';
+$lang->instance->restore->firstStartTime = '%s The first automatic restore will be executed on %s';
+
+$lang->instance->restore->cycleList[1] = 'Daily';
+
+$lang->instance->restore->statusList = array();
+$lang->instance->restore->statusList['pending'] = 'waiting';
+$lang->instance->restore->statusList['inprogress'] = 'In progress';
+$lang->instance->restore->statusList['completed'] = 'completed';
+$lang->instance->restore->statusList['failed'] = 'failed';
+
+$lang->instance->dbList = 'Database';
+$lang->instance->dbName = 'Name';
+$lang->instance->dbStatus = 'Status';
+$lang->instance->dbType = 'Type';
+$lang->instance->action = 'Action';
+$lang->instance->management = 'Management';
+$lang->instance->dbReady = 'Normal';
+$lang->instance->dbWaiting = 'Waiting for readiness';
+
+$lang->instance->log = new stdclass;
+$lang->instance->log->date = 'date';
+$lang->instance->log->message = 'Content';
+
+$lang->instance->actionList = array();
+$lang->instance->actionList['istall'] = '%s installed';
+$lang->instance->actionList['uninstall'] = '%s deleted';
+$lang->instance->actionList['start'] = 'Started %s';
+$lang->instance->actionList['stop'] = '%s closed';
+$lang->instance->actionList['editname'] = 'Name modified';
+$lang->instance->actionList['upgrade'] = 'upgraded %s';
+$lang->instance->actionList['backup'] = 'Backed up %s';
+$lang->instance->actionList['restore'] = 'Rolled back %s';
+$lang->instance->actionList['adjustmemory'] = 'Adjust the memory of %s to %s';
+$lang->instance->actionList['adjustreplicas'] = 'Adjust the number of replicas of %s to %s';
+$lang->instance->actionList['enableldap'] = 'LDAP enabled';
+$lang->instance->actionList['disableldap'] = 'LDAP disabled';
+$lang->instance->actionList['enablesmtp'] = 'enabled SMTP';
+$lang->instance->actionList['disablesmtp'] = 'SMTP disabled';
+$lang->instance->actionList['updatecustom'] = 'Modified custom configuration';
+$lang->instance->actionList['tosenior'] = 'Upgrade Service to Advanced Edition';
+$lang->instance->actionList['saveautobackupsettings'] = 'Modified automatic backup settings';
+$lang->instance->actionList['saveautorestoresettings'] = 'Modified automatic restore settings';
+$lang->instance->actionList['autobackup'] = 'The system has performed an automatic backup';
+$lang->instance->actionList['autorestore'] = 'The system has performed an automatic restore';
+$lang->instance->actionList['deleteexpiredbackup'] = 'The system has deleted expired automatic backups';
+
+$lang->instance->sourceList = array();
+$lang->instance->sourceList['cloud'] = 'Chancheng Public Market';
+$lang->instance->sourceList['local'] = 'Local Market';
+
+$lang->instance->channelList = array();
+$lang->instance->channelList['test'] = 'Test version';
+$lang->instance->channelList['stable'] = 'stable version';
+
+$lang->instance->statusList = array();
+$lang->instance->statusList['istallationFailure'] = 'Installation failed';
+$lang->instance->statusList['creating'] = 'Creating';
+$lang->instance->statusList['initializing'] = 'initializing';
+$lang->instance->statusList['pulling'] = 'Downloading';
+$lang->instance->statusList['startup'] = 'Starting';
+$lang->instance->statusList['starting'] = 'Starting';
+$lang->instance->statusList['running'] = 'Running';
+$lang->instance->statusList['spending'] = 'Suspending';
+$lang->instance->statusList['suspended'] = 'paused';
+$lang->instance->statusList['istalling'] = 'Installing';
+$lang->instance->statusList['uninstalling'] = 'Removing';
+$lang->instance->statusList['stopping'] = 'Closing';
+$lang->instance->statusList['stopped'] = 'Closed';
+$lang->instance->statusList['destroying'] = 'Destroying';
+$lang->instance->statusList['destroyed'] = 'Destroyed';
+$lang->instance->statusList['abnormal'] = 'Abnormal';
+$lang->instance->statusList['upgrading'] = 'Updating';
+$lang->instance->statusList['unknown'] = 'unknown';
+
+$lang->instance->htmlStatusesClass = array();
+$lang->instance->htmlStatusesClass['running'] = 'success';
+$lang->instance->htmlStatusesClass['stopped'] = 'default';
+$lang->instance->htmlStatusesClass['abnormal'] = 'danger';
+$lang->instance->htmlStatusesClass['istallationFailure'] = 'danger';
+$lang->instance->htmlStatusesClass['busy'] = "warning";
+
+$lang->instance->memOptions = array();
+$lang->instance->memOptions[128 * 1024] = '128MB';
+$lang->instance->memOptions[256 * 1024] = '256MB';
+$lang->instance->memOptions[512 * 1024] = '512MB';
+$lang->instance->memOptions[1024 * 1024] = '1GB';
+$lang->instance->memOptions[2048 * 1024] = '2GB';
+$lang->instance->memOptions[4096 * 1024] = '4GB';
+$lang->instance->memOptions[8192 * 1024] = '8GB';
+$lang->instance->memOptions[16384 * 1024] = '16GB';
+$lang->instance->memOptions[32768 * 1024] = '32GB';
+
+$lang->instance->componentFields = array();
+$lang->instance->componentFields['replicas'] = 'Number of replicas';
+$lang->instance->componentFields['cpu_limit'] = 'CPU';
+$lang->instance->componentFields['mem_limit'] = 'Memory';
+
+$lang->instance->notices = array();
+$lang->instance->notices['success'] = 'Success';
+$lang->instance->notices['fail'] = 'failed';
+$lang->instance->notices['error'] = 'error';
+$lang->instance->notices['confirmStart'] = 'Are you sure to start the application?';
+$lang->instance->notices['confirmStop'] = 'Are you sure to close this application?';
+$lang->instance->notices['confirmUninstall'] = 'Are you sure to delete this application?';
+$lang->instance->notices['startSuccess'] = 'Successfully started';
+$lang->instance->notices['startFailure'] = 'Start failed';
+$lang->instance->notices['stopSuccess'] = 'Close successfully';
+$lang->instance->notices['stopFail'] = 'Close failed';
+$lang->instance->notices['uninstallSuccess'] = 'Successfully deleted';
+$lang->instance->notices['uninstallFailure'] = 'Delete failed';
+$lang->instance->notices['iinstallSuccess'] = 'Installation successful';
+$lang->instance->notices['iinstallFailure'] = 'Installation failed';
+$lang->instance->notices['upgradeSuccess'] = 'Upgrade successful';
+$lang->instance->notices['upgradeFailure'] = 'Upgrade failed';
+$lang->instance->notices['backupSuccess'] = 'Backup task submitted';
+$lang->instance->notices['backupFailure'] = 'Backup failed';
+$lang->instance->notices['restoreSuccess'] = 'The rollback task has been submitted';
+$lang->instance->notices['restoreFailure'] = 'Rollback failed';
+$lang->instance->notices['deleteSuccess'] = 'DeleteSuccess';
+$lang->instance->notices['deleteFail'] = 'Delete failed';
+$lang->instance->notices['starting'] = 'Starting, please wait...';
+$lang->instance->notices['stopping'] = 'Closing, please wait...';
+$lang->instance->notices['istalling'] = 'Installing, please wait...';
+$lang->instance->notices['uninstalling'] = 'Deleting, please wait...';
+$lang->instance->notices['upgrading'] = 'Upgrading, please wait...';
+$lang->instance->notices['backup'] = 'Backing up, please wait...';
+$lang->instance->notices['restoring'] = 'Rolling back, please wait...';
+$lang->instance->notices['deleting'] = 'Deleting, please wait...';
+$lang->instance->notices['adjusting'] = 'Adjusting, please wait...';
+$lang->instance->notices['switching'] = 'Submitting, please wait...';
+$lang->instance->notices['setting'] = 'Submitting, please wait...';
+$lang->instance->notices['confirmInstall'] = 'Are you sure you want to install (%s)?';
+$lang->instance->notices['confirmUpgrade'] = 'Are you sure you want to upgrade to the latest version?';
+$lang->instance->notices['confirmBackup'] = 'Are you sure you want to backup?';
+$lang->instance->notices['confirmRestore'] = 'This operation will overwrite the current data with the backed up data. Are you sure you want to rollback?';
+$lang->instance->notices['confirmDelete'] = 'Are you sure you want to delete the backup data?';
+$lang->instance->notices['adjustMemory'] = 'Are you sure you want to adjust the middle memory?';
+$lang->instance->notices['switchLDAP'] = 'Modifying LDAP will restart the service. Are you sure you want to modify LDAP?';
+$lang->instance->notices['enableLDAPFailed'] = 'Enable LDAP failed';
+$lang->instance->notices['disableLDAPFailed'] = 'Disable LDAP failed';
+$lang->instance->notices['enableLDAPSuccess'] = 'Enable LDAP successfully';
+$lang->instance->notices['disableLDAPSuccess'] = 'Disable LDAP successfully';
+$lang->instance->notices['switchSMTP'] = 'Modifying SMTP will restart the service. Are you sure you want to modify SMTP?';
+$lang->instance->notices['enableSMTPFailed'] = 'Enable SMTP failed';
+$lang->instance->notices['disableSMTPFailed'] = 'Disable SMTP failed';
+$lang->instance->notices['enableSMTPSuccess'] = 'Enable SMTP successfully';
+$lang->instance->notices['disableSMTPSuccess'] = 'Disable SMTP successfully';
+$lang->instance->notices['confirmCustom'] = 'After modifying the custom configuration, the service will automatically restart to make the configuration effective.';
+$lang->instance->notices['required'] = 'cannot be empty';
+
+$lang->instance->nameChangeTo = '%s is modified to %s.';
+$lang->instance->versionChangeTo = 'Upgrade %s to %s.';
+$lang->instance->toSeniorSerial = 'Upgrade from %s to %s.';
+$lang->instance->adjustMemorySize = 'It is recommended to adjust the memory to %s.';
+$lang->instance->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->disableAutoBackup = 'Turn off automatic backup';
+
+$lang->instance->InstanceNotExists = 'Service does not exist';
+$lang->instance->capticasTooSmall = 'The number of replicas cannot be less than 1';
+$lang->instance->empty = 'Currently no service available';
+$lang->instance->noComponent = 'No component, click';
+$lang->instance->noHigherVersion = 'No higher version found!';
+$lang->instance->backupOnlyRunning = 'Only running status can be backed up';
+$lang->instance->restoreOnlyRunning = 'Only running status can be rolled back';
+$lang->instance->howToSelectDB = 'How to select';
+$lang->instance->appLifeTip = 'The application installed on the demo account has a 30 minute limit and will be automatically deleted after 30 minutes.';
+$lang->instance->serialDiff = 'View version differences';
+$lang->instance->descOfSwitchSerial = 'You are currently using%s. If you want to experience more advanced features, you can upgrade to %s.';
+$lang->instance->toSeniorAttention = 'Important reminder';
+$lang->instance->toSeniorTips = "
- After upgrading to the original version, it is not possible to revert back to the original version.
- The Enterprise and Ultimate versions are available for a free trial of 6 months after installation.
- After upgrading from the Open Source version to the Enterprise or Ultimate versions, the trial period can support up to 3 users,Please check the number of open source users. Exceeding the limit will render it unusable
";
+
+$lang->instance->errors = new stdclass;
+$lang->instance->errors->domainLength = 'The domain name length must be between 2 and 20 characters';
+$lang->instance->errors->domainExists = 'The domain name is already in use, please use a different domain name.';
+$lang->instance->errors->wrongDomainCharacter = 'Domain name can only be lowercase English alphabet and numbers';
+$lang->instance->errors->noAppInfo = 'Failed to obtain application data, please try again later.';
+$lang->instance->errors->notEnoughResource = 'Insufficient cluster resources';
+$lang->instance->errors->notEnoughMemory = "The '%s' application requires %s memory, currently available memory is %s, and %s is still needed. Please expand memory resources or remove other services and try again";
+$lang->instance->errors->restoreRunning = 'The current rollback is in progress, please wait for the current rollback to complete.';
+$lang->instance->errors->noBackup = 'No backup data,';
+$lang->instance->errors->wrongRequestData = 'The submitted data is incorrect. Please refresh the page and try again.';
+$lang->instance->errors->noDBList = 'No database or inaccessible';
+$lang->instance->errors->notFoundDB = 'The database cannot be found';
+$lang->instance->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->instance->errors->faultToAdjustMemory = 'Failed to adjust memory';
+$lang->instance->errors->switchLDAPFailed = 'Modifying LDAP settings failed';
+$lang->instance->errors->switchSMTPFailed = 'Modifying SMTP settings failed';
+$lang->instance->errors->updateCustomimFailed = 'Modifying custom configuration failed';
+$lang->instance->errors->FailToSenior = 'Upgrade to Advanced version failed';
+$lang->instance->errors->failedToUpdateDomain = 'Failed to update domain name';
diff --git a/module/instance/lang/en.php b/module/instance/lang/en.php
new file mode 100644
index 0000000000..3940f83815
--- /dev/null
+++ b/module/instance/lang/en.php
@@ -0,0 +1,331 @@
+instance = new stdclass;
+$lang->instance->name = 'name';
+$lang->instance->appName = 'Application type';
+$lang->instance->version = 'version';
+$lang->instance->status = 'Status';
+$lang->instance->cpu = 'CPU';
+$lang->instance->mem = 'Memory';
+$lang->instance->space = 'space';
+$lang->instance->domain = 'Domain name';
+$lang->instance->visitIP = 'Access Method';
+$lang->instance->dbType = 'Database';
+$lang->instance->advanceOption = 'Advanced Options';
+$lang->instance->baseInfo = 'Basic Information';
+$lang->instance->backupAndRestore = 'Backup';
+$lang->instance->advanced = 'Advanced';
+$lang->instance->enableLDAP = 'Enable LDAP';
+$lang->instance->linkLDAP = 'Integrated LDAP';
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->customSetting = 'Custom Configuration';
+$lang->instance->upgradeToSenior = 'Upgrade to Advanced Edition';
+$lang->instance->updateDomain = 'Update Domain Name';
+$lang->instance->updateLog = 'Update Log';
+$lang->instance->start = 'Start';
+$lang->instance->restart = 'Restart';
+$lang->instance->stop = 'Close';
+$lang->instance->install = 'Install';
+$lang->instance->update = 'Update';
+$lang->instance->upgrade = 'Upgrade';
+$lang->instance->customInstall = 'Custom Install';
+$lang->instance->uninstall = 'delete';
+$lang->instance->visit = 'Visit';
+$lang->instance->editName = 'Modify Name';
+$lang->instance->cpuCore = 'Core';
+$lang->instance->scaleble = 'Application level expansion';
+$lang->instance->change = 'Modify';
+
+$lang->instance->systemLDAPInactive = 'System LDAP not enabled';
+$lang->instance->toSystemLDAP = 'Deactivate';
+
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->systemSMTPInactive = 'System SMTP not enabled';
+$lang->instance->toSystemSMTP = 'Deactivate';
+
+$lang->instance->serviceInfo = 'Service Information';
+$lang->instance->appTemplate = 'Application Template';
+$lang->instance->source = 'Source';
+$lang->instance->installBy = 'Creator';
+$lang->instance->installAt = 'Creation time';
+$lang->instance->runDuration = 'Running';
+$lang->instance->defaultAccount = 'Default User';
+$lang->instance->defaultPassword = 'Default Password';
+$lang->instance->operationLog = 'Operation Record';
+$lang->instance->installedService = 'Installed Service';
+$lang->instance->runningService = 'Running Service';
+$lang->instance->installApp = 'Install App';
+$lang->instance->cpuUsage = 'CPU usage';
+$lang->instance->memUsage = 'Memory usage';
+$lang->instance->memTotal = 'of %s';
+$lang->instance->currentMemory = 'Current Memory';
+$lang->instance->adjustMem = 'Adjust Memory';
+$lang->instance->setting = 'Setting';
+$lang->instance->saveSetting = 'Save Settings';
+$lang->instance->leftTime = 'Remaining';
+$lang->instance->switchTo = 'Upgrade to';
+$lang->instance->or = 'or';
+$lang->instance->hasRead = 'Read';
+$lang->instance->stopInstanceTips = 'You can only upgrade to the advanced version after shutting down the service!';
+
+$lang->instance->dbTypes = array();
+$lang->instance->dbTypes['sharedDB'] = 'Shared Database';
+$lang->instance->dbTypes['unsharedDB'] = 'Exclusive Database';
+
+$lang->instance->backup = new stdclass;
+$lang->instance->backup->common = 'backup';
+$lang->instance->backup->date = 'backup time';
+$lang->instance->backup->operator = 'Backup person';
+$lang->instance->backup->type = 'Backup type';
+$lang->instance->backup->backupStatus = 'Backup Status';
+$lang->instance->backup->restoreStatus = 'Rollback Status';
+$lang->instance->backup->restoreOperator = 'Rollback by';
+$lang->instance->backup->restoreTime = 'rollback time';
+$lang->instance->backup->action = 'Operation';
+$lang->instance->backup->restore = 'rollback';
+$lang->instance->backup->restoreInfo = 'Rollback Information';
+$lang->instance->backup->delete = 'Delete';
+$lang->instance->backup->rebackup = 'Retrying backup';
+$lang->instance->backup->create = 'Create backup';
+$lang->instance->backup->database = 'Database';
+$lang->instance->backup->dbType = 'Type';
+$lang->instance->backup->dbName = 'name';
+$lang->instance->backup->dbStatus = 'Status';
+$lang->instance->backup->dbSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->dbSize = 'Size';
+$lang->instance->backup->volume = 'Data volume';
+$lang->instance->backup->volName = 'name';
+$lang->instance->backup->volMountName = 'Mount directory';
+$lang->instance->backup->volStatus = 'Status';
+$lang->instance->backup->volSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->volSize = 'Size';
+$lang->instance->backup->lastRestore = 'Last rollback';
+$lang->instance->backup->restoreDate = 'Rollback time';
+$lang->instance->backup->lastBackupAt = 'Last backup time';
+$lang->instance->backup->backupBeforeRestore = 'We recommend that you backup before rolling back!';
+$lang->instance->backup->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->backup->autoBackup = 'Automatic backup';
+$lang->instance->backup->cycleDays = 'backup cycle';
+$lang->instance->backup->backupTime = 'backup time';
+$lang->instance->backup->keepDays = 'retention days';
+$lang->instance->backup->keepDayRange = 'Please enter an integer between 1 and 30';
+$lang->instance->backup->firstStartTime = '%s The first backup will be performed on %s';
+$lang->instance->backup->invalidTime = 'Invalid time';
+$lang->instance->backup->disableAutoBackup = 'Automatic backup has been turned off';
+$lang->instance->backup->keepBackupBySystem = 'The system will only delete expired automatic backup data when there is more than one backup data.';
+
+$lang->instance->backup->cycleList[1] = 'Daily';
+
+$lang->instance->backup->operators = array();
+$lang->instance->backup->operators['auto'] = 'Automatic backup';
+
+$lang->instance->backup->statusList = array();
+$lang->instance->backup->statusList['success'] = 'successful';
+$lang->instance->backup->statusList['failed'] = 'failed';
+$lang->instance->backup->statusList['pending'] = 'Waiting';
+$lang->instance->backup->statusList['processing'] = 'Backup in progress';
+$lang->instance->backup->statusList['inprogress'] = 'Backup in progress';
+$lang->instance->backup->statusList['completed'] = 'completed';
+$lang->instance->backup->statusList['executedFailed'] = 'Failed';
+$lang->instance->backup->statusList['uploading'] = 'Uploading';
+$lang->instance->backup->statusList['deleting'] = 'Deleting';
+$lang->instance->backup->statusList['uploadFailed'] = 'Upload failed';
+$lang->instance->backup->statusList['downloading'] = 'Downloading';
+$lang->instance->backup->statusList['downloadFailed'] = 'Download failed';
+
+$lang->instance->restore = new stdclass;
+$lang->instance->restore->autoRestore = 'Auto Restore';
+$lang->instance->restore->enableAutoRestore = 'Enable automatic restore';
+$lang->instance->restore->cycleDays = 'Restore cycle';
+$lang->instance->restore->restoreTime = 'Restore Time';
+$lang->instance->restore->invalidTime = 'Invalid time';
+$lang->instance->restore->disableAutoRestore = 'Automatic restore has been turned off';
+$lang->instance->restore->firstStartTime = '%s The first automatic restore will be executed on %s';
+
+$lang->instance->restore->cycleList[1] = 'Daily';
+
+$lang->instance->restore->statusList = array();
+$lang->instance->restore->statusList['pending'] = 'waiting';
+$lang->instance->restore->statusList['inprogress'] = 'In progress';
+$lang->instance->restore->statusList['completed'] = 'completed';
+$lang->instance->restore->statusList['failed'] = 'failed';
+
+$lang->instance->dbList = 'Database';
+$lang->instance->dbName = 'Name';
+$lang->instance->dbStatus = 'Status';
+$lang->instance->dbType = 'Type';
+$lang->instance->action = 'Action';
+$lang->instance->management = 'Management';
+$lang->instance->dbReady = 'Normal';
+$lang->instance->dbWaiting = 'Waiting for readiness';
+
+$lang->instance->log = new stdclass;
+$lang->instance->log->date = 'date';
+$lang->instance->log->message = 'Content';
+
+$lang->instance->actionList = array();
+$lang->instance->actionList['istall'] = '%s installed';
+$lang->instance->actionList['uninstall'] = '%s deleted';
+$lang->instance->actionList['start'] = 'Started %s';
+$lang->instance->actionList['stop'] = '%s closed';
+$lang->instance->actionList['editname'] = 'Name modified';
+$lang->instance->actionList['upgrade'] = 'upgraded %s';
+$lang->instance->actionList['backup'] = 'Backed up %s';
+$lang->instance->actionList['restore'] = 'Rolled back %s';
+$lang->instance->actionList['adjustmemory'] = 'Adjust the memory of %s to %s';
+$lang->instance->actionList['adjustreplicas'] = 'Adjust the number of replicas of %s to %s';
+$lang->instance->actionList['enableldap'] = 'LDAP enabled';
+$lang->instance->actionList['disableldap'] = 'LDAP disabled';
+$lang->instance->actionList['enablesmtp'] = 'enabled SMTP';
+$lang->instance->actionList['disablesmtp'] = 'SMTP disabled';
+$lang->instance->actionList['updatecustom'] = 'Modified custom configuration';
+$lang->instance->actionList['tosenior'] = 'Upgrade Service to Advanced Edition';
+$lang->instance->actionList['saveautobackupsettings'] = 'Modified automatic backup settings';
+$lang->instance->actionList['saveautorestoresettings'] = 'Modified automatic restore settings';
+$lang->instance->actionList['autobackup'] = 'The system has performed an automatic backup';
+$lang->instance->actionList['autorestore'] = 'The system has performed an automatic restore';
+$lang->instance->actionList['deleteexpiredbackup'] = 'The system has deleted expired automatic backups';
+
+$lang->instance->sourceList = array();
+$lang->instance->sourceList['cloud'] = 'Chancheng Public Market';
+$lang->instance->sourceList['local'] = 'Local Market';
+
+$lang->instance->channelList = array();
+$lang->instance->channelList['test'] = 'Test version';
+$lang->instance->channelList['stable'] = 'stable version';
+
+$lang->instance->statusList = array();
+$lang->instance->statusList['istallationFailure'] = 'Installation failed';
+$lang->instance->statusList['creating'] = 'Creating';
+$lang->instance->statusList['initializing'] = 'initializing';
+$lang->instance->statusList['pulling'] = 'Downloading';
+$lang->instance->statusList['startup'] = 'Starting';
+$lang->instance->statusList['starting'] = 'Starting';
+$lang->instance->statusList['running'] = 'Running';
+$lang->instance->statusList['spending'] = 'Suspending';
+$lang->instance->statusList['suspended'] = 'paused';
+$lang->instance->statusList['istalling'] = 'Installing';
+$lang->instance->statusList['uninstalling'] = 'Removing';
+$lang->instance->statusList['stopping'] = 'Closing';
+$lang->instance->statusList['stopped'] = 'Closed';
+$lang->instance->statusList['destroying'] = 'Destroying';
+$lang->instance->statusList['destroyed'] = 'Destroyed';
+$lang->instance->statusList['abnormal'] = 'Abnormal';
+$lang->instance->statusList['upgrading'] = 'Updating';
+$lang->instance->statusList['unknown'] = 'unknown';
+
+$lang->instance->htmlStatusesClass = array();
+$lang->instance->htmlStatusesClass['running'] = 'success';
+$lang->instance->htmlStatusesClass['stopped'] = 'default';
+$lang->instance->htmlStatusesClass['abnormal'] = 'danger';
+$lang->instance->htmlStatusesClass['istallationFailure'] = 'danger';
+$lang->instance->htmlStatusesClass['busy'] = "warning";
+
+$lang->instance->memOptions = array();
+$lang->instance->memOptions[128 * 1024] = '128MB';
+$lang->instance->memOptions[256 * 1024] = '256MB';
+$lang->instance->memOptions[512 * 1024] = '512MB';
+$lang->instance->memOptions[1024 * 1024] = '1GB';
+$lang->instance->memOptions[2048 * 1024] = '2GB';
+$lang->instance->memOptions[4096 * 1024] = '4GB';
+$lang->instance->memOptions[8192 * 1024] = '8GB';
+$lang->instance->memOptions[16384 * 1024] = '16GB';
+$lang->instance->memOptions[32768 * 1024] = '32GB';
+
+$lang->instance->componentFields = array();
+$lang->instance->componentFields['replicas'] = 'Number of replicas';
+$lang->instance->componentFields['cpu_limit'] = 'CPU';
+$lang->instance->componentFields['mem_limit'] = 'Memory';
+
+$lang->instance->notices = array();
+$lang->instance->notices['success'] = 'Success';
+$lang->instance->notices['fail'] = 'failed';
+$lang->instance->notices['error'] = 'error';
+$lang->instance->notices['confirmStart'] = 'Are you sure to start the application?';
+$lang->instance->notices['confirmStop'] = 'Are you sure to close this application?';
+$lang->instance->notices['confirmUninstall'] = 'Are you sure to delete this application?';
+$lang->instance->notices['startSuccess'] = 'Successfully started';
+$lang->instance->notices['startFailure'] = 'Start failed';
+$lang->instance->notices['stopSuccess'] = 'Close successfully';
+$lang->instance->notices['stopFail'] = 'Close failed';
+$lang->instance->notices['uninstallSuccess'] = 'Successfully deleted';
+$lang->instance->notices['uninstallFailure'] = 'Delete failed';
+$lang->instance->notices['iinstallSuccess'] = 'Installation successful';
+$lang->instance->notices['iinstallFailure'] = 'Installation failed';
+$lang->instance->notices['upgradeSuccess'] = 'Upgrade successful';
+$lang->instance->notices['upgradeFailure'] = 'Upgrade failed';
+$lang->instance->notices['backupSuccess'] = 'Backup task submitted';
+$lang->instance->notices['backupFailure'] = 'Backup failed';
+$lang->instance->notices['restoreSuccess'] = 'The rollback task has been submitted';
+$lang->instance->notices['restoreFailure'] = 'Rollback failed';
+$lang->instance->notices['deleteSuccess'] = 'DeleteSuccess';
+$lang->instance->notices['deleteFail'] = 'Delete failed';
+$lang->instance->notices['starting'] = 'Starting, please wait...';
+$lang->instance->notices['stopping'] = 'Closing, please wait...';
+$lang->instance->notices['istalling'] = 'Installing, please wait...';
+$lang->instance->notices['uninstalling'] = 'Deleting, please wait...';
+$lang->instance->notices['upgrading'] = 'Upgrading, please wait...';
+$lang->instance->notices['backup'] = 'Backing up, please wait...';
+$lang->instance->notices['restoring'] = 'Rolling back, please wait...';
+$lang->instance->notices['deleting'] = 'Deleting, please wait...';
+$lang->instance->notices['adjusting'] = 'Adjusting, please wait...';
+$lang->instance->notices['switching'] = 'Submitting, please wait...';
+$lang->instance->notices['setting'] = 'Submitting, please wait...';
+$lang->instance->notices['confirmInstall'] = 'Are you sure you want to install (%s)?';
+$lang->instance->notices['confirmUpgrade'] = 'Are you sure you want to upgrade to the latest version?';
+$lang->instance->notices['confirmBackup'] = 'Are you sure you want to backup?';
+$lang->instance->notices['confirmRestore'] = 'This operation will overwrite the current data with the backed up data. Are you sure you want to rollback?';
+$lang->instance->notices['confirmDelete'] = 'Are you sure you want to delete the backup data?';
+$lang->instance->notices['adjustMemory'] = 'Are you sure you want to adjust the middle memory?';
+$lang->instance->notices['switchLDAP'] = 'Modifying LDAP will restart the service. Are you sure you want to modify LDAP?';
+$lang->instance->notices['enableLDAPFailed'] = 'Enable LDAP failed';
+$lang->instance->notices['disableLDAPFailed'] = 'Disable LDAP failed';
+$lang->instance->notices['enableLDAPSuccess'] = 'Enable LDAP successfully';
+$lang->instance->notices['disableLDAPSuccess'] = 'Disable LDAP successfully';
+$lang->instance->notices['switchSMTP'] = 'Modifying SMTP will restart the service. Are you sure you want to modify SMTP?';
+$lang->instance->notices['enableSMTPFailed'] = 'Enable SMTP failed';
+$lang->instance->notices['disableSMTPFailed'] = 'Disable SMTP failed';
+$lang->instance->notices['enableSMTPSuccess'] = 'Enable SMTP successfully';
+$lang->instance->notices['disableSMTPSuccess'] = 'Disable SMTP successfully';
+$lang->instance->notices['confirmCustom'] = 'After modifying the custom configuration, the service will automatically restart to make the configuration effective.';
+$lang->instance->notices['required'] = 'cannot be empty';
+
+$lang->instance->nameChangeTo = '%s is modified to %s.';
+$lang->instance->versionChangeTo = 'Upgrade %s to %s.';
+$lang->instance->toSeniorSerial = 'Upgrade from %s to %s.';
+$lang->instance->adjustMemorySize = 'It is recommended to adjust the memory to %s.';
+$lang->instance->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->disableAutoBackup = 'Turn off automatic backup';
+
+$lang->instance->InstanceNotExists = 'Service does not exist';
+$lang->instance->capticasTooSmall = 'The number of replicas cannot be less than 1';
+$lang->instance->empty = 'Currently no service available';
+$lang->instance->noComponent = 'No component, click';
+$lang->instance->noHigherVersion = 'No higher version found!';
+$lang->instance->backupOnlyRunning = 'Only running status can be backed up';
+$lang->instance->restoreOnlyRunning = 'Only running status can be rolled back';
+$lang->instance->howToSelectDB = 'How to select';
+$lang->instance->appLifeTip = 'The application installed on the demo account has a 30 minute limit and will be automatically deleted after 30 minutes.';
+$lang->instance->serialDiff = 'View version differences';
+$lang->instance->descOfSwitchSerial = 'You are currently using%s. If you want to experience more advanced features, you can upgrade to %s.';
+$lang->instance->toSeniorAttention = 'Important reminder';
+$lang->instance->toSeniorTips = "- After upgrading to the original version, it is not possible to revert back to the original version.
- The Enterprise and Ultimate versions are available for a free trial of 6 months after installation.
- After upgrading from the Open Source version to the Enterprise or Ultimate versions, the trial period can support up to 3 users,Please check the number of open source users. Exceeding the limit will render it unusable
";
+
+$lang->instance->errors = new stdclass;
+$lang->instance->errors->domainLength = 'The domain name length must be between 2 and 20 characters';
+$lang->instance->errors->domainExists = 'The domain name is already in use, please use a different domain name.';
+$lang->instance->errors->wrongDomainCharacter = 'Domain name can only be lowercase English alphabet and numbers';
+$lang->instance->errors->noAppInfo = 'Failed to obtain application data, please try again later.';
+$lang->instance->errors->notEnoughResource = 'Insufficient cluster resources';
+$lang->instance->errors->notEnoughMemory = "The '%s' application requires %s memory, currently available memory is %s, and %s is still needed. Please expand memory resources or remove other services and try again";
+$lang->instance->errors->restoreRunning = 'The current rollback is in progress, please wait for the current rollback to complete.';
+$lang->instance->errors->noBackup = 'No backup data,';
+$lang->instance->errors->wrongRequestData = 'The submitted data is incorrect. Please refresh the page and try again.';
+$lang->instance->errors->noDBList = 'No database or inaccessible';
+$lang->instance->errors->notFoundDB = 'The database cannot be found';
+$lang->instance->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->instance->errors->faultToAdjustMemory = 'Failed to adjust memory';
+$lang->instance->errors->switchLDAPFailed = 'Modifying LDAP settings failed';
+$lang->instance->errors->switchSMTPFailed = 'Modifying SMTP settings failed';
+$lang->instance->errors->updateCustomimFailed = 'Modifying custom configuration failed';
+$lang->instance->errors->FailToSenior = 'Upgrade to Advanced version failed';
+$lang->instance->errors->failedToUpdateDomain = 'Failed to update domain name';
diff --git a/module/instance/lang/fr.php b/module/instance/lang/fr.php
new file mode 100644
index 0000000000..3940f83815
--- /dev/null
+++ b/module/instance/lang/fr.php
@@ -0,0 +1,331 @@
+instance = new stdclass;
+$lang->instance->name = 'name';
+$lang->instance->appName = 'Application type';
+$lang->instance->version = 'version';
+$lang->instance->status = 'Status';
+$lang->instance->cpu = 'CPU';
+$lang->instance->mem = 'Memory';
+$lang->instance->space = 'space';
+$lang->instance->domain = 'Domain name';
+$lang->instance->visitIP = 'Access Method';
+$lang->instance->dbType = 'Database';
+$lang->instance->advanceOption = 'Advanced Options';
+$lang->instance->baseInfo = 'Basic Information';
+$lang->instance->backupAndRestore = 'Backup';
+$lang->instance->advanced = 'Advanced';
+$lang->instance->enableLDAP = 'Enable LDAP';
+$lang->instance->linkLDAP = 'Integrated LDAP';
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->customSetting = 'Custom Configuration';
+$lang->instance->upgradeToSenior = 'Upgrade to Advanced Edition';
+$lang->instance->updateDomain = 'Update Domain Name';
+$lang->instance->updateLog = 'Update Log';
+$lang->instance->start = 'Start';
+$lang->instance->restart = 'Restart';
+$lang->instance->stop = 'Close';
+$lang->instance->install = 'Install';
+$lang->instance->update = 'Update';
+$lang->instance->upgrade = 'Upgrade';
+$lang->instance->customInstall = 'Custom Install';
+$lang->instance->uninstall = 'delete';
+$lang->instance->visit = 'Visit';
+$lang->instance->editName = 'Modify Name';
+$lang->instance->cpuCore = 'Core';
+$lang->instance->scaleble = 'Application level expansion';
+$lang->instance->change = 'Modify';
+
+$lang->instance->systemLDAPInactive = 'System LDAP not enabled';
+$lang->instance->toSystemLDAP = 'Deactivate';
+
+$lang->instance->enableSMTP = 'Enable SMTP';
+$lang->instance->systemSMTPInactive = 'System SMTP not enabled';
+$lang->instance->toSystemSMTP = 'Deactivate';
+
+$lang->instance->serviceInfo = 'Service Information';
+$lang->instance->appTemplate = 'Application Template';
+$lang->instance->source = 'Source';
+$lang->instance->installBy = 'Creator';
+$lang->instance->installAt = 'Creation time';
+$lang->instance->runDuration = 'Running';
+$lang->instance->defaultAccount = 'Default User';
+$lang->instance->defaultPassword = 'Default Password';
+$lang->instance->operationLog = 'Operation Record';
+$lang->instance->installedService = 'Installed Service';
+$lang->instance->runningService = 'Running Service';
+$lang->instance->installApp = 'Install App';
+$lang->instance->cpuUsage = 'CPU usage';
+$lang->instance->memUsage = 'Memory usage';
+$lang->instance->memTotal = 'of %s';
+$lang->instance->currentMemory = 'Current Memory';
+$lang->instance->adjustMem = 'Adjust Memory';
+$lang->instance->setting = 'Setting';
+$lang->instance->saveSetting = 'Save Settings';
+$lang->instance->leftTime = 'Remaining';
+$lang->instance->switchTo = 'Upgrade to';
+$lang->instance->or = 'or';
+$lang->instance->hasRead = 'Read';
+$lang->instance->stopInstanceTips = 'You can only upgrade to the advanced version after shutting down the service!';
+
+$lang->instance->dbTypes = array();
+$lang->instance->dbTypes['sharedDB'] = 'Shared Database';
+$lang->instance->dbTypes['unsharedDB'] = 'Exclusive Database';
+
+$lang->instance->backup = new stdclass;
+$lang->instance->backup->common = 'backup';
+$lang->instance->backup->date = 'backup time';
+$lang->instance->backup->operator = 'Backup person';
+$lang->instance->backup->type = 'Backup type';
+$lang->instance->backup->backupStatus = 'Backup Status';
+$lang->instance->backup->restoreStatus = 'Rollback Status';
+$lang->instance->backup->restoreOperator = 'Rollback by';
+$lang->instance->backup->restoreTime = 'rollback time';
+$lang->instance->backup->action = 'Operation';
+$lang->instance->backup->restore = 'rollback';
+$lang->instance->backup->restoreInfo = 'Rollback Information';
+$lang->instance->backup->delete = 'Delete';
+$lang->instance->backup->rebackup = 'Retrying backup';
+$lang->instance->backup->create = 'Create backup';
+$lang->instance->backup->database = 'Database';
+$lang->instance->backup->dbType = 'Type';
+$lang->instance->backup->dbName = 'name';
+$lang->instance->backup->dbStatus = 'Status';
+$lang->instance->backup->dbSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->dbSize = 'Size';
+$lang->instance->backup->volume = 'Data volume';
+$lang->instance->backup->volName = 'name';
+$lang->instance->backup->volMountName = 'Mount directory';
+$lang->instance->backup->volStatus = 'Status';
+$lang->instance->backup->volSpentSeconds = 'Time taken (seconds)';
+$lang->instance->backup->volSize = 'Size';
+$lang->instance->backup->lastRestore = 'Last rollback';
+$lang->instance->backup->restoreDate = 'Rollback time';
+$lang->instance->backup->lastBackupAt = 'Last backup time';
+$lang->instance->backup->backupBeforeRestore = 'We recommend that you backup before rolling back!';
+$lang->instance->backup->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->backup->autoBackup = 'Automatic backup';
+$lang->instance->backup->cycleDays = 'backup cycle';
+$lang->instance->backup->backupTime = 'backup time';
+$lang->instance->backup->keepDays = 'retention days';
+$lang->instance->backup->keepDayRange = 'Please enter an integer between 1 and 30';
+$lang->instance->backup->firstStartTime = '%s The first backup will be performed on %s';
+$lang->instance->backup->invalidTime = 'Invalid time';
+$lang->instance->backup->disableAutoBackup = 'Automatic backup has been turned off';
+$lang->instance->backup->keepBackupBySystem = 'The system will only delete expired automatic backup data when there is more than one backup data.';
+
+$lang->instance->backup->cycleList[1] = 'Daily';
+
+$lang->instance->backup->operators = array();
+$lang->instance->backup->operators['auto'] = 'Automatic backup';
+
+$lang->instance->backup->statusList = array();
+$lang->instance->backup->statusList['success'] = 'successful';
+$lang->instance->backup->statusList['failed'] = 'failed';
+$lang->instance->backup->statusList['pending'] = 'Waiting';
+$lang->instance->backup->statusList['processing'] = 'Backup in progress';
+$lang->instance->backup->statusList['inprogress'] = 'Backup in progress';
+$lang->instance->backup->statusList['completed'] = 'completed';
+$lang->instance->backup->statusList['executedFailed'] = 'Failed';
+$lang->instance->backup->statusList['uploading'] = 'Uploading';
+$lang->instance->backup->statusList['deleting'] = 'Deleting';
+$lang->instance->backup->statusList['uploadFailed'] = 'Upload failed';
+$lang->instance->backup->statusList['downloading'] = 'Downloading';
+$lang->instance->backup->statusList['downloadFailed'] = 'Download failed';
+
+$lang->instance->restore = new stdclass;
+$lang->instance->restore->autoRestore = 'Auto Restore';
+$lang->instance->restore->enableAutoRestore = 'Enable automatic restore';
+$lang->instance->restore->cycleDays = 'Restore cycle';
+$lang->instance->restore->restoreTime = 'Restore Time';
+$lang->instance->restore->invalidTime = 'Invalid time';
+$lang->instance->restore->disableAutoRestore = 'Automatic restore has been turned off';
+$lang->instance->restore->firstStartTime = '%s The first automatic restore will be executed on %s';
+
+$lang->instance->restore->cycleList[1] = 'Daily';
+
+$lang->instance->restore->statusList = array();
+$lang->instance->restore->statusList['pending'] = 'waiting';
+$lang->instance->restore->statusList['inprogress'] = 'In progress';
+$lang->instance->restore->statusList['completed'] = 'completed';
+$lang->instance->restore->statusList['failed'] = 'failed';
+
+$lang->instance->dbList = 'Database';
+$lang->instance->dbName = 'Name';
+$lang->instance->dbStatus = 'Status';
+$lang->instance->dbType = 'Type';
+$lang->instance->action = 'Action';
+$lang->instance->management = 'Management';
+$lang->instance->dbReady = 'Normal';
+$lang->instance->dbWaiting = 'Waiting for readiness';
+
+$lang->instance->log = new stdclass;
+$lang->instance->log->date = 'date';
+$lang->instance->log->message = 'Content';
+
+$lang->instance->actionList = array();
+$lang->instance->actionList['istall'] = '%s installed';
+$lang->instance->actionList['uninstall'] = '%s deleted';
+$lang->instance->actionList['start'] = 'Started %s';
+$lang->instance->actionList['stop'] = '%s closed';
+$lang->instance->actionList['editname'] = 'Name modified';
+$lang->instance->actionList['upgrade'] = 'upgraded %s';
+$lang->instance->actionList['backup'] = 'Backed up %s';
+$lang->instance->actionList['restore'] = 'Rolled back %s';
+$lang->instance->actionList['adjustmemory'] = 'Adjust the memory of %s to %s';
+$lang->instance->actionList['adjustreplicas'] = 'Adjust the number of replicas of %s to %s';
+$lang->instance->actionList['enableldap'] = 'LDAP enabled';
+$lang->instance->actionList['disableldap'] = 'LDAP disabled';
+$lang->instance->actionList['enablesmtp'] = 'enabled SMTP';
+$lang->instance->actionList['disablesmtp'] = 'SMTP disabled';
+$lang->instance->actionList['updatecustom'] = 'Modified custom configuration';
+$lang->instance->actionList['tosenior'] = 'Upgrade Service to Advanced Edition';
+$lang->instance->actionList['saveautobackupsettings'] = 'Modified automatic backup settings';
+$lang->instance->actionList['saveautorestoresettings'] = 'Modified automatic restore settings';
+$lang->instance->actionList['autobackup'] = 'The system has performed an automatic backup';
+$lang->instance->actionList['autorestore'] = 'The system has performed an automatic restore';
+$lang->instance->actionList['deleteexpiredbackup'] = 'The system has deleted expired automatic backups';
+
+$lang->instance->sourceList = array();
+$lang->instance->sourceList['cloud'] = 'Chancheng Public Market';
+$lang->instance->sourceList['local'] = 'Local Market';
+
+$lang->instance->channelList = array();
+$lang->instance->channelList['test'] = 'Test version';
+$lang->instance->channelList['stable'] = 'stable version';
+
+$lang->instance->statusList = array();
+$lang->instance->statusList['istallationFailure'] = 'Installation failed';
+$lang->instance->statusList['creating'] = 'Creating';
+$lang->instance->statusList['initializing'] = 'initializing';
+$lang->instance->statusList['pulling'] = 'Downloading';
+$lang->instance->statusList['startup'] = 'Starting';
+$lang->instance->statusList['starting'] = 'Starting';
+$lang->instance->statusList['running'] = 'Running';
+$lang->instance->statusList['spending'] = 'Suspending';
+$lang->instance->statusList['suspended'] = 'paused';
+$lang->instance->statusList['istalling'] = 'Installing';
+$lang->instance->statusList['uninstalling'] = 'Removing';
+$lang->instance->statusList['stopping'] = 'Closing';
+$lang->instance->statusList['stopped'] = 'Closed';
+$lang->instance->statusList['destroying'] = 'Destroying';
+$lang->instance->statusList['destroyed'] = 'Destroyed';
+$lang->instance->statusList['abnormal'] = 'Abnormal';
+$lang->instance->statusList['upgrading'] = 'Updating';
+$lang->instance->statusList['unknown'] = 'unknown';
+
+$lang->instance->htmlStatusesClass = array();
+$lang->instance->htmlStatusesClass['running'] = 'success';
+$lang->instance->htmlStatusesClass['stopped'] = 'default';
+$lang->instance->htmlStatusesClass['abnormal'] = 'danger';
+$lang->instance->htmlStatusesClass['istallationFailure'] = 'danger';
+$lang->instance->htmlStatusesClass['busy'] = "warning";
+
+$lang->instance->memOptions = array();
+$lang->instance->memOptions[128 * 1024] = '128MB';
+$lang->instance->memOptions[256 * 1024] = '256MB';
+$lang->instance->memOptions[512 * 1024] = '512MB';
+$lang->instance->memOptions[1024 * 1024] = '1GB';
+$lang->instance->memOptions[2048 * 1024] = '2GB';
+$lang->instance->memOptions[4096 * 1024] = '4GB';
+$lang->instance->memOptions[8192 * 1024] = '8GB';
+$lang->instance->memOptions[16384 * 1024] = '16GB';
+$lang->instance->memOptions[32768 * 1024] = '32GB';
+
+$lang->instance->componentFields = array();
+$lang->instance->componentFields['replicas'] = 'Number of replicas';
+$lang->instance->componentFields['cpu_limit'] = 'CPU';
+$lang->instance->componentFields['mem_limit'] = 'Memory';
+
+$lang->instance->notices = array();
+$lang->instance->notices['success'] = 'Success';
+$lang->instance->notices['fail'] = 'failed';
+$lang->instance->notices['error'] = 'error';
+$lang->instance->notices['confirmStart'] = 'Are you sure to start the application?';
+$lang->instance->notices['confirmStop'] = 'Are you sure to close this application?';
+$lang->instance->notices['confirmUninstall'] = 'Are you sure to delete this application?';
+$lang->instance->notices['startSuccess'] = 'Successfully started';
+$lang->instance->notices['startFailure'] = 'Start failed';
+$lang->instance->notices['stopSuccess'] = 'Close successfully';
+$lang->instance->notices['stopFail'] = 'Close failed';
+$lang->instance->notices['uninstallSuccess'] = 'Successfully deleted';
+$lang->instance->notices['uninstallFailure'] = 'Delete failed';
+$lang->instance->notices['iinstallSuccess'] = 'Installation successful';
+$lang->instance->notices['iinstallFailure'] = 'Installation failed';
+$lang->instance->notices['upgradeSuccess'] = 'Upgrade successful';
+$lang->instance->notices['upgradeFailure'] = 'Upgrade failed';
+$lang->instance->notices['backupSuccess'] = 'Backup task submitted';
+$lang->instance->notices['backupFailure'] = 'Backup failed';
+$lang->instance->notices['restoreSuccess'] = 'The rollback task has been submitted';
+$lang->instance->notices['restoreFailure'] = 'Rollback failed';
+$lang->instance->notices['deleteSuccess'] = 'DeleteSuccess';
+$lang->instance->notices['deleteFail'] = 'Delete failed';
+$lang->instance->notices['starting'] = 'Starting, please wait...';
+$lang->instance->notices['stopping'] = 'Closing, please wait...';
+$lang->instance->notices['istalling'] = 'Installing, please wait...';
+$lang->instance->notices['uninstalling'] = 'Deleting, please wait...';
+$lang->instance->notices['upgrading'] = 'Upgrading, please wait...';
+$lang->instance->notices['backup'] = 'Backing up, please wait...';
+$lang->instance->notices['restoring'] = 'Rolling back, please wait...';
+$lang->instance->notices['deleting'] = 'Deleting, please wait...';
+$lang->instance->notices['adjusting'] = 'Adjusting, please wait...';
+$lang->instance->notices['switching'] = 'Submitting, please wait...';
+$lang->instance->notices['setting'] = 'Submitting, please wait...';
+$lang->instance->notices['confirmInstall'] = 'Are you sure you want to install (%s)?';
+$lang->instance->notices['confirmUpgrade'] = 'Are you sure you want to upgrade to the latest version?';
+$lang->instance->notices['confirmBackup'] = 'Are you sure you want to backup?';
+$lang->instance->notices['confirmRestore'] = 'This operation will overwrite the current data with the backed up data. Are you sure you want to rollback?';
+$lang->instance->notices['confirmDelete'] = 'Are you sure you want to delete the backup data?';
+$lang->instance->notices['adjustMemory'] = 'Are you sure you want to adjust the middle memory?';
+$lang->instance->notices['switchLDAP'] = 'Modifying LDAP will restart the service. Are you sure you want to modify LDAP?';
+$lang->instance->notices['enableLDAPFailed'] = 'Enable LDAP failed';
+$lang->instance->notices['disableLDAPFailed'] = 'Disable LDAP failed';
+$lang->instance->notices['enableLDAPSuccess'] = 'Enable LDAP successfully';
+$lang->instance->notices['disableLDAPSuccess'] = 'Disable LDAP successfully';
+$lang->instance->notices['switchSMTP'] = 'Modifying SMTP will restart the service. Are you sure you want to modify SMTP?';
+$lang->instance->notices['enableSMTPFailed'] = 'Enable SMTP failed';
+$lang->instance->notices['disableSMTPFailed'] = 'Disable SMTP failed';
+$lang->instance->notices['enableSMTPSuccess'] = 'Enable SMTP successfully';
+$lang->instance->notices['disableSMTPSuccess'] = 'Disable SMTP successfully';
+$lang->instance->notices['confirmCustom'] = 'After modifying the custom configuration, the service will automatically restart to make the configuration effective.';
+$lang->instance->notices['required'] = 'cannot be empty';
+
+$lang->instance->nameChangeTo = '%s is modified to %s.';
+$lang->instance->versionChangeTo = 'Upgrade %s to %s.';
+$lang->instance->toSeniorSerial = 'Upgrade from %s to %s.';
+$lang->instance->adjustMemorySize = 'It is recommended to adjust the memory to %s.';
+$lang->instance->enableAutoBackup = 'Enable automatic backup';
+$lang->instance->disableAutoBackup = 'Turn off automatic backup';
+
+$lang->instance->InstanceNotExists = 'Service does not exist';
+$lang->instance->capticasTooSmall = 'The number of replicas cannot be less than 1';
+$lang->instance->empty = 'Currently no service available';
+$lang->instance->noComponent = 'No component, click';
+$lang->instance->noHigherVersion = 'No higher version found!';
+$lang->instance->backupOnlyRunning = 'Only running status can be backed up';
+$lang->instance->restoreOnlyRunning = 'Only running status can be rolled back';
+$lang->instance->howToSelectDB = 'How to select';
+$lang->instance->appLifeTip = 'The application installed on the demo account has a 30 minute limit and will be automatically deleted after 30 minutes.';
+$lang->instance->serialDiff = 'View version differences';
+$lang->instance->descOfSwitchSerial = 'You are currently using%s. If you want to experience more advanced features, you can upgrade to %s.';
+$lang->instance->toSeniorAttention = 'Important reminder';
+$lang->instance->toSeniorTips = "- After upgrading to the original version, it is not possible to revert back to the original version.
- The Enterprise and Ultimate versions are available for a free trial of 6 months after installation.
- After upgrading from the Open Source version to the Enterprise or Ultimate versions, the trial period can support up to 3 users,Please check the number of open source users. Exceeding the limit will render it unusable
";
+
+$lang->instance->errors = new stdclass;
+$lang->instance->errors->domainLength = 'The domain name length must be between 2 and 20 characters';
+$lang->instance->errors->domainExists = 'The domain name is already in use, please use a different domain name.';
+$lang->instance->errors->wrongDomainCharacter = 'Domain name can only be lowercase English alphabet and numbers';
+$lang->instance->errors->noAppInfo = 'Failed to obtain application data, please try again later.';
+$lang->instance->errors->notEnoughResource = 'Insufficient cluster resources';
+$lang->instance->errors->notEnoughMemory = "The '%s' application requires %s memory, currently available memory is %s, and %s is still needed. Please expand memory resources or remove other services and try again";
+$lang->instance->errors->restoreRunning = 'The current rollback is in progress, please wait for the current rollback to complete.';
+$lang->instance->errors->noBackup = 'No backup data,';
+$lang->instance->errors->wrongRequestData = 'The submitted data is incorrect. Please refresh the page and try again.';
+$lang->instance->errors->noDBList = 'No database or inaccessible';
+$lang->instance->errors->notFoundDB = 'The database cannot be found';
+$lang->instance->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->instance->errors->faultToAdjustMemory = 'Failed to adjust memory';
+$lang->instance->errors->switchLDAPFailed = 'Modifying LDAP settings failed';
+$lang->instance->errors->switchSMTPFailed = 'Modifying SMTP settings failed';
+$lang->instance->errors->updateCustomimFailed = 'Modifying custom configuration failed';
+$lang->instance->errors->FailToSenior = 'Upgrade to Advanced version failed';
+$lang->instance->errors->failedToUpdateDomain = 'Failed to update domain name';
diff --git a/module/repo/js/import.ui.js b/module/repo/js/import.ui.js
index abbc524d72..482b81eb05 100644
--- a/module/repo/js/import.ui.js
+++ b/module/repo/js/import.ui.js
@@ -27,7 +27,6 @@ function checkItem()
function selectServer(event)
{
var server = $(event.target).val();
- console.log(server);
if(server) loadPage($.createLink('repo', 'import', 'server=' + server));
}
@@ -36,11 +35,12 @@ function loadProductProjects(event)
const $target = $(event.target);
const $currentRow = $target.closest('tr');
const products = $target.val();
- const projects = $currentRow.find('.form-batch-input[data-name="projects"]');
+ const projects = $currentRow.find('div.picker-box[data-name="projects"]');
const projectIds = $(projects).val();
$.post($.createLink('repo', 'ajaxProjectsOfProducts'), {products : products, projects: projectIds, number : 1}, function(response)
{
- $(projects).html(response);
+ var items = JSON.parse(response);
+ $(projects).zui('picker').render({items: items});
});
}
diff --git a/module/repo/lang/en.php b/module/repo/lang/en.php
index b05c72fb1c..e83de6c58e 100644
--- a/module/repo/lang/en.php
+++ b/module/repo/lang/en.php
@@ -240,3 +240,5 @@ $lang->repo->typeList['performance'] = 'Performance';
$lang->repo->typeList['security'] = 'Security';
$lang->repo->typeList['redundancy'] = 'Redundancy';
$lang->repo->typeList['logicError'] = 'Logic Error';
+
+$lang->repo->featureBar['maintain']['all'] = 'All';
diff --git a/module/system/config/dtable.php b/module/system/config/dtable.php
index 6a1d9c9d77..d1b47252f1 100644
--- a/module/system/config/dtable.php
+++ b/module/system/config/dtable.php
@@ -1,6 +1,7 @@
loadLang('instance');
+$app->loadLang('backup');
$config->system->dtable = new stdclass();
@@ -27,7 +28,7 @@ $config->system->dtable->dbList->fieldList['actions']['list']['management']['hin
$config->system->dtable->backup = new stdclass();
-$config->system->dtable->backup->fieldList['time']['title'] = $lang->system->backup->time;
+$config->system->dtable->backup->fieldList['time']['title'] = $lang->backup->time;
$config->system->dtable->backup->fieldList['time']['type'] = 'datetime';
$config->system->dtable->backup->fieldList['backupPerson']['title'] = $lang->system->backup->backupPerson;
@@ -40,7 +41,7 @@ $config->system->dtable->backup->fieldList['actions']['type'] = 'actions';
$config->system->dtable->backup->fieldList['actions']['menu'] = array('restore', 'delete');
$config->system->dtable->backup->fieldList['actions']['list']['restore']['icon'] = 'history';
-$config->system->dtable->backup->fieldList['actions']['list']['restore']['hint'] = $lang->system->backup->restore;
+$config->system->dtable->backup->fieldList['actions']['list']['restore']['hint'] = $lang->backup->restore;
$config->system->dtable->backup->fieldList['actions']['list']['restore']['url'] = array('module' => 'backup', 'method' => 'restore', 'params' => 'time={time}');
$config->system->dtable->backup->fieldList['actions']['list']['restore']['data-confirm'] = $lang->system->backup->confirmDelete;
diff --git a/module/system/control.php b/module/system/control.php
index 99a824eca3..9ffe0cb106 100644
--- a/module/system/control.php
+++ b/module/system/control.php
@@ -429,7 +429,7 @@ class system extends control
{
$domainSettings = $this->system->getDomainSettings();
if($domainSettings->customDomain) $this->locate($this->inLink('domainView'));
- if($domainSettings->customDomain) return print(js::locate($this->inLink('domainView')));
+ $this->locate($this->inLink('editDomain'));
}
/**
diff --git a/module/system/lang/de.php b/module/system/lang/de.php
new file mode 100644
index 0000000000..9901ec3342
--- /dev/null
+++ b/module/system/lang/de.php
@@ -0,0 +1,247 @@
+system->dashboard = 'Dashboard';
+$lang->system->systemInfo = 'System information';
+$lang->system->dbManagement = 'Database management';
+$lang->system->ldapManagement = 'LDAP';
+$lang->system->dbList = 'Database list';
+$lang->system->dbName = 'Name';
+$lang->system->dbStatus = 'Status';
+$lang->system->dbType = 'Type';
+$lang->system->action = 'Action';
+$lang->system->management = 'Management';
+$lang->system->visit = 'Visit';
+$lang->system->close = 'Close';
+$lang->system->installLDAP = 'Install LDAP';
+$lang->system->editLDAP = 'Edit';
+$lang->system->LDAPInfo = 'LDAP information';
+$lang->system->accountInfo = 'Account information';
+$lang->system->advance = 'Senior';
+$lang->system->verify = 'Check';
+$lang->system->copy = 'Copy';
+$lang->system->copySuccess = 'Copied to clipboard';
+$lang->system->cneStatus = 'Platform status';
+$lang->system->cneStatistic = 'Resource statistics';
+$lang->system->latestDynamic = 'Latest News';
+$lang->system->nodeQuantity = 'Nodes';
+$lang->system->serviceQuantity = 'Number of services';
+$lang->system->cpuUsage = 'CPU(Core)';
+$lang->system->memUsage = 'Memory(GB)';
+
+/* LDAP */
+$lang->system->LDAP = new stdclass;
+$lang->system->LDAP->info = 'LDAP infomation';
+$lang->system->LDAP->ldapEnabled = 'Enable LDAP';
+$lang->system->LDAP->ldapQucheng = 'Built in Qucheng';
+$lang->system->LDAP->ldapSource = 'Source';
+$lang->system->LDAP->ldapInstall = 'Install and Enable';
+$lang->system->LDAP->ldapUpdate = 'Update';
+$lang->system->LDAP->accountInfo = 'Account info';
+$lang->system->LDAP->account = 'Account';
+$lang->system->LDAP->password = 'Password';
+$lang->system->LDAP->ldapUsername = 'Username';
+$lang->system->LDAP->ldapName = 'Name';
+$lang->system->LDAP->host = 'Host';
+$lang->system->LDAP->port = 'Port';
+$lang->system->LDAP->ldapRoot = 'Root node';
+$lang->system->LDAP->filterUser = 'User filtering';
+$lang->system->LDAP->email = 'Mail Fields';
+$lang->system->LDAP->extraAccount = 'Account Field';
+$lang->system->LDAP->ldapAdvance = 'Advanced setting';
+$lang->system->LDAP->updateLDAP = 'Update LDAP';
+$lang->system->LDAP->updateInstance = 'Update services associated with LDAP';
+$lang->system->LDAP->updatingProgress = 'Updating %s services remaining.';
+
+$lang->system->ldapTypeList = array();
+$lang->system->ldapTypeList['qucheng'] = 'Built in Qucheng';
+$lang->system->ldapTypeList['extra'] = 'External mapping';
+
+/* OSS */
+$lang->system->oss = new stdclass;
+$lang->system->oss->common = 'Object Storage';
+$lang->system->oss->appURL = 'Application address';
+$lang->system->oss->user = 'User name';
+$lang->system->oss->password = 'Password';
+$lang->system->oss->manage = 'Manage';
+$lang->system->oss->apiURL = 'API address';
+$lang->system->oss->accessKey = 'Access Key';
+$lang->system->oss->secretKey = 'Secret Key';
+
+/* SMTP */
+$lang->system->SMTP = new stdclass;
+$lang->system->SMTP->common = 'Mailbox configuration';
+$lang->system->SMTP->enabled = 'Enable SMTP';
+$lang->system->SMTP->install = 'Install';
+$lang->system->SMTP->update = 'Update';
+$lang->system->SMTP->edit = 'Edit';
+$lang->system->SMTP->editSMTP = 'Edit SMTP';
+$lang->system->SMTP->account = 'Sending email';
+$lang->system->SMTP->password = 'Password';
+$lang->system->SMTP->host = 'SMTP Server';
+$lang->system->SMTP->port = 'SMTP Port';
+$lang->system->SMTP->save = 'Save';
+
+/* Domain */
+$lang->system->customDomain = 'New domain name';
+$lang->system->certPem = 'Public-key certificate';
+$lang->system->certKey = 'Private-key';
+
+$lang->system->domain = new stdclass;
+$lang->system->domain->common = 'Domain management';
+$lang->system->domain->editDomain = 'Modifying Domain name Configuration';
+$lang->system->domain->config = 'Configure domain name and certificate';
+$lang->system->domain->currentDomain = 'Current domain name';
+$lang->system->domain->oldDomain = 'Old domain name';
+$lang->system->domain->newDomain = 'New domain name';
+$lang->system->domain->expiredDate = 'Certificate expiration time';
+$lang->system->domain->uploadCert = 'Upload certificate (only supports pan domain name certificate)';
+
+$lang->system->domain->notReuseOldDomain = 'The default domain name cannot be changed back after using the custom domain name';
+$lang->system->domain->setDNS = 'It is recommended to perform DNS resolution before modifying the domain name,';
+$lang->system->domain->dnsHelperLink = 'Click to view the help document';
+$lang->system->domain->updateInstancesDomain = 'Update the domain name of the installed service';
+$lang->system->domain->totalOldDomain = 'A total of %s.';
+$lang->system->domain->updatingProgress = 'Updating, %s remaining,';
+$lang->system->domain->updating = 'Updating';
+
+$lang->system->SLB = new stdclass;
+$lang->system->SLB->common = 'Load Balance';
+$lang->system->SLB->config = 'Configure load balancing';
+$lang->system->SLB->edit = 'Modify load balancing';
+$lang->system->SLB->ipPool = 'IP segment';
+$lang->system->SLB->ipPoolExample = 'Example: 192.168.10.0/24 or 192.168.10.0-192.168.10.100';
+$lang->system->SLB->installing = 'Configuring load balancing';
+$lang->system->SLB->leftSeconds = 'Expected Remaining';
+$lang->system->SLB->second = 'Second';
+
+$lang->system->notices = new stdclass;
+$lang->system->notices->success = 'Success';
+$lang->system->notices->fail = 'Fail';
+$lang->system->notices->attention = 'Attention';
+$lang->system->notices->noLDAP = 'Unable to find LDAP configuration data';
+$lang->system->notices->ldapUsed = '%s services have been associated with LDAP';
+$lang->system->notices->ldapInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->ldapUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->confirmUpdateLDAP = 'After modifying LDAP, it will automatically update and restart the associated services. Are you sure you want to modify it?';
+$lang->system->notices->verifyLDAPSuccess = 'Verifying LDAP successfully!';
+$lang->system->notices->fillAllRequiredFields = 'Please fill in all required items!';
+$lang->system->notices->smtpInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->smtpUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->smtpWhiteList = "To prevent emails from being blocked, please set the sender's email address as a whitelist in the email server";
+$lang->system->notices->smtpAuthCode = 'Some email addresses require separate authorization codes to be filled out. Please refer to the relevant email settings for specific inquiries';
+$lang->system->notices->smtpUsed = '%s services are associated with SMTP';
+$lang->system->notices->verifySMTPSuccess = 'Verification successful!';
+$lang->system->notices->pleaseCheckSMTPInfo = 'Verification failed! Please check if the username and password are correct';
+$lang->system->notices->confirmUpdateDomain = 'After modifying the domain name, the domain name of the installed service will be automatically updated. Are you sure you want to modify it?';
+$lang->system->notices->updateDomainSuccess = 'The domain name was successfully modified.';
+$lang->system->notices->configSLBSuccess = 'Successfully configured load balancing.';
+$lang->system->notices->validCert = 'Verification successful';
+
+$lang->system->errors = new stdclass;
+$lang->system->errors->notFoundDB = 'The database cannot be found';
+$lang->system->errors->notFoundLDAP = 'Unable to find LDAP data';
+$lang->system->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->system->errors->notSupportedLDAP = 'Currently, this type of LDAP is not supported';
+$lang->system->errors->failToInstallLDAP = 'Installation of built-in LDAP failed';
+$lang->system->errors->failToInstallExtraLDAP = 'Failed to connect to external LDAP';
+$lang->system->errors->failToUpdateExtraLDAP = 'Failed to update external LDAP';
+$lang->system->errors->failToUninstallQuChengLDAP = 'Failed to uninstall channel into internal LDAP';
+$lang->system->errors->failToUninstallExtraLDAP = 'Uninstalling external LDAP failed';
+$lang->system->errors->failToDeleteLDAPSnippet = 'Failed to delete LDAP fragment';
+$lang->system->errors->verifyLDAPFailed = 'Verify LDAP failed';
+$lang->system->errors->LDAPLinked = 'A service has already been associated with LDAP';
+$lang->system->errors->SMTPLinked = 'A service has already been associated with an SMTP service';
+$lang->system->errors->failGetOssAccount = 'Failed to obtain the Object storage account';
+$lang->system->errors->failToInstallSMTP = 'Failed to install SMTP';
+$lang->system->errors->failToUninstallSMTP = 'Uninstalling SMTP failed';
+$lang->system->errors->failToUpdateSMTP = 'Failed to update SMTP';
+$lang->system->errors->verifySMTPFailed = 'Verify SMTP failed';
+$lang->system->errors->notFoundSMTPApp = 'Unable to find SMTP proxy application';
+$lang->system->errors->notFoundSMTPService = 'Unable to find SMTP proxy service';
+$lang->system->errors->domainIsRequired = 'Domain name must be filled in';
+$lang->system->errors->invalidDomain = 'Invalid domain name or formatting error. The domain name only allows Minuscule, numbers, dots (.) and middle horizontal lines (-)';
+$lang->system->errors->failToUpdateDomain = 'Failed to update domain name';
+$lang->system->errors->forbiddenOriginalDomain = 'Cannot be modified as the platform default domain name';
+$lang->system->errors->newDomainIsSameWithOld = 'The new domain name cannot be the same as the original domain name';
+$lang->system->errors->failedToConfigSLB = 'Configuration load balancing failed';
+$lang->system->errors->wrongIPRange = 'IP segment format error, please refer to the example format' . $lang->system->SLB->ipPoolExample;
+$lang->system->errors->ippoolRequired = 'IP segment cannot be empty';
+$lang->system->errors->failedToInstallSLBComponent = 'Failed to install load balancing component';
+$lang->system->errors->tryReinstallSLB = 'The installation of load balancing components timed out, please try again.';
+
+$lang->system->backup = new stdclass();
+$lang->system->backup->common = 'System backup';
+$lang->system->backup->shortCommon = 'Backup';
+$lang->system->backup->systemInfo = 'System Information';
+$lang->system->backup->index = 'Backup homepage';
+$lang->system->backup->history = 'Backup records';
+$lang->system->backup->delete = 'Delete backup';
+$lang->system->backup->backup = 'Backup';
+$lang->system->backup->change = 'Retention time';
+$lang->system->backup->changeAB = 'modify';
+$lang->system->backup->rmPHPHeader = 'Remove security settings';
+$lang->system->backup->setting = 'Setting';
+$lang->system->backup->backupPerson = 'Backup person';
+$lang->system->backup->type = 'Backup type';
+
+$lang->system->backup->settingAction = 'Backup Settings';
+
+$lang->system->backup->name = 'Name';
+$lang->system->backup->currentVersion = 'Current version';
+$lang->system->backup->latestVersion = 'Latest Version';
+
+$lang->system->backup->files = 'Backup files';
+$lang->system->backup->allCount = 'Total number of files';
+$lang->system->backup->count = 'Number of backup files';
+$lang->system->backup->size = 'size';
+$lang->system->backup->status = 'Status';
+$lang->system->backup->running = 'Running';
+$lang->system->backup->done = 'Done';
+
+$lang->system->backup->backupName = 'Backup name:';
+$lang->system->backup->backupSql = 'Backup database:';
+$lang->system->backup->backupFile = 'Backup attachment:';
+$lang->system->backup->restoreImage = 'Rollback platform image:';
+$lang->system->backup->restoreSQL = 'Rollback database:';
+$lang->system->backup->restoreFile = 'Rollback attachment:';
+$lang->system->backup->checkService = 'Check Service:';
+
+$lang->system->backup->upgrade = 'Upgrade';
+$lang->system->backup->rollback = 'Rollback';
+$lang->system->backup->restart = 'Restart';
+$lang->system->backup->delete = 'Delte';
+
+$lang->system->backup->restoreProgress['doing'] = 'Doing';
+$lang->system->backup->restoreProgress['done'] = 'Done';
+
+$lang->system->backup->typeList['manual'] = 'Manual backup';
+$lang->system->backup->typeList['upgrade'] = 'Automatic backup before upgrade';
+$lang->system->backup->typeList['restore'] = 'Automatic backup before rollback';
+
+$lang->system->backup->waitting = 'In progress,please wait...';
+$lang->system->backup->progressSQL = 'In backup,%s has been backed up';
+$lang->system->backup->progressAttach = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->progressCode = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->confirmDelete = 'Do you want to delte the backup';
+$lang->system->backup->confirmRestore = 'Please confirm whether to roallback?';
+$lang->system->backup->holdDays = 'Backup has been retained for the last %s days';
+$lang->system->backup->copiedFail = 'Files that failed to copy:';
+$lang->system->backup->restoreTip = 'The restore function only restores the database.';
+$lang->system->backup->versionInfo = 'Click to view the new version introduction';
+$lang->system->backup->confirmUpgrade = 'Please confirm whether to upgrade the channel to a platform?';
+$lang->system->backup->upgrading = 'Upgrading';
+$lang->system->backup->backupTitle = 'Backing up the channel platform...';
+$lang->system->backup->restoreTitle = 'Rolling back the channel platform...';
+$lang->system->backup->backingUp = 'In progress';
+$lang->system->backup->restoring = 'In progress';
+
+$lang->system->backup->success = new stdclass();
+$lang->system->backup->success->upgrade = 'Upgrade successful!';
+$lang->system->backup->success->degrade = 'Successfully downgraded!';
+
+$lang->system->backup->error = new stdclass();
+
+$lang->system->backup->error->upgradeFail = "Upgrade failed!";
+$lang->system->backup->error->upgradeOvertime = "Upgrade timed out!";
+$lang->system->backup->error->degradeFail = "Downgrade failed!";
+$lang->system->backup->error->beenLatestVersion = "It is already the latest version, no upgrade required!";
+$lang->system->backup->error->requireVersion = "Version number must be uploaded!";
diff --git a/module/system/lang/en.php b/module/system/lang/en.php
new file mode 100644
index 0000000000..9901ec3342
--- /dev/null
+++ b/module/system/lang/en.php
@@ -0,0 +1,247 @@
+system->dashboard = 'Dashboard';
+$lang->system->systemInfo = 'System information';
+$lang->system->dbManagement = 'Database management';
+$lang->system->ldapManagement = 'LDAP';
+$lang->system->dbList = 'Database list';
+$lang->system->dbName = 'Name';
+$lang->system->dbStatus = 'Status';
+$lang->system->dbType = 'Type';
+$lang->system->action = 'Action';
+$lang->system->management = 'Management';
+$lang->system->visit = 'Visit';
+$lang->system->close = 'Close';
+$lang->system->installLDAP = 'Install LDAP';
+$lang->system->editLDAP = 'Edit';
+$lang->system->LDAPInfo = 'LDAP information';
+$lang->system->accountInfo = 'Account information';
+$lang->system->advance = 'Senior';
+$lang->system->verify = 'Check';
+$lang->system->copy = 'Copy';
+$lang->system->copySuccess = 'Copied to clipboard';
+$lang->system->cneStatus = 'Platform status';
+$lang->system->cneStatistic = 'Resource statistics';
+$lang->system->latestDynamic = 'Latest News';
+$lang->system->nodeQuantity = 'Nodes';
+$lang->system->serviceQuantity = 'Number of services';
+$lang->system->cpuUsage = 'CPU(Core)';
+$lang->system->memUsage = 'Memory(GB)';
+
+/* LDAP */
+$lang->system->LDAP = new stdclass;
+$lang->system->LDAP->info = 'LDAP infomation';
+$lang->system->LDAP->ldapEnabled = 'Enable LDAP';
+$lang->system->LDAP->ldapQucheng = 'Built in Qucheng';
+$lang->system->LDAP->ldapSource = 'Source';
+$lang->system->LDAP->ldapInstall = 'Install and Enable';
+$lang->system->LDAP->ldapUpdate = 'Update';
+$lang->system->LDAP->accountInfo = 'Account info';
+$lang->system->LDAP->account = 'Account';
+$lang->system->LDAP->password = 'Password';
+$lang->system->LDAP->ldapUsername = 'Username';
+$lang->system->LDAP->ldapName = 'Name';
+$lang->system->LDAP->host = 'Host';
+$lang->system->LDAP->port = 'Port';
+$lang->system->LDAP->ldapRoot = 'Root node';
+$lang->system->LDAP->filterUser = 'User filtering';
+$lang->system->LDAP->email = 'Mail Fields';
+$lang->system->LDAP->extraAccount = 'Account Field';
+$lang->system->LDAP->ldapAdvance = 'Advanced setting';
+$lang->system->LDAP->updateLDAP = 'Update LDAP';
+$lang->system->LDAP->updateInstance = 'Update services associated with LDAP';
+$lang->system->LDAP->updatingProgress = 'Updating %s services remaining.';
+
+$lang->system->ldapTypeList = array();
+$lang->system->ldapTypeList['qucheng'] = 'Built in Qucheng';
+$lang->system->ldapTypeList['extra'] = 'External mapping';
+
+/* OSS */
+$lang->system->oss = new stdclass;
+$lang->system->oss->common = 'Object Storage';
+$lang->system->oss->appURL = 'Application address';
+$lang->system->oss->user = 'User name';
+$lang->system->oss->password = 'Password';
+$lang->system->oss->manage = 'Manage';
+$lang->system->oss->apiURL = 'API address';
+$lang->system->oss->accessKey = 'Access Key';
+$lang->system->oss->secretKey = 'Secret Key';
+
+/* SMTP */
+$lang->system->SMTP = new stdclass;
+$lang->system->SMTP->common = 'Mailbox configuration';
+$lang->system->SMTP->enabled = 'Enable SMTP';
+$lang->system->SMTP->install = 'Install';
+$lang->system->SMTP->update = 'Update';
+$lang->system->SMTP->edit = 'Edit';
+$lang->system->SMTP->editSMTP = 'Edit SMTP';
+$lang->system->SMTP->account = 'Sending email';
+$lang->system->SMTP->password = 'Password';
+$lang->system->SMTP->host = 'SMTP Server';
+$lang->system->SMTP->port = 'SMTP Port';
+$lang->system->SMTP->save = 'Save';
+
+/* Domain */
+$lang->system->customDomain = 'New domain name';
+$lang->system->certPem = 'Public-key certificate';
+$lang->system->certKey = 'Private-key';
+
+$lang->system->domain = new stdclass;
+$lang->system->domain->common = 'Domain management';
+$lang->system->domain->editDomain = 'Modifying Domain name Configuration';
+$lang->system->domain->config = 'Configure domain name and certificate';
+$lang->system->domain->currentDomain = 'Current domain name';
+$lang->system->domain->oldDomain = 'Old domain name';
+$lang->system->domain->newDomain = 'New domain name';
+$lang->system->domain->expiredDate = 'Certificate expiration time';
+$lang->system->domain->uploadCert = 'Upload certificate (only supports pan domain name certificate)';
+
+$lang->system->domain->notReuseOldDomain = 'The default domain name cannot be changed back after using the custom domain name';
+$lang->system->domain->setDNS = 'It is recommended to perform DNS resolution before modifying the domain name,';
+$lang->system->domain->dnsHelperLink = 'Click to view the help document';
+$lang->system->domain->updateInstancesDomain = 'Update the domain name of the installed service';
+$lang->system->domain->totalOldDomain = 'A total of %s.';
+$lang->system->domain->updatingProgress = 'Updating, %s remaining,';
+$lang->system->domain->updating = 'Updating';
+
+$lang->system->SLB = new stdclass;
+$lang->system->SLB->common = 'Load Balance';
+$lang->system->SLB->config = 'Configure load balancing';
+$lang->system->SLB->edit = 'Modify load balancing';
+$lang->system->SLB->ipPool = 'IP segment';
+$lang->system->SLB->ipPoolExample = 'Example: 192.168.10.0/24 or 192.168.10.0-192.168.10.100';
+$lang->system->SLB->installing = 'Configuring load balancing';
+$lang->system->SLB->leftSeconds = 'Expected Remaining';
+$lang->system->SLB->second = 'Second';
+
+$lang->system->notices = new stdclass;
+$lang->system->notices->success = 'Success';
+$lang->system->notices->fail = 'Fail';
+$lang->system->notices->attention = 'Attention';
+$lang->system->notices->noLDAP = 'Unable to find LDAP configuration data';
+$lang->system->notices->ldapUsed = '%s services have been associated with LDAP';
+$lang->system->notices->ldapInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->ldapUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->confirmUpdateLDAP = 'After modifying LDAP, it will automatically update and restart the associated services. Are you sure you want to modify it?';
+$lang->system->notices->verifyLDAPSuccess = 'Verifying LDAP successfully!';
+$lang->system->notices->fillAllRequiredFields = 'Please fill in all required items!';
+$lang->system->notices->smtpInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->smtpUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->smtpWhiteList = "To prevent emails from being blocked, please set the sender's email address as a whitelist in the email server";
+$lang->system->notices->smtpAuthCode = 'Some email addresses require separate authorization codes to be filled out. Please refer to the relevant email settings for specific inquiries';
+$lang->system->notices->smtpUsed = '%s services are associated with SMTP';
+$lang->system->notices->verifySMTPSuccess = 'Verification successful!';
+$lang->system->notices->pleaseCheckSMTPInfo = 'Verification failed! Please check if the username and password are correct';
+$lang->system->notices->confirmUpdateDomain = 'After modifying the domain name, the domain name of the installed service will be automatically updated. Are you sure you want to modify it?';
+$lang->system->notices->updateDomainSuccess = 'The domain name was successfully modified.';
+$lang->system->notices->configSLBSuccess = 'Successfully configured load balancing.';
+$lang->system->notices->validCert = 'Verification successful';
+
+$lang->system->errors = new stdclass;
+$lang->system->errors->notFoundDB = 'The database cannot be found';
+$lang->system->errors->notFoundLDAP = 'Unable to find LDAP data';
+$lang->system->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->system->errors->notSupportedLDAP = 'Currently, this type of LDAP is not supported';
+$lang->system->errors->failToInstallLDAP = 'Installation of built-in LDAP failed';
+$lang->system->errors->failToInstallExtraLDAP = 'Failed to connect to external LDAP';
+$lang->system->errors->failToUpdateExtraLDAP = 'Failed to update external LDAP';
+$lang->system->errors->failToUninstallQuChengLDAP = 'Failed to uninstall channel into internal LDAP';
+$lang->system->errors->failToUninstallExtraLDAP = 'Uninstalling external LDAP failed';
+$lang->system->errors->failToDeleteLDAPSnippet = 'Failed to delete LDAP fragment';
+$lang->system->errors->verifyLDAPFailed = 'Verify LDAP failed';
+$lang->system->errors->LDAPLinked = 'A service has already been associated with LDAP';
+$lang->system->errors->SMTPLinked = 'A service has already been associated with an SMTP service';
+$lang->system->errors->failGetOssAccount = 'Failed to obtain the Object storage account';
+$lang->system->errors->failToInstallSMTP = 'Failed to install SMTP';
+$lang->system->errors->failToUninstallSMTP = 'Uninstalling SMTP failed';
+$lang->system->errors->failToUpdateSMTP = 'Failed to update SMTP';
+$lang->system->errors->verifySMTPFailed = 'Verify SMTP failed';
+$lang->system->errors->notFoundSMTPApp = 'Unable to find SMTP proxy application';
+$lang->system->errors->notFoundSMTPService = 'Unable to find SMTP proxy service';
+$lang->system->errors->domainIsRequired = 'Domain name must be filled in';
+$lang->system->errors->invalidDomain = 'Invalid domain name or formatting error. The domain name only allows Minuscule, numbers, dots (.) and middle horizontal lines (-)';
+$lang->system->errors->failToUpdateDomain = 'Failed to update domain name';
+$lang->system->errors->forbiddenOriginalDomain = 'Cannot be modified as the platform default domain name';
+$lang->system->errors->newDomainIsSameWithOld = 'The new domain name cannot be the same as the original domain name';
+$lang->system->errors->failedToConfigSLB = 'Configuration load balancing failed';
+$lang->system->errors->wrongIPRange = 'IP segment format error, please refer to the example format' . $lang->system->SLB->ipPoolExample;
+$lang->system->errors->ippoolRequired = 'IP segment cannot be empty';
+$lang->system->errors->failedToInstallSLBComponent = 'Failed to install load balancing component';
+$lang->system->errors->tryReinstallSLB = 'The installation of load balancing components timed out, please try again.';
+
+$lang->system->backup = new stdclass();
+$lang->system->backup->common = 'System backup';
+$lang->system->backup->shortCommon = 'Backup';
+$lang->system->backup->systemInfo = 'System Information';
+$lang->system->backup->index = 'Backup homepage';
+$lang->system->backup->history = 'Backup records';
+$lang->system->backup->delete = 'Delete backup';
+$lang->system->backup->backup = 'Backup';
+$lang->system->backup->change = 'Retention time';
+$lang->system->backup->changeAB = 'modify';
+$lang->system->backup->rmPHPHeader = 'Remove security settings';
+$lang->system->backup->setting = 'Setting';
+$lang->system->backup->backupPerson = 'Backup person';
+$lang->system->backup->type = 'Backup type';
+
+$lang->system->backup->settingAction = 'Backup Settings';
+
+$lang->system->backup->name = 'Name';
+$lang->system->backup->currentVersion = 'Current version';
+$lang->system->backup->latestVersion = 'Latest Version';
+
+$lang->system->backup->files = 'Backup files';
+$lang->system->backup->allCount = 'Total number of files';
+$lang->system->backup->count = 'Number of backup files';
+$lang->system->backup->size = 'size';
+$lang->system->backup->status = 'Status';
+$lang->system->backup->running = 'Running';
+$lang->system->backup->done = 'Done';
+
+$lang->system->backup->backupName = 'Backup name:';
+$lang->system->backup->backupSql = 'Backup database:';
+$lang->system->backup->backupFile = 'Backup attachment:';
+$lang->system->backup->restoreImage = 'Rollback platform image:';
+$lang->system->backup->restoreSQL = 'Rollback database:';
+$lang->system->backup->restoreFile = 'Rollback attachment:';
+$lang->system->backup->checkService = 'Check Service:';
+
+$lang->system->backup->upgrade = 'Upgrade';
+$lang->system->backup->rollback = 'Rollback';
+$lang->system->backup->restart = 'Restart';
+$lang->system->backup->delete = 'Delte';
+
+$lang->system->backup->restoreProgress['doing'] = 'Doing';
+$lang->system->backup->restoreProgress['done'] = 'Done';
+
+$lang->system->backup->typeList['manual'] = 'Manual backup';
+$lang->system->backup->typeList['upgrade'] = 'Automatic backup before upgrade';
+$lang->system->backup->typeList['restore'] = 'Automatic backup before rollback';
+
+$lang->system->backup->waitting = 'In progress,please wait...';
+$lang->system->backup->progressSQL = 'In backup,%s has been backed up';
+$lang->system->backup->progressAttach = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->progressCode = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->confirmDelete = 'Do you want to delte the backup';
+$lang->system->backup->confirmRestore = 'Please confirm whether to roallback?';
+$lang->system->backup->holdDays = 'Backup has been retained for the last %s days';
+$lang->system->backup->copiedFail = 'Files that failed to copy:';
+$lang->system->backup->restoreTip = 'The restore function only restores the database.';
+$lang->system->backup->versionInfo = 'Click to view the new version introduction';
+$lang->system->backup->confirmUpgrade = 'Please confirm whether to upgrade the channel to a platform?';
+$lang->system->backup->upgrading = 'Upgrading';
+$lang->system->backup->backupTitle = 'Backing up the channel platform...';
+$lang->system->backup->restoreTitle = 'Rolling back the channel platform...';
+$lang->system->backup->backingUp = 'In progress';
+$lang->system->backup->restoring = 'In progress';
+
+$lang->system->backup->success = new stdclass();
+$lang->system->backup->success->upgrade = 'Upgrade successful!';
+$lang->system->backup->success->degrade = 'Successfully downgraded!';
+
+$lang->system->backup->error = new stdclass();
+
+$lang->system->backup->error->upgradeFail = "Upgrade failed!";
+$lang->system->backup->error->upgradeOvertime = "Upgrade timed out!";
+$lang->system->backup->error->degradeFail = "Downgrade failed!";
+$lang->system->backup->error->beenLatestVersion = "It is already the latest version, no upgrade required!";
+$lang->system->backup->error->requireVersion = "Version number must be uploaded!";
diff --git a/module/system/lang/fr.php b/module/system/lang/fr.php
new file mode 100644
index 0000000000..9901ec3342
--- /dev/null
+++ b/module/system/lang/fr.php
@@ -0,0 +1,247 @@
+system->dashboard = 'Dashboard';
+$lang->system->systemInfo = 'System information';
+$lang->system->dbManagement = 'Database management';
+$lang->system->ldapManagement = 'LDAP';
+$lang->system->dbList = 'Database list';
+$lang->system->dbName = 'Name';
+$lang->system->dbStatus = 'Status';
+$lang->system->dbType = 'Type';
+$lang->system->action = 'Action';
+$lang->system->management = 'Management';
+$lang->system->visit = 'Visit';
+$lang->system->close = 'Close';
+$lang->system->installLDAP = 'Install LDAP';
+$lang->system->editLDAP = 'Edit';
+$lang->system->LDAPInfo = 'LDAP information';
+$lang->system->accountInfo = 'Account information';
+$lang->system->advance = 'Senior';
+$lang->system->verify = 'Check';
+$lang->system->copy = 'Copy';
+$lang->system->copySuccess = 'Copied to clipboard';
+$lang->system->cneStatus = 'Platform status';
+$lang->system->cneStatistic = 'Resource statistics';
+$lang->system->latestDynamic = 'Latest News';
+$lang->system->nodeQuantity = 'Nodes';
+$lang->system->serviceQuantity = 'Number of services';
+$lang->system->cpuUsage = 'CPU(Core)';
+$lang->system->memUsage = 'Memory(GB)';
+
+/* LDAP */
+$lang->system->LDAP = new stdclass;
+$lang->system->LDAP->info = 'LDAP infomation';
+$lang->system->LDAP->ldapEnabled = 'Enable LDAP';
+$lang->system->LDAP->ldapQucheng = 'Built in Qucheng';
+$lang->system->LDAP->ldapSource = 'Source';
+$lang->system->LDAP->ldapInstall = 'Install and Enable';
+$lang->system->LDAP->ldapUpdate = 'Update';
+$lang->system->LDAP->accountInfo = 'Account info';
+$lang->system->LDAP->account = 'Account';
+$lang->system->LDAP->password = 'Password';
+$lang->system->LDAP->ldapUsername = 'Username';
+$lang->system->LDAP->ldapName = 'Name';
+$lang->system->LDAP->host = 'Host';
+$lang->system->LDAP->port = 'Port';
+$lang->system->LDAP->ldapRoot = 'Root node';
+$lang->system->LDAP->filterUser = 'User filtering';
+$lang->system->LDAP->email = 'Mail Fields';
+$lang->system->LDAP->extraAccount = 'Account Field';
+$lang->system->LDAP->ldapAdvance = 'Advanced setting';
+$lang->system->LDAP->updateLDAP = 'Update LDAP';
+$lang->system->LDAP->updateInstance = 'Update services associated with LDAP';
+$lang->system->LDAP->updatingProgress = 'Updating %s services remaining.';
+
+$lang->system->ldapTypeList = array();
+$lang->system->ldapTypeList['qucheng'] = 'Built in Qucheng';
+$lang->system->ldapTypeList['extra'] = 'External mapping';
+
+/* OSS */
+$lang->system->oss = new stdclass;
+$lang->system->oss->common = 'Object Storage';
+$lang->system->oss->appURL = 'Application address';
+$lang->system->oss->user = 'User name';
+$lang->system->oss->password = 'Password';
+$lang->system->oss->manage = 'Manage';
+$lang->system->oss->apiURL = 'API address';
+$lang->system->oss->accessKey = 'Access Key';
+$lang->system->oss->secretKey = 'Secret Key';
+
+/* SMTP */
+$lang->system->SMTP = new stdclass;
+$lang->system->SMTP->common = 'Mailbox configuration';
+$lang->system->SMTP->enabled = 'Enable SMTP';
+$lang->system->SMTP->install = 'Install';
+$lang->system->SMTP->update = 'Update';
+$lang->system->SMTP->edit = 'Edit';
+$lang->system->SMTP->editSMTP = 'Edit SMTP';
+$lang->system->SMTP->account = 'Sending email';
+$lang->system->SMTP->password = 'Password';
+$lang->system->SMTP->host = 'SMTP Server';
+$lang->system->SMTP->port = 'SMTP Port';
+$lang->system->SMTP->save = 'Save';
+
+/* Domain */
+$lang->system->customDomain = 'New domain name';
+$lang->system->certPem = 'Public-key certificate';
+$lang->system->certKey = 'Private-key';
+
+$lang->system->domain = new stdclass;
+$lang->system->domain->common = 'Domain management';
+$lang->system->domain->editDomain = 'Modifying Domain name Configuration';
+$lang->system->domain->config = 'Configure domain name and certificate';
+$lang->system->domain->currentDomain = 'Current domain name';
+$lang->system->domain->oldDomain = 'Old domain name';
+$lang->system->domain->newDomain = 'New domain name';
+$lang->system->domain->expiredDate = 'Certificate expiration time';
+$lang->system->domain->uploadCert = 'Upload certificate (only supports pan domain name certificate)';
+
+$lang->system->domain->notReuseOldDomain = 'The default domain name cannot be changed back after using the custom domain name';
+$lang->system->domain->setDNS = 'It is recommended to perform DNS resolution before modifying the domain name,';
+$lang->system->domain->dnsHelperLink = 'Click to view the help document';
+$lang->system->domain->updateInstancesDomain = 'Update the domain name of the installed service';
+$lang->system->domain->totalOldDomain = 'A total of %s.';
+$lang->system->domain->updatingProgress = 'Updating, %s remaining,';
+$lang->system->domain->updating = 'Updating';
+
+$lang->system->SLB = new stdclass;
+$lang->system->SLB->common = 'Load Balance';
+$lang->system->SLB->config = 'Configure load balancing';
+$lang->system->SLB->edit = 'Modify load balancing';
+$lang->system->SLB->ipPool = 'IP segment';
+$lang->system->SLB->ipPoolExample = 'Example: 192.168.10.0/24 or 192.168.10.0-192.168.10.100';
+$lang->system->SLB->installing = 'Configuring load balancing';
+$lang->system->SLB->leftSeconds = 'Expected Remaining';
+$lang->system->SLB->second = 'Second';
+
+$lang->system->notices = new stdclass;
+$lang->system->notices->success = 'Success';
+$lang->system->notices->fail = 'Fail';
+$lang->system->notices->attention = 'Attention';
+$lang->system->notices->noLDAP = 'Unable to find LDAP configuration data';
+$lang->system->notices->ldapUsed = '%s services have been associated with LDAP';
+$lang->system->notices->ldapInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->ldapUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->confirmUpdateLDAP = 'After modifying LDAP, it will automatically update and restart the associated services. Are you sure you want to modify it?';
+$lang->system->notices->verifyLDAPSuccess = 'Verifying LDAP successfully!';
+$lang->system->notices->fillAllRequiredFields = 'Please fill in all required items!';
+$lang->system->notices->smtpInstallSuccess = 'LDAP installation successful';
+$lang->system->notices->smtpUpdateSuccess = 'LDAP update successful';
+$lang->system->notices->smtpWhiteList = "To prevent emails from being blocked, please set the sender's email address as a whitelist in the email server";
+$lang->system->notices->smtpAuthCode = 'Some email addresses require separate authorization codes to be filled out. Please refer to the relevant email settings for specific inquiries';
+$lang->system->notices->smtpUsed = '%s services are associated with SMTP';
+$lang->system->notices->verifySMTPSuccess = 'Verification successful!';
+$lang->system->notices->pleaseCheckSMTPInfo = 'Verification failed! Please check if the username and password are correct';
+$lang->system->notices->confirmUpdateDomain = 'After modifying the domain name, the domain name of the installed service will be automatically updated. Are you sure you want to modify it?';
+$lang->system->notices->updateDomainSuccess = 'The domain name was successfully modified.';
+$lang->system->notices->configSLBSuccess = 'Successfully configured load balancing.';
+$lang->system->notices->validCert = 'Verification successful';
+
+$lang->system->errors = new stdclass;
+$lang->system->errors->notFoundDB = 'The database cannot be found';
+$lang->system->errors->notFoundLDAP = 'Unable to find LDAP data';
+$lang->system->errors->dbNameIsEmpty = 'Database name is empty';
+$lang->system->errors->notSupportedLDAP = 'Currently, this type of LDAP is not supported';
+$lang->system->errors->failToInstallLDAP = 'Installation of built-in LDAP failed';
+$lang->system->errors->failToInstallExtraLDAP = 'Failed to connect to external LDAP';
+$lang->system->errors->failToUpdateExtraLDAP = 'Failed to update external LDAP';
+$lang->system->errors->failToUninstallQuChengLDAP = 'Failed to uninstall channel into internal LDAP';
+$lang->system->errors->failToUninstallExtraLDAP = 'Uninstalling external LDAP failed';
+$lang->system->errors->failToDeleteLDAPSnippet = 'Failed to delete LDAP fragment';
+$lang->system->errors->verifyLDAPFailed = 'Verify LDAP failed';
+$lang->system->errors->LDAPLinked = 'A service has already been associated with LDAP';
+$lang->system->errors->SMTPLinked = 'A service has already been associated with an SMTP service';
+$lang->system->errors->failGetOssAccount = 'Failed to obtain the Object storage account';
+$lang->system->errors->failToInstallSMTP = 'Failed to install SMTP';
+$lang->system->errors->failToUninstallSMTP = 'Uninstalling SMTP failed';
+$lang->system->errors->failToUpdateSMTP = 'Failed to update SMTP';
+$lang->system->errors->verifySMTPFailed = 'Verify SMTP failed';
+$lang->system->errors->notFoundSMTPApp = 'Unable to find SMTP proxy application';
+$lang->system->errors->notFoundSMTPService = 'Unable to find SMTP proxy service';
+$lang->system->errors->domainIsRequired = 'Domain name must be filled in';
+$lang->system->errors->invalidDomain = 'Invalid domain name or formatting error. The domain name only allows Minuscule, numbers, dots (.) and middle horizontal lines (-)';
+$lang->system->errors->failToUpdateDomain = 'Failed to update domain name';
+$lang->system->errors->forbiddenOriginalDomain = 'Cannot be modified as the platform default domain name';
+$lang->system->errors->newDomainIsSameWithOld = 'The new domain name cannot be the same as the original domain name';
+$lang->system->errors->failedToConfigSLB = 'Configuration load balancing failed';
+$lang->system->errors->wrongIPRange = 'IP segment format error, please refer to the example format' . $lang->system->SLB->ipPoolExample;
+$lang->system->errors->ippoolRequired = 'IP segment cannot be empty';
+$lang->system->errors->failedToInstallSLBComponent = 'Failed to install load balancing component';
+$lang->system->errors->tryReinstallSLB = 'The installation of load balancing components timed out, please try again.';
+
+$lang->system->backup = new stdclass();
+$lang->system->backup->common = 'System backup';
+$lang->system->backup->shortCommon = 'Backup';
+$lang->system->backup->systemInfo = 'System Information';
+$lang->system->backup->index = 'Backup homepage';
+$lang->system->backup->history = 'Backup records';
+$lang->system->backup->delete = 'Delete backup';
+$lang->system->backup->backup = 'Backup';
+$lang->system->backup->change = 'Retention time';
+$lang->system->backup->changeAB = 'modify';
+$lang->system->backup->rmPHPHeader = 'Remove security settings';
+$lang->system->backup->setting = 'Setting';
+$lang->system->backup->backupPerson = 'Backup person';
+$lang->system->backup->type = 'Backup type';
+
+$lang->system->backup->settingAction = 'Backup Settings';
+
+$lang->system->backup->name = 'Name';
+$lang->system->backup->currentVersion = 'Current version';
+$lang->system->backup->latestVersion = 'Latest Version';
+
+$lang->system->backup->files = 'Backup files';
+$lang->system->backup->allCount = 'Total number of files';
+$lang->system->backup->count = 'Number of backup files';
+$lang->system->backup->size = 'size';
+$lang->system->backup->status = 'Status';
+$lang->system->backup->running = 'Running';
+$lang->system->backup->done = 'Done';
+
+$lang->system->backup->backupName = 'Backup name:';
+$lang->system->backup->backupSql = 'Backup database:';
+$lang->system->backup->backupFile = 'Backup attachment:';
+$lang->system->backup->restoreImage = 'Rollback platform image:';
+$lang->system->backup->restoreSQL = 'Rollback database:';
+$lang->system->backup->restoreFile = 'Rollback attachment:';
+$lang->system->backup->checkService = 'Check Service:';
+
+$lang->system->backup->upgrade = 'Upgrade';
+$lang->system->backup->rollback = 'Rollback';
+$lang->system->backup->restart = 'Restart';
+$lang->system->backup->delete = 'Delte';
+
+$lang->system->backup->restoreProgress['doing'] = 'Doing';
+$lang->system->backup->restoreProgress['done'] = 'Done';
+
+$lang->system->backup->typeList['manual'] = 'Manual backup';
+$lang->system->backup->typeList['upgrade'] = 'Automatic backup before upgrade';
+$lang->system->backup->typeList['restore'] = 'Automatic backup before rollback';
+
+$lang->system->backup->waitting = 'In progress,please wait...';
+$lang->system->backup->progressSQL = 'In backup,%s has been backed up';
+$lang->system->backup->progressAttach = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->progressCode = 'There are a total of %s files in the backup, and %s files have already been backed up';
+$lang->system->backup->confirmDelete = 'Do you want to delte the backup';
+$lang->system->backup->confirmRestore = 'Please confirm whether to roallback?';
+$lang->system->backup->holdDays = 'Backup has been retained for the last %s days';
+$lang->system->backup->copiedFail = 'Files that failed to copy:';
+$lang->system->backup->restoreTip = 'The restore function only restores the database.';
+$lang->system->backup->versionInfo = 'Click to view the new version introduction';
+$lang->system->backup->confirmUpgrade = 'Please confirm whether to upgrade the channel to a platform?';
+$lang->system->backup->upgrading = 'Upgrading';
+$lang->system->backup->backupTitle = 'Backing up the channel platform...';
+$lang->system->backup->restoreTitle = 'Rolling back the channel platform...';
+$lang->system->backup->backingUp = 'In progress';
+$lang->system->backup->restoring = 'In progress';
+
+$lang->system->backup->success = new stdclass();
+$lang->system->backup->success->upgrade = 'Upgrade successful!';
+$lang->system->backup->success->degrade = 'Successfully downgraded!';
+
+$lang->system->backup->error = new stdclass();
+
+$lang->system->backup->error->upgradeFail = "Upgrade failed!";
+$lang->system->backup->error->upgradeOvertime = "Upgrade timed out!";
+$lang->system->backup->error->degradeFail = "Downgrade failed!";
+$lang->system->backup->error->beenLatestVersion = "It is already the latest version, no upgrade required!";
+$lang->system->backup->error->requireVersion = "Version number must be uploaded!";
diff --git a/module/system/lang/zh-cn.php b/module/system/lang/zh-cn.php
index 3f20251bee..be6a14cc69 100644
--- a/module/system/lang/zh-cn.php
+++ b/module/system/lang/zh-cn.php
@@ -178,7 +178,6 @@ $lang->system->backup->index = '备份首页';
$lang->system->backup->history = '备份记录';
$lang->system->backup->delete = '删除备份';
$lang->system->backup->backup = '备份';
-$lang->system->backup->restore = '回滚';
$lang->system->backup->change = '保留时间';
$lang->system->backup->changeAB = '修改';
$lang->system->backup->rmPHPHeader = '去除安全设置';
@@ -192,7 +191,6 @@ $lang->system->backup->name = '名称';
$lang->system->backup->currentVersion = '当前版本';
$lang->system->backup->latestVersion = '最新版本';
-$lang->system->backup->time = '备份时间';
$lang->system->backup->files = '备份文件';
$lang->system->backup->allCount = '总文件数';
$lang->system->backup->count = '备份文件数';
@@ -214,9 +212,6 @@ $lang->system->backup->rollback = '回滚';
$lang->system->backup->restart = '重启';
$lang->system->backup->delete = '删除';
-$lang->system->backup->statusList['success'] = '成功';
-$lang->system->backup->statusList['fail'] = '失败';
-
$lang->system->backup->restoreProgress['doing'] = '进行中';
$lang->system->backup->restoreProgress['done'] = '完成';
@@ -224,10 +219,6 @@ $lang->system->backup->typeList['manual'] = '手动备份';
$lang->system->backup->typeList['upgrade'] = '升级前自动备份';
$lang->system->backup->typeList['restore'] = '回滚前自动备份';
-$lang->system->backup->settingDir = '备份目录';
-$lang->system->backup->settingList['nofile'] = '不备份附件和代码';
-$lang->system->backup->settingList['nosafe'] = '不需要防下载PHP文件头';
-
$lang->system->backup->waitting = '正在进行中,请稍候...';
$lang->system->backup->progressSQL = '备份中,已备份%s';
$lang->system->backup->progressAttach = '备份中,共有%s个文件,已经备份%s个';
@@ -246,23 +237,13 @@ $lang->system->backup->backingUp = '进行中';
$lang->system->backup->restoring = '进行中';
$lang->system->backup->success = new stdclass();
-$lang->system->backup->success->backup = '备份成功!';
-$lang->system->backup->success->restore = '还原成功!';
$lang->system->backup->success->upgrade = '升级成功!';
$lang->system->backup->success->degrade = '降级成功!';
$lang->system->backup->error = new stdclass();
-$lang->system->backup->error->noCreateDir = '备份目录不存在,也无法创建该目录';
-$lang->system->backup->error->noWritable = "%s 不可写!请检查该目录权限,否则无法备份。";
-$lang->system->backup->error->noDelete = "文件 %s 无法删除,修改权限或手工删除。";
-$lang->system->backup->error->restoreSQL = "数据库还原失败,错误:%s";
-$lang->system->backup->error->restoreFile = "附件还原失败,错误:%s";
-$lang->system->backup->error->backupFile = "附件备份失败,错误:%s";
-$lang->system->backup->error->backupCode = "代码备份失败,错误:%s";
$lang->system->backup->error->upgradeFail = "升级失败!";
$lang->system->backup->error->upgradeOvertime = "升级超时!";
$lang->system->backup->error->degradeFail = "降级失败!";
$lang->system->backup->error->beenLatestVersion = "已经是最新版,无需升级!";
$lang->system->backup->error->requireVersion = "必须上传版本号!";
-
diff --git a/module/system/ui/editdomain.html.php b/module/system/ui/editdomain.html.php
index 09dbf9d75f..5b1d81f395 100644
--- a/module/system/ui/editdomain.html.php
+++ b/module/system/ui/editdomain.html.php
@@ -20,6 +20,7 @@ formPanel
(
set::label($lang->system->domain->oldDomain),
set::control('static'),
+ set::name(''),
set::value($this->loadModel('cne')->sysDomain()),
h::span
(