diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 71166f0bb7..9f2fb42df5 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -407,6 +407,7 @@ class baseRouter $this->loadClass('front', $static = true); $this->loadClass('filter', $static = true); + $this->loadClass('form', $static = true); $this->loadClass('dbh', $static = true); $this->loadClass('dao', $static = true); $this->loadClass('mobile', $static = true); diff --git a/lib/form/form.class.php b/lib/form/form.class.php new file mode 100644 index 0000000000..6b90f1b15c --- /dev/null +++ b/lib/form/form.class.php @@ -0,0 +1,322 @@ + + * @package form + * @link https://www.zentao.net + */ + +helper::import(dirname(dirname(__FILE__)) . '/filter/filter.class.php'); + +class form extends fixer +{ + /** + * 批量处理的数据。 + * The data to be fixed. + * + * @var object + * @access public + */ + public $dataList; + + /** + * 类型。single|batch + * Type. single|batch + * + * @var string + */ + protected $formType = 'single'; + + /** + * 原始配置。 + * The raw cofig. + * + * @var array + */ + protected $rawconfig; + + /** + * 错误信息列表。 + * Error list. + * + * @var array + */ + public $errors; + + /** + * 构造方法。 + * The construct function. + * + * @return void + */ + public function __construct() + { + $this->rawdata = (object)$_POST; + $this->data = (object)array(); + $this->errors = array(); + } + + /** + * 获取表单数据。 + * Get the form data. + * + * @param array|null $configObject + * @return form + */ + public static function data(array $configObject = null): form + { + global $app, $config; + + if($configObject === null) $configObject = $config->{$app->moduleName}->form->{$app->methodName}; + return (new form)->config($configObject); + } + + /** + * 获取批量表单数据。 + * Get the batch form data. + * + * @param array|null $configObject + * @return form + */ + public static function batchData(array $configObject = null): form + { + global $app, $config; + + if($configObject === null) $configObject = $config->{$app->moduleName}->form->{$app->methodName}; + return (new form)->config($configObject, 'batch'); + } + + /** + * 设置表单配置项。 + * Set form configuration. + * + * @param array $config + * @param string $type single|batch + * @return $this + * @throws EndResponseException + */ + public function config(array $config, string $type = 'single') + { + $this->rawconfig = $config; + $this->formType = $type; + + if($type == 'single') + { + foreach($this->rawconfig as $field => $fieldConfig) + { + if(isset($fieldConfig['control']) && in_array($fieldConfig['control'], array('textarea', 'richtext'))) $this->skipSpecial($field); + $this->convertField($field, $fieldConfig); + } + } + else + { + $this->batchConvertField($config); + } + + if(!empty($this->errors)) + { + $response = array('result' => 'fail', 'message' => $this->errors); + helper::end(json_encode($response)); + } + + return $this; + } + + /** + * 批量转换字段类型。 + * Batch convert the field type. + * + * @param array $config + * @return void + */ + public function batchConvertField(array $fieldConfigs) + { + global $app; + + $rowDataList = array(); + $baseField = ''; + + foreach($fieldConfigs as $field => $config) + { + /* 在第一行提示类型未定义。 Display type error in the first row. */ + if(!isset($config['type'])) + { + if(empty($this->errors)) $this->errors[1] = array(); + if(!isset($this->errors[1][$field])) $this->errors[1][$field] = array(); + + $this->errors[1][$field][] = "Field '{$field}' need defined type"; + } + + /* 以该字段为标准,判断某一行是否要构造数据。 If the value of the field in a row is empty, skip that row. */ + if(!empty($config['base'])) $baseField = $field; + + if(isset($config['control']) && in_array($config['control'], array('textarea', 'richtext'))) $this->skipSpecial($field); + } + + /* 在第一行提示标准字段不能为空。 Display the field error in the first row. */ + if(!isset($this->rawdata->$baseField)) + { + if(empty($this->errors)) $this->errors[1] = array(); + if(!isset($this->errors[1][$field])) $this->errors[1][$field] = array(); + $this->errors[1][$field][] = "Field '{$field}' not empty"; + } + + /* 构造批量表单数据。Construct batch form data. */ + foreach($this->rawdata->$baseField as $rowIndex => $value) + { + if(empty($value)) continue; + + $rowData = new stdclass(); + foreach($fieldConfigs as $field => $config) + { + $defaultValue = zget($config, 'default', ''); + + $rowData->$field = isset($this->rawdata->$field) ? zget($this->rawdata->$field, $rowIndex, $defaultValue) : $defaultValue; + $rowData->$field = helper::convertType($rowData->$field, $config['type']); + if(isset($config['filter'])) $rowData->$field = $this->filter($rowData->$field, $config['filter']); + + /* 检查必填字段。Check required fields. */ + if(isset($config['required']) && $config['required'] && empty($rowData->$field)) + { + $fieldName = isset($app->lang->{$app->rawModule}->$field) ? $app->lang->{$app->rawModule}->$field : $field; + if(!isset($this->errors["{$field}[{$rowIndex}]"])) $this->errors["{$field}[{$rowIndex}]"] = array(); + $this->errors["{$field}[{$rowIndex}]"] = sprintf($app->lang->error->notempty, $fieldName); + } + } + + $rowDataList[$rowIndex] = $rowData; + } + + $this->dataList = $rowDataList; + } + + /** + * 获取$_POST的数据。 + * Get the data of $_POST. + * + * @param bool $isRaw 是否获取原始数据。Whether to get the raw data. + * @return object + */ + public function getAll(bool $isRaw = false): object + { + return $isRaw ? $this->rawdata : $this->data; + } + + /** + * 转换字段类型。 + * Convert the field type. + * + * @param string $field + * @param array $config + * @return void + */ + public function convertField(string $field, array $config) + { + global $app; + + if(!isset($config['type'])) + { + if(!isset($this->errors[$field])) $this->errors[$field] = array(); + $this->errors[$field][] = "Field '{$field}' need defined type"; + } + + $requireValue = isset($config['required']) && $config['required'] && !isset($config['default']); + if($requireValue && (!isset($this->rawdata->$field) || $this->rawdata->$field === '')) + { + if(!isset($this->errors[$field])) $this->errors[$field] = array(); + $fieldName = isset($app->lang->{$app->rawModule}->$field) ? $app->lang->{$app->rawModule}->$field : $field; + $this->errors[$field][] = sprintf($app->lang->error->notempty, $fieldName); + } + + if(isset($this->rawdata->$field)) + { + $data = $this->rawdata->$field; + } + + if(array_key_exists('default', $config) && !isset($this->rawdata->$field)) + { + $data = $config['default']; + } + + $data = helper::convertType($data, $config['type']); + + if(isset($config['filter'])) + { + $data = $this->filter($data, $config['filter']); + } + + $this->data->$field = $data; + } + + /** + * Special array. + * + * @param mixed $data + * @access public + * @return mixed + */ + public function specialArray($data): mixed + { + if(!is_array($data)) + { + if(is_string($data)) return htmlspecialchars($data, ENT_QUOTES); + + return $data; + } + + foreach($data as &$value) $value = $this->specialArray($value); + + return $data; + } + + /** + * 过滤表单字段数据。 + * Filter the form field data. + * + * @param mixed $value + * @param mixed $filter + * @return string + */ + protected function filter($value, $filter) + { + switch($filter) + { + case 'trim': + return trim($value); + case 'join': + return implode(',', $value); + default: + return $value; + } + } + + /** + * 过滤富文字段数据。 + * Filter the editor fields. + * + * @param string $fields + * @access public + * @return mixed + */ + public function get($fields = ''): mixed + { + global $config; + + foreach($this->rawconfig as $field => $fieldConfig) + { + if(isset($fieldConfig['control']) && $fieldConfig['control'] == 'editor') $this->stripTags($field, $config->allowedTags); + } + + if($this->formType == 'single') return parent::get($fields); + foreach($this->dataList as $rowIndex => $data) + { + $this->data = $data; + $this->dataList[$rowIndex] = parent::get($fields); + } + return $this->dataList; + } +} diff --git a/lib/zin/wg/formbatchitem/v1.php b/lib/zin/wg/formbatchitem/v1.php index da08e19436..8757a6c4f3 100644 --- a/lib/zin/wg/formbatchitem/v1.php +++ b/lib/zin/wg/formbatchitem/v1.php @@ -30,7 +30,7 @@ class formBatchItem extends wg */ protected static array $defineProps = array( 'name: string', // 表单项名称,无需包含 `[]`。 - 'label: string|bool', // 列标题。 + 'label?: string|bool', // 列标题。 'labelClass?: string', // 列标题类名。 'labelProps?: string', // 列标题属性,例如 `array('data-toggle' => 'tooltip', 'data-title' 。=> 'This is a tip')` 'required?:bool|string="auto"', // 是否必填,如果设置为 `"auto"`,则自动从当前模块 config 中查询。 diff --git a/lib/zin/wg/picker/v1.php b/lib/zin/wg/picker/v1.php index 9c0939c3e9..be9a5892d1 100644 --- a/lib/zin/wg/picker/v1.php +++ b/lib/zin/wg/picker/v1.php @@ -98,7 +98,7 @@ class picker extends wg $pickerProps['items'] = $pickerItems; $pickerProps['defaultValue'] = $defaultValue; - if(!isset($pickerProps['emptyValue'])) $pickerProps['emptyValue'] = ($hasZeroValue || "$defaultValue" !== '0') ? '' : '0,'; + if(!isset($pickerProps['emptyValue'])) $pickerProps['emptyValue'] = ($hasZeroValue || (!is_array($defaultValue) && "$defaultValue" !== '0')) ? '' : '0,'; if(isset($pickerProps['id'])) { diff --git a/module/action/lang/de.php b/module/action/lang/de.php index 94df6129c5..96b3a3b584 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -162,6 +162,9 @@ $lang->action->objectTypes['repo'] = 'Repo'; $lang->action->objectTypes['dataview'] = 'Data View'; $lang->action->objectTypes['privlang'] = 'Priv'; $lang->action->objectTypes['scene'] = 'Scene'; +$lang->action->objectTypes['serverroom'] = 'IDC'; +$lang->action->objectTypes['account'] = 'Account'; +$lang->action->objectTypes['host'] = 'Host'; /* Used to describe operation history. */ $lang->action->desc = new stdclass(); @@ -248,6 +251,9 @@ $lang->action->desc->createdsnapshot = '$date, $actor crea $lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; $lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; +$lang->action->desc->online = '$date, set online by $actor .' . "\n"; +$lang->action->desc->offline = '$date, set offline by $actor .' . "\n"; +$lang->action->desc->linkhost = '$date, the host is linked by $actor .' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -283,170 +289,214 @@ $lang->action->desc->releaseddoc = '$date, 由 $actor released $lang->action->desc->collected = '$date, 由 $actor collected $extra。' . "\n"; $lang->action->desc->uncollected = '$date, 由 $actor uncollected $extra。' . "\n"; +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, installed by $actor.' . "\n"; +$lang->action->desc->uninstall = '$date, uninstalled by $actor.' . "\n"; +$lang->action->desc->start = '$date, started by $actor.' . "\n"; +$lang->action->desc->stop = '$date, closed by $actor.' . "\n"; +$lang->action->desc->editextra = '$date, updated from $oldname to $newName by $actor.' . "\n"; +$lang->action->desc->upgrade = '$date, upgraded from $oldVersion to $newVersion by $actor.' . "\n"; +$lang->action->desc->backup = '$date, backuped by $actor.' . "\n"; +$lang->action->desc->adjustmemory = '$date, resized to $newMemory of memory by $actor.' . "\n"; +$lang->action->desc->enableldap = '$date, enabled by $actor of LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, disabled by $actor of LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, enabled by $actor of SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, disabled by $actor of SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, updated by $actor of custom settings.' . "\n"; +$lang->action->desc->tosenior = '$date, upgraded from $oldAppName to $newAppName by $actor .' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, opened by $actor of autobackup.' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, closed by $actor of autobackup' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, updated by $actor of autorestore.' . "\n"; +$lang->action->desc->autobackup = '$date, backed up of system' . "\n"; +$lang->action->desc->autorestore = '$date, restored by system.' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, deleted the expired automatic backups by system.' . "\n"; + /* Used to display dynamic information. */ -$lang->action->label = new stdclass(); -$lang->action->label->install = 'install '; -$lang->action->label->revert = 'revert '; -$lang->action->label->created = 'created '; -$lang->action->label->opened = 'opened '; -$lang->action->label->openedbysystem = 'Opened by system '; -$lang->action->label->closedbysystem = 'Closed by system '; -$lang->action->label->added = 'added'; -$lang->action->label->changed = 'changed '; -$lang->action->label->edited = 'edited '; -$lang->action->label->assigned = 'assigned '; -$lang->action->label->closed = 'closed '; -$lang->action->label->deleted = 'deleted '; -$lang->action->label->deletedfile = 'deleted '; -$lang->action->label->editfile = 'edit '; -$lang->action->label->erased = 'erased '; -$lang->action->label->undeleted = 'restored '; -$lang->action->label->hidden = 'hid '; -$lang->action->label->commented = 'commented '; -$lang->action->label->communicated = 'communicated'; -$lang->action->label->activated = 'activated '; -$lang->action->label->blocked = 'blocked '; -$lang->action->label->resolved = 'resolved '; -$lang->action->label->reviewed = 'reviewed '; -$lang->action->label->recalled = 'recalled'; -$lang->action->label->recalledchange = 'undo changes'; -$lang->action->label->moved = 'moved '; -$lang->action->label->confirmed = 'Confirm Story'; -$lang->action->label->bugconfirmed = 'Confirmed'; -$lang->action->label->tostory = 'Convert to Story'; -$lang->action->label->frombug = 'Converted from Bug'; -$lang->action->label->fromlib = 'Import from library'; -$lang->action->label->totask = 'Convert to Task'; -$lang->action->label->converttotask = 'converted to Task '; -$lang->action->label->svncommited = 'SVN Commit'; -$lang->action->label->gitcommited = 'Git Commit'; -$lang->action->label->linked2plan = 'Link to Plan'; -$lang->action->label->unlinkedfromplan = 'Unlink'; -$lang->action->label->changestatus = 'Change Status'; -$lang->action->label->marked = 'marked'; -$lang->action->label->linked2execution = "Link {$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "Unlink {$lang->executionCommon}"; -$lang->action->label->linked2kanban = 'linked to kanban'; -$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; -$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; -$lang->action->label->unlinkedfrombuild = "Unlink Build"; -$lang->action->label->linked2release = "Link Release"; -$lang->action->label->unlinkedfromrelease = "Unlink Release"; -$lang->action->label->linked2revision = "Link Revision"; -$lang->action->label->unlinkedfromrevision = "Unlink Revision"; -$lang->action->label->linkrelatedbug = "Link to Bug"; -$lang->action->label->unlinkrelatedbug = "Unlink"; -$lang->action->label->linkrelatedcase = "Link to Case"; -$lang->action->label->unlinkrelatedcase = "Unlink"; -$lang->action->label->linkrelatedstory = "Link to Story"; -$lang->action->label->unlinkrelatedstory = "Unlink"; -$lang->action->label->subdividestory = "Decompose Story"; -$lang->action->label->unlinkchildstory = "Unlink"; -$lang->action->label->started = 'started '; -$lang->action->label->restarted = 'continued '; -$lang->action->label->recordestimate = 'recorded '; -$lang->action->label->editestimate = 'edited '; -$lang->action->label->canceled = 'cancelled '; -$lang->action->label->finished = 'finished '; -$lang->action->label->paused = 'paused '; -$lang->action->label->verified = 'verified '; -$lang->action->label->delayed = 'delayed '; -$lang->action->label->suspended = 'suspended '; -$lang->action->label->login = 'Login'; -$lang->action->label->logout = "Logout"; -$lang->action->label->notified = "Notified"; -$lang->action->label->deleteestimate = "deleted hours"; -$lang->action->label->linked2build = "linked "; -$lang->action->label->linked2bug = "linked "; -$lang->action->label->linked2testtask = "linked"; -$lang->action->label->unlinkedfromtesttask = "unlinked"; -$lang->action->label->linkchildtask = "linked a child task"; -$lang->action->label->unlinkchildrentask = "unlinked a child task"; -$lang->action->label->linkparenttask = "linked a parent task"; -$lang->action->label->unlinkparenttask = "unlink from parent task"; -$lang->action->label->batchcreate = "batch created tasks"; -$lang->action->label->createchildren = "create child tasks"; -$lang->action->label->managed = "managed"; -$lang->action->label->managedteam = "managed"; -$lang->action->label->managedwhitelist = "managed"; -$lang->action->label->deletechildrentask = "delete children task"; -$lang->action->label->createchildrenstory = "create child stories"; -$lang->action->label->linkchildstory = "linked a child story"; -$lang->action->label->unlinkchildrenstory = "unlinked a child story"; -$lang->action->label->linkparentstory = "linked a parent story"; -$lang->action->label->unlinkparentstory = "unlink from parent story"; -$lang->action->label->deletechildrenstory = "delete children story"; -$lang->action->label->tracked = 'tracked'; -$lang->action->label->hangup = 'hangup'; -$lang->action->label->run = 'run'; -$lang->action->label->estimated = 'estimated'; -$lang->action->label->reviewpassed = 'Pass'; -$lang->action->label->reviewrejected = 'Reject'; -$lang->action->label->reviewclarified = 'Clarify'; -$lang->action->label->reviewreverted = 'Revert'; -$lang->action->label->commitsummary = 'Commit Summary'; -$lang->action->label->updatetrainee = 'Update Trainee'; -$lang->action->label->setdefaultbranch = 'Set default branch'; -$lang->action->label->syncprogram = 'start'; -$lang->action->label->syncproject = 'start'; -$lang->action->label->syncexecution = 'start'; -$lang->action->label->syncexecutionbychild = 'start'; -$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; -$lang->action->label->createmr = 'Merge Request Linked'; -$lang->action->label->deletemr = 'Merge Request Unlinked'; -$lang->action->label->mergedmr = 'Merge Request Merged'; -$lang->action->label->compilepass = 'Compile Success'; -$lang->action->label->compilefail = 'Compile Fail'; -$lang->action->label->reopen = 'Reopen'; -$lang->action->label->approve = 'Passed'; -$lang->action->label->reject = 'Rejected'; -$lang->action->label->importfromgitlab = 'Issue associate created'; -$lang->action->label->archived = 'Archived'; -$lang->action->label->restore = 'Restore'; -$lang->action->label->mergedbranch = 'Merge Branch'; -$lang->action->label->startedbychild = 'started'; -$lang->action->label->finishedbychild = 'finished'; -$lang->action->label->closedbychild = 'closed'; -$lang->action->label->activatedbychild = 'activated'; -$lang->action->label->createchild = 'activated'; -$lang->action->label->executed = 'executed'; -$lang->action->label->importedcard = 'imported'; -$lang->action->label->importedproductplan = 'imported'; -$lang->action->label->importedrelease = 'imported'; -$lang->action->label->importedexecution = 'imported'; -$lang->action->label->importedbuild = 'imported'; -$lang->action->label->importedticket = 'imported'; -$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; -$lang->action->label->bind = 'bound'; -$lang->action->label->unbind = 'unbound'; -$lang->action->label->linkstory = 'link stories to'; -$lang->action->label->linkbug = 'link bugs to'; -$lang->action->label->unlinkstory = 'unlink stories from'; -$lang->action->label->unlinkbug = 'unlink bugs from'; -$lang->action->label->tolib = 'imported'; -$lang->action->label->updatetolib = 'updated'; -$lang->action->label->ganttmove = 'sorted'; -$lang->action->label->submitreview = 'submitted'; -$lang->action->label->suspend = 'suspended'; -$lang->action->label->resume = 'resumed'; -$lang->action->label->reboot = 'reboot'; -$lang->action->label->boot = 'boot'; -$lang->action->label->destroy = 'destroyed'; -$lang->action->label->getvnc = 'remote control'; -$lang->action->label->synctwins = 'synchronized changes'; -$lang->action->label->relieved = 'relieved'; -$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; -$lang->action->label->linkedrepo = 'Linked Code Repo'; -$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; -$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; -$lang->action->label->createdsnapshot = 'create snapshot'; -$lang->action->label->restoredsnapshot = 'create snapshot'; -$lang->action->label->editsnapshot = 'edit snapshot'; -$lang->action->label->deletesnapshot = 'deleted snapshot'; -$lang->action->label->saveddraft = 'save draft'; -$lang->action->label->releaseddoc = 'released'; -$lang->action->label->collected = 'collected'; -$lang->action->label->uncollected = 'uncollected'; +$lang->action->label = new stdclass(); +$lang->action->label->install = 'install '; +$lang->action->label->uninstall = 'uninstall '; +$lang->action->label->upgrade = 'upgrade '; +$lang->action->label->start = 'start '; +$lang->action->label->stop = 'stop '; +$lang->action->label->editname = 'edit name '; +$lang->action->label->backup = 'backup '; +$lang->action->label->adjustmemory = 'adjust memory '; +$lang->action->label->enableldap = 'enable LDAP '; +$lang->action->label->disableldap = 'disable LDAP '; +$lang->action->label->enablesmtp = 'enable SMTP '; +$lang->action->label->disablesmtp = 'disable SMTP '; +$lang->action->label->tosenior = 'upgrade to senior '; +$lang->action->label->saveautobackupsettings = 'enable auto backup '; +$lang->action->label->closeautobackupsettings = 'disable auto backup '; +$lang->action->label->autobackup = 'auto backup by system '; +$lang->action->label->autorestore = 'auto restore by system '; +$lang->action->label->deleteexpiredbackup = 'delete expire backup by system '; +$lang->action->label->revert = 'revert '; +$lang->action->label->install = 'install '; +$lang->action->label->revert = 'revert '; +$lang->action->label->created = 'created '; +$lang->action->label->opened = 'opened '; +$lang->action->label->openedbysystem = 'Opened by system '; +$lang->action->label->closedbysystem = 'Closed by system '; +$lang->action->label->added = 'added'; +$lang->action->label->changed = 'changed '; +$lang->action->label->edited = 'edited '; +$lang->action->label->assigned = 'assigned '; +$lang->action->label->closed = 'closed '; +$lang->action->label->deleted = 'deleted '; +$lang->action->label->deletedfile = 'deleted '; +$lang->action->label->editfile = 'edit '; +$lang->action->label->erased = 'erased '; +$lang->action->label->undeleted = 'restored '; +$lang->action->label->hidden = 'hid '; +$lang->action->label->commented = 'commented '; +$lang->action->label->communicated = 'communicated'; +$lang->action->label->activated = 'activated '; +$lang->action->label->blocked = 'blocked '; +$lang->action->label->resolved = 'resolved '; +$lang->action->label->reviewed = 'reviewed '; +$lang->action->label->recalled = 'recalled'; +$lang->action->label->recalledchange = 'undo changes'; +$lang->action->label->moved = 'moved '; +$lang->action->label->confirmed = 'Confirm Story'; +$lang->action->label->bugconfirmed = 'Confirmed'; +$lang->action->label->tostory = 'Convert to Story'; +$lang->action->label->frombug = 'Converted from Bug'; +$lang->action->label->fromlib = 'Import from library'; +$lang->action->label->totask = 'Convert to Task'; +$lang->action->label->converttotask = 'converted to Task '; +$lang->action->label->svncommited = 'SVN Commit'; +$lang->action->label->gitcommited = 'Git Commit'; +$lang->action->label->linked2plan = 'Link to Plan'; +$lang->action->label->unlinkedfromplan = 'Unlink'; +$lang->action->label->changestatus = 'Change Status'; +$lang->action->label->marked = 'marked'; +$lang->action->label->linked2execution = "Link {$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "Unlink {$lang->executionCommon}"; +$lang->action->label->linked2kanban = 'linked to kanban'; +$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; +$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; +$lang->action->label->unlinkedfrombuild = "Unlink Build"; +$lang->action->label->linked2release = "Link Release"; +$lang->action->label->unlinkedfromrelease = "Unlink Release"; +$lang->action->label->linked2revision = "Link Revision"; +$lang->action->label->unlinkedfromrevision = "Unlink Revision"; +$lang->action->label->linkrelatedbug = "Link to Bug"; +$lang->action->label->unlinkrelatedbug = "Unlink"; +$lang->action->label->linkrelatedcase = "Link to Case"; +$lang->action->label->unlinkrelatedcase = "Unlink"; +$lang->action->label->linkrelatedstory = "Link to Story"; +$lang->action->label->unlinkrelatedstory = "Unlink"; +$lang->action->label->subdividestory = "Decompose Story"; +$lang->action->label->unlinkchildstory = "Unlink"; +$lang->action->label->started = 'started '; +$lang->action->label->restarted = 'continued '; +$lang->action->label->recordestimate = 'recorded '; +$lang->action->label->editestimate = 'edited '; +$lang->action->label->canceled = 'cancelled '; +$lang->action->label->finished = 'finished '; +$lang->action->label->paused = 'paused '; +$lang->action->label->verified = 'verified '; +$lang->action->label->delayed = 'delayed '; +$lang->action->label->suspended = 'suspended '; +$lang->action->label->login = 'Login'; +$lang->action->label->logout = "Logout"; +$lang->action->label->notified = "Notified"; +$lang->action->label->deleteestimate = "deleted hours"; +$lang->action->label->linked2build = "linked "; +$lang->action->label->linked2bug = "linked "; +$lang->action->label->linked2testtask = "linked"; +$lang->action->label->unlinkedfromtesttask = "unlinked"; +$lang->action->label->linkchildtask = "linked a child task"; +$lang->action->label->unlinkchildrentask = "unlinked a child task"; +$lang->action->label->linkparenttask = "linked a parent task"; +$lang->action->label->unlinkparenttask = "unlink from parent task"; +$lang->action->label->batchcreate = "batch created tasks"; +$lang->action->label->createchildren = "create child tasks"; +$lang->action->label->managed = "managed"; +$lang->action->label->managedteam = "managed"; +$lang->action->label->managedwhitelist = "managed"; +$lang->action->label->deletechildrentask = "delete children task"; +$lang->action->label->createchildrenstory = "create child stories"; +$lang->action->label->linkchildstory = "linked a child story"; +$lang->action->label->unlinkchildrenstory = "unlinked a child story"; +$lang->action->label->linkparentstory = "linked a parent story"; +$lang->action->label->unlinkparentstory = "unlink from parent story"; +$lang->action->label->deletechildrenstory = "delete children story"; +$lang->action->label->tracked = 'tracked'; +$lang->action->label->hangup = 'hangup'; +$lang->action->label->run = 'run'; +$lang->action->label->estimated = 'estimated'; +$lang->action->label->reviewpassed = 'Pass'; +$lang->action->label->reviewrejected = 'Reject'; +$lang->action->label->reviewclarified = 'Clarify'; +$lang->action->label->reviewreverted = 'Revert'; +$lang->action->label->commitsummary = 'Commit Summary'; +$lang->action->label->updatetrainee = 'Update Trainee'; +$lang->action->label->setdefaultbranch = 'Set default branch'; +$lang->action->label->syncprogram = 'start'; +$lang->action->label->syncproject = 'start'; +$lang->action->label->syncexecution = 'start'; +$lang->action->label->syncexecutionbychild = 'start'; +$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; +$lang->action->label->createmr = 'Merge Request Linked'; +$lang->action->label->deletemr = 'Merge Request Unlinked'; +$lang->action->label->mergedmr = 'Merge Request Merged'; +$lang->action->label->compilepass = 'Compile Success'; +$lang->action->label->compilefail = 'Compile Fail'; +$lang->action->label->reopen = 'Reopen'; +$lang->action->label->approve = 'Passed'; +$lang->action->label->reject = 'Rejected'; +$lang->action->label->importfromgitlab = 'Issue associate created'; +$lang->action->label->archived = 'Archived'; +$lang->action->label->restore = 'Restore'; +$lang->action->label->mergedbranch = 'Merge Branch'; +$lang->action->label->startedbychild = 'started'; +$lang->action->label->finishedbychild = 'finished'; +$lang->action->label->closedbychild = 'closed'; +$lang->action->label->activatedbychild = 'activated'; +$lang->action->label->createchild = 'activated'; +$lang->action->label->executed = 'executed'; +$lang->action->label->importedcard = 'imported'; +$lang->action->label->importedproductplan = 'imported'; +$lang->action->label->importedrelease = 'imported'; +$lang->action->label->importedexecution = 'imported'; +$lang->action->label->importedbuild = 'imported'; +$lang->action->label->importedticket = 'imported'; +$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; +$lang->action->label->bind = 'bound'; +$lang->action->label->unbind = 'unbound'; +$lang->action->label->linkstory = 'link stories to'; +$lang->action->label->linkbug = 'link bugs to'; +$lang->action->label->unlinkstory = 'unlink stories from'; +$lang->action->label->unlinkbug = 'unlink bugs from'; +$lang->action->label->tolib = 'imported'; +$lang->action->label->updatetolib = 'updated'; +$lang->action->label->ganttmove = 'sorted'; +$lang->action->label->submitreview = 'submitted'; +$lang->action->label->suspend = 'suspended'; +$lang->action->label->resume = 'resumed'; +$lang->action->label->reboot = 'reboot'; +$lang->action->label->boot = 'boot'; +$lang->action->label->destroy = 'destroyed'; +$lang->action->label->getvnc = 'remote control'; +$lang->action->label->synctwins = 'synchronized changes'; +$lang->action->label->relieved = 'relieved'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; +$lang->action->label->saveddraft = 'save draft'; +$lang->action->label->releaseddoc = 'released'; +$lang->action->label->collected = 'collected'; +$lang->action->label->uncollected = 'uncollected'; +$lang->action->label->online = 'online'; +$lang->action->label->offline = 'offline'; +$lang->action->label->linkhost = 'link hosts to'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 90c811b6ea..fe2d93a648 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -162,6 +162,9 @@ $lang->action->objectTypes['repo'] = 'Repo'; $lang->action->objectTypes['dataview'] = 'Data View'; $lang->action->objectTypes['privlang'] = 'Priv'; $lang->action->objectTypes['scene'] = 'Scene'; +$lang->action->objectTypes['serverroom'] = 'IDC'; +$lang->action->objectTypes['account'] = 'Account'; +$lang->action->objectTypes['host'] = 'Host'; /* Used to describe operation history. */ $lang->action->desc = new stdclass(); @@ -248,6 +251,10 @@ $lang->action->desc->createdsnapshot = '$date, $actor crea $lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; $lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; +$lang->action->desc->online = '$date, set online by $actor .' . "\n"; +$lang->action->desc->offline = '$date, set offline by $actor .' . "\n"; +$lang->action->desc->linkhost = '$date, the host is linked by $actor .' . "\n"; + /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -283,170 +290,215 @@ $lang->action->desc->releaseddoc = '$date, 由 $actor released $lang->action->desc->collected = '$date, 由 $actor collected $extra。' . "\n"; $lang->action->desc->uncollected = '$date, 由 $actor uncollected $extra。' . "\n"; +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, installed by $actor.' . "\n"; +$lang->action->desc->uninstall = '$date, uninstalled by $actor.' . "\n"; +$lang->action->desc->start = '$date, started by $actor.' . "\n"; +$lang->action->desc->stop = '$date, closed by $actor.' . "\n"; +$lang->action->desc->editextra = '$date, updated from $oldname to $newName by $actor.' . "\n"; +$lang->action->desc->upgrade = '$date, upgraded from $oldVersion to $newVersion by $actor.' . "\n"; +$lang->action->desc->backup = '$date, backuped by $actor.' . "\n"; +$lang->action->desc->adjustmemory = '$date, resized to $newMemory of memory by $actor.' . "\n"; +$lang->action->desc->enableldap = '$date, enabled by $actor of LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, disabled by $actor of LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, enabled by $actor of SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, disabled by $actor of SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, updated by $actor of custom settings.' . "\n"; +$lang->action->desc->tosenior = '$date, upgraded from $oldAppName to $newAppName by $actor .' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, opened by $actor of autobackup.' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, closed by $actor of autobackup' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, updated by $actor of autorestore.' . "\n"; +$lang->action->desc->autobackup = '$date, backed up of system' . "\n"; +$lang->action->desc->autorestore = '$date, restored by system.' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, deleted the expired automatic backups by system.' . "\n"; + /* Used to display dynamic information. */ -$lang->action->label = new stdclass(); -$lang->action->label->install = 'install '; -$lang->action->label->revert = 'revert '; -$lang->action->label->created = 'created '; -$lang->action->label->opened = 'opened '; -$lang->action->label->openedbysystem = 'Opened by system '; -$lang->action->label->closedbysystem = 'Closed by system '; -$lang->action->label->added = 'added'; -$lang->action->label->changed = 'changed '; -$lang->action->label->edited = 'edited '; -$lang->action->label->assigned = 'assigned '; -$lang->action->label->closed = 'closed '; -$lang->action->label->deleted = 'deleted '; -$lang->action->label->deletedfile = 'deleted '; -$lang->action->label->editfile = 'edited '; -$lang->action->label->erased = 'erased '; -$lang->action->label->undeleted = 'restored '; -$lang->action->label->hidden = 'hid '; -$lang->action->label->commented = 'commented '; -$lang->action->label->communicated = 'communicated'; -$lang->action->label->activated = 'activated '; -$lang->action->label->blocked = 'blocked '; -$lang->action->label->resolved = 'resolved '; -$lang->action->label->reviewed = 'reviewed '; -$lang->action->label->recalled = 'recalled'; -$lang->action->label->recalledchange = 'undo changes'; -$lang->action->label->moved = 'moved '; -$lang->action->label->confirmed = 'confirmed Story '; -$lang->action->label->bugconfirmed = 'confirmed'; -$lang->action->label->tostory = 'converted to Story '; -$lang->action->label->frombug = 'converted from Bug '; -$lang->action->label->fromlib = 'imported from Library '; -$lang->action->label->totask = 'converted to Task '; -$lang->action->label->converttotask = 'converted to Task '; -$lang->action->label->svncommited = 'committed SVN '; -$lang->action->label->gitcommited = 'committed Git '; -$lang->action->label->linked2plan = 'linked to Plan '; -$lang->action->label->unlinkedfromplan = 'unlinked from '; -$lang->action->label->changestatus = 'changed status'; -$lang->action->label->marked = 'marked'; -$lang->action->label->linked2execution = "linked to {$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "unlinked from {$lang->executionCommon}"; -$lang->action->label->linked2kanban = 'linked to kanban'; -$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; -$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; -$lang->action->label->unlinkedfrombuild = "unlinked Build "; -$lang->action->label->linked2release = "linked Release "; -$lang->action->label->unlinkedfromrelease = "unlinked Release "; -$lang->action->label->linked2revision = "Link Revision"; -$lang->action->label->unlinkedfromrevision = "Unlink Revision"; -$lang->action->label->linkrelatedbug = "linked Bug "; -$lang->action->label->unlinkrelatedbug = "unlinked Bug "; -$lang->action->label->linkrelatedcase = "linked Case "; -$lang->action->label->unlinkrelatedcase = "unlinked Case "; -$lang->action->label->linkrelatedstory = "linked Story "; -$lang->action->label->unlinkrelatedstory = "unlinked Story "; -$lang->action->label->subdividestory = "decomposed Story "; -$lang->action->label->unlinkchildstory = "unlinked Story "; -$lang->action->label->started = 'started '; -$lang->action->label->restarted = 'continued '; -$lang->action->label->recordestimate = 'recorded '; -$lang->action->label->editestimate = 'edited '; -$lang->action->label->canceled = 'cancelled '; -$lang->action->label->finished = 'finished '; -$lang->action->label->paused = 'paused '; -$lang->action->label->verified = 'verified '; -$lang->action->label->delayed = 'delayed '; -$lang->action->label->suspended = 'suspended '; -$lang->action->label->login = 'login'; -$lang->action->label->logout = "logout"; -$lang->action->label->notified = "Notified"; -$lang->action->label->deleteestimate = "deleted hours"; -$lang->action->label->linked2build = "linked "; -$lang->action->label->linked2bug = "linked "; -$lang->action->label->linked2testtask = "linked"; -$lang->action->label->unlinkedfromtesttask = "unlinked"; -$lang->action->label->linkchildtask = "linked a child task"; -$lang->action->label->unlinkchildrentask = "unlinked a child task"; -$lang->action->label->linkparenttask = "linked a parent task"; -$lang->action->label->unlinkparenttask = "unlink from parent task"; -$lang->action->label->batchcreate = "batch created tasks"; -$lang->action->label->createchildren = "create child tasks"; -$lang->action->label->managed = "managed"; -$lang->action->label->managedteam = "managed"; -$lang->action->label->managedwhitelist = "managed"; -$lang->action->label->deletechildrentask = "delete children task"; -$lang->action->label->createchildrenstory = "create child stories"; -$lang->action->label->linkchildstory = "linked a child story"; -$lang->action->label->unlinkchildrenstory = "unlinked a child story"; -$lang->action->label->linkparentstory = "linked a parent story"; -$lang->action->label->unlinkparentstory = "unlink from parent story"; -$lang->action->label->deletechildrenstory = "delete children story"; -$lang->action->label->tracked = 'tracked'; -$lang->action->label->hangup = 'hangup'; -$lang->action->label->run = 'run'; -$lang->action->label->estimated = 'estimated'; -$lang->action->label->reviewpassed = 'Pass'; -$lang->action->label->reviewrejected = 'Reject'; -$lang->action->label->reviewclarified = 'Clarify'; -$lang->action->label->reviewreverted = 'Revert'; -$lang->action->label->commitsummary = 'Commit Summary'; -$lang->action->label->updatetrainee = 'Update Trainee'; -$lang->action->label->setdefaultbranch = 'Set default branch'; -$lang->action->label->syncprogram = 'start'; -$lang->action->label->syncproject = 'start'; -$lang->action->label->syncexecution = 'start'; -$lang->action->label->syncexecutionbychild = 'start'; -$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; -$lang->action->label->createmr = 'Merge Request Linked'; -$lang->action->label->deletemr = 'Merge Request Unlinked'; -$lang->action->label->mergedmr = 'Merge Request Merged'; -$lang->action->label->compilepass = 'Compile Success'; -$lang->action->label->compilefail = 'Compile Fail'; -$lang->action->label->reopen = 'Reopen'; -$lang->action->label->approve = 'Passed'; -$lang->action->label->reject = 'Rejected'; -$lang->action->label->importfromgitlab = 'Issue associate created'; -$lang->action->label->archived = 'Archived'; -$lang->action->label->restore = 'Restore'; -$lang->action->label->mergedbranch = 'Merge Branch'; -$lang->action->label->startedbychild = 'started'; -$lang->action->label->finishedbychild = 'finished'; -$lang->action->label->closedbychild = 'closed'; -$lang->action->label->activatedbychild = 'activated'; -$lang->action->label->createchild = 'activated'; -$lang->action->label->executed = 'executed'; -$lang->action->label->importedcard = 'imported'; -$lang->action->label->importedproductplan = 'imported'; -$lang->action->label->importedrelease = 'imported'; -$lang->action->label->importedexecution = 'imported'; -$lang->action->label->importedbuild = 'imported'; -$lang->action->label->importedticket = 'imported'; -$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; -$lang->action->label->bind = 'bound'; -$lang->action->label->unbind = 'unbound'; -$lang->action->label->linkstory = 'link stories to'; -$lang->action->label->linkbug = 'link bugs to'; -$lang->action->label->unlinkstory = 'unlink stories from'; -$lang->action->label->unlinkbug = 'unlink bugs from'; -$lang->action->label->tolib = 'imported'; -$lang->action->label->updatetolib = 'updated'; -$lang->action->label->ganttmove = 'sorted'; -$lang->action->label->submitreview = 'submitted'; -$lang->action->label->suspend = 'suspended'; -$lang->action->label->resume = 'resumed'; -$lang->action->label->reboot = 'reboot'; -$lang->action->label->boot = 'boot'; -$lang->action->label->destroy = 'destroyed'; -$lang->action->label->getvnc = 'remote control'; -$lang->action->label->synctwins = 'synchronized changes'; -$lang->action->label->relieved = 'relieved'; -$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; -$lang->action->label->linkedrepo = 'Linked Code Repo'; -$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; -$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; -$lang->action->label->createdsnapshot = 'create snapshot'; -$lang->action->label->restoredsnapshot = 'create snapshot'; -$lang->action->label->editsnapshot = 'edit snapshot'; -$lang->action->label->deletesnapshot = 'deleted snapshot'; -$lang->action->label->saveddraft = 'save draft'; -$lang->action->label->releaseddoc = 'released'; -$lang->action->label->collected = 'collected'; -$lang->action->label->uncollected = 'uncollected'; +$lang->action->label = new stdclass(); +$lang->action->label->install = 'install '; +$lang->action->label->uninstall = 'uninstall '; +$lang->action->label->upgrade = 'upgrade '; +$lang->action->label->start = 'start '; +$lang->action->label->stop = 'stop '; +$lang->action->label->editname = 'edit name '; +$lang->action->label->backup = 'backup '; +$lang->action->label->adjustmemory = 'adjust memory '; +$lang->action->label->enableldap = 'enable LDAP '; +$lang->action->label->disableldap = 'disable LDAP '; +$lang->action->label->enablesmtp = 'enable SMTP '; +$lang->action->label->disablesmtp = 'disable SMTP '; +$lang->action->label->tosenior = 'upgrade to senior '; +$lang->action->label->saveautobackupsettings = 'enable auto backup '; +$lang->action->label->closeautobackupsettings = 'disable auto backup '; +$lang->action->label->autobackup = 'auto backup by system '; +$lang->action->label->autorestore = 'auto restore by system '; +$lang->action->label->deleteexpiredbackup = 'delete expire backup by system '; +$lang->action->label->revert = 'revert '; +$lang->action->label->install = 'install '; +$lang->action->label->revert = 'revert '; +$lang->action->label->created = 'created '; +$lang->action->label->opened = 'opened '; +$lang->action->label->openedbysystem = 'Opened by system '; +$lang->action->label->closedbysystem = 'Closed by system '; +$lang->action->label->added = 'added'; +$lang->action->label->changed = 'changed '; +$lang->action->label->edited = 'edited '; +$lang->action->label->assigned = 'assigned '; +$lang->action->label->closed = 'closed '; +$lang->action->label->deleted = 'deleted '; +$lang->action->label->deletedfile = 'deleted '; +$lang->action->label->editfile = 'edited '; +$lang->action->label->erased = 'erased '; +$lang->action->label->undeleted = 'restored '; +$lang->action->label->hidden = 'hid '; +$lang->action->label->commented = 'commented '; +$lang->action->label->communicated = 'communicated'; +$lang->action->label->activated = 'activated '; +$lang->action->label->blocked = 'blocked '; +$lang->action->label->resolved = 'resolved '; +$lang->action->label->reviewed = 'reviewed '; +$lang->action->label->recalled = 'recalled'; +$lang->action->label->recalledchange = 'undo changes'; +$lang->action->label->moved = 'moved '; +$lang->action->label->confirmed = 'confirmed Story '; +$lang->action->label->bugconfirmed = 'confirmed'; +$lang->action->label->tostory = 'converted to Story '; +$lang->action->label->frombug = 'converted from Bug '; +$lang->action->label->fromlib = 'imported from Library '; +$lang->action->label->totask = 'converted to Task '; +$lang->action->label->converttotask = 'converted to Task '; +$lang->action->label->svncommited = 'committed SVN '; +$lang->action->label->gitcommited = 'committed Git '; +$lang->action->label->linked2plan = 'linked to Plan '; +$lang->action->label->unlinkedfromplan = 'unlinked from '; +$lang->action->label->changestatus = 'changed status'; +$lang->action->label->marked = 'marked'; +$lang->action->label->linked2execution = "linked to {$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "unlinked from {$lang->executionCommon}"; +$lang->action->label->linked2kanban = 'linked to kanban'; +$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; +$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; +$lang->action->label->unlinkedfrombuild = "unlinked Build "; +$lang->action->label->linked2release = "linked Release "; +$lang->action->label->unlinkedfromrelease = "unlinked Release "; +$lang->action->label->linked2revision = "Link Revision"; +$lang->action->label->unlinkedfromrevision = "Unlink Revision"; +$lang->action->label->linkrelatedbug = "linked Bug "; +$lang->action->label->unlinkrelatedbug = "unlinked Bug "; +$lang->action->label->linkrelatedcase = "linked Case "; +$lang->action->label->unlinkrelatedcase = "unlinked Case "; +$lang->action->label->linkrelatedstory = "linked Story "; +$lang->action->label->unlinkrelatedstory = "unlinked Story "; +$lang->action->label->subdividestory = "decomposed Story "; +$lang->action->label->unlinkchildstory = "unlinked Story "; +$lang->action->label->started = 'started '; +$lang->action->label->restarted = 'continued '; +$lang->action->label->recordestimate = 'recorded '; +$lang->action->label->editestimate = 'edited '; +$lang->action->label->canceled = 'cancelled '; +$lang->action->label->finished = 'finished '; +$lang->action->label->paused = 'paused '; +$lang->action->label->verified = 'verified '; +$lang->action->label->delayed = 'delayed '; +$lang->action->label->suspended = 'suspended '; +$lang->action->label->login = 'login'; +$lang->action->label->logout = "logout"; +$lang->action->label->notified = "Notified"; +$lang->action->label->deleteestimate = "deleted hours"; +$lang->action->label->linked2build = "linked "; +$lang->action->label->linked2bug = "linked "; +$lang->action->label->linked2testtask = "linked"; +$lang->action->label->unlinkedfromtesttask = "unlinked"; +$lang->action->label->linkchildtask = "linked a child task"; +$lang->action->label->unlinkchildrentask = "unlinked a child task"; +$lang->action->label->linkparenttask = "linked a parent task"; +$lang->action->label->unlinkparenttask = "unlink from parent task"; +$lang->action->label->batchcreate = "batch created tasks"; +$lang->action->label->createchildren = "create child tasks"; +$lang->action->label->managed = "managed"; +$lang->action->label->managedteam = "managed"; +$lang->action->label->managedwhitelist = "managed"; +$lang->action->label->deletechildrentask = "delete children task"; +$lang->action->label->createchildrenstory = "create child stories"; +$lang->action->label->linkchildstory = "linked a child story"; +$lang->action->label->unlinkchildrenstory = "unlinked a child story"; +$lang->action->label->linkparentstory = "linked a parent story"; +$lang->action->label->unlinkparentstory = "unlink from parent story"; +$lang->action->label->deletechildrenstory = "delete children story"; +$lang->action->label->tracked = 'tracked'; +$lang->action->label->hangup = 'hangup'; +$lang->action->label->run = 'run'; +$lang->action->label->estimated = 'estimated'; +$lang->action->label->reviewpassed = 'Pass'; +$lang->action->label->reviewrejected = 'Reject'; +$lang->action->label->reviewclarified = 'Clarify'; +$lang->action->label->reviewreverted = 'Revert'; +$lang->action->label->commitsummary = 'Commit Summary'; +$lang->action->label->updatetrainee = 'Update Trainee'; +$lang->action->label->setdefaultbranch = 'Set default branch'; +$lang->action->label->syncprogram = 'start'; +$lang->action->label->syncproject = 'start'; +$lang->action->label->syncexecution = 'start'; +$lang->action->label->syncexecutionbychild = 'start'; +$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; +$lang->action->label->createmr = 'Merge Request Linked'; +$lang->action->label->deletemr = 'Merge Request Unlinked'; +$lang->action->label->mergedmr = 'Merge Request Merged'; +$lang->action->label->compilepass = 'Compile Success'; +$lang->action->label->compilefail = 'Compile Fail'; +$lang->action->label->reopen = 'Reopen'; +$lang->action->label->approve = 'Passed'; +$lang->action->label->reject = 'Rejected'; +$lang->action->label->importfromgitlab = 'Issue associate created'; +$lang->action->label->archived = 'Archived'; +$lang->action->label->restore = 'Restore'; +$lang->action->label->mergedbranch = 'Merge Branch'; +$lang->action->label->startedbychild = 'started'; +$lang->action->label->finishedbychild = 'finished'; +$lang->action->label->closedbychild = 'closed'; +$lang->action->label->activatedbychild = 'activated'; +$lang->action->label->createchild = 'activated'; +$lang->action->label->executed = 'executed'; +$lang->action->label->importedcard = 'imported'; +$lang->action->label->importedproductplan = 'imported'; +$lang->action->label->importedrelease = 'imported'; +$lang->action->label->importedexecution = 'imported'; +$lang->action->label->importedbuild = 'imported'; +$lang->action->label->importedticket = 'imported'; +$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; +$lang->action->label->bind = 'bound'; +$lang->action->label->unbind = 'unbound'; +$lang->action->label->linkstory = 'link stories to'; +$lang->action->label->linkbug = 'link bugs to'; +$lang->action->label->unlinkstory = 'unlink stories from'; +$lang->action->label->unlinkbug = 'unlink bugs from'; +$lang->action->label->tolib = 'imported'; +$lang->action->label->updatetolib = 'updated'; +$lang->action->label->ganttmove = 'sorted'; +$lang->action->label->submitreview = 'submitted'; +$lang->action->label->suspend = 'suspended'; +$lang->action->label->resume = 'resumed'; +$lang->action->label->reboot = 'reboot'; +$lang->action->label->boot = 'boot'; +$lang->action->label->destroy = 'destroyed'; +$lang->action->label->getvnc = 'remote control'; +$lang->action->label->synctwins = 'synchronized changes'; +$lang->action->label->relieved = 'relieved'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; +$lang->action->label->saveddraft = 'save draft'; +$lang->action->label->releaseddoc = 'released'; +$lang->action->label->collected = 'collected'; +$lang->action->label->uncollected = 'uncollected'; +$lang->action->label->online = 'online'; +$lang->action->label->offline = 'offline'; +$lang->action->label->linkhost = 'link hosts to'; + /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index 2a20698c8c..572c7c1c4e 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -248,6 +248,9 @@ $lang->action->desc->createdsnapshot = '$date, $actor crea $lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; $lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; +$lang->action->desc->online = '$date, set online by $actor .' . "\n"; +$lang->action->desc->offline = '$date, set offline by $actor .' . "\n"; +$lang->action->desc->linkhost = '$date, the host is linked by $actor .' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor a créé un sous-tâche $extra。' . "\n"; @@ -282,171 +285,215 @@ $lang->action->desc->releaseddoc = '$date, 由 $actor released /* This parameter describes historical operations that are performed when a document is collected or uncollected. */ $lang->action->desc->collected = '$date, 由 $actor collected $extra。' . "\n"; $lang->action->desc->uncollected = '$date, 由 $actor uncollected $extra。' . "\n"; +$lang->action->label->online = 'online'; +$lang->action->label->offline = 'offline'; +$lang->action->label->linkhost = 'link hosts to'; + +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, installed by $actor.' . "\n"; +$lang->action->desc->uninstall = '$date, uninstalled by $actor.' . "\n"; +$lang->action->desc->start = '$date, started by $actor.' . "\n"; +$lang->action->desc->stop = '$date, closed by $actor.' . "\n"; +$lang->action->desc->editextra = '$date, updated from $oldname to $newName by $actor.' . "\n"; +$lang->action->desc->upgrade = '$date, upgraded from $oldVersion to $newVersion by $actor.' . "\n"; +$lang->action->desc->backup = '$date, backuped by $actor.' . "\n"; +$lang->action->desc->adjustmemory = '$date, resized to $newMemory of memory by $actor.' . "\n"; +$lang->action->desc->enableldap = '$date, enabled by $actor of LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, disabled by $actor of LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, enabled by $actor of SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, disabled by $actor of SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, updated by $actor of custom settings.' . "\n"; +$lang->action->desc->tosenior = '$date, upgraded from $oldAppName to $newAppName by $actor .' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, opened by $actor of autobackup.' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, closed by $actor of autobackup' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, updated by $actor of autorestore.' . "\n"; +$lang->action->desc->autobackup = '$date, backed up of system' . "\n"; +$lang->action->desc->autorestore = '$date, restored by system.' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, deleted the expired automatic backups by system.' . "\n"; /* Used to display dynamic information. */ -$lang->action->label = new stdclass(); -$lang->action->label->install = 'install '; -$lang->action->label->revert = 'revert '; -$lang->action->label->created = 'a créé '; -$lang->action->label->opened = 'a ouvert '; -$lang->action->label->openedbysystem = 'Opened by system '; -$lang->action->label->closedbysystem = 'Closed by system '; -$lang->action->label->added = 'ajouter'; -$lang->action->label->changed = 'a changé '; -$lang->action->label->edited = 'a édité '; -$lang->action->label->assigned = 'a affecté '; -$lang->action->label->closed = 'a fermé '; -$lang->action->label->deleted = 'a supprimé '; -$lang->action->label->deletedfile = 'a supprimé '; -$lang->action->label->editfile = 'a édité '; -$lang->action->label->erased = 'a détruit '; -$lang->action->label->undeleted = 'a restauré '; -$lang->action->label->hidden = 'a masqué '; -$lang->action->label->commented = 'a commenté '; -$lang->action->label->communicated = 'communicated'; -$lang->action->label->activated = 'a activé '; -$lang->action->label->blocked = 'a bloqué '; -$lang->action->label->resolved = 'a résolu '; -$lang->action->label->reviewed = 'a revu '; -$lang->action->label->recalled = 'recalled'; -$lang->action->label->recalledchange = 'undo changes'; -$lang->action->label->moved = 'a déplacé '; -$lang->action->label->confirmed = 'a confirmé Story '; -$lang->action->label->bugconfirmed = 'a confirmé le Bug '; -$lang->action->label->tostory = 'a converti en Story '; -$lang->action->label->frombug = 'a converti du Bug '; -$lang->action->label->fromlib = 'a importé de la Library '; -$lang->action->label->totask = 'a converti en Tâche '; -$lang->action->label->converttotask = 'converted to Task '; -$lang->action->label->svncommited = 'a committé SVN '; -$lang->action->label->gitcommited = 'a committé GIT '; -$lang->action->label->linked2plan = 'a raccordé au Plan '; -$lang->action->label->unlinkedfromplan = 'a extrait du plan '; -$lang->action->label->changestatus = 'a changé le statut '; -$lang->action->label->marked = 'a marqué'; -$lang->action->label->linked2execution = "a ajouté à {$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "a enlevé de {$lang->executionCommon}"; -$lang->action->label->linked2kanban = 'linked to kanban'; -$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; -$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; -$lang->action->label->unlinkedfrombuild = "a enlevé du Build "; -$lang->action->label->linked2release = "a ajouté à une Release "; -$lang->action->label->unlinkedfromrelease = "a enlevé de la Release "; -$lang->action->label->linked2revision = "Link Revision"; -$lang->action->label->unlinkedfromrevision = "Unlink Revision"; -$lang->action->label->linkrelatedbug = "a lié à un Bug "; -$lang->action->label->unlinkrelatedbug = "a délié du Bug "; -$lang->action->label->linkrelatedcase = "a mis en relation avec un CasTest "; -$lang->action->label->unlinkrelatedcase = "a libéré du CasTest "; -$lang->action->label->linkrelatedstory = "a lié à une Story "; -$lang->action->label->unlinkrelatedstory = "a dégagé de la Story "; -$lang->action->label->subdividestory = "a décomposé la Story "; -$lang->action->label->unlinkchildstory = "a dissocié de la Story fille "; -$lang->action->label->started = 'a commencé '; -$lang->action->label->restarted = 'a continué '; -$lang->action->label->recordestimate = 'a estimé '; -$lang->action->label->editestimate = 'a réestimé '; -$lang->action->label->canceled = 'a annulé '; -$lang->action->label->finished = 'a fini '; -$lang->action->label->paused = 'a stoppé '; -$lang->action->label->verified = 'a vérifié '; -$lang->action->label->delayed = 'a ajourné '; -$lang->action->label->suspended = 'a suspendu '; -$lang->action->label->login = "s'est Connecté"; -$lang->action->label->logout = "s'est Déconnecté"; -$lang->action->label->notified = "Notified"; -$lang->action->label->deleteestimate = "a remis à zéro "; -$lang->action->label->linked2build = "a ajouté au Build "; -$lang->action->label->linked2bug = "a lié au Bug "; -$lang->action->label->linked2testtask = "linked"; -$lang->action->label->unlinkedfromtesttask = "unlinked"; -$lang->action->label->linkchildtask = "a raccroché à une sous-tâche"; -$lang->action->label->unlinkchildrentask = "a décroché la sous-tâche"; -$lang->action->label->linkparenttask = "a raccroché à une tâche parent"; -$lang->action->label->unlinkparenttask = "a décroché de la tâche parent"; -$lang->action->label->batchcreate = "a créé tâches par lot"; -$lang->action->label->createchildren = "a créé sous-tâches par lot"; -$lang->action->label->managed = "a managé"; -$lang->action->label->managedteam = "managed"; -$lang->action->label->managedwhitelist = "managed"; -$lang->action->label->deletechildrentask = "a supprimé une sous-tâche"; -$lang->action->label->createchildrenstory = "a créé une sous-story"; -$lang->action->label->linkchildstory = "a raccroché à une sous-story"; -$lang->action->label->unlinkchildrenstory = "a décroché de la sous-story"; -$lang->action->label->linkparentstory = "a raccroché à une story parent"; -$lang->action->label->unlinkparentstory = "a décroché de la story parent"; -$lang->action->label->deletechildrenstory = "a supprimé la sous-story"; -$lang->action->label->tracked = 'tracked'; -$lang->action->label->hangup = 'hangup'; -$lang->action->label->run = 'run'; -$lang->action->label->estimated = 'estimated'; -$lang->action->label->reviewpassed = 'Pass'; -$lang->action->label->reviewrejected = 'Reject'; -$lang->action->label->reviewclarified = 'Clarify'; -$lang->action->label->reviewreverted = 'Revert'; -$lang->action->label->commitsummary = 'Commit Summary'; -$lang->action->label->updatetrainee = 'Update Trainee'; -$lang->action->label->setdefaultbranch = 'Set default branch'; -$lang->action->label->syncprogram = 'start'; -$lang->action->label->syncproject = 'start'; -$lang->action->label->syncexecution = 'start'; -$lang->action->label->syncexecutionbychild = 'start'; -$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; -$lang->action->label->createmr = 'Merge Request Linked'; -$lang->action->label->deletemr = 'Merge Request Unlinked'; -$lang->action->label->mergedmr = 'Merge Request Merged'; -$lang->action->label->compilepass = 'Compile Success'; -$lang->action->label->compilefail = 'Compile Fail'; -$lang->action->label->reopen = 'Reopen'; -$lang->action->label->approve = 'Passed'; -$lang->action->label->reject = 'Rejected'; -$lang->action->label->importfromgitlab = 'Issue associate created'; -$lang->action->label->archived = 'Archived'; -$lang->action->label->restore = 'Restore'; -$lang->action->label->mergedbranch = 'Merge Branch'; -$lang->action->label->startedbychild = 'started'; -$lang->action->label->finishedbychild = 'finished'; -$lang->action->label->closedbychild = 'closed'; -$lang->action->label->activatedbychild = 'activated'; -$lang->action->label->createchild = 'activated'; -$lang->action->label->executed = 'executed'; -$lang->action->label->importedcard = 'imported'; -$lang->action->label->importedproductplan = 'imported'; -$lang->action->label->importedrelease = 'imported'; -$lang->action->label->importedexecution = 'imported'; -$lang->action->label->importedbuild = 'imported'; -$lang->action->label->importedticket = 'imported'; -$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; -$lang->action->label->bind = 'bound'; -$lang->action->label->unbind = 'unbound'; -$lang->action->label->linkstory = 'link stories to'; -$lang->action->label->linkbug = 'link bugs to'; -$lang->action->label->unlinkstory = 'unlink stories from'; -$lang->action->label->unlinkbug = 'unlink bugs from'; -$lang->action->label->tolib = 'Importé'; -$lang->action->label->updatetolib = 'MàJ'; -$lang->action->label->ganttmove = 'sorted'; -$lang->action->label->submitreview = 'submitted'; -$lang->action->label->suspend = 'suspended'; -$lang->action->label->resume = 'resumed'; -$lang->action->label->reboot = 'reboot'; -$lang->action->label->boot = 'boot'; -$lang->action->label->destroy = 'destroyed'; -$lang->action->label->getvnc = 'remote control'; -$lang->action->label->synctwins = 'synchronized changes'; -$lang->action->label->relieved = 'relieved'; -$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; -$lang->action->label->linkedrepo = 'Linked Code Repo'; -$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; -$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; -$lang->action->label->createdsnapshot = 'create snapshot'; -$lang->action->label->restoredsnapshot = 'create snapshot'; -$lang->action->label->editsnapshot = 'edit snapshot'; -$lang->action->label->deletesnapshot = 'deleted snapshot'; -$lang->action->label->saveddraft = 'save draft'; -$lang->action->label->releaseddoc = 'released'; -$lang->action->label->collected = 'collected'; -$lang->action->label->uncollected = 'uncollected'; +$lang->action->label = new stdclass(); +$lang->action->label->install = 'install '; +$lang->action->label->uninstall = 'uninstall '; +$lang->action->label->upgrade = 'upgrade '; +$lang->action->label->start = 'start '; +$lang->action->label->stop = 'stop '; +$lang->action->label->editname = 'edit name '; +$lang->action->label->backup = 'backup '; +$lang->action->label->adjustmemory = 'adjust memory '; +$lang->action->label->enableldap = 'enable LDAP '; +$lang->action->label->disableldap = 'disable LDAP '; +$lang->action->label->enablesmtp = 'enable SMTP '; +$lang->action->label->disablesmtp = 'disable SMTP '; +$lang->action->label->tosenior = 'upgrade to senior '; +$lang->action->label->saveautobackupsettings = 'enable auto backup '; +$lang->action->label->closeautobackupsettings = 'disable auto backup '; +$lang->action->label->autobackup = 'auto backup by system '; +$lang->action->label->autorestore = 'auto restore by system '; +$lang->action->label->deleteexpiredbackup = 'delete expire backup by system '; +$lang->action->label->revert = 'revert '; +$lang->action->label->install = 'install '; +$lang->action->label->revert = 'revert '; +$lang->action->label->created = 'a créé '; +$lang->action->label->opened = 'a ouvert '; +$lang->action->label->openedbysystem = 'Opened by system '; +$lang->action->label->closedbysystem = 'Closed by system '; +$lang->action->label->added = 'ajouter'; +$lang->action->label->changed = 'a changé '; +$lang->action->label->edited = 'a édité '; +$lang->action->label->assigned = 'a affecté '; +$lang->action->label->closed = 'a fermé '; +$lang->action->label->deleted = 'a supprimé '; +$lang->action->label->deletedfile = 'a supprimé '; +$lang->action->label->editfile = 'a édité '; +$lang->action->label->erased = 'a détruit '; +$lang->action->label->undeleted = 'a restauré '; +$lang->action->label->hidden = 'a masqué '; +$lang->action->label->commented = 'a commenté '; +$lang->action->label->communicated = 'communicated'; +$lang->action->label->activated = 'a activé '; +$lang->action->label->blocked = 'a bloqué '; +$lang->action->label->resolved = 'a résolu '; +$lang->action->label->reviewed = 'a revu '; +$lang->action->label->recalled = 'recalled'; +$lang->action->label->recalledchange = 'undo changes'; +$lang->action->label->moved = 'a déplacé '; +$lang->action->label->confirmed = 'a confirmé Story '; +$lang->action->label->bugconfirmed = 'a confirmé le Bug '; +$lang->action->label->tostory = 'a converti en Story '; +$lang->action->label->frombug = 'a converti du Bug '; +$lang->action->label->fromlib = 'a importé de la Library '; +$lang->action->label->totask = 'a converti en Tâche '; +$lang->action->label->converttotask = 'converted to Task '; +$lang->action->label->svncommited = 'a committé SVN '; +$lang->action->label->gitcommited = 'a committé GIT '; +$lang->action->label->linked2plan = 'a raccordé au Plan '; +$lang->action->label->unlinkedfromplan = 'a extrait du plan '; +$lang->action->label->changestatus = 'a changé le statut '; +$lang->action->label->marked = 'a marqué'; +$lang->action->label->linked2execution = "a ajouté à {$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "a enlevé de {$lang->executionCommon}"; +$lang->action->label->linked2kanban = 'linked to kanban'; +$lang->action->label->linked2project = "linked to {$lang->projectCommon}"; +$lang->action->label->unlinkedfromproject = "unlinked from {$lang->projectCommon}"; +$lang->action->label->unlinkedfrombuild = "a enlevé du Build "; +$lang->action->label->linked2release = "a ajouté à une Release "; +$lang->action->label->unlinkedfromrelease = "a enlevé de la Release "; +$lang->action->label->linked2revision = "Link Revision"; +$lang->action->label->unlinkedfromrevision = "Unlink Revision"; +$lang->action->label->linkrelatedbug = "a lié à un Bug "; +$lang->action->label->unlinkrelatedbug = "a délié du Bug "; +$lang->action->label->linkrelatedcase = "a mis en relation avec un CasTest "; +$lang->action->label->unlinkrelatedcase = "a libéré du CasTest "; +$lang->action->label->linkrelatedstory = "a lié à une Story "; +$lang->action->label->unlinkrelatedstory = "a dégagé de la Story "; +$lang->action->label->subdividestory = "a décomposé la Story "; +$lang->action->label->unlinkchildstory = "a dissocié de la Story fille "; +$lang->action->label->started = 'a commencé '; +$lang->action->label->restarted = 'a continué '; +$lang->action->label->recordestimate = 'a estimé '; +$lang->action->label->editestimate = 'a réestimé '; +$lang->action->label->canceled = 'a annulé '; +$lang->action->label->finished = 'a fini '; +$lang->action->label->paused = 'a stoppé '; +$lang->action->label->verified = 'a vérifié '; +$lang->action->label->delayed = 'a ajourné '; +$lang->action->label->suspended = 'a suspendu '; +$lang->action->label->login = "s'est Connecté"; +$lang->action->label->logout = "s'est Déconnecté"; +$lang->action->label->notified = "Notified"; +$lang->action->label->deleteestimate = "a remis à zéro "; +$lang->action->label->linked2build = "a ajouté au Build "; +$lang->action->label->linked2bug = "a lié au Bug "; +$lang->action->label->linked2testtask = "linked"; +$lang->action->label->unlinkedfromtesttask = "unlinked"; +$lang->action->label->linkchildtask = "a raccroché à une sous-tâche"; +$lang->action->label->unlinkchildrentask = "a décroché la sous-tâche"; +$lang->action->label->linkparenttask = "a raccroché à une tâche parent"; +$lang->action->label->unlinkparenttask = "a décroché de la tâche parent"; +$lang->action->label->batchcreate = "a créé tâches par lot"; +$lang->action->label->createchildren = "a créé sous-tâches par lot"; +$lang->action->label->managed = "a managé"; +$lang->action->label->managedteam = "managed"; +$lang->action->label->managedwhitelist = "managed"; +$lang->action->label->deletechildrentask = "a supprimé une sous-tâche"; +$lang->action->label->createchildrenstory = "a créé une sous-story"; +$lang->action->label->linkchildstory = "a raccroché à une sous-story"; +$lang->action->label->unlinkchildrenstory = "a décroché de la sous-story"; +$lang->action->label->linkparentstory = "a raccroché à une story parent"; +$lang->action->label->unlinkparentstory = "a décroché de la story parent"; +$lang->action->label->deletechildrenstory = "a supprimé la sous-story"; +$lang->action->label->tracked = 'tracked'; +$lang->action->label->hangup = 'hangup'; +$lang->action->label->run = 'run'; +$lang->action->label->estimated = 'estimated'; +$lang->action->label->reviewpassed = 'Pass'; +$lang->action->label->reviewrejected = 'Reject'; +$lang->action->label->reviewclarified = 'Clarify'; +$lang->action->label->reviewreverted = 'Revert'; +$lang->action->label->commitsummary = 'Commit Summary'; +$lang->action->label->updatetrainee = 'Update Trainee'; +$lang->action->label->setdefaultbranch = 'Set default branch'; +$lang->action->label->syncprogram = 'start'; +$lang->action->label->syncproject = 'start'; +$lang->action->label->syncexecution = 'start'; +$lang->action->label->syncexecutionbychild = 'start'; +$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; +$lang->action->label->createmr = 'Merge Request Linked'; +$lang->action->label->deletemr = 'Merge Request Unlinked'; +$lang->action->label->mergedmr = 'Merge Request Merged'; +$lang->action->label->compilepass = 'Compile Success'; +$lang->action->label->compilefail = 'Compile Fail'; +$lang->action->label->reopen = 'Reopen'; +$lang->action->label->approve = 'Passed'; +$lang->action->label->reject = 'Rejected'; +$lang->action->label->importfromgitlab = 'Issue associate created'; +$lang->action->label->archived = 'Archived'; +$lang->action->label->restore = 'Restore'; +$lang->action->label->mergedbranch = 'Merge Branch'; +$lang->action->label->startedbychild = 'started'; +$lang->action->label->finishedbychild = 'finished'; +$lang->action->label->closedbychild = 'closed'; +$lang->action->label->activatedbychild = 'activated'; +$lang->action->label->createchild = 'activated'; +$lang->action->label->executed = 'executed'; +$lang->action->label->importedcard = 'imported'; +$lang->action->label->importedproductplan = 'imported'; +$lang->action->label->importedrelease = 'imported'; +$lang->action->label->importedexecution = 'imported'; +$lang->action->label->importedbuild = 'imported'; +$lang->action->label->importedticket = 'imported'; +$lang->action->label->fromsonarqube = 'created a bug from SonarQube Issue named:'; +$lang->action->label->bind = 'bound'; +$lang->action->label->unbind = 'unbound'; +$lang->action->label->linkstory = 'link stories to'; +$lang->action->label->linkbug = 'link bugs to'; +$lang->action->label->unlinkstory = 'unlink stories from'; +$lang->action->label->unlinkbug = 'unlink bugs from'; +$lang->action->label->tolib = 'Importé'; +$lang->action->label->updatetolib = 'MàJ'; +$lang->action->label->ganttmove = 'sorted'; +$lang->action->label->submitreview = 'submitted'; +$lang->action->label->suspend = 'suspended'; +$lang->action->label->resume = 'resumed'; +$lang->action->label->reboot = 'reboot'; +$lang->action->label->boot = 'boot'; +$lang->action->label->destroy = 'destroyed'; +$lang->action->label->getvnc = 'remote control'; +$lang->action->label->synctwins = 'synchronized changes'; +$lang->action->label->relieved = 'relieved'; +$lang->action->label->switchtolight = 'switch from ALM mode to light mode'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->unlinkproduct = "Unlinked {$lang->productCommon}"; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; +$lang->action->label->saveddraft = 'save draft'; +$lang->action->label->releaseddoc = 'released'; +$lang->action->label->collected = 'collected'; +$lang->action->label->uncollected = 'uncollected'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/action/lang/vi.php b/module/action/lang/vi.php index fcbf931b03..88655ec532 100644 --- a/module/action/lang/vi.php +++ b/module/action/lang/vi.php @@ -127,6 +127,10 @@ $lang->action->objectTypes['patch'] = 'Patch'; $lang->action->objectTypes['repo'] = 'Repo'; $lang->action->objectTypes['dataview'] = 'Data View'; $lang->action->objectTypes['scene'] = 'Scene'; +$lang->action->objectTypes['pivot'] = 'Pivot'; +$lang->action->objectTypes['serverroom'] = 'IDC'; +$lang->action->objectTypes['account'] = 'Account'; +$lang->action->objectTypes['host'] = 'Host'; /* Used to describe operation history. */ $lang->action->desc = new stdclass(); @@ -208,118 +212,165 @@ $lang->action->desc->deletechildrenstory = '$date, $actor delet /* Historical record of actions when associating and removing tình huống. */ $lang->action->desc->linkrelatedcase = '$date, $actor linked a case $extra.' . "\n"; $lang->action->desc->unlinkrelatedcase = '$date, $actor unlinked a case $extra.' . "\n"; +$lang->action->desc->online = '$date, set online by $actor .' . "\n"; +$lang->action->desc->offline = '$date, set offline by $actor .' . "\n"; +$lang->action->desc->linkhost = '$date, the host is linked by $actor .' . "\n"; + +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, installed by $actor.' . "\n"; +$lang->action->desc->uninstall = '$date, uninstalled by $actor.' . "\n"; +$lang->action->desc->start = '$date, started by $actor.' . "\n"; +$lang->action->desc->stop = '$date, closed by $actor.' . "\n"; +$lang->action->desc->editextra = '$date, updated from $oldname to $newName by $actor.' . "\n"; +$lang->action->desc->upgrade = '$date, upgraded from $oldVersion to $newVersion by $actor.' . "\n"; +$lang->action->desc->backup = '$date, backuped by $actor.' . "\n"; +$lang->action->desc->adjustmemory = '$date, resized to $newMemory of memory by $actor.' . "\n"; +$lang->action->desc->enableldap = '$date, enabled by $actor of LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, disabled by $actor of LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, enabled by $actor of SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, disabled by $actor of SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, updated by $actor of custom settings.' . "\n"; +$lang->action->desc->tosenior = '$date, upgraded from $oldAppName to $newAppName by $actor .' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, opened by $actor of autobackup.' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, closed by $actor of autobackup' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, updated by $actor of autorestore.' . "\n"; +$lang->action->desc->autobackup = '$date, backed up of system' . "\n"; +$lang->action->desc->autorestore = '$date, restored by system.' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, deleted the expired automatic backups by system.' . "\n"; /* Used to display dynamic information. */ -$lang->action->label = new stdclass(); -$lang->action->label->created = 'created '; -$lang->action->label->opened = 'opened '; -$lang->action->label->openedbysystem = 'Opened by system '; -$lang->action->label->closedbysystem = 'Closed by system '; -$lang->action->label->added = 'added'; -$lang->action->label->changed = 'changed '; -$lang->action->label->edited = 'edited '; -$lang->action->label->assigned = 'assigned '; -$lang->action->label->closed = 'closed '; -$lang->action->label->deleted = 'deleted '; -$lang->action->label->deletedfile = 'deleted '; -$lang->action->label->editfile = 'edited '; -$lang->action->label->erased = 'erased '; -$lang->action->label->undeleted = 'restored '; -$lang->action->label->hidden = 'hid '; -$lang->action->label->commented = 'commented '; -$lang->action->label->communicated = 'communicated'; -$lang->action->label->activated = 'activated '; -$lang->action->label->blocked = 'blocked '; -$lang->action->label->resolved = 'resolved '; -$lang->action->label->reviewed = 'reviewed '; -$lang->action->label->recalled = 'recalled'; -$lang->action->label->recalledchange = 'undo changes'; -$lang->action->label->moved = 'moved '; -$lang->action->label->confirmed = 'confirmed Story '; -$lang->action->label->bugconfirmed = 'Đã xác nhận'; -$lang->action->label->tostory = 'converted tới Câu chuyện '; -$lang->action->label->frombug = 'converted từ Bug '; -$lang->action->label->fromlib = 'imported from Library '; -$lang->action->label->totask = 'converted to Task '; -$lang->action->label->svncommited = 'committed SVN '; -$lang->action->label->gitcommited = 'committed Git '; -$lang->action->label->linked2plan = 'linked cho kế hoạch '; -$lang->action->label->unlinkedfromplan = 'unlinked from '; -$lang->action->label->changestatus = 'changed status'; -$lang->action->label->marked = 'marked'; -$lang->action->label->linked2execution = "đã liên kết tới {$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "hủy liên kết từ {$lang->executionCommon}"; -$lang->action->label->linked2project = "Link Project"; -$lang->action->label->unlinkedfromproject = "Unlink Project"; -$lang->action->label->unlinkedfrombuild = "hủy liên kết Bản dựng "; -$lang->action->label->linked2release = "liên kết Phát hành "; -$lang->action->label->unlinkedfromrelease = "hủy liên kết Release "; -$lang->action->label->linked2revision = "Link Revision"; -$lang->action->label->unlinkedfromrevision = "Unlink Revision"; -$lang->action->label->linkrelatedbug = "linked Bug "; -$lang->action->label->unlinkrelatedbug = "hủy liên kết Bug "; -$lang->action->label->linkrelatedcase = "linked Case "; -$lang->action->label->unlinkrelatedcase = "hủy liên kết Case "; -$lang->action->label->linkrelatedstory = "linked Story "; -$lang->action->label->unlinkrelatedstory = "hủy liên kết Story "; -$lang->action->label->subdividestory = "decomposed Story "; -$lang->action->label->unlinkchildstory = "hủy liên kết Story "; -$lang->action->label->started = 'started '; -$lang->action->label->restarted = 'continued '; -$lang->action->label->recordestimate = 'recorded '; -$lang->action->label->editestimate = 'edited '; -$lang->action->label->canceled = 'cancelled '; -$lang->action->label->finished = 'finished '; -$lang->action->label->paused = 'paused '; -$lang->action->label->verified = 'verified '; -$lang->action->label->delayed = 'delayed '; -$lang->action->label->suspended = 'suspended '; -$lang->action->label->login = 'login'; -$lang->action->label->logout = "logout"; -$lang->action->label->notified = "Notified"; -$lang->action->label->deleteestimate = "deleted "; -$lang->action->label->linked2build = "linked "; -$lang->action->label->linked2bug = "linked "; -$lang->action->label->linked2testtask = "linked"; -$lang->action->label->unlinkedfromtesttask = "unlinked"; -$lang->action->label->linkchildtask = "linked a child task"; -$lang->action->label->unlinkchildrentask = "hủy liên kết a child task"; -$lang->action->label->linkparenttask = "linked a nhiệm vụ cha"; -$lang->action->label->unlinkparenttask = "unlink from nhiệm vụ cha"; -$lang->action->label->batchcreate = "batch created tasks"; -$lang->action->label->createchildren = "create child tasks"; -$lang->action->label->managed = "managed"; -$lang->action->label->managedteam = "managed"; -$lang->action->label->managedwhitelist = "managed"; -$lang->action->label->deletechildrentask = "delete children task"; -$lang->action->label->createchildrenstory = "create child stories"; -$lang->action->label->linkchildstory = "linked a child story"; -$lang->action->label->unlinkchildrenstory = "hủy liên kết a child story"; -$lang->action->label->linkparentstory = "linked a parent story"; -$lang->action->label->unlinkparentstory = "unlink from parent story"; -$lang->action->label->deletechildrenstory = "delete children story"; -$lang->action->label->tracked = 'tracked'; -$lang->action->label->hangup = 'hangup'; -$lang->action->label->run = 'run'; -$lang->action->label->estimated = 'estimated'; -$lang->action->label->reviewpassed = 'Pass'; -$lang->action->label->reviewrejected = 'Reject'; -$lang->action->label->reviewclarified = 'Clarify'; -$lang->action->label->commitsummary = 'Commit Summary'; -$lang->action->label->updatetrainee = 'Update Trainee'; -$lang->action->label->syncprogram = 'start'; -$lang->action->label->syncproject = 'start'; -$lang->action->label->syncexecution = 'start'; -$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; -$lang->action->label->submitreview = 'submitted'; -$lang->action->label->suspend = 'suspended'; -$lang->action->label->resume = 'resumed'; -$lang->action->label->reboot = 'reboot'; -$lang->action->label->boot = 'boot'; -$lang->action->label->destroy = 'destroyed'; -$lang->action->label->synctwins = 'synchronized changes'; -$lang->action->label->linkedrepo = 'Linked Code Repo'; -$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label = new stdclass(); +$lang->action->label->install = 'install '; +$lang->action->label->uninstall = 'uninstall '; +$lang->action->label->upgrade = 'upgrade '; +$lang->action->label->start = 'start '; +$lang->action->label->stop = 'stop '; +$lang->action->label->editname = 'edit name '; +$lang->action->label->backup = 'backup '; +$lang->action->label->adjustmemory = 'adjust memory '; +$lang->action->label->enableldap = 'enable LDAP '; +$lang->action->label->disableldap = 'disable LDAP '; +$lang->action->label->enablesmtp = 'enable SMTP '; +$lang->action->label->disablesmtp = 'disable SMTP '; +$lang->action->label->tosenior = 'upgrade to senior '; +$lang->action->label->saveautobackupsettings = 'enable auto backup '; +$lang->action->label->closeautobackupsettings = 'disable auto backup '; +$lang->action->label->autobackup = 'auto backup by system '; +$lang->action->label->autorestore = 'auto restore by system '; +$lang->action->label->deleteexpiredbackup = 'delete expire backup by system '; +$lang->action->label->revert = 'reverted'; +$lang->action->label->created = 'created '; +$lang->action->label->opened = 'opened '; +$lang->action->label->openedbysystem = 'Opened by system '; +$lang->action->label->closedbysystem = 'Closed by system '; +$lang->action->label->added = 'added'; +$lang->action->label->changed = 'changed '; +$lang->action->label->edited = 'edited '; +$lang->action->label->assigned = 'assigned '; +$lang->action->label->closed = 'closed '; +$lang->action->label->deleted = 'deleted '; +$lang->action->label->deletedfile = 'deleted '; +$lang->action->label->editfile = 'edited '; +$lang->action->label->erased = 'erased '; +$lang->action->label->undeleted = 'restored '; +$lang->action->label->hidden = 'hid '; +$lang->action->label->commented = 'commented '; +$lang->action->label->communicated = 'communicated'; +$lang->action->label->activated = 'activated '; +$lang->action->label->blocked = 'blocked '; +$lang->action->label->resolved = 'resolved '; +$lang->action->label->reviewed = 'reviewed '; +$lang->action->label->recalled = 'recalled'; +$lang->action->label->recalledchange = 'undo changes'; +$lang->action->label->moved = 'moved '; +$lang->action->label->confirmed = 'confirmed Story '; +$lang->action->label->bugconfirmed = 'Đã xác nhận'; +$lang->action->label->tostory = 'converted tới Câu chuyện '; +$lang->action->label->frombug = 'converted từ Bug '; +$lang->action->label->fromlib = 'imported from Library '; +$lang->action->label->totask = 'converted to Task '; +$lang->action->label->svncommited = 'committed SVN '; +$lang->action->label->gitcommited = 'committed Git '; +$lang->action->label->linked2plan = 'linked cho kế hoạch '; +$lang->action->label->unlinkedfromplan = 'unlinked from '; +$lang->action->label->changestatus = 'changed status'; +$lang->action->label->marked = 'marked'; +$lang->action->label->linked2execution = "đã liên kết tới {$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "hủy liên kết từ {$lang->executionCommon}"; +$lang->action->label->linked2project = "Link Project"; +$lang->action->label->unlinkedfromproject = "Unlink Project"; +$lang->action->label->unlinkedfrombuild = "hủy liên kết Bản dựng "; +$lang->action->label->linked2release = "liên kết Phát hành "; +$lang->action->label->unlinkedfromrelease = "hủy liên kết Release "; +$lang->action->label->linked2revision = "Link Revision"; +$lang->action->label->unlinkedfromrevision = "Unlink Revision"; +$lang->action->label->linkrelatedbug = "linked Bug "; +$lang->action->label->unlinkrelatedbug = "hủy liên kết Bug "; +$lang->action->label->linkrelatedcase = "linked Case "; +$lang->action->label->unlinkrelatedcase = "hủy liên kết Case "; +$lang->action->label->linkrelatedstory = "linked Story "; +$lang->action->label->unlinkrelatedstory = "hủy liên kết Story "; +$lang->action->label->subdividestory = "decomposed Story "; +$lang->action->label->unlinkchildstory = "hủy liên kết Story "; +$lang->action->label->started = 'started '; +$lang->action->label->restarted = 'continued '; +$lang->action->label->recordestimate = 'recorded '; +$lang->action->label->editestimate = 'edited '; +$lang->action->label->canceled = 'cancelled '; +$lang->action->label->finished = 'finished '; +$lang->action->label->paused = 'paused '; +$lang->action->label->verified = 'verified '; +$lang->action->label->delayed = 'delayed '; +$lang->action->label->suspended = 'suspended '; +$lang->action->label->login = 'login'; +$lang->action->label->logout = "logout"; +$lang->action->label->notified = "Notified"; +$lang->action->label->deleteestimate = "deleted "; +$lang->action->label->linked2build = "linked "; +$lang->action->label->linked2bug = "linked "; +$lang->action->label->linked2testtask = "linked"; +$lang->action->label->unlinkedfromtesttask = "unlinked"; +$lang->action->label->linkchildtask = "linked a child task"; +$lang->action->label->unlinkchildrentask = "hủy liên kết a child task"; +$lang->action->label->linkparenttask = "linked a nhiệm vụ cha"; +$lang->action->label->unlinkparenttask = "unlink from nhiệm vụ cha"; +$lang->action->label->batchcreate = "batch created tasks"; +$lang->action->label->createchildren = "create child tasks"; +$lang->action->label->managed = "managed"; +$lang->action->label->managedteam = "managed"; +$lang->action->label->managedwhitelist = "managed"; +$lang->action->label->deletechildrentask = "delete children task"; +$lang->action->label->createchildrenstory = "create child stories"; +$lang->action->label->linkchildstory = "linked a child story"; +$lang->action->label->unlinkchildrenstory = "hủy liên kết a child story"; +$lang->action->label->linkparentstory = "linked a parent story"; +$lang->action->label->unlinkparentstory = "unlink from parent story"; +$lang->action->label->deletechildrenstory = "delete children story"; +$lang->action->label->tracked = 'tracked'; +$lang->action->label->hangup = 'hangup'; +$lang->action->label->run = 'run'; +$lang->action->label->estimated = 'estimated'; +$lang->action->label->reviewpassed = 'Pass'; +$lang->action->label->reviewrejected = 'Reject'; +$lang->action->label->reviewclarified = 'Clarify'; +$lang->action->label->commitsummary = 'Commit Summary'; +$lang->action->label->updatetrainee = 'Update Trainee'; +$lang->action->label->syncprogram = 'start'; +$lang->action->label->syncproject = 'start'; +$lang->action->label->syncexecution = 'start'; +$lang->action->label->startProgram = '(The start of the project sets the status of the program as Ongoing)'; +$lang->action->label->submitreview = 'submitted'; +$lang->action->label->suspend = 'suspended'; +$lang->action->label->resume = 'resumed'; +$lang->action->label->reboot = 'reboot'; +$lang->action->label->boot = 'boot'; +$lang->action->label->destroy = 'destroyed'; +$lang->action->label->synctwins = 'synchronized changes'; +$lang->action->label->linkedrepo = 'Linked Code Repo'; +$lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; +$lang->action->label->online = 'online'; +$lang->action->label->offline = 'offline'; +$lang->action->label->linkhost = 'link hosts to'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; @@ -586,6 +637,9 @@ $lang->action->label->risk = 'Risk|risk|view|riskID%s'; $lang->action->label->issue = 'Issue|issue|view|issueID=%s'; $lang->action->label->design = 'Design|design|view|designID=%s'; $lang->action->label->stakeholder = 'Stakeholder|stakeholder|view|userID=%s'; +$lang->action->label->serverroom = 'IDC|serverroom|browse|'; +$lang->action->label->host = 'Host|host|view|id=%s'; +$lang->action->label->account = "Account|account|view|id=%s"; /* Object type. */ $lang->action->search = new stdclass(); diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index a6b5bfc46d..4c00b65184 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -248,6 +248,9 @@ $lang->action->desc->createdsnapshot = '$date, $actor 创 $lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor 编辑了快照 $extra。' . "\n"; $lang->action->desc->deletesnapshot = '$date, $actor 删除了快照 $extra。' . "\n"; +$lang->action->desc->online = '$date, 由 $actor 上架。' . "\n"; +$lang->action->desc->offline = '$date, 由 $actor 下架。' . "\n"; +$lang->action->desc->linkhost = '$date, 由 $actor 关联主机。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -283,170 +286,212 @@ $lang->action->desc->releaseddoc = '$date, 由 $actor 发布 action->desc->collected = '$date, 由 $actor 收藏 $extra。' . "\n"; $lang->action->desc->uncollected = '$date, 由 $actor 取消收藏 $extra。' . "\n"; +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, 由 $actor 安装。' . "\n"; +$lang->action->desc->uninstall = '$date, 由 $actor 删除。' . "\n"; +$lang->action->desc->start = '$date, 由 $actor 启动。' . "\n"; +$lang->action->desc->stop = '$date, 由 $actor 关闭。' . "\n"; +$lang->action->desc->editname = '$date, 由 $actor 修改了名称,从 $oldName 修改为 $newName 。' . "\n"; +$lang->action->desc->upgrade = '$date, 由 $actor 升级,从 $oldVersion 升级为 $newVersion 。' . "\n"; +$lang->action->desc->backup = '$date, 由 $actor 备份。' . "\n"; +$lang->action->desc->adjustmemory = '$date, 由 $actor 调整内存到 $newMemory 。' . "\n"; +$lang->action->desc->enableldap = '$date, 由 $actor 启用了LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, 由 $actor 禁用了LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, 由 $actor 启用了SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, 由 $actor 禁用了SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, 由 $actor 修改了自定义配置。' . "\n"; +$lang->action->desc->tosenior = '$date, 由 $actor 升级服务到高级版,从 $oldAppName 升级到 $newAppName 。' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, 由 $actor 修改了自动备份设置:开启自动备份。' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, 由 $actor 修改了自动备份设置:自动备份已关闭。' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, 由 $actor 修改了自动还原设置。' . "\n"; +$lang->action->desc->autobackup = '$date, 系统执行了自动备份。' . "\n"; +$lang->action->desc->autorestore = '$date, 系统执行了自动还原。' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, 系统删除了过期的自动备份。' . "\n"; + /* 用来显示动态信息。*/ -$lang->action->label = new stdclass(); -$lang->action->label->install = '安装了'; -$lang->action->label->revert = '还原了'; -$lang->action->label->created = '创建了'; -$lang->action->label->opened = '创建了'; -$lang->action->label->openedbysystem = '系统创建了'; -$lang->action->label->closedbysystem = '系统关闭了'; -$lang->action->label->added = '添加了'; -$lang->action->label->changed = '变更了'; -$lang->action->label->edited = '编辑了'; -$lang->action->label->assigned = '指派了'; -$lang->action->label->closed = '关闭了'; -$lang->action->label->deleted = '删除了'; -$lang->action->label->deletedfile = '删除了附件'; -$lang->action->label->editfile = '编辑了附件'; -$lang->action->label->erased = '删除了'; -$lang->action->label->undeleted = '还原了'; -$lang->action->label->hidden = '隐藏了'; -$lang->action->label->commented = '评论了'; -$lang->action->label->communicated = '沟通了'; -$lang->action->label->activated = '激活了'; -$lang->action->label->blocked = '阻塞了'; -$lang->action->label->resolved = '解决了'; -$lang->action->label->reviewed = '评审了'; -$lang->action->label->recalled = '撤销了评审'; -$lang->action->label->recalledchange = '撤销了变更'; -$lang->action->label->moved = '移动了'; -$lang->action->label->confirmed = "确认了{$lang->SRCommon}"; -$lang->action->label->bugconfirmed = '确认了'; -$lang->action->label->tostory = "转了{$lang->SRCommon}"; -$lang->action->label->frombug = "转了{$lang->SRCommon}"; -$lang->action->label->fromlib = '从用例库导入'; -$lang->action->label->totask = '转了任务'; -$lang->action->label->converttotask = '转了任务'; -$lang->action->label->svncommited = '提交了代码'; -$lang->action->label->gitcommited = '提交了代码'; -$lang->action->label->linked2plan = "关联了计划"; -$lang->action->label->unlinkedfromplan = "移除了计划"; -$lang->action->label->changestatus = '修改了状态'; -$lang->action->label->marked = '编辑了'; -$lang->action->label->linked2execution = "关联了{$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "移除了{$lang->executionCommon}"; -$lang->action->label->linked2kanban = '关联了看板'; -$lang->action->label->linked2project = "关联了{$lang->projectCommon}"; -$lang->action->label->unlinkedfromproject = "移除了{$lang->projectCommon}"; -$lang->action->label->unlinkedfrombuild = "移除了版本"; -$lang->action->label->linked2release = "关联了发布"; -$lang->action->label->unlinkedfromrelease = "移除了发布"; -$lang->action->label->linked2revision = "关联了代码提交"; -$lang->action->label->unlinkedfromrevision = "取消关联了代码提交"; -$lang->action->label->linkrelatedbug = "关联了相关Bug"; -$lang->action->label->unlinkrelatedbug = "移除了相关Bug"; -$lang->action->label->linkrelatedcase = "关联了相关用例"; -$lang->action->label->unlinkrelatedcase = "移除了相关用例"; -$lang->action->label->linkrelatedstory = "关联了相关{$lang->SRCommon}"; -$lang->action->label->unlinkrelatedstory = "移除了相关{$lang->SRCommon}"; -$lang->action->label->subdividestory = "细分了{$lang->SRCommon}"; -$lang->action->label->unlinkchildstory = "移除了细分{$lang->SRCommon}"; -$lang->action->label->started = '开始了'; -$lang->action->label->restarted = '继续了'; -$lang->action->label->recordestimate = '记录了工时'; -$lang->action->label->editestimate = '编辑了工时'; -$lang->action->label->canceled = '取消了'; -$lang->action->label->finished = '完成了'; -$lang->action->label->paused = '暂停了'; -$lang->action->label->verified = '验收了'; -$lang->action->label->delayed = '延期了'; -$lang->action->label->suspended = '挂起了'; -$lang->action->label->login = '登录系统'; -$lang->action->label->logout = "退出登录"; -$lang->action->label->notified = "通知了"; -$lang->action->label->deleteestimate = "删除了工时"; -$lang->action->label->linked2build = "关联了"; -$lang->action->label->linked2bug = "关联了"; -$lang->action->label->linked2testtask = "关联了"; -$lang->action->label->unlinkedfromtesttask = "移除了"; -$lang->action->label->linkchildtask = "关联了子任务"; -$lang->action->label->unlinkchildrentask = "取消关联了子任务"; -$lang->action->label->linkparenttask = "关联到了父任务"; -$lang->action->label->unlinkparenttask = "从父任务取消关联了"; -$lang->action->label->batchcreate = "批量创建了任务"; -$lang->action->label->createchildren = "创建了子任务"; -$lang->action->label->managed = "维护了"; -$lang->action->label->managedteam = "维护了"; -$lang->action->label->managedwhitelist = "维护了"; -$lang->action->label->deletechildrentask = "删除了子任务"; -$lang->action->label->createchildrenstory = "创建了子需求"; -$lang->action->label->linkchildstory = "关联了子需求"; -$lang->action->label->unlinkchildrenstory = "取消关联了子需求"; -$lang->action->label->linkparentstory = "关联到了父需求"; -$lang->action->label->unlinkparentstory = "从父需求取消关联了"; -$lang->action->label->deletechildrenstory = "删除了子需求"; -$lang->action->label->tracked = '跟踪了'; -$lang->action->label->hangup = '挂起了'; -$lang->action->label->run = '执行了'; -$lang->action->label->estimated = '估算了'; -$lang->action->label->reviewpassed = '确认通过'; -$lang->action->label->reviewrejected = '拒绝了'; -$lang->action->label->reviewclarified = '有待明确'; -$lang->action->label->reviewreverted = '撤销变更'; -$lang->action->label->commitsummary = '提交了培训总结'; -$lang->action->label->updatetrainee = '更新了培训人员'; -$lang->action->label->setdefaultbranch = '设置了默认分支'; -$lang->action->label->syncprogram = '开始了'; -$lang->action->label->syncproject = '开始了'; -$lang->action->label->syncexecution = '开始了'; -$lang->action->label->syncexecutionbychild = '开始了'; -$lang->action->label->startProgram = "(因{$lang->projectCommon}开始而启动项目集)"; -$lang->action->label->createmr = '合并请求关联了'; -$lang->action->label->deletemr = '合并请求取消了'; -$lang->action->label->mergedmr = '合并请求合并了'; -$lang->action->label->compilepass = '构建成功'; -$lang->action->label->compilefail = '构建失败'; -$lang->action->label->reopen = '重新打开了'; -$lang->action->label->approve = '通过了'; -$lang->action->label->reject = '拒绝了'; -$lang->action->label->importfromgitlab = '从Gitlab关联创建了'; -$lang->action->label->archived = '归档了'; -$lang->action->label->restore = '还原了'; -$lang->action->label->mergedbranch = '合并了分支'; -$lang->action->label->startedbychild = '开始了'; -$lang->action->label->finishedbychild = '完成了'; -$lang->action->label->closedbychild = '关闭了'; -$lang->action->label->activatedbychild = '激活了'; -$lang->action->label->createchild = '激活了'; -$lang->action->label->executed = '执行了'; -$lang->action->label->importedcard = '导入了'; -$lang->action->label->importedproductplan = '导入了'; -$lang->action->label->importedrelease = '导入了'; -$lang->action->label->importedexecution = '导入了'; -$lang->action->label->importedbuild = '导入了'; -$lang->action->label->importedticket = '导入了'; -$lang->action->label->fromsonarqube = '由SonarQube问题创建了'; -$lang->action->label->bind = '绑定了'; -$lang->action->label->unbind = '取消绑定了'; -$lang->action->label->linkstory = '关联需求到了'; -$lang->action->label->linkbug = '关联BUG到了'; -$lang->action->label->unlinkstory = '移除了需求从'; -$lang->action->label->unlinkbug = '移除了BUG从'; -$lang->action->label->tolib = '导入了'; -$lang->action->label->updatetolib = '更新了'; -$lang->action->label->ganttmove = '排序了'; -$lang->action->label->submitreview = '提交了评审'; -$lang->action->label->suspend = '休眠了'; -$lang->action->label->resume = '恢复了'; -$lang->action->label->reboot = '重启了'; -$lang->action->label->boot = '启动了'; -$lang->action->label->destroy = '关闭了'; -$lang->action->label->getvnc = '远程操控了'; -$lang->action->label->synctwins = '同步修改了'; -$lang->action->label->relieved = '解除了'; -$lang->action->label->switchtolight = '从全生命周期管理模式切换为轻量管理模式'; -$lang->action->label->linkedrepo = '关联代码库到'; -$lang->action->label->unlinkedrepo = "取消了{$lang->projectCommon}与代码库的关联"; -$lang->action->label->unlinkproduct = "取消了与{$lang->productCommon}的关联"; -$lang->action->label->createdsnapshot = '创建了快照'; -$lang->action->label->restoredsnapshot = '还原了快照'; -$lang->action->label->editsnapshot = '编辑了快照'; -$lang->action->label->deletesnapshot = '编辑了快照'; -$lang->action->label->saveddraft = '存为草稿'; -$lang->action->label->releaseddoc = '发布了'; -$lang->action->label->collected = '收藏了'; -$lang->action->label->uncollected = '取消收藏了'; +$lang->action->label = new stdclass(); +$lang->action->label->install = '安装了'; +$lang->action->label->uninstall = '删除了'; +$lang->action->label->upgrade = '升级了'; +$lang->action->label->start = '启动了'; +$lang->action->label->stop = '关闭了'; +$lang->action->label->editname = '修改了名称'; +$lang->action->label->backup = '备份了'; +$lang->action->label->adjustmemory = '调整了内存'; +$lang->action->label->enableldap = '启用了LDAP'; +$lang->action->label->disableldap = '禁用了LDAP'; +$lang->action->label->enablesmtp = '启用了SMTP'; +$lang->action->label->disablesmtp = '禁用了SMTP'; +$lang->action->label->tosenior = '升级了高级版'; +$lang->action->label->saveautobackupsettings = '开启了自动备份'; +$lang->action->label->closeautobackupsettings = '关闭了自动备份'; +$lang->action->label->autobackup = '系统执行了自动备份'; +$lang->action->label->autorestore = '系统执行了自动还原'; +$lang->action->label->deleteexpiredbackup = '系统删除了过期的自动备份'; +$lang->action->label->revert = '还原了'; +$lang->action->label->created = '创建了'; +$lang->action->label->opened = '创建了'; +$lang->action->label->openedbysystem = '系统创建了'; +$lang->action->label->closedbysystem = '系统关闭了'; +$lang->action->label->added = '添加了'; +$lang->action->label->changed = '变更了'; +$lang->action->label->edited = '编辑了'; +$lang->action->label->assigned = '指派了'; +$lang->action->label->closed = '关闭了'; +$lang->action->label->deleted = '删除了'; +$lang->action->label->deletedfile = '删除了附件'; +$lang->action->label->editfile = '编辑了附件'; +$lang->action->label->erased = '删除了'; +$lang->action->label->undeleted = '还原了'; +$lang->action->label->hidden = '隐藏了'; +$lang->action->label->commented = '评论了'; +$lang->action->label->communicated = '沟通了'; +$lang->action->label->activated = '激活了'; +$lang->action->label->blocked = '阻塞了'; +$lang->action->label->resolved = '解决了'; +$lang->action->label->reviewed = '评审了'; +$lang->action->label->recalled = '撤销了评审'; +$lang->action->label->recalledchange = '撤销了变更'; +$lang->action->label->moved = '移动了'; +$lang->action->label->confirmed = "确认了{$lang->SRCommon}"; +$lang->action->label->bugconfirmed = '确认了'; +$lang->action->label->tostory = "转了{$lang->SRCommon}"; +$lang->action->label->frombug = "转了{$lang->SRCommon}"; +$lang->action->label->fromlib = '从用例库导入'; +$lang->action->label->totask = '转了任务'; +$lang->action->label->converttotask = '转了任务'; +$lang->action->label->svncommited = '提交了代码'; +$lang->action->label->gitcommited = '提交了代码'; +$lang->action->label->linked2plan = "关联了计划"; +$lang->action->label->unlinkedfromplan = "移除了计划"; +$lang->action->label->changestatus = '修改了状态'; +$lang->action->label->marked = '编辑了'; +$lang->action->label->linked2execution = "关联了{$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "移除了{$lang->executionCommon}"; +$lang->action->label->linked2kanban = '关联了看板'; +$lang->action->label->linked2project = "关联了{$lang->projectCommon}"; +$lang->action->label->unlinkedfromproject = "移除了{$lang->projectCommon}"; +$lang->action->label->unlinkedfrombuild = "移除了版本"; +$lang->action->label->linked2release = "关联了发布"; +$lang->action->label->unlinkedfromrelease = "移除了发布"; +$lang->action->label->linked2revision = "关联了代码提交"; +$lang->action->label->unlinkedfromrevision = "取消关联了代码提交"; +$lang->action->label->linkrelatedbug = "关联了相关Bug"; +$lang->action->label->unlinkrelatedbug = "移除了相关Bug"; +$lang->action->label->linkrelatedcase = "关联了相关用例"; +$lang->action->label->unlinkrelatedcase = "移除了相关用例"; +$lang->action->label->linkrelatedstory = "关联了相关{$lang->SRCommon}"; +$lang->action->label->unlinkrelatedstory = "移除了相关{$lang->SRCommon}"; +$lang->action->label->subdividestory = "细分了{$lang->SRCommon}"; +$lang->action->label->unlinkchildstory = "移除了细分{$lang->SRCommon}"; +$lang->action->label->started = '开始了'; +$lang->action->label->restarted = '继续了'; +$lang->action->label->recordestimate = '记录了工时'; +$lang->action->label->editestimate = '编辑了工时'; +$lang->action->label->canceled = '取消了'; +$lang->action->label->finished = '完成了'; +$lang->action->label->paused = '暂停了'; +$lang->action->label->verified = '验收了'; +$lang->action->label->delayed = '延期了'; +$lang->action->label->suspended = '挂起了'; +$lang->action->label->login = '登录系统'; +$lang->action->label->logout = "退出登录"; +$lang->action->label->notified = "通知了"; +$lang->action->label->deleteestimate = "删除了工时"; +$lang->action->label->linked2build = "关联了"; +$lang->action->label->linked2bug = "关联了"; +$lang->action->label->linked2testtask = "关联了"; +$lang->action->label->unlinkedfromtesttask = "移除了"; +$lang->action->label->linkchildtask = "关联了子任务"; +$lang->action->label->unlinkchildrentask = "取消关联了子任务"; +$lang->action->label->linkparenttask = "关联到了父任务"; +$lang->action->label->unlinkparenttask = "从父任务取消关联了"; +$lang->action->label->batchcreate = "批量创建了任务"; +$lang->action->label->createchildren = "创建了子任务"; +$lang->action->label->managed = "维护了"; +$lang->action->label->managedteam = "维护了"; +$lang->action->label->managedwhitelist = "维护了"; +$lang->action->label->deletechildrentask = "删除了子任务"; +$lang->action->label->createchildrenstory = "创建了子需求"; +$lang->action->label->linkchildstory = "关联了子需求"; +$lang->action->label->unlinkchildrenstory = "取消关联了子需求"; +$lang->action->label->linkparentstory = "关联到了父需求"; +$lang->action->label->unlinkparentstory = "从父需求取消关联了"; +$lang->action->label->deletechildrenstory = "删除了子需求"; +$lang->action->label->tracked = '跟踪了'; +$lang->action->label->hangup = '挂起了'; +$lang->action->label->run = '执行了'; +$lang->action->label->estimated = '估算了'; +$lang->action->label->reviewpassed = '确认通过'; +$lang->action->label->reviewrejected = '拒绝了'; +$lang->action->label->reviewclarified = '有待明确'; +$lang->action->label->reviewreverted = '撤销变更'; +$lang->action->label->commitsummary = '提交了培训总结'; +$lang->action->label->updatetrainee = '更新了培训人员'; +$lang->action->label->setdefaultbranch = '设置了默认分支'; +$lang->action->label->syncprogram = '开始了'; +$lang->action->label->syncproject = '开始了'; +$lang->action->label->syncexecution = '开始了'; +$lang->action->label->syncexecutionbychild = '开始了'; +$lang->action->label->startProgram = "(因{$lang->projectCommon}开始而启动项目集)"; +$lang->action->label->createmr = '合并请求关联了'; +$lang->action->label->deletemr = '合并请求取消了'; +$lang->action->label->mergedmr = '合并请求合并了'; +$lang->action->label->compilepass = '构建成功'; +$lang->action->label->compilefail = '构建失败'; +$lang->action->label->reopen = '重新打开了'; +$lang->action->label->approve = '通过了'; +$lang->action->label->reject = '拒绝了'; +$lang->action->label->importfromgitlab = '从Gitlab关联创建了'; +$lang->action->label->archived = '归档了'; +$lang->action->label->restore = '还原了'; +$lang->action->label->mergedbranch = '合并了分支'; +$lang->action->label->startedbychild = '开始了'; +$lang->action->label->finishedbychild = '完成了'; +$lang->action->label->closedbychild = '关闭了'; +$lang->action->label->activatedbychild = '激活了'; +$lang->action->label->createchild = '激活了'; +$lang->action->label->executed = '执行了'; +$lang->action->label->importedcard = '导入了'; +$lang->action->label->importedproductplan = '导入了'; +$lang->action->label->importedrelease = '导入了'; +$lang->action->label->importedexecution = '导入了'; +$lang->action->label->importedbuild = '导入了'; +$lang->action->label->importedticket = '导入了'; +$lang->action->label->fromsonarqube = '由SonarQube问题创建了'; +$lang->action->label->bind = '绑定了'; +$lang->action->label->unbind = '取消绑定了'; +$lang->action->label->linkstory = '关联需求到了'; +$lang->action->label->linkbug = '关联BUG到了'; +$lang->action->label->unlinkstory = '移除了需求从'; +$lang->action->label->unlinkbug = '移除了BUG从'; +$lang->action->label->tolib = '导入了'; +$lang->action->label->updatetolib = '更新了'; +$lang->action->label->ganttmove = '排序了'; +$lang->action->label->submitreview = '提交了评审'; +$lang->action->label->suspend = '休眠了'; +$lang->action->label->resume = '恢复了'; +$lang->action->label->reboot = '重启了'; +$lang->action->label->boot = '启动了'; +$lang->action->label->destroy = '关闭了'; +$lang->action->label->getvnc = '远程操控了'; +$lang->action->label->synctwins = '同步修改了'; +$lang->action->label->relieved = '解除了'; +$lang->action->label->switchtolight = '从全生命周期管理模式切换为轻量管理模式'; +$lang->action->label->linkedrepo = '关联代码库到'; +$lang->action->label->unlinkedrepo = "取消了{$lang->projectCommon}与代码库的关联"; +$lang->action->label->unlinkproduct = "取消了与{$lang->productCommon}的关联"; +$lang->action->label->createdsnapshot = '创建了快照'; +$lang->action->label->restoredsnapshot = '还原了快照'; +$lang->action->label->editsnapshot = '编辑了快照'; +$lang->action->label->deletesnapshot = '编辑了快照'; +$lang->action->label->saveddraft = '存为草稿'; +$lang->action->label->releaseddoc = '发布了'; +$lang->action->label->collected = '收藏了'; +$lang->action->label->uncollected = '取消收藏了'; +$lang->action->label->online = '上架了'; +$lang->action->label->offline = '下架了'; +$lang->action->label->linkhost = '主机关联到'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); @@ -785,6 +830,10 @@ $lang->action->label->stage = '瀑布模型的阶段|stage|browse|'; $lang->action->label->module = '模块|tree|browse|productid=%s&type=story¤tModuleID=0&branch=all'; $lang->action->label->ticket = '工单|ticket|view|id=%s'; $lang->action->label->chartgroup = '分组'; +$lang->action->label->serverroom = '机房|serverroom|browse|'; +$lang->action->label->host = '主机|host|view|id=%s'; +$lang->action->label->account = "账号|account|view|id=%s"; +$lang->action->label->instance = '应用|instance|view|id=%s'; /* Object type. */ $lang->action->search = new stdclass(); diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index 717dc3fd9e..e65b5abbd2 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -216,121 +216,168 @@ $lang->action->desc->deletechildrenstory = '$date, 由 $actor /* 關聯用例和移除用例時的歷史操作記錄。*/ $lang->action->desc->linkrelatedcase = '$date, 由 $actor 關聯相關用例 $extra。' . "\n"; $lang->action->desc->unlinkrelatedcase = '$date, 由 $actor 移除相關用例 $extra。' . "\n"; +$lang->action->desc->online = '$date, 由 $actor 上架。' . "\n"; +$lang->action->desc->offline = '$date, 由 $actor 下架。' . "\n"; +$lang->action->desc->linkhost = '$date, 由 $actor 关联主机。' . "\n"; + +/* 用来描述应用的历史操作记录。*/ +$lang->action->desc->install = '$date, 由 $actor 安装。' . "\n"; +$lang->action->desc->uninstall = '$date, 由 $actor 删除。' . "\n"; +$lang->action->desc->start = '$date, 由 $actor 启动。' . "\n"; +$lang->action->desc->stop = '$date, 由 $actor 关闭。' . "\n"; +$lang->action->desc->editname = '$date, 由 $actor 修改了名称,从 $oldName 修改为 $newName 。' . "\n"; +$lang->action->desc->upgrade = '$date, 由 $actor 升级,从 $oldVersion 升级为 $newVersion 。' . "\n"; +$lang->action->desc->backup = '$date, 由 $actor 备份。' . "\n"; +$lang->action->desc->adjustmemory = '$date, 由 $actor 调整内存到 $newMemory 。' . "\n"; +$lang->action->desc->enableldap = '$date, 由 $actor 启用了LDAP。' . "\n"; +$lang->action->desc->disableldap = '$date, 由 $actor 禁用了LDAP。' . "\n"; +$lang->action->desc->enablesmtp = '$date, 由 $actor 启用了SMTP。' . "\n"; +$lang->action->desc->disablesmtp = '$date, 由 $actor 禁用了SMTP。' . "\n"; +$lang->action->desc->updatecustom = '$date, 由 $actor 修改了自定义配置。' . "\n"; +$lang->action->desc->tosenior = '$date, 由 $actor 升级服务到高级版,从 $oldAppName 升级到 $newAppName 。' . "\n"; +$lang->action->desc->saveautobackupsettings = '$date, 由 $actor 修改了自动备份设置:开启自动备份。' . "\n"; +$lang->action->desc->closeautobackupsettings = '$date, 由 $actor 修改了自动备份设置:自动备份已关闭。' . "\n"; +$lang->action->desc->saveautorestoresettings = '$date, 由 $actor 修改了自动还原设置。' . "\n"; +$lang->action->desc->autobackup = '$date, 系统执行了自动备份。' . "\n"; +$lang->action->desc->autorestore = '$date, 系统执行了自动还原。' . "\n"; +$lang->action->desc->deleteexpiredbackup = '$date, 系统删除了过期的自动备份。' . "\n"; /* 用來顯示動態信息。*/ -$lang->action->label = new stdclass(); -$lang->action->label->created = '創建'; -$lang->action->label->opened = '創建'; -$lang->action->label->openedbysystem = '系統創建'; -$lang->action->label->closedbysystem = '系統關閉'; -$lang->action->label->added = '添加'; -$lang->action->label->changed = '變更了'; -$lang->action->label->edited = '編輯了'; -$lang->action->label->assigned = '指派了'; -$lang->action->label->closed = '關閉了'; -$lang->action->label->deleted = '刪除了'; -$lang->action->label->deletedfile = '刪除附件'; -$lang->action->label->editfile = '編輯附件'; -$lang->action->label->erased = '刪除了'; -$lang->action->label->undeleted = '還原了'; -$lang->action->label->hidden = '隱藏了'; -$lang->action->label->commented = '評論了'; -$lang->action->label->communicated = '溝通了'; -$lang->action->label->activated = '激活了'; -$lang->action->label->blocked = '阻塞了'; -$lang->action->label->resolved = '解決了'; -$lang->action->label->reviewed = '評審了'; -$lang->action->label->recalled = '撤銷評審'; -$lang->action->label->moved = '移動了'; -$lang->action->label->confirmed = "確認了{$lang->SRCommon}"; -$lang->action->label->bugconfirmed = '確認了'; -$lang->action->label->tostory = "轉{$lang->SRCommon}"; -$lang->action->label->frombug = "轉{$lang->SRCommon}"; -$lang->action->label->fromlib = '從用例庫導入'; -$lang->action->label->totask = '轉任務'; -$lang->action->label->svncommited = '提交代碼'; -$lang->action->label->gitcommited = '提交代碼'; -$lang->action->label->linked2plan = "關聯計劃"; -$lang->action->label->unlinkedfromplan = "移除計劃"; -$lang->action->label->changestatus = '修改狀態'; -$lang->action->label->marked = '編輯了'; -$lang->action->label->linked2execution = "關聯{$lang->executionCommon}"; -$lang->action->label->unlinkedfromexecution = "移除{$lang->executionCommon}"; -$lang->action->label->linked2project = "關聯項目"; -$lang->action->label->unlinkedfromproject = "移除項目"; -$lang->action->label->unlinkedfrombuild = "移除版本"; -$lang->action->label->linked2release = "關聯發佈"; -$lang->action->label->unlinkedfromrelease = "移除發佈"; -$lang->action->label->linkrelatedbug = "關聯了相關Bug"; -$lang->action->label->unlinkrelatedbug = "移除了相關Bug"; -$lang->action->label->linkrelatedcase = "關聯了相關用例"; -$lang->action->label->unlinkrelatedcase = "移除了相關用例"; -$lang->action->label->linkrelatedstory = "關聯了相關{$lang->SRCommon}"; -$lang->action->label->unlinkrelatedstory = "移除了相關{$lang->SRCommon}"; -$lang->action->label->subdividestory = "細分了{$lang->SRCommon}"; -$lang->action->label->unlinkchildstory = "移除了細分{$lang->SRCommon}"; -$lang->action->label->started = '開始了'; -$lang->action->label->restarted = '繼續了'; -$lang->action->label->recordestimate = '記錄了工時'; -$lang->action->label->editestimate = '編輯了工時'; -$lang->action->label->canceled = '取消了'; -$lang->action->label->finished = '完成了'; -$lang->action->label->paused = '暫停了'; -$lang->action->label->verified = '驗收了'; -$lang->action->label->delayed = '延期'; -$lang->action->label->suspended = '掛起'; -$lang->action->label->login = '登錄系統'; -$lang->action->label->logout = "退出登錄"; -$lang->action->label->notified = "通知了"; -$lang->action->label->deleteestimate = "刪除了工時"; -$lang->action->label->linked2build = "關聯了"; -$lang->action->label->linked2bug = "關聯了"; -$lang->action->label->linked2testtask = "關聯了"; -$lang->action->label->unlinkedfromtesttask = "移除了"; -$lang->action->label->linkchildtask = "關聯子任務"; -$lang->action->label->unlinkchildrentask = "取消關聯子任務"; -$lang->action->label->linkparenttask = "關聯到父任務"; -$lang->action->label->unlinkparenttask = "從父任務取消關聯"; -$lang->action->label->batchcreate = "批量創建任務"; -$lang->action->label->createchildren = "創建子任務"; -$lang->action->label->managed = "維護"; -$lang->action->label->managedteam = "維護了"; -$lang->action->label->managedwhitelist = "維護了"; -$lang->action->label->deletechildrentask = "刪除子任務"; -$lang->action->label->createchildrenstory = "創建子需求"; -$lang->action->label->linkchildstory = "關聯子需求"; -$lang->action->label->unlinkchildrenstory = "取消關聯子需求"; -$lang->action->label->linkparentstory = "關聯到父需求"; -$lang->action->label->unlinkparentstory = "從父需求取消關聯"; -$lang->action->label->deletechildrenstory = "刪除子需求"; -$lang->action->label->tracked = '跟蹤了'; -$lang->action->label->hangup = '掛起了'; -$lang->action->label->run = '執行了'; -$lang->action->label->estimated = '估算了'; -$lang->action->label->reviewpassed = '確認通過'; -$lang->action->label->reviewrejected = '拒絶'; -$lang->action->label->reviewclarified = '有待明確'; -$lang->action->label->commitsummary = '提交培訓總結'; -$lang->action->label->updatetrainee = '更新培訓人員'; -$lang->action->label->setdefaultbranch = '設置了預設分支'; -$lang->action->label->syncprogram = '開始了'; -$lang->action->label->syncproject = '開始了'; -$lang->action->label->syncexecution = '開始了'; -$lang->action->label->startProgram = '(因項目開始而啟動項目集)'; -$lang->action->label->createmr = '合併請求關聯了'; -$lang->action->label->deletemr = '合併請求取消了'; -$lang->action->label->mergedmr = '合併請求合併了'; -$lang->action->label->compilepass = '構建成功'; -$lang->action->label->compilefail = '構建失敗'; -$lang->action->label->reopen = '重新打開'; -$lang->action->label->approve = '通過了'; -$lang->action->label->reject = '拒絶了'; -$lang->action->label->importfromgitlab = '從Gitlab關聯創建了'; -$lang->action->label->archived = '歸檔了'; -$lang->action->label->restore = '還原了'; -$lang->action->label->mergedbranch = '合併分支'; -$lang->action->label->linkedrepo = '關聯代碼庫到'; -$lang->action->label->unlinkedrepo = '取消了項目与代碼庫的關聯'; +$lang->action->label = new stdclass(); +$lang->action->label->install = '安装了'; +$lang->action->label->uninstall = '删除了'; +$lang->action->label->upgrade = '升级了'; +$lang->action->label->start = '启动了'; +$lang->action->label->stop = '关闭了'; +$lang->action->label->editname = '修改了名称'; +$lang->action->label->backup = '备份了'; +$lang->action->label->adjustmemory = '调整了内存'; +$lang->action->label->enableldap = '启用了LDAP'; +$lang->action->label->disableldap = '禁用了LDAP'; +$lang->action->label->enablesmtp = '启用了SMTP'; +$lang->action->label->disablesmtp = '禁用了SMTP'; +$lang->action->label->tosenior = '升级了高级版'; +$lang->action->label->saveautobackupsettings = '开启了自动备份'; +$lang->action->label->closeautobackupsettings = '关闭了自动备份'; +$lang->action->label->autobackup = '系统执行了自动备份'; +$lang->action->label->autorestore = '系统执行了自动还原'; +$lang->action->label->deleteexpiredbackup = '系统删除了过期的自动备份'; +$lang->action->label->revert = '还原了'; +$lang->action->label->created = '創建'; +$lang->action->label->opened = '創建'; +$lang->action->label->openedbysystem = '系統創建'; +$lang->action->label->closedbysystem = '系統關閉'; +$lang->action->label->added = '添加'; +$lang->action->label->changed = '變更了'; +$lang->action->label->edited = '編輯了'; +$lang->action->label->assigned = '指派了'; +$lang->action->label->closed = '關閉了'; +$lang->action->label->deleted = '刪除了'; +$lang->action->label->deletedfile = '刪除附件'; +$lang->action->label->editfile = '編輯附件'; +$lang->action->label->erased = '刪除了'; +$lang->action->label->undeleted = '還原了'; +$lang->action->label->hidden = '隱藏了'; +$lang->action->label->commented = '評論了'; +$lang->action->label->communicated = '溝通了'; +$lang->action->label->activated = '激活了'; +$lang->action->label->blocked = '阻塞了'; +$lang->action->label->resolved = '解決了'; +$lang->action->label->reviewed = '評審了'; +$lang->action->label->recalled = '撤銷評審'; +$lang->action->label->moved = '移動了'; +$lang->action->label->confirmed = "確認了{$lang->SRCommon}"; +$lang->action->label->bugconfirmed = '確認了'; +$lang->action->label->tostory = "轉{$lang->SRCommon}"; +$lang->action->label->frombug = "轉{$lang->SRCommon}"; +$lang->action->label->fromlib = '從用例庫導入'; +$lang->action->label->totask = '轉任務'; +$lang->action->label->svncommited = '提交代碼'; +$lang->action->label->gitcommited = '提交代碼'; +$lang->action->label->linked2plan = "關聯計劃"; +$lang->action->label->unlinkedfromplan = "移除計劃"; +$lang->action->label->changestatus = '修改狀態'; +$lang->action->label->marked = '編輯了'; +$lang->action->label->linked2execution = "關聯{$lang->executionCommon}"; +$lang->action->label->unlinkedfromexecution = "移除{$lang->executionCommon}"; +$lang->action->label->linked2project = "關聯項目"; +$lang->action->label->unlinkedfromproject = "移除項目"; +$lang->action->label->unlinkedfrombuild = "移除版本"; +$lang->action->label->linked2release = "關聯發佈"; +$lang->action->label->unlinkedfromrelease = "移除發佈"; +$lang->action->label->linkrelatedbug = "關聯了相關Bug"; +$lang->action->label->unlinkrelatedbug = "移除了相關Bug"; +$lang->action->label->linkrelatedcase = "關聯了相關用例"; +$lang->action->label->unlinkrelatedcase = "移除了相關用例"; +$lang->action->label->linkrelatedstory = "關聯了相關{$lang->SRCommon}"; +$lang->action->label->unlinkrelatedstory = "移除了相關{$lang->SRCommon}"; +$lang->action->label->subdividestory = "細分了{$lang->SRCommon}"; +$lang->action->label->unlinkchildstory = "移除了細分{$lang->SRCommon}"; +$lang->action->label->started = '開始了'; +$lang->action->label->restarted = '繼續了'; +$lang->action->label->recordestimate = '記錄了工時'; +$lang->action->label->editestimate = '編輯了工時'; +$lang->action->label->canceled = '取消了'; +$lang->action->label->finished = '完成了'; +$lang->action->label->paused = '暫停了'; +$lang->action->label->verified = '驗收了'; +$lang->action->label->delayed = '延期'; +$lang->action->label->suspended = '掛起'; +$lang->action->label->login = '登錄系統'; +$lang->action->label->logout = "退出登錄"; +$lang->action->label->notified = "通知了"; +$lang->action->label->deleteestimate = "刪除了工時"; +$lang->action->label->linked2build = "關聯了"; +$lang->action->label->linked2bug = "關聯了"; +$lang->action->label->linked2testtask = "關聯了"; +$lang->action->label->unlinkedfromtesttask = "移除了"; +$lang->action->label->linkchildtask = "關聯子任務"; +$lang->action->label->unlinkchildrentask = "取消關聯子任務"; +$lang->action->label->linkparenttask = "關聯到父任務"; +$lang->action->label->unlinkparenttask = "從父任務取消關聯"; +$lang->action->label->batchcreate = "批量創建任務"; +$lang->action->label->createchildren = "創建子任務"; +$lang->action->label->managed = "維護"; +$lang->action->label->managedteam = "維護了"; +$lang->action->label->managedwhitelist = "維護了"; +$lang->action->label->deletechildrentask = "刪除子任務"; +$lang->action->label->createchildrenstory = "創建子需求"; +$lang->action->label->linkchildstory = "關聯子需求"; +$lang->action->label->unlinkchildrenstory = "取消關聯子需求"; +$lang->action->label->linkparentstory = "關聯到父需求"; +$lang->action->label->unlinkparentstory = "從父需求取消關聯"; +$lang->action->label->deletechildrenstory = "刪除子需求"; +$lang->action->label->tracked = '跟蹤了'; +$lang->action->label->hangup = '掛起了'; +$lang->action->label->run = '執行了'; +$lang->action->label->estimated = '估算了'; +$lang->action->label->reviewpassed = '確認通過'; +$lang->action->label->reviewrejected = '拒絶'; +$lang->action->label->reviewclarified = '有待明確'; +$lang->action->label->commitsummary = '提交培訓總結'; +$lang->action->label->updatetrainee = '更新培訓人員'; +$lang->action->label->setdefaultbranch = '設置了預設分支'; +$lang->action->label->syncprogram = '開始了'; +$lang->action->label->syncproject = '開始了'; +$lang->action->label->syncexecution = '開始了'; +$lang->action->label->startProgram = '(因項目開始而啟動項目集)'; +$lang->action->label->createmr = '合併請求關聯了'; +$lang->action->label->deletemr = '合併請求取消了'; +$lang->action->label->mergedmr = '合併請求合併了'; +$lang->action->label->compilepass = '構建成功'; +$lang->action->label->compilefail = '構建失敗'; +$lang->action->label->reopen = '重新打開'; +$lang->action->label->approve = '通過了'; +$lang->action->label->reject = '拒絶了'; +$lang->action->label->importfromgitlab = '從Gitlab關聯創建了'; +$lang->action->label->archived = '歸檔了'; +$lang->action->label->restore = '還原了'; +$lang->action->label->mergedbranch = '合併分支'; +$lang->action->label->linkedrepo = '關聯代碼庫到'; +$lang->action->label->unlinkedrepo = '取消了項目与代碼庫的關聯'; +$lang->action->label->online = '上架了'; +$lang->action->label->offline = '下架了'; +$lang->action->label->linkhost = '主机关联到'; /* 動態信息按照對象分組 */ $lang->action->dynamicAction = new stdclass(); @@ -601,6 +648,9 @@ $lang->action->label->kanbancolumn = '看板列|execution|kanban|execution=%s'; $lang->action->label->kanbanlane = '看板泳道|execution|kanban|execution=%s&type=all'; $lang->action->label->kanbancard = '看板卡片|kanban|view|kanbanID=%s'; $lang->action->label->mr = '合併請求|mr|view|id=%s'; +$lang->action->label->serverroom = '机房|serverroom|browse|'; +$lang->action->label->host = '主机|host|view|id=%s'; +$lang->action->label->account = "账号|account|view|id=%s"; /* Object type. */ $lang->action->search = new stdclass(); diff --git a/module/gitlab/model.php b/module/gitlab/model.php index 9005fb7141..2f3176766c 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -405,6 +405,9 @@ class gitlabModel extends model $scm = $this->app->loadClass('scm'); $scm->setEngine($repo); $comments = $scm->engine->getCommitsByPath($entry, '', '', isset($pager->recPerPage) ? $pager->recPerPage : 10, isset($pager->pageID) ? $pager->pageID : 1); + if(empty($comments)) $comments = array(); + + if(isset($pager->recTotal)) $pager->recTotal = count($comments) < $pager->recPerPage ? $pager->recPerPage * $pager->pageID : $pager->recPerPage * ($pager->pageID + 1); $designNames = $this->dao->select("commit, name")->from(TABLE_DESIGN)->where('deleted')->eq(0)->fetchPairs(); $designIds = $this->dao->select("commit, id")->from(TABLE_DESIGN)->where('deleted')->eq(0)->fetchPairs(); @@ -426,17 +429,6 @@ class gitlabModel extends model return $comments; } - /** - * Create a gitlab. - * - * @access public - * @return bool - */ - public function create() - { - return $this->loadModel('pipeline')->create('gitlab'); - } - /** * Update a gitlab. * @@ -502,7 +494,7 @@ class gitlabModel extends model $gitlab = $this->loadModel('gitlab')->getByID($gitlabID); if(!$gitlab) return ''; $url = rtrim($gitlab->url, '/') . "/api/v4/todos?project_id=$projectID&type=MergeRequest&state=pending&private_token={$gitlab->token}&sudo={$sudo}"; - return json_decode(commonModel::http($url, $data = null, $options = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); + return json_decode(commonModel::http($url, $data = null, $optionsi = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); } /** @@ -545,7 +537,7 @@ class gitlabModel extends model { /* Also use `per_page=20` to fetch users in API. Fetch active users only. */ $url = sprintf($apiRoot, "/users") . "&order_by={$order}&sort={$sort}&page={$page}&per_page={$perPage}&active=true"; - $httpData = commonModel::httpWithHeader($url); + $httpData = commonModel::http($url, null, array(), array(), 'data', 'GET', 30, true, false); $result = json_decode($httpData['body']); if(!empty($result)) { @@ -715,7 +707,7 @@ class gitlabModel extends model $order = explode('_', $orderBy); $keyword = urlencode($keyword); - $result = commonModel::httpWithHeader($url . "&per_page={$pager->recPerPage}&order_by={$order[0]}&sort={$order[1]}&page={$pager->pageID}&search={$keyword}&search_namespaces=true"); + $result = commonModel::http($url . "&per_page={$pager->recPerPage}&order_by={$order[0]}&sort={$order[1]}&page={$pager->pageID}&search={$keyword}&search_namespaces=true", null, array(), array(), 'data', 'GET', 30, true, false); $header = $result['header']; $recTotal = $header['X-Total']; @@ -749,7 +741,7 @@ class gitlabModel extends model $allResults = array(); for($page = 1; true; $page++) { - $results = json_decode(commonModel::http($url . "&simple={$simple}&page={$page}&per_page=100", $data = null, $options = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); + $results = json_decode(commonModel::http($url . "&simple={$simple}&page={$page}&per_page=100", $data = null, $optionsi = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); if(count($results) < 100) break; @@ -1031,7 +1023,7 @@ class gitlabModel extends model if(isset($this->projects[$gitlabID][$projectID])) return $this->projects[$gitlabID][$projectID]; $url = sprintf($this->getApiRoot($gitlabID, $useUser), "/projects/$projectID"); - $this->projects[$gitlabID][$projectID] = json_decode(commonModel::http($url, $data = null, $options = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); + $this->projects[$gitlabID][$projectID] = json_decode(commonModel::http($url, $data = null, $optionsi = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = false)); return $this->projects[$gitlabID][$projectID]; } @@ -1050,10 +1042,10 @@ class gitlabModel extends model $requests[$id]['url'] = sprintf($this->getApiRoot($repo->serviceHost, false), "/projects/{$repo->serviceProject}"); } $this->app->loadClass('requests', true); - $results = requests::request_multiple($requests); + $results = requests::request_multiple($requests, array('timeout' => 2)); foreach($results as $id => $result) { - if(!empty($result->body) and substr($result->body, 0, 1) == '{') $this->projects[$repos[$id]->serviceHost][$repos[$id]->serviceProject] = json_decode($result->body); + $this->projects[$repos[$id]->serviceHost][$repos[$id]->serviceProject] = (!empty($result->body) and substr($result->body, 0, 1) == '{') ? json_decode($result->body) : ''; } } @@ -1288,6 +1280,7 @@ class gitlabModel extends model $hookList = $this->apiGetHooks($repo->gitService, $repo->project); foreach($hookList as $hook) { + if(empty($hook->url)) continue; if($hook->url == $url) return true; } return false; @@ -1639,7 +1632,7 @@ class gitlabModel extends model { $apiRoot .= "&per_page={$pager->recPerPage}&page={$pager->pageID}"; $url = sprintf($apiRoot, "/projects/{$projectID}/repository/tags"); - $result = commonModel::httpWithHeader($url); + $result = commonModel::http($url, null, array(), array(), 'data', 'GET', 30, true, false); $header = $result['header']; $pager->setRecTotal($header['X-Total']); @@ -2899,8 +2892,8 @@ class gitlabModel extends model { $apiRoot = rtrim($url, '/') . '/api/v4%s' . "?private_token={$token}"; $url = sprintf($apiRoot, "/users") . "&per_page=5&active=true"; - $httpData = commonModel::httpWithHeader($url); - $users = json_decode($httpData['body']); + $response = commonModel::http($url); + $users = json_decode($response); if(empty($users)) return false; if(isset($users->message) or isset($users->error)) return null; @@ -2962,4 +2955,25 @@ class gitlabModel extends model $url = sprintf($apiRoot, "/projects/$projectID/pipelines") . "&ref=$branch"; return json_decode(commonModel::http($url)); } + + /** + * 更新版本库的代码地址。 + * Update repo code path. + * + * @param int $gitlabID + * @param int $projectID + * @param int $repoID + * @access public + * @return bool + */ + public function updateCodePath(int $gitlabID, int $projectID, int $repoID): bool + { + $project = $this->apiGetSingleProject($gitlabID, $projectID); + if(is_object($project) and !empty($project->web_url)) + { + return $this->dao->update(TABLE_REPO)->set('path')->eq($project->web_url)->where('id')->eq($repoID)->exec(); + } + + return false; + } } diff --git a/module/repo/model.php b/module/repo/model.php index 1de9352b21..ad1319e317 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -2465,6 +2465,7 @@ class repoModel extends model $paths = array(); $files = $scm->engine->tree($path, 0); + if(empty($files)) $files = array(); foreach($files as $file) { $paths[] = $file->path; diff --git a/module/repo/ui/create.html.php b/module/repo/ui/create.html.php index e3317f14a0..af07939ae5 100644 --- a/module/repo/ui/create.html.php +++ b/module/repo/ui/create.html.php @@ -83,6 +83,7 @@ formPanel set::name("serviceProject"), set::label($lang->repo->serviceProject), set::required(true), + set::items(array()), set::control("picker"), ), ), diff --git a/module/user/lang/de.php b/module/user/lang/de.php index f27713ce8e..d5dfc33567 100644 --- a/module/user/lang/de.php +++ b/module/user/lang/de.php @@ -82,6 +82,9 @@ $lang->user->submit = 'Submit'; $lang->user->resetPWD = 'Reset Password'; $lang->user->resetTitle = 'Admin reset the password'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = 'ID'; + $lang->user->legendBasic = 'Basic Information'; $lang->user->legendContribution = 'Contribution'; diff --git a/module/user/lang/en.php b/module/user/lang/en.php index 4715fc972f..1482db8357 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -82,6 +82,9 @@ $lang->user->submit = 'Submit'; $lang->user->resetPWD = 'Reset Password'; $lang->user->resetTitle = 'Admin reset the password'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = 'ID'; + $lang->user->legendBasic = 'Basic Information'; $lang->user->legendContribution = 'Contribution'; diff --git a/module/user/lang/fr.php b/module/user/lang/fr.php index 606d9d3426..a77e650095 100644 --- a/module/user/lang/fr.php +++ b/module/user/lang/fr.php @@ -82,6 +82,9 @@ $lang->user->submit = 'Submit'; $lang->user->resetPWD = 'Reset Password'; $lang->user->resetTitle = 'Admin reset the password'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = 'ID'; + $lang->user->legendBasic = 'Informations de Base'; $lang->user->legendContribution = 'Contribution'; diff --git a/module/user/lang/vi.php b/module/user/lang/vi.php index 81531a3b69..406bdf20cf 100644 --- a/module/user/lang/vi.php +++ b/module/user/lang/vi.php @@ -60,6 +60,9 @@ $lang->user->cropAvatar = 'Crop Avatar'; $lang->user->cropAvatarTip = 'Drag and drop the box to select the image clipping range.'; $lang->user->cropImageTip = 'The image used is too small, the recommended image size is at least 48x48, the current image size is %s'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = 'ID'; + $lang->user->legendBasic = 'Thông tin cơ bản'; $lang->user->legendContribution = 'Đóng góp'; diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 6fd1d4d8d0..6f0fea362f 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -82,6 +82,9 @@ $lang->user->submit = '提交'; $lang->user->resetPWD = '重置密码'; $lang->user->resetTitle = '系统管理员重置密码'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = '序号'; + $lang->user->legendBasic = '基本资料'; $lang->user->legendContribution = '个人贡献'; diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php index 7f8b54474f..73f2305f35 100644 --- a/module/user/lang/zh-tw.php +++ b/module/user/lang/zh-tw.php @@ -73,6 +73,9 @@ $lang->user->projects = '項目'; $lang->user->sprints = $lang->execution->common; $lang->user->identity = '身份'; +$lang->user->abbr = new stdclass(); +$lang->user->abbr->id = '序号'; + $lang->user->legendBasic = '基本資料'; $lang->user->legendContribution = '個人貢獻';