* Merge master.
This commit is contained in:
@@ -4,11 +4,11 @@ $lang->action->label->task = 'Task|task|view|taskID=%s';
|
||||
$lang->action->label->module = 'Katalog|tree|browse|productid=%s&type=story¤tModuleID=0&branch=all';
|
||||
|
||||
/* Object type. */
|
||||
$lang->action->objectTypes['execution'] = 'Project' . $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->projectCommon . $lang->executionCommon;
|
||||
|
||||
$lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Kanban';
|
||||
$lang->action->search->objectTypeList['story'] = "$lang->SRCommon/$lang->URCommon";
|
||||
$lang->action->search->objectTypeList['task'] = 'Task';
|
||||
@@ -109,4 +109,4 @@ $lang->action->desc->linkparentstory = '$date, <strong>$actor</strong> Link
|
||||
$lang->action->desc->unlinkparentstory = '$date, <strong>$actor</strong> From parent story<strong>$extra</strong>CanceledLink。' . "\n";
|
||||
$lang->action->desc->deletechildrenstory = '$date, <strong>$actor</strong> Deleted child story<strong>$extra</strong>。' . "\n";
|
||||
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
|
||||
@@ -4,11 +4,11 @@ $lang->action->label->task = 'Task|task|view|taskID=%s';
|
||||
$lang->action->label->module = 'Catalog|tree|browse|productid=%s&type=story¤tModuleID=0&branch=all';
|
||||
|
||||
/* Object type. */
|
||||
$lang->action->objectTypes['execution'] = 'Project' . $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->projectCommon . $lang->executionCommon;
|
||||
|
||||
$lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Kanban';
|
||||
$lang->action->search->objectTypeList['story'] = "$lang->SRCommon/$lang->URCommon";
|
||||
$lang->action->search->objectTypeList['task'] = 'Task';
|
||||
@@ -109,4 +109,4 @@ $lang->action->desc->linkparentstory = '$date, <strong>$actor</strong> Link
|
||||
$lang->action->desc->unlinkparentstory = '$date, <strong>$actor</strong> From parent story<strong>$extra</strong>CanceledLink。' . "\n";
|
||||
$lang->action->desc->deletechildrenstory = '$date, <strong>$actor</strong> Deleted child story<strong>$extra</strong>。' . "\n";
|
||||
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
|
||||
@@ -4,11 +4,11 @@ $lang->action->label->task = 'Task|task|view|taskID=%s';
|
||||
$lang->action->label->module = 'Table des matières|tree|browse|productid=%s&type=story¤tModuleID=0&branch=all';
|
||||
|
||||
/* Object type. */
|
||||
$lang->action->objectTypes['execution'] = 'Project' . $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->projectCommon . $lang->executionCommon;
|
||||
|
||||
$lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Kanban';
|
||||
$lang->action->search->objectTypeList['story'] = "$lang->SRCommon/$lang->URCommon";
|
||||
$lang->action->search->objectTypeList['task'] = 'Task';
|
||||
@@ -109,4 +109,4 @@ $lang->action->desc->linkparentstory = '$date, <strong>$actor</strong> Link
|
||||
$lang->action->desc->unlinkparentstory = '$date, <strong>$actor</strong> From parent story<strong>$extra</strong>CanceledLink。' . "\n";
|
||||
$lang->action->desc->deletechildrenstory = '$date, <strong>$actor</strong> Deleted child story<strong>$extra</strong>。' . "\n";
|
||||
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
|
||||
@@ -4,11 +4,11 @@ $lang->action->label->task = '任务|task|view|taskID=%s';
|
||||
$lang->action->label->module = '目录|tree|browse|productid=%s&type=story¤tModuleID=0&branch=all';
|
||||
|
||||
/* Object type. */
|
||||
$lang->action->objectTypes['execution'] = '项目' . $lang->executionCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->projectCommon . $lang->executionCommon;
|
||||
|
||||
$lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['project'] = '项目';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = '看板';
|
||||
$lang->action->search->objectTypeList['story'] = "目标";
|
||||
$lang->action->search->objectTypeList['task'] = '任务';
|
||||
@@ -109,4 +109,4 @@ $lang->action->desc->linkparentstory = '$date, 由 <strong>$actor</strong>
|
||||
$lang->action->desc->unlinkparentstory = '$date, 由 <strong>$actor</strong> 从父目标<strong>$extra</strong>取消关联。' . "\n";
|
||||
$lang->action->desc->deletechildrenstory = '$date, 由 <strong>$actor</strong> 删除子目标<strong>$extra</strong>。' . "\n";
|
||||
|
||||
$lang->action->executionNoProject = '该项目看板没有所属的项目,请先还原项目再还原项目看板';
|
||||
$lang->action->executionNoProject = "该{$lang->projectCommon}看板没有所属的{$lang->projectCommon},请先还原{$lang->projectCommon}再还原{$lang->projectCommon}看板";
|
||||
|
||||
@@ -33,13 +33,13 @@ $lang->block->default['full']['my']['5']['params']['count'] = '15';
|
||||
|
||||
$lang->block->modules['kanban']['index'] = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->projectdynamic = 'Dynamics';
|
||||
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
|
||||
$lang->block->modules['execution'] = new stdclass();
|
||||
$lang->block->modules['execution']->availableBlocks = new stdclass();
|
||||
|
||||
@@ -33,13 +33,13 @@ $lang->block->default['full']['my']['5']['params']['count'] = '15';
|
||||
|
||||
$lang->block->modules['kanban']['index'] = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->projectdynamic = 'Dynamics';
|
||||
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
|
||||
$lang->block->modules['execution'] = new stdclass();
|
||||
$lang->block->modules['execution']->availableBlocks = new stdclass();
|
||||
|
||||
@@ -33,13 +33,13 @@ $lang->block->default['full']['my']['5']['params']['count'] = '15';
|
||||
|
||||
$lang->block->modules['kanban']['index'] = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->projectdynamic = 'Dynamics';
|
||||
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
|
||||
$lang->block->modules['execution'] = new stdclass();
|
||||
$lang->block->modules['execution']->availableBlocks = new stdclass();
|
||||
|
||||
@@ -33,13 +33,13 @@ $lang->block->default['full']['my']['5']['params']['count'] = '15';
|
||||
|
||||
$lang->block->modules['kanban']['index'] = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = '项目概况';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon}概况";
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->scrumlist = $lang->executionCommon . '列表';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->sprint = $lang->executionCommon . '总览';
|
||||
$lang->block->modules['kanban']['index']->availableBlocks->projectdynamic = '最新动态';
|
||||
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = '项目列表';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon}列表";
|
||||
|
||||
$lang->block->modules['execution'] = new stdclass();
|
||||
$lang->block->modules['execution']->availableBlocks = new stdclass();
|
||||
|
||||
@@ -30,7 +30,7 @@ if($config->edition != 'open')
|
||||
/* Menu order. */
|
||||
$lang->mainNav->menuOrder = array();
|
||||
$lang->mainNav->menuOrder[5] = 'my';
|
||||
$lang->mainNav->menuOrder[10] = 'project';
|
||||
$lang->mainNav->menuOrder[10] = $lang->projectCommon;
|
||||
$lang->mainNav->menuOrder[15] = 'kanban';
|
||||
$lang->mainNav->menuOrder[35] = 'doc';
|
||||
$lang->mainNav->menuOrder[45] = 'system';
|
||||
@@ -137,7 +137,7 @@ $lang->doc->menuOrder[5] = 'dashboard';
|
||||
$lang->doc->menuOrder[10] = 'recent';
|
||||
$lang->doc->menuOrder[15] = 'my';
|
||||
$lang->doc->menuOrder[20] = 'collect';
|
||||
$lang->doc->menuOrder[25] = 'project';
|
||||
$lang->doc->menuOrder[25] = $lang->projectCommon;
|
||||
$lang->doc->menuOrder[30] = 'custom';
|
||||
|
||||
$lang->doc->menu->project['subMenu'] = new stdclass();
|
||||
@@ -152,15 +152,15 @@ $lang->searchObjects['todo'] = 'Todo';
|
||||
$lang->searchObjects['story'] = 'Story';
|
||||
$lang->searchObjects['task'] = 'Task';
|
||||
$lang->searchObjects['doc'] = 'Doc';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = 'Kanban';
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
|
||||
if($config->edition != 'open') $lang->searchObjects['feedback'] = 'Feedback';
|
||||
if($config->visions == ',lite,') unset($lang->searchObjects['feedback']);
|
||||
|
||||
$lang->navGroup->task = 'project';
|
||||
$lang->navGroup->execution = 'project';
|
||||
$lang->navGroup->task = $lang->projectCommon;
|
||||
$lang->navGroup->execution = $lang->projectCommon;
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['testcase']);
|
||||
|
||||
@@ -30,7 +30,7 @@ if($config->edition != 'open')
|
||||
/* Menu order. */
|
||||
$lang->mainNav->menuOrder = array();
|
||||
$lang->mainNav->menuOrder[5] = 'my';
|
||||
$lang->mainNav->menuOrder[10] = 'project';
|
||||
$lang->mainNav->menuOrder[10] = $lang->projectCommon;
|
||||
$lang->mainNav->menuOrder[15] = 'kanban';
|
||||
$lang->mainNav->menuOrder[35] = 'doc';
|
||||
$lang->mainNav->menuOrder[45] = 'system';
|
||||
@@ -137,7 +137,7 @@ $lang->doc->menuOrder[5] = 'dashboard';
|
||||
$lang->doc->menuOrder[10] = 'recent';
|
||||
$lang->doc->menuOrder[15] = 'my';
|
||||
$lang->doc->menuOrder[20] = 'collect';
|
||||
$lang->doc->menuOrder[25] = 'project';
|
||||
$lang->doc->menuOrder[25] = $lang->projectCommon;
|
||||
$lang->doc->menuOrder[30] = 'custom';
|
||||
|
||||
$lang->doc->menu->project['subMenu'] = new stdclass();
|
||||
@@ -152,15 +152,15 @@ $lang->searchObjects['todo'] = 'Todo';
|
||||
$lang->searchObjects['story'] = 'Story';
|
||||
$lang->searchObjects['task'] = 'Task';
|
||||
$lang->searchObjects['doc'] = 'Doc';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = 'Kanban';
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
|
||||
if($config->edition != 'open') $lang->searchObjects['feedback'] = 'Feedback';
|
||||
if($config->visions == ',lite,') unset($lang->searchObjects['feedback']);
|
||||
|
||||
$lang->navGroup->task = 'project';
|
||||
$lang->navGroup->execution = 'project';
|
||||
$lang->navGroup->task = $lang->projectCommon;
|
||||
$lang->navGroup->execution = $lang->projectCommon;
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['testcase']);
|
||||
|
||||
@@ -30,7 +30,7 @@ if($config->edition != 'open')
|
||||
/* Menu order. */
|
||||
$lang->mainNav->menuOrder = array();
|
||||
$lang->mainNav->menuOrder[5] = 'my';
|
||||
$lang->mainNav->menuOrder[10] = 'project';
|
||||
$lang->mainNav->menuOrder[10] = $lang->projectCommon;
|
||||
$lang->mainNav->menuOrder[15] = 'kanban';
|
||||
$lang->mainNav->menuOrder[35] = 'doc';
|
||||
$lang->mainNav->menuOrder[45] = 'system';
|
||||
@@ -137,7 +137,7 @@ $lang->doc->menuOrder[5] = 'dashboard';
|
||||
$lang->doc->menuOrder[10] = 'recent';
|
||||
$lang->doc->menuOrder[15] = 'my';
|
||||
$lang->doc->menuOrder[20] = 'collect';
|
||||
$lang->doc->menuOrder[25] = 'project';
|
||||
$lang->doc->menuOrder[25] = $lang->projectCommon;
|
||||
$lang->doc->menuOrder[30] = 'custom';
|
||||
|
||||
$lang->doc->menu->project['subMenu'] = new stdclass();
|
||||
@@ -152,15 +152,15 @@ $lang->searchObjects['todo'] = 'Todo';
|
||||
$lang->searchObjects['story'] = 'Story';
|
||||
$lang->searchObjects['task'] = 'Task';
|
||||
$lang->searchObjects['doc'] = 'Doc';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = 'Kanban';
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
|
||||
if($config->edition != 'open') $lang->searchObjects['feedback'] = 'Feedback';
|
||||
if($config->visions == ',lite,') unset($lang->searchObjects['feedback']);
|
||||
|
||||
$lang->navGroup->task = 'project';
|
||||
$lang->navGroup->execution = 'project';
|
||||
$lang->navGroup->task = $lang->projectCommon;
|
||||
$lang->navGroup->execution = $lang->projectCommon;
|
||||
|
||||
unset($lang->searchObjects['bug']);
|
||||
unset($lang->searchObjects['testcase']);
|
||||
|
||||
@@ -152,7 +152,7 @@ $lang->searchObjects['todo'] = '待办';
|
||||
$lang->searchObjects['story'] = '目标';
|
||||
$lang->searchObjects['task'] = '任务';
|
||||
$lang->searchObjects['doc'] = '文档';
|
||||
$lang->searchObjects['project'] = '项目';
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = '看板';
|
||||
$lang->searchObjects['user'] = '用户';
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
$lang->company->execution = 'Kanban';
|
||||
$lang->company->product = 'Project';
|
||||
$lang->company->product = $lang->projectCommon;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
$lang->company->execution = 'Kanban';
|
||||
$lang->company->product = 'Project';
|
||||
$lang->company->product = $lang->projectCommon;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
$lang->company->execution = 'Kanban';
|
||||
$lang->company->product = 'Project';
|
||||
$lang->company->product = $lang->projectCommon;
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<?php
|
||||
$lang->company->execution = '看板';
|
||||
$lang->company->product = '项目';
|
||||
$lang->company->product = $lang->projectCommon;
|
||||
|
||||
@@ -16,9 +16,9 @@ $lang->dev->tableList['grouppriv'] = 'Group Privilege';
|
||||
$lang->dev->tableList['history'] = 'History';
|
||||
$lang->dev->tableList['lang'] = 'Language';
|
||||
$lang->dev->tableList['module'] = 'Module';
|
||||
$lang->dev->tableList['project'] = 'Project';
|
||||
$lang->dev->tableList['projectproduct'] = 'Project' . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = 'Project' . $lang->SRCommon;
|
||||
$lang->dev->tableList['project'] = $lang->projectCommon;
|
||||
$lang->dev->tableList['projectproduct'] = $lang->projectCommon . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = $lang->projectCommon . $lang->SRCommon;
|
||||
$lang->dev->tableList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->tableList['story'] = $lang->SRCommon;
|
||||
$lang->dev->tableList['storyspec'] = "{$lang->SRCommon} Description";
|
||||
@@ -73,7 +73,7 @@ $lang->dev->tableList['im_userdevice'] = 'Im User Device';
|
||||
|
||||
$lang->dev->groupList = array();
|
||||
$lang->dev->groupList['my'] = 'My';
|
||||
$lang->dev->groupList['project'] = 'Project';
|
||||
$lang->dev->groupList['project'] = $lang->projectCommon;
|
||||
$lang->dev->groupList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->groupList['doc'] = 'Document';
|
||||
$lang->dev->groupList['company'] = 'Company';
|
||||
|
||||
@@ -16,9 +16,9 @@ $lang->dev->tableList['grouppriv'] = 'Group Privilege';
|
||||
$lang->dev->tableList['history'] = 'History';
|
||||
$lang->dev->tableList['lang'] = 'Language';
|
||||
$lang->dev->tableList['module'] = 'Module';
|
||||
$lang->dev->tableList['project'] = 'Project';
|
||||
$lang->dev->tableList['projectproduct'] = 'Project' . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = 'Project' . $lang->SRCommon;
|
||||
$lang->dev->tableList['project'] = $lang->projectCommon;
|
||||
$lang->dev->tableList['projectproduct'] = $lang->projectCommon . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = $lang->projectCommon . $lang->SRCommon;
|
||||
$lang->dev->tableList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->tableList['story'] = $lang->SRCommon;
|
||||
$lang->dev->tableList['storyspec'] = "{$lang->SRCommon} Description";
|
||||
@@ -73,7 +73,7 @@ $lang->dev->tableList['im_userdevice'] = 'Im User Device';
|
||||
|
||||
$lang->dev->groupList = array();
|
||||
$lang->dev->groupList['my'] = 'My';
|
||||
$lang->dev->groupList['project'] = 'Project';
|
||||
$lang->dev->groupList['project'] = $lang->projectCommon;
|
||||
$lang->dev->groupList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->groupList['doc'] = 'Document';
|
||||
$lang->dev->groupList['company'] = 'Company';
|
||||
|
||||
@@ -16,9 +16,9 @@ $lang->dev->tableList['grouppriv'] = 'Group Privilege';
|
||||
$lang->dev->tableList['history'] = 'History';
|
||||
$lang->dev->tableList['lang'] = 'Language';
|
||||
$lang->dev->tableList['module'] = 'Module';
|
||||
$lang->dev->tableList['project'] = 'Project';
|
||||
$lang->dev->tableList['projectproduct'] = 'Project' . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = 'Project' . $lang->SRCommon;
|
||||
$lang->dev->tableList['project'] = $lang->projectCommon;
|
||||
$lang->dev->tableList['projectproduct'] = $lang->projectCommon . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = $lang->projectCommon . $lang->SRCommon;
|
||||
$lang->dev->tableList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->tableList['story'] = $lang->SRCommon;
|
||||
$lang->dev->tableList['storyspec'] = "{$lang->SRCommon} Description";
|
||||
@@ -73,7 +73,7 @@ $lang->dev->tableList['im_userdevice'] = 'Im User Device';
|
||||
|
||||
$lang->dev->groupList = array();
|
||||
$lang->dev->groupList['my'] = 'My';
|
||||
$lang->dev->groupList['project'] = 'Project';
|
||||
$lang->dev->groupList['project'] = $lang->projectCommon;
|
||||
$lang->dev->groupList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->groupList['doc'] = 'Document';
|
||||
$lang->dev->groupList['company'] = 'Company';
|
||||
|
||||
@@ -16,9 +16,9 @@ $lang->dev->tableList['grouppriv'] = '组权限';
|
||||
$lang->dev->tableList['history'] = '操作历史';
|
||||
$lang->dev->tableList['lang'] = '语言定义';
|
||||
$lang->dev->tableList['module'] = '模块';
|
||||
$lang->dev->tableList['project'] = '项目';
|
||||
$lang->dev->tableList['projectproduct'] = '项目' . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = '项目' . $lang->SRCommon;
|
||||
$lang->dev->tableList['project'] = $lang->projectCommon;
|
||||
$lang->dev->tableList['projectproduct'] = $lang->projectCommon . $lang->productCommon;
|
||||
$lang->dev->tableList['projectstory'] = $lang->projectCommon . $lang->SRCommon;
|
||||
$lang->dev->tableList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->tableList['story'] = $lang->SRCommon;
|
||||
$lang->dev->tableList['storyspec'] = "{$lang->SRCommon}描述";
|
||||
@@ -73,7 +73,7 @@ $lang->dev->tableList['im_userdevice'] = 'im用户设备';
|
||||
|
||||
$lang->dev->groupList = array();
|
||||
$lang->dev->groupList['my'] = '我的地盘';
|
||||
$lang->dev->groupList['project'] = '项目';
|
||||
$lang->dev->groupList['project'] = $lang->projectCommon;
|
||||
$lang->dev->groupList['execution'] = $lang->executionCommon;
|
||||
$lang->dev->groupList['doc'] = '文档';
|
||||
$lang->dev->groupList['company'] = '组织';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
$lang->doc->libTypeList = array();
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = "{$lang->projectCommon} Library";
|
||||
$lang->doc->libTypeList['custom'] = 'Custom Library';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
$lang->doc->libTypeList = array();
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = "{$lang->projectCommon} Library";
|
||||
$lang->doc->libTypeList['custom'] = 'Custom Library';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
$lang->doc->libTypeList = array();
|
||||
$lang->doc->libTypeList['project'] = 'Project Library';
|
||||
$lang->doc->libTypeList['project'] = "{$lang->projectCommon} Library";
|
||||
$lang->doc->libTypeList['custom'] = 'Custom Library';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
$lang->doc->libTypeList = array();
|
||||
$lang->doc->libTypeList['project'] = '项目文档库';
|
||||
$lang->doc->libTypeList['project'] = "{$lang->projectCommon}文档库";
|
||||
$lang->doc->libTypeList['custom'] = '自定义文档库';
|
||||
|
||||
@@ -22,6 +22,6 @@ $lang->execution->icons['gantt'] = 'lane';
|
||||
$lang->execution->icons['tree'] = 'treemap';
|
||||
$lang->execution->icons['grouptask'] = 'sitemap';
|
||||
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and project leaders)";
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and {$lang->projectCommon} leaders)";
|
||||
|
||||
$lang->execution->common = 'Project Execution';
|
||||
$lang->execution->common = "{$lang->projectCommon} Execution";
|
||||
|
||||
@@ -22,6 +22,6 @@ $lang->execution->icons['gantt'] = 'lane';
|
||||
$lang->execution->icons['tree'] = 'treemap';
|
||||
$lang->execution->icons['grouptask'] = 'sitemap';
|
||||
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and project leaders)";
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and {$lang->projectCommon} leaders)";
|
||||
|
||||
$lang->execution->common = 'Project Execution';
|
||||
$lang->execution->common = "{$lang->projectCommon} Execution";
|
||||
|
||||
@@ -22,6 +22,6 @@ $lang->execution->icons['gantt'] = 'lane';
|
||||
$lang->execution->icons['tree'] = 'treemap';
|
||||
$lang->execution->icons['grouptask'] = 'sitemap';
|
||||
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and project leaders)";
|
||||
$lang->execution->aclList['private'] = "Private (Accessible to team members and {$lang->projectCommon} leaders)";
|
||||
|
||||
$lang->execution->common = 'Project Execution';
|
||||
$lang->execution->common = "{$lang->projectCommon} Execution";
|
||||
|
||||
@@ -22,6 +22,6 @@ $lang->execution->icons['gantt'] = 'lane';
|
||||
$lang->execution->icons['tree'] = 'treemap';
|
||||
$lang->execution->icons['grouptask'] = 'sitemap';
|
||||
|
||||
$lang->execution->aclList['private'] = "私有(团队成员和项目负责人可访问)";
|
||||
$lang->execution->aclList['private'] = "私有(团队成员和{$lang->projectCommon}负责人可访问)";
|
||||
|
||||
$lang->execution->common = '项目看板';
|
||||
$lang->execution->common = "{$lang->projectCommon}看板";
|
||||
|
||||
@@ -4,4 +4,4 @@ $lang->project->doingExecutions = 'Doing Kanban';
|
||||
$lang->project->select = "Select {$lang->project->common}";
|
||||
$lang->project->noProject = "No {$lang->project->common} yet. ";
|
||||
|
||||
$lang->project->aclList['private'] = "Private (Accessible to project leaders and team members)";
|
||||
$lang->project->aclList['private'] = "Private (Accessible to {$lang->projectCommon} leaders and team members)";
|
||||
|
||||
@@ -4,4 +4,4 @@ $lang->project->doingExecutions = 'Doing Kanban';
|
||||
$lang->project->select = "Select {$lang->project->common}";
|
||||
$lang->project->noProject = "No {$lang->project->common} yet. ";
|
||||
|
||||
$lang->project->aclList['private'] = "Private (Accessible to project leaders and team members)";
|
||||
$lang->project->aclList['private'] = "Private (Accessible to {$lang->projectCommon} leaders and team members)";
|
||||
|
||||
@@ -4,4 +4,4 @@ $lang->project->doingExecutions = 'Doing Kanban';
|
||||
$lang->project->select = "Select {$lang->project->common}";
|
||||
$lang->project->noProject = "No {$lang->project->common} yet. ";
|
||||
|
||||
$lang->project->aclList['private'] = "Private (Accessible to project leaders and team members)";
|
||||
$lang->project->aclList['private'] = "Private (Accessible to {$lang->projectCommon} leaders and team members)";
|
||||
|
||||
@@ -4,4 +4,4 @@ $lang->project->doingExecutions = '进行中的看板(最近1个)';
|
||||
$lang->project->select = "请选择{$lang->project->common}";
|
||||
$lang->project->noProject = "暂时没有{$lang->project->common}。";
|
||||
|
||||
$lang->project->aclList['private'] = "私有 (只有项目负责人、团队成员可访问)";
|
||||
$lang->project->aclList['private'] = "私有 (只有{$lang->projectCommon}负责人、团队成员可访问)";
|
||||
|
||||
@@ -61,7 +61,7 @@ $lang->task->confirmRecord = '"Left Hour" is 0. Do you want to set the t
|
||||
$lang->task->confirmTransfer = '"Left Hour" is 0,Do you want to transfer task?';
|
||||
$lang->task->noTask = 'No tasks yet. ';
|
||||
$lang->task->kanbanDenied = 'Please create a Kanban first';
|
||||
$lang->task->createDenied = 'Create Task is denied in this project';
|
||||
$lang->task->createDenied = "Create Task is denied in this {$lang->projectCommon}";
|
||||
$lang->task->cannotDeleteParent = 'Cannot delete parent task';
|
||||
$lang->task->addChildTask = 'Because the task has cost hours, ZenTao will create a child task with the same name to record the cost housrs to ensure data consistency.';
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ $lang->task->confirmRecord = '"Left Hour" is 0. Do you want to set the t
|
||||
$lang->task->confirmTransfer = '"Left Hour" is 0,Do you want to transfer task?';
|
||||
$lang->task->noTask = 'No tasks yet. ';
|
||||
$lang->task->kanbanDenied = 'Please create a Kanban first';
|
||||
$lang->task->createDenied = 'Create Task is denied in this project';
|
||||
$lang->task->createDenied = "Create Task is denied in this {$lang->projectCommon}";
|
||||
$lang->task->cannotDeleteParent = 'Cannot delete parent task';
|
||||
$lang->task->addChildTask = 'Because the task has cost hours, ZenTao will create a child task with the same name to record the cost housrs to ensure data consistency.';
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ $lang->task->confirmRecord = '"Left Hour" is 0. Do you want to set the t
|
||||
$lang->task->confirmTransfer = '"Left Hour" is 0,Do you want to transfer task?';
|
||||
$lang->task->noTask = 'No tasks yet. ';
|
||||
$lang->task->kanbanDenied = 'Please create a Kanban first';
|
||||
$lang->task->createDenied = 'Create Task is denied in this project';
|
||||
$lang->task->createDenied = "Create Task is denied in this {$lang->projectCommon}";
|
||||
$lang->task->cannotDeleteParent = 'Cannot delete parent task';
|
||||
$lang->task->addChildTask = 'Because the task has cost hours, ZenTao will create a child task with the same name to record the cost housrs to ensure data consistency.';
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ $lang->task->confirmRecord = '"剩余"为0,任务将标记为"已完
|
||||
$lang->task->confirmTransfer = '"当前剩余"为0,任务将被转交,您确定吗?';
|
||||
$lang->task->noTask = '暂时没有任务。';
|
||||
$lang->task->kanbanDenied = '请先创建看板';
|
||||
$lang->task->createDenied = '你不能在该项目添加任务';
|
||||
$lang->task->createDenied = "你不能在该{$lang->projectCommon}添加任务";
|
||||
$lang->task->cannotDeleteParent = '不能删除父任务。';
|
||||
$lang->task->addChildTask = '因该任务已经产生消耗,为保证数据一致性,我们会帮您创建一条同名子任务记录该消耗。';
|
||||
|
||||
|
||||
@@ -330,7 +330,8 @@ class baseHTML
|
||||
*/
|
||||
static public function hidden($name, $value = "", $attrib = "")
|
||||
{
|
||||
return "<input type='hidden' name='$name' id='$name' value='$value' $attrib />\n";
|
||||
$id = str_replace(array('[', ']'), "", $name);
|
||||
return "<input type='hidden' name='$name' id='$id' value='$value' $attrib />\n";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -347,7 +348,8 @@ class baseHTML
|
||||
static public function password($name, $value = "", $attrib = "")
|
||||
{
|
||||
if(stripos($attrib, 'autocomplete') === false) $attrib .= " autocomplete='off'";
|
||||
return "<input type='password' name='$name' id='$name' value='$value' $attrib />\n";
|
||||
$id = str_replace(array('[', ']'), "", $name);
|
||||
return "<input type='password' name='$name' id='$id' value='$value' $attrib />\n";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -364,6 +366,7 @@ class baseHTML
|
||||
static public function textarea($name, $value = "", $attrib = "")
|
||||
{
|
||||
$id = "id='$name'";
|
||||
$id = str_replace(array('[', ']'), "", $id);
|
||||
if(strpos($attrib, 'id=') !== false) $id = '';
|
||||
return "<textarea name='$name' $id $attrib>$value</textarea>\n";
|
||||
}
|
||||
@@ -397,8 +400,9 @@ class baseHTML
|
||||
*/
|
||||
static public function date($name, $value = "", $options = '', $attrib = '')
|
||||
{
|
||||
$html = "<div class='input-append date date-picker' {$options}>";
|
||||
$html .= "<input type='text' name='{$name}' id='$name' value='$value' {$attrib} />\n";
|
||||
$id = str_replace(array('[', ']'), "", $name);
|
||||
$html = "<div class='input-append date date-picker' {$options}>";
|
||||
$html .= "<input type='text' name='{$name}' id='$id' value='$value' {$attrib} />\n";
|
||||
$html .= "<span class='add-on'><button class='btn' type='button'><i class='icon-calendar'></i></button></span></div>";
|
||||
return $html;
|
||||
}
|
||||
@@ -417,8 +421,9 @@ class baseHTML
|
||||
*/
|
||||
static public function dateTime($name, $value = "", $options = '', $attrib = '')
|
||||
{
|
||||
$html = "<div class='input-append date time-picker' {$options}>";
|
||||
$html .= "<input type='text' name='{$name}' id='$name' value='$value' {$attrib} />\n";
|
||||
$id = str_replace(array('[', ']'), "", $name);
|
||||
$html = "<div class='input-append date time-picker' {$options}>";
|
||||
$html .= "<input type='text' name='{$name}' id='$id' value='$value' {$attrib} />\n";
|
||||
$html .= "<span class='add-on'><button class='btn' type='button'><i class='icon-calendar'></i></button></span></div>";
|
||||
return $html;
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ class html extends baseHTML
|
||||
static public function input($name, $value = "", $attrib = "", $autocomplete = false)
|
||||
{
|
||||
$id = "id='$name'";
|
||||
$id = str_replace(array('[', ']'), "", $id);
|
||||
if(strpos($attrib, 'id=') !== false) $id = '';
|
||||
if(is_null($value)) $value = '';
|
||||
$value = str_replace("'", ''', $value);
|
||||
@@ -207,6 +208,7 @@ class html extends baseHTML
|
||||
static public function number($name, $value = '', $attrib = '')
|
||||
{
|
||||
$id = "id='$name'";
|
||||
$id = str_replace(array('[', ']'), "", $id);
|
||||
if(strpos($attrib, 'id=') !== false) $id = '';
|
||||
$value = str_replace("'", ''', $value);
|
||||
return "<input type='number' name='$name' {$id} value='$value' $attrib />\n";
|
||||
|
||||
+69
-17
@@ -549,10 +549,11 @@ class gitlab
|
||||
* @param string $version
|
||||
* @param int $count
|
||||
* @param string $branch
|
||||
* @param bool $getFile
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getCommits($version = '', $count = 0, $branch = '')
|
||||
public function getCommits($version = '', $count = 0, $branch = '', $getFile = false)
|
||||
{
|
||||
if(!scm::checkRevision($version)) return array();
|
||||
$api = "commits";
|
||||
@@ -620,7 +621,7 @@ class gitlab
|
||||
$log->time = date('Y-m-d H:i:s', strtotime($commit->created_at));
|
||||
|
||||
$commits[$commit->id] = $log;
|
||||
$files[$commit->id] = $this->getFilesByCommit($log->revision);
|
||||
if($getFile) $files[$commit->id] = $this->getFilesByCommit($log->revision);
|
||||
}
|
||||
|
||||
return array('commits' => $commits, 'files' => $files);
|
||||
@@ -653,10 +654,12 @@ class gitlab
|
||||
* @param string $fromRevision
|
||||
* @param string $toRevision
|
||||
* @param int $perPage
|
||||
* @param int $page
|
||||
* @param bool $getUrl
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getCommitsByPath($path, $fromRevision = '', $toRevision = '', $perPage = 0)
|
||||
public function getCommitsByPath($path, $fromRevision = '', $toRevision = '', $perPage = 0, $page = 1, $getUrl = false)
|
||||
{
|
||||
$path = ltrim($path, DIRECTORY_SEPARATOR);
|
||||
$api = "commits";
|
||||
@@ -683,6 +686,18 @@ class gitlab
|
||||
if($until) $param->until = $until;
|
||||
|
||||
if($perPage) $param->per_page = $perPage;
|
||||
if($page) $param->page = $page;
|
||||
|
||||
if($getUrl)
|
||||
{
|
||||
$params = (array) $param;
|
||||
$params['private_token'] = $this->token;
|
||||
$params['per_page'] = isset($params['per_page']) ? $params['per_page'] : 100;
|
||||
|
||||
$api = ltrim($api, '/');
|
||||
$api = $this->root . $api . '?' . http_build_query($params);
|
||||
return $api;
|
||||
}
|
||||
|
||||
return $this->fetch($api, $param);
|
||||
}
|
||||
@@ -736,10 +751,11 @@ class gitlab
|
||||
*
|
||||
* @param string $path
|
||||
* @param bool $recursive
|
||||
* @param bool $loop
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function tree($path, $recursive = 1)
|
||||
public function tree($path, $recursive = 1, $loop = false)
|
||||
{
|
||||
$api = "tree";
|
||||
|
||||
@@ -747,17 +763,20 @@ class gitlab
|
||||
$params['path'] = ltrim($path, '/');
|
||||
$params['ref'] = $this->branch;
|
||||
$params['recursive'] = (int) $recursive;
|
||||
return $this->fetch($api, $params);
|
||||
return $this->fetch($api, $params, $loop, $loop ? true : false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch data from gitlab api.
|
||||
*
|
||||
* @param string $api
|
||||
* @param array $params
|
||||
* @param bool $needToLoop
|
||||
* @param bool $multi
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function fetch($api, $params = array(), $needToLoop = false)
|
||||
public function fetch($api, $params = array(), $needToLoop = false, $multi = false)
|
||||
{
|
||||
$params = (array) $params;
|
||||
$params['private_token'] = $this->token;
|
||||
@@ -768,19 +787,49 @@ class gitlab
|
||||
if($needToLoop)
|
||||
{
|
||||
$allResults = array();
|
||||
for($page = 1; true; $page++)
|
||||
if($multi)
|
||||
{
|
||||
$results = json_decode(commonModel::http($api . "&page={$page}"));
|
||||
if(!is_array($results)) break;
|
||||
if(!empty($results)) $allResults = array_merge($allResults, $results);
|
||||
if(count($results) < 100) break;
|
||||
$results = commonModel::httpWithHeader($api . "&page=1");
|
||||
if(empty($results['header']['X-Total-Pages'])) return array();
|
||||
|
||||
$totalPages = $results['header']['X-Total-Pages'];
|
||||
if($totalPages == 1)
|
||||
{
|
||||
$allResults = json_decode($results['body']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$requests = array();
|
||||
for($page = 1; $page <= $totalPages; $page++)
|
||||
{
|
||||
$requests[$page]['url'] = $api . "&page={$page}";
|
||||
}
|
||||
|
||||
$results = requests::request_multiple($requests, array('timeout' => 60));
|
||||
foreach($results as $result)
|
||||
{
|
||||
if(empty($result->body)) continue;
|
||||
$data = json_decode($result->body);
|
||||
$allResults = array_merge($allResults, $data);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for($page = 1; true; $page++)
|
||||
{
|
||||
$results = json_decode(commonModel::http($api . "&page={$page}", null, array(), array(), 'data', 'POST', 30, true, false));
|
||||
if(!is_array($results)) break;
|
||||
if(!empty($results)) $allResults = array_merge($allResults, $results);
|
||||
if(count($results) < 100) break;
|
||||
}
|
||||
}
|
||||
|
||||
return $allResults;
|
||||
}
|
||||
else
|
||||
{
|
||||
list($response, $httpCode) = commonModel::http($api, null, array(), array(), 'data', 'Post', 30, true);
|
||||
list($response, $httpCode) = commonModel::http($api, null, array(), array(), 'data', 'POST', 30, true, false);
|
||||
if(!empty(commonModel::$requestErrors))
|
||||
{
|
||||
commonModel::$requestErrors = array();
|
||||
@@ -828,12 +877,15 @@ class gitlab
|
||||
$parsedLog->time = date('Y-m-d H:i:s', strtotime($commit->committed_date));
|
||||
$parsedLog->comment = $commit->message;
|
||||
$parsedLog->change = array();
|
||||
foreach($commit->diffs as $diff)
|
||||
if(!empty($commit->diffs))
|
||||
{
|
||||
$parsedLog->change[$diff->path] = array();
|
||||
$parsedLog->change[$diff->path]['action'] = $diff->action;
|
||||
$parsedLog->change[$diff->path]['kind'] = $diff->type;
|
||||
$parsedLog->change[$diff->path]['oldPath'] = $diff->oldPath;
|
||||
foreach($commit->diffs as $diff)
|
||||
{
|
||||
$parsedLog->change[$diff->path] = array();
|
||||
$parsedLog->change[$diff->path]['action'] = $diff->action;
|
||||
$parsedLog->change[$diff->path]['kind'] = $diff->type;
|
||||
$parsedLog->change[$diff->path]['oldPath'] = $diff->oldPath;
|
||||
}
|
||||
}
|
||||
$parsedLogs[] = $parsedLog;
|
||||
}
|
||||
|
||||
+20
-20
@@ -14,7 +14,7 @@ global $config;
|
||||
$lang->action->common = 'Log';
|
||||
$lang->action->id = 'ID';
|
||||
$lang->action->product = $lang->productCommon;
|
||||
$lang->action->project = 'Project';
|
||||
$lang->action->project = $lang->projectCommon;
|
||||
$lang->action->execution = $lang->execution->common;
|
||||
$lang->action->objectType = 'Object Type';
|
||||
$lang->action->objectID = 'ID';
|
||||
@@ -56,7 +56,7 @@ $lang->action->needEdit = '%s existiert bereits. Bitte bearbeiten.';
|
||||
$lang->action->historyEdit = 'Der Verlauf darf nicht leer sein.';
|
||||
$lang->action->noDynamic = 'Kein Verlauf. ';
|
||||
$lang->action->undeletedTips = 'This data did not participate in the merging process during the version upgrade process, so restore is not supported.';
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
$lang->action->repoNoServer = 'The repo does not belong to a server,please restore the server first';
|
||||
$lang->action->hasCreatedTask = 'Tasks have been created in this parent phase and cannot be restored!';
|
||||
$lang->action->hasDeletedParent = 'Restoring this phase requires restoring the deleted parent phase %s at the same time.';
|
||||
@@ -99,7 +99,7 @@ $lang->action->objectTypes['design'] = 'Design';
|
||||
$lang->action->objectTypes['productplan'] = 'Plan';
|
||||
$lang->action->objectTypes['release'] = 'Release';
|
||||
$lang->action->objectTypes['program'] = 'Program';
|
||||
$lang->action->objectTypes['project'] = 'Project';
|
||||
$lang->action->objectTypes['project'] = $lang->projectCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->executionCommon;
|
||||
$lang->action->objectTypes['task'] = 'Aufgabe';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
@@ -210,8 +210,8 @@ $lang->action->desc->managed = '$date, by <strong>$actor</strong> m
|
||||
$lang->action->desc->estimated = '$date, by <strong>$actor</strong> estimated.' . "\n";
|
||||
$lang->action->desc->run = '$date, by <strong>$actor</strong> executed.' . "\n";
|
||||
$lang->action->desc->syncprogram = '$date, started by <strong>$actor</strong>(starting the project sets the program status as Ongoing).' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecution = '$date, starting the task sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecutionbychild = '$date, starting the sub stage sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->importfromgitlab = '$date, Issue associate created from gitlab by <strong>$actor</strong>.' . "\n";
|
||||
@@ -239,7 +239,7 @@ $lang->action->desc->boot = '$date, the ZenAgent Node is boot by
|
||||
$lang->action->desc->relieved = '$date, relieved by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by <strong>'. $lang->admin->system .'</strong>.' . "\n";
|
||||
$lang->action->desc->getvnc = '$date, Remote control <strong>$extra</strong> by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the ' . $lang->projectCommon . ' is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the ' . $lang->projectCommon . ' from the $extra.' . "\n";
|
||||
$lang->action->desc->createdsnapshot = '$date, <strong>$actor</strong> creates a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->restoredsnapshot = '$date, <strong>$actor</strong> restored a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->editsnapshot = '$date, <strong>$actor</strong> edited the snapshot <strong>$extra</strong>。' . "\n";
|
||||
@@ -315,8 +315,8 @@ $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 = "Link Project";
|
||||
$lang->action->label->unlinkedfromproject = "Unlink Project";
|
||||
$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";
|
||||
@@ -425,7 +425,7 @@ $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 Product';
|
||||
$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';
|
||||
@@ -449,12 +449,12 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program';
|
||||
$lang->action->dynamicAction->program['deleted'] = 'Delete Program';
|
||||
$lang->action->dynamicAction->program['closed'] = 'Close Program';
|
||||
|
||||
$lang->action->dynamicAction->project['opened'] = 'Create Project';
|
||||
$lang->action->dynamicAction->project['edited'] = 'Edit Project';
|
||||
$lang->action->dynamicAction->project['started'] = 'Start Project';
|
||||
$lang->action->dynamicAction->project['suspended'] = 'Suspend Project';
|
||||
$lang->action->dynamicAction->project['activated'] = 'Activate Project';
|
||||
$lang->action->dynamicAction->project['closed'] = 'Close Project';
|
||||
$lang->action->dynamicAction->project['opened'] = "Create {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['edited'] = "Edit {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['started'] = "Start {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['suspended'] = "Suspend {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['activated'] = "Activate {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['closed'] = "Close {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode';
|
||||
|
||||
$lang->action->dynamicAction->product['opened'] = 'Create ' . $lang->productCommon;
|
||||
@@ -506,7 +506,7 @@ $lang->action->dynamicAction->story['linked2revision'] = 'Link Story to Re
|
||||
$lang->action->dynamicAction->story['unlinkedfromrevision'] = 'Unlink Story from Revision';
|
||||
$lang->action->dynamicAction->story['linked2build'] = 'Link Story to Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfrombuild'] = 'Unlink Story from Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = 'Unlink Project';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = "Unlink {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->story['undeleted'] = 'Restore Story';
|
||||
$lang->action->dynamicAction->story['hidden'] = 'Hide Story';
|
||||
$lang->action->dynamicAction->story['linked2execution'] = "Link Story";
|
||||
@@ -733,7 +733,7 @@ $lang->action->label->productplan = 'Plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|pgmproduct|programID=%s";
|
||||
$lang->action->label->project = "Project|project|index|projectID=%s";
|
||||
$lang->action->label->project = "{$lang->projectCommon}|project|index|projectID=%s";
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Aufgaben|task|view|taskID=%s';
|
||||
@@ -774,7 +774,7 @@ $lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['product'] = $lang->productCommon;
|
||||
$lang->action->search->objectTypeList['program'] = 'Program';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Execution';
|
||||
$lang->action->search->objectTypeList['bug'] = 'Bug';
|
||||
$lang->action->search->objectTypeList['case'] = 'Fälle';
|
||||
@@ -913,8 +913,8 @@ $lang->action->apiTitle->marked = 'Marked';
|
||||
$lang->action->apiTitle->linked2execution = "Linked to {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromexecution = "Unlinked from {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->linked2kanban = 'Linked to Kanban';
|
||||
$lang->action->apiTitle->linked2project = "Linked to project";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from project";
|
||||
$lang->action->apiTitle->linked2project = "Linked to {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfrombuild = "Unlinked from build";
|
||||
$lang->action->apiTitle->linked2release = "Linked to release";
|
||||
$lang->action->apiTitle->unlinkedfromrelease = "Unlinked from release";
|
||||
|
||||
+20
-20
@@ -14,7 +14,7 @@ global $config;
|
||||
$lang->action->common = 'Log';
|
||||
$lang->action->id = 'ID';
|
||||
$lang->action->product = $lang->productCommon;
|
||||
$lang->action->project = 'Project';
|
||||
$lang->action->project = $lang->projectCommon;
|
||||
$lang->action->execution = $lang->execution->common;
|
||||
$lang->action->objectType = 'Object Type';
|
||||
$lang->action->objectID = 'ID';
|
||||
@@ -56,7 +56,7 @@ $lang->action->needEdit = '%s that you want to restore. Please edit it
|
||||
$lang->action->historyEdit = 'The history EditBy cannot be empty.';
|
||||
$lang->action->noDynamic = 'No dynamics. ';
|
||||
$lang->action->undeletedTips = 'This data did not participate in the merging process during the version upgrade process, so restore is not supported.';
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
$lang->action->repoNoServer = 'The repo does not belong to a server,please restore the server first';
|
||||
$lang->action->hasCreatedTask = 'Tasks have been created in this parent phase and cannot be restored!';
|
||||
$lang->action->hasDeletedParent = 'Restoring this phase requires restoring the deleted parent phase %s at the same time.';
|
||||
@@ -99,7 +99,7 @@ $lang->action->objectTypes['design'] = 'Design';
|
||||
$lang->action->objectTypes['productplan'] = 'Plan';
|
||||
$lang->action->objectTypes['release'] = 'Release';
|
||||
$lang->action->objectTypes['program'] = 'Program';
|
||||
$lang->action->objectTypes['project'] = 'Project';
|
||||
$lang->action->objectTypes['project'] = $lang->projectCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->executionCommon;
|
||||
$lang->action->objectTypes['task'] = 'Task';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
@@ -210,8 +210,8 @@ $lang->action->desc->managed = '$date, by <strong>$actor</strong> m
|
||||
$lang->action->desc->estimated = '$date, by <strong>$actor</strong> estimated.' . "\n";
|
||||
$lang->action->desc->run = '$date, by <strong>$actor</strong> executed.' . "\n";
|
||||
$lang->action->desc->syncprogram = '$date, started by <strong>$actor</strong>(starting the project sets the program status as Ongoing).' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecution = '$date, starting the task sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecutionbychild = '$date, starting the sub stage sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->importfromgitlab = '$date, Issue associate created from gitlab by <strong>$actor</strong>.' . "\n";
|
||||
@@ -239,7 +239,7 @@ $lang->action->desc->boot = '$date, the ZenAgent Node is boot by
|
||||
$lang->action->desc->relieved = '$date, relieved by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by <strong>'. $lang->admin->system .'</strong>.' . "\n";
|
||||
$lang->action->desc->getvnc = '$date, Remote control <strong>$extra</strong> by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the ' . $lang->projectCommon . ' is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the ' . $lang->projectCommon . ' from the $extra.' . "\n";
|
||||
$lang->action->desc->createdsnapshot = '$date, <strong>$actor</strong> creates a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->restoredsnapshot = '$date, <strong>$actor</strong> restored a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->editsnapshot = '$date, <strong>$actor</strong> edited the snapshot <strong>$extra</strong>。' . "\n";
|
||||
@@ -315,8 +315,8 @@ $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 project";
|
||||
$lang->action->label->unlinkedfromproject = "unlinked from project";
|
||||
$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 ";
|
||||
@@ -425,7 +425,7 @@ $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 Product';
|
||||
$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';
|
||||
@@ -449,12 +449,12 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program';
|
||||
$lang->action->dynamicAction->program['deleted'] = 'Delete Program';
|
||||
$lang->action->dynamicAction->program['closed'] = 'Close Program';
|
||||
|
||||
$lang->action->dynamicAction->project['opened'] = 'Create Project';
|
||||
$lang->action->dynamicAction->project['edited'] = 'Edit Project';
|
||||
$lang->action->dynamicAction->project['started'] = 'Start Project';
|
||||
$lang->action->dynamicAction->project['suspended'] = 'Suspend Project';
|
||||
$lang->action->dynamicAction->project['activated'] = 'Activate Project';
|
||||
$lang->action->dynamicAction->project['closed'] = 'Close Project';
|
||||
$lang->action->dynamicAction->project['opened'] = "Create {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['edited'] = "Edit {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['started'] = "Start {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['suspended'] = "Suspend {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['activated'] = "Activate {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['closed'] = "Close {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode';
|
||||
|
||||
$lang->action->dynamicAction->product['opened'] = 'Create ' . $lang->productCommon;
|
||||
@@ -506,7 +506,7 @@ $lang->action->dynamicAction->story['linked2revision'] = 'Link Story to Re
|
||||
$lang->action->dynamicAction->story['unlinkedfromrevision'] = 'Unlink Story from Revision';
|
||||
$lang->action->dynamicAction->story['linked2build'] = 'Link Story to Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfrombuild'] = 'Unlink Story from Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = 'Unlink Project';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = "Unlink {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->story['undeleted'] = 'Restore Story';
|
||||
$lang->action->dynamicAction->story['hidden'] = 'Hide Story';
|
||||
$lang->action->dynamicAction->story['linked2execution'] = "Link Story";
|
||||
@@ -733,7 +733,7 @@ $lang->action->label->productplan = 'Plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|product|programID=%s";
|
||||
$lang->action->label->project = "Project|project|index|projectID=%s";
|
||||
$lang->action->label->project = "{$lang->projectCommon}|project|index|projectID=%s";
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Task|task|view|taskID=%s';
|
||||
@@ -774,7 +774,7 @@ $lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['product'] = $lang->productCommon;
|
||||
$lang->action->search->objectTypeList['program'] = 'Program';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Execution';
|
||||
$lang->action->search->objectTypeList['bug'] = 'Bug';
|
||||
$lang->action->search->objectTypeList['case'] = 'Case';
|
||||
@@ -913,8 +913,8 @@ $lang->action->apiTitle->marked = 'Marked';
|
||||
$lang->action->apiTitle->linked2execution = "Linked to {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromexecution = "Unlinked from {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->linked2kanban = 'Linked to Kanban';
|
||||
$lang->action->apiTitle->linked2project = "Linked to project";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from project";
|
||||
$lang->action->apiTitle->linked2project = "Linked to {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfrombuild = "Unlinked from build";
|
||||
$lang->action->apiTitle->linked2release = "Linked to release";
|
||||
$lang->action->apiTitle->unlinkedfromrelease = "Unlinked from release";
|
||||
|
||||
+20
-20
@@ -14,7 +14,7 @@ global $config;
|
||||
$lang->action->common = 'Log';
|
||||
$lang->action->id = 'ID';
|
||||
$lang->action->product = $lang->productCommon;
|
||||
$lang->action->project = 'Project';
|
||||
$lang->action->project = $lang->projectCommon;
|
||||
$lang->action->execution = $lang->execution->common;
|
||||
$lang->action->objectType = "Type d'objet";
|
||||
$lang->action->objectID = 'ID';
|
||||
@@ -56,7 +56,7 @@ $lang->action->needEdit = '%s que vous voulez restaurer. SVP éditez l
|
||||
$lang->action->historyEdit = "l'historique Edité Par ne peut pas être vide.";
|
||||
$lang->action->noDynamic = "Pas d'historique.";
|
||||
$lang->action->undeletedTips = 'This data did not participate in the merging process during the version upgrade process, so restore is not supported.';
|
||||
$lang->action->executionNoProject = 'The execution does not belong to a project,please restore the project first';
|
||||
$lang->action->executionNoProject = "The execution does not belong to a {$lang->projectCommon},please restore the {$lang->projectCommon} first";
|
||||
$lang->action->repoNoServer = 'The repo does not belong to a server,please restore the server first';
|
||||
$lang->action->hasCreatedTask = 'Tasks have been created in this parent phase and cannot be restored!';
|
||||
$lang->action->hasDeletedParent = 'Restoring this phase requires restoring the deleted parent phase %s at the same time.';
|
||||
@@ -99,7 +99,7 @@ $lang->action->objectTypes['design'] = 'Design';
|
||||
$lang->action->objectTypes['productplan'] = 'Plan';
|
||||
$lang->action->objectTypes['release'] = 'Release';
|
||||
$lang->action->objectTypes['program'] = 'Program';
|
||||
$lang->action->objectTypes['project'] = 'Project';
|
||||
$lang->action->objectTypes['project'] = $lang->projectCommon;
|
||||
$lang->action->objectTypes['execution'] = $lang->executionCommon;
|
||||
$lang->action->objectTypes['task'] = 'Tâche';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
@@ -210,8 +210,8 @@ $lang->action->desc->managed = '$date, by <strong>$actor</strong> m
|
||||
$lang->action->desc->estimated = '$date, by <strong>$actor</strong> estimated.' . "\n";
|
||||
$lang->action->desc->run = '$date, by <strong>$actor</strong> executed.' . "\n";
|
||||
$lang->action->desc->syncprogram = '$date, started by <strong>$actor</strong>(starting the project sets the program status as Ongoing).' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the project status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, starting the execution sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, starting the task sets the ' . $lang->projectCommon . ' status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecution = '$date, starting the task sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->syncexecutionbychild = '$date, starting the sub stage sets the execution status as Ongoing.' . "\n";
|
||||
$lang->action->desc->importfromgitlab = '$date, Issue associate created from gitlab by <strong>$actor</strong>.' . "\n";
|
||||
@@ -239,7 +239,7 @@ $lang->action->desc->boot = '$date, the ZenAgent Node is boot by
|
||||
$lang->action->desc->relieved = '$date, relieved by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->switchtolight = '$date, Switch from ALM mode to light mode by <strong>'. $lang->admin->system .'</strong>.' . "\n";
|
||||
$lang->action->desc->getvnc = '$date, Remote control <strong>$extra</strong> by <strong>$actor</strong> .' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, the ' . $lang->projectCommon . ' is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the ' . $lang->projectCommon . ' from the $extra.' . "\n";
|
||||
$lang->action->desc->createdsnapshot = '$date, <strong>$actor</strong> creates a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->restoredsnapshot = '$date, <strong>$actor</strong> restored a snapshot <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->editsnapshot = '$date, <strong>$actor</strong> edited the snapshot <strong>$extra</strong>。' . "\n";
|
||||
@@ -315,8 +315,8 @@ $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 = "Link Project";
|
||||
$lang->action->label->unlinkedfromproject = "Unlink Project";
|
||||
$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 ";
|
||||
@@ -425,7 +425,7 @@ $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 Product';
|
||||
$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';
|
||||
@@ -449,12 +449,12 @@ $lang->action->dynamicAction->program['activated'] = 'Activate Program';
|
||||
$lang->action->dynamicAction->program['deleted'] = 'Delete Program';
|
||||
$lang->action->dynamicAction->program['closed'] = 'Close Program';
|
||||
|
||||
$lang->action->dynamicAction->project['opened'] = 'Créer ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['edited'] = 'Editer ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['started'] = 'Commencer ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['suspended'] = 'Suspendre ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['activated'] = 'Activer ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['closed'] = 'Fermer ' . $lang->executionCommon;
|
||||
$lang->action->dynamicAction->project['opened'] = "Create {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['edited'] = "Edit {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['started'] = "Start {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['suspended'] = "Suspend {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['activated'] = "Activate {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['closed'] = "Close {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['switchtolight'] = 'Switch Mode';
|
||||
|
||||
$lang->action->dynamicAction->product['opened'] = 'Créer ' . $lang->productCommon;
|
||||
@@ -506,7 +506,7 @@ $lang->action->dynamicAction->story['linked2revision'] = 'Inclure Story à
|
||||
$lang->action->dynamicAction->story['unlinkedfromrevision'] = 'Unlink Story from Revision';
|
||||
$lang->action->dynamicAction->story['linked2build'] = 'Ajouter Story au Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfrombuild'] = 'Détacher Story du Build';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = 'Détacher du Project';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = "Unlink {$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->story['undeleted'] = 'Restaurer Story';
|
||||
$lang->action->dynamicAction->story['hidden'] = 'Masquer Story';
|
||||
$lang->action->dynamicAction->story['linked2execution'] = "Link Story";
|
||||
@@ -733,7 +733,7 @@ $lang->action->label->productplan = 'Plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'Release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'Story|story|view|storyID=%s';
|
||||
$lang->action->label->program = "Program|program|pgmproduct|programID=%s";
|
||||
$lang->action->label->project = "Project|program|index|projectID=%s";
|
||||
$lang->action->label->project = "{$lang->projectCommon}|project|index|projectID=%s";
|
||||
$lang->action->label->execution = "Execution|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = 'Tâche|task|view|taskID=%s';
|
||||
@@ -774,7 +774,7 @@ $lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['product'] = $lang->productCommon;
|
||||
$lang->action->search->objectTypeList['program'] = 'Program';
|
||||
$lang->action->search->objectTypeList['project'] = 'Project';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = 'Execution';
|
||||
$lang->action->search->objectTypeList['bug'] = 'Bug';
|
||||
$lang->action->search->objectTypeList['case'] = 'CasTest';
|
||||
@@ -913,8 +913,8 @@ $lang->action->apiTitle->marked = 'Marked';
|
||||
$lang->action->apiTitle->linked2execution = "Linked to {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromexecution = "Unlinked from {$lang->executionCommon}";
|
||||
$lang->action->apiTitle->linked2kanban = 'Linked to Kanban';
|
||||
$lang->action->apiTitle->linked2project = "Linked to project";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from project";
|
||||
$lang->action->apiTitle->linked2project = "Linked to {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "Unlinked from {$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfrombuild = "Unlinked from build";
|
||||
$lang->action->apiTitle->linked2release = "Linked to release";
|
||||
$lang->action->apiTitle->unlinkedfromrelease = "Unlinked from release";
|
||||
|
||||
@@ -14,7 +14,7 @@ global $config;
|
||||
$lang->action->common = '系统日志';
|
||||
$lang->action->id = '编号';
|
||||
$lang->action->product = $lang->productCommon;
|
||||
$lang->action->project = '项目';
|
||||
$lang->action->project = $lang->projectCommon;
|
||||
$lang->action->execution = $lang->execution->common;
|
||||
$lang->action->objectType = '对象类型';
|
||||
$lang->action->objectID = '对象ID';
|
||||
@@ -56,7 +56,7 @@ $lang->action->needEdit = '要还原%s的名称或代号已经存在
|
||||
$lang->action->historyEdit = '历史记录编辑不能为空。';
|
||||
$lang->action->noDynamic = '暂时没有动态。';
|
||||
$lang->action->undeletedTips = '该数据在版本升级过程中未参与数据归并流程,不支持还原。';
|
||||
$lang->action->executionNoProject = '该执行没有所属的项目,请先还原项目再还原执行';
|
||||
$lang->action->executionNoProject = "该执行没有所属的{$lang->projectCommon},请先还原{$lang->projectCommon}再还原执行";
|
||||
$lang->action->repoNoServer = '该代码库没有所属的服务器,请先还原服务器再还原代码库';
|
||||
$lang->action->hasCreatedTask = '该父阶段已创建任务,无法恢复!';
|
||||
$lang->action->hasDeletedParent = '恢复该阶段需要同时恢复已删除的父阶段%s,';
|
||||
@@ -99,7 +99,7 @@ $lang->action->objectTypes['design'] = '设计';
|
||||
$lang->action->objectTypes['productplan'] = '计划';
|
||||
$lang->action->objectTypes['release'] = '发布';
|
||||
$lang->action->objectTypes['program'] = '项目集';
|
||||
$lang->action->objectTypes['project'] = '项目';
|
||||
$lang->action->objectTypes['project'] = $lang->projectCommon;
|
||||
$lang->action->objectTypes['execution'] = '执行';
|
||||
$lang->action->objectTypes['task'] = '任务';
|
||||
$lang->action->objectTypes['build'] = '版本';
|
||||
@@ -209,19 +209,19 @@ $lang->action->desc->resolved = '$date, 由 <strong>$actor</strong>
|
||||
$lang->action->desc->managed = '$date, 由 <strong>$actor</strong> 维护。' . "\n";
|
||||
$lang->action->desc->estimated = '$date, 由 <strong>$actor</strong> 估算。' . "\n";
|
||||
$lang->action->desc->run = '$date, 由 <strong>$actor</strong> 执行。' . "\n";
|
||||
$lang->action->desc->syncprogram = '$date, 由 <strong>$actor</strong> 启动(因项目开始而启动项目集)。' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, 系统判断由于' . $lang->executionCommon .'开始,将项目状态置为进行中。' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, 系统判断由于任务开始,将项目状态置为进行中。' . "\n";
|
||||
$lang->action->desc->syncprogram = '$date, 由 <strong>$actor</strong> 启动(因' . $lang->projectCommon . '开始而启动项目集)。' . "\n";
|
||||
$lang->action->desc->syncproject = '$date, 系统判断由于' . $lang->executionCommon .'开始,将' . $lang->projectCommon . '状态置为进行中。' . "\n";
|
||||
$lang->action->desc->syncmultipleproject = '$date, 系统判断由于任务开始,将' . $lang->projectCommon . '状态置为进行中。' . "\n";
|
||||
$lang->action->desc->syncexecution = '$date, 系统判断由于任务开始,将' . $lang->executionCommon . '状态置为进行中。' . "\n";
|
||||
$lang->action->desc->syncexecutionbychild = '$date, 系统判断由于子阶段开始,将' . $lang->executionCommon . '状态置为进行中。' . "\n";
|
||||
$lang->action->desc->importfromgitlab = '$date, 由 <strong>$actor</strong> 从Gitlab的Issue关联创建。' . "\n";
|
||||
$lang->action->desc->archived = '$date, 由 <strong>$actor</strong> 归档。' . "\n";
|
||||
$lang->action->desc->restore = '$date, 由 <strong>$actor</strong> 还原。' . "\n";
|
||||
$lang->action->desc->importedcard = '$date, 由 <strong>$actor</strong> 从看板 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedproductplan = '$date, 由 <strong>$actor</strong> 从产品计划 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedrelease = '$date, 由 <strong>$actor</strong> 从产品发布 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedexecution = '$date, 由 <strong>$actor</strong> 从项目执行 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedbuild = '$date, 由 <strong>$actor</strong> 从项目版本 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedproductplan = '$date, 由 <strong>$actor</strong> 从' . $lang->productCommon . '计划 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedrelease = '$date, 由 <strong>$actor</strong> 从' . $lang->productCommon . '发布 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedexecution = '$date, 由 <strong>$actor</strong> 从' . $lang->projectCommon . '执行 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedbuild = '$date, 由 <strong>$actor</strong> 从' . $lang->projectCommon . '版本 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->importedticket = '$date, 由 <strong>$actor</strong> 从反馈工单 <strong>$extra</strong> 导入。' . "\n";
|
||||
$lang->action->desc->fromsonarqube = '$date, 由 <strong>$actor</strong> 从<strong>SonarQube问题</strong>转化而来。' . "\n";
|
||||
$lang->action->desc->tolib = '$date, 由 <strong>$actor</strong> 导入。' . "\n";
|
||||
@@ -237,9 +237,9 @@ $lang->action->desc->reboot = '$date, 由 <strong>$actor</strong>
|
||||
$lang->action->desc->destroy = '$date, 由 <strong>$actor</strong> 关闭。' . "\n";
|
||||
$lang->action->desc->boot = '$date, 由 <strong>$actor</strong> 启动。' . "\n";
|
||||
$lang->action->desc->relieved = '$date, 由 <strong>$actor</strong> 解除孪生需求关系。' . "\n";
|
||||
$lang->action->desc->switchtolight = '$date, 由于 <strong>'. $lang->admin->system .'</strong> 从全生命周期管理模式切换为轻量管理模式,项目访问控制由项目集内公开调整为私有。' . "\n";
|
||||
$lang->action->desc->switchtolight = '$date, 由于 <strong>'. $lang->admin->system .'</strong> 从全生命周期管理模式切换为轻量管理模式,' . $lang->projectCommon . '访问控制由项目集内公开调整为私有。' . "\n";
|
||||
$lang->action->desc->getvnc = '$date, <strong>$actor</strong>对执行节点 <strong>$extra</strong> 进行了远程操控。' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属项目与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n";
|
||||
$lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属' . $lang->projectCommon . '与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n";
|
||||
$lang->action->desc->createdsnapshot = '$date, <strong>$actor</strong> 创建了快照 <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->restoredsnapshot = '$date, <strong>$actor</strong> 还原了快照 <strong>$extra</strong>。' . "\n";
|
||||
$lang->action->desc->editsnapshot = '$date, <strong>$actor</strong> 编辑了快照 <strong>$extra</strong>。' . "\n";
|
||||
@@ -315,8 +315,8 @@ $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->action->label->unlinkedfromproject = "移除了项目";
|
||||
$lang->action->label->linked2project = "关联了{$lang->projectCommon}";
|
||||
$lang->action->label->unlinkedfromproject = "移除了{$lang->projectCommon}";
|
||||
$lang->action->label->unlinkedfrombuild = "移除了版本";
|
||||
$lang->action->label->linked2release = "关联了发布";
|
||||
$lang->action->label->unlinkedfromrelease = "移除了发布";
|
||||
@@ -378,7 +378,7 @@ $lang->action->label->syncprogram = '开始了';
|
||||
$lang->action->label->syncproject = '开始了';
|
||||
$lang->action->label->syncexecution = '开始了';
|
||||
$lang->action->label->syncexecutionbychild = '开始了';
|
||||
$lang->action->label->startProgram = '(因项目开始而启动项目集)';
|
||||
$lang->action->label->startProgram = "(因{$lang->projectCommon}开始而启动项目集)";
|
||||
$lang->action->label->createmr = '合并请求关联了';
|
||||
$lang->action->label->deletemr = '合并请求取消了';
|
||||
$lang->action->label->mergedmr = '合并请求合并了';
|
||||
@@ -424,8 +424,8 @@ $lang->action->label->synctwins = '同步修改了';
|
||||
$lang->action->label->relieved = '解除了';
|
||||
$lang->action->label->switchtolight = '从全生命周期管理模式切换为轻量管理模式';
|
||||
$lang->action->label->linkedrepo = '关联代码库到';
|
||||
$lang->action->label->unlinkedrepo = '取消了项目与代码库的关联';
|
||||
$lang->action->label->unlinkproduct = '取消了与产品的关联';
|
||||
$lang->action->label->unlinkedrepo = "取消了{$lang->projectCommon}与代码库的关联";
|
||||
$lang->action->label->unlinkproduct = "取消了与{$lang->productCommon}的关联";
|
||||
$lang->action->label->createdsnapshot = '创建了快照';
|
||||
$lang->action->label->restoredsnapshot = '还原了快照';
|
||||
$lang->action->label->editsnapshot = '编辑了快照';
|
||||
@@ -449,12 +449,12 @@ $lang->action->dynamicAction->program['activated'] = '激活项目集';
|
||||
$lang->action->dynamicAction->program['deleted'] = '删除项目集';
|
||||
$lang->action->dynamicAction->program['closed'] = '关闭项目集';
|
||||
|
||||
$lang->action->dynamicAction->project['opened'] = '创建项目';
|
||||
$lang->action->dynamicAction->project['edited'] = '编辑项目';
|
||||
$lang->action->dynamicAction->project['started'] = '开始项目';
|
||||
$lang->action->dynamicAction->project['suspended'] = '延期项目';
|
||||
$lang->action->dynamicAction->project['activated'] = '激活项目';
|
||||
$lang->action->dynamicAction->project['closed'] = '关闭项目';
|
||||
$lang->action->dynamicAction->project['opened'] = "创建{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['edited'] = "编辑{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['started'] = "开始{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['suspended'] = "延期{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['activated'] = "激活{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['closed'] = "关闭{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->project['switchtolight'] = '切换模式';
|
||||
|
||||
$lang->action->dynamicAction->product['opened'] = '创建' . $lang->productCommon;
|
||||
@@ -506,7 +506,7 @@ $lang->action->dynamicAction->story['linked2revision'] = "{$lang->SRCommon
|
||||
$lang->action->dynamicAction->story['unlinkedfromrevision'] = "{$lang->SRCommon}取消关联代码提交";
|
||||
$lang->action->dynamicAction->story['linked2build'] = "{$lang->SRCommon}关联版本";
|
||||
$lang->action->dynamicAction->story['unlinkedfrombuild'] = "版本移除{$lang->SRCommon}";
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = '移除项目';
|
||||
$lang->action->dynamicAction->story['unlinkedfromproject'] = "移除{$lang->projectCommon}";
|
||||
$lang->action->dynamicAction->story['undeleted'] = "还原{$lang->SRCommon}";
|
||||
$lang->action->dynamicAction->story['hidden'] = "隐藏{$lang->SRCommon}";
|
||||
$lang->action->dynamicAction->story['linked2execution'] = "关联$lang->SRCommon";
|
||||
@@ -733,7 +733,7 @@ $lang->action->label->productplan = "计划|productplan|view|productID=%s";
|
||||
$lang->action->label->release = '发布|release|view|productID=%s';
|
||||
$lang->action->label->story = "{$lang->SRCommon}|story|view|storyID=%s";
|
||||
$lang->action->label->program = "项目集|program|product|programID=%s";
|
||||
$lang->action->label->project = "项目|project|index|projectID=%s";
|
||||
$lang->action->label->project = "{$lang->projectCommon}|project|index|projectID=%s";
|
||||
$lang->action->label->execution = "执行|execution|task|executionID=%s";
|
||||
|
||||
$lang->action->label->task = '任务|task|view|taskID=%s';
|
||||
@@ -774,7 +774,7 @@ $lang->action->search = new stdclass();
|
||||
$lang->action->search->objectTypeList[''] = '';
|
||||
$lang->action->search->objectTypeList['product'] = $lang->productCommon;
|
||||
$lang->action->search->objectTypeList['program'] = '项目集';
|
||||
$lang->action->search->objectTypeList['project'] = '项目';
|
||||
$lang->action->search->objectTypeList['project'] = $lang->projectCommon;
|
||||
$lang->action->search->objectTypeList['execution'] = '执行';
|
||||
$lang->action->search->objectTypeList['bug'] = 'Bug';
|
||||
$lang->action->search->objectTypeList['case'] = '用例';
|
||||
@@ -913,8 +913,8 @@ $lang->action->apiTitle->marked = '编辑';
|
||||
$lang->action->apiTitle->linked2execution = "关联{$lang->executionCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromexecution = "移除{$lang->executionCommon}";
|
||||
$lang->action->apiTitle->linked2kanban = '关联看板';
|
||||
$lang->action->apiTitle->linked2project = "关联项目";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "移除项目";
|
||||
$lang->action->apiTitle->linked2project = "关联{$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfromproject = "移除{$lang->projectCommon}";
|
||||
$lang->action->apiTitle->unlinkedfrombuild = "移除版本";
|
||||
$lang->action->apiTitle->linked2release = "关联发布";
|
||||
$lang->action->apiTitle->unlinkedfromrelease = "移除发布";
|
||||
@@ -953,4 +953,4 @@ $lang->action->desc->mergedmr = '$date, 由 <strong>$actor</
|
||||
$lang->action->desc->approve = '$date, 由 <strong>$actor</strong> 审核通过。';
|
||||
$lang->action->desc->reject = '$date, 由 <strong>$actor</strong> 拒绝。';
|
||||
$lang->action->desc->linkedrepo = '$date, 由 <strong>$actor</strong> 关联代码库 $extra';
|
||||
$lang->action->desc->unlinkedrepo = '$date, 由 <strong>$actor</strong> 取消了项目与代码库 $extra 的关联';
|
||||
$lang->action->desc->unlinkedrepo = '$date, 由 <strong>$actor</strong> 取消了' . $lang->projectCommon . '与代码库 $extra 的关联';
|
||||
|
||||
+13
-3
@@ -482,9 +482,19 @@ class actionModel extends model
|
||||
if($name) $action->extra = common::hasPriv('testtask', 'view') ? html::a(helper::createLink('testtask', 'view', "taskID=$action->extra"), $name) : $name;
|
||||
}
|
||||
elseif(strpos('feedback,ticket', $action->objectType) === false and $actionName == 'tostory')
|
||||
{
|
||||
$title = $this->dao->select('title')->from(TABLE_STORY)->where('id')->eq($action->extra)->fetch('title');
|
||||
if($title) $action->extra = common::hasPriv('story', 'view') ? html::a(helper::createLink('story', 'view', "storyID=$action->extra"), "#$action->extra " . $title) : "#$action->extra " . $title;
|
||||
{
|
||||
$productShadow = $this->dao->select('*')->from(TABLE_PRODUCT)->where('id')->in($action->product)->fetch('shadow');
|
||||
$title = $this->dao->select('title')->from(TABLE_STORY)->where('id')->eq($action->extra)->fetch('title');
|
||||
$defaultExtra = "#$action->extra ". $title;
|
||||
if($productShadow === "1")
|
||||
{
|
||||
$projectID = $this->dao->select('project')->from(TABLE_PROJECTPRODUCT)->where('product')->in($action->product)->fetch('project');
|
||||
if($title) $action->extra = common::hasPriv('projectstory', 'story') && $projectID ? html::a(helper::createLink('projectstory', 'story', "projectID=$projectID"), $defaultExtra) : $defaultExtra;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($title) $action->extra = common::hasPriv('story', 'view') ? html::a(helper::createLink('story', 'view', "storyID=$action->extra"), $defaultExtra) : $defaultExtra;
|
||||
}
|
||||
}
|
||||
elseif($actionName == 'importedcard')
|
||||
{
|
||||
|
||||
+14
-1
@@ -320,6 +320,11 @@ class adminModel extends model
|
||||
{
|
||||
$menu['disabled'] = true;
|
||||
if(!isset($menu['link'])) $menu['link'] = '';
|
||||
if($menuKey == 'company')
|
||||
{
|
||||
$dept = $this->dao->select('id')->from(TABLE_DEPT)->fetch();
|
||||
if($dept and common::hasPriv('company', 'browse')) $menu['link'] = helper::createLink('company', 'browse');
|
||||
}
|
||||
|
||||
/* Set links to authorized navigation. */
|
||||
if(isset($menu['subMenu']))
|
||||
@@ -338,7 +343,15 @@ class adminModel extends model
|
||||
$this->loadModel('mail');
|
||||
if(!$this->config->mail->turnon and !$this->session->mailConfig) $subMenu['link'] = $this->lang->mail->common . '|mail|detect|';
|
||||
}
|
||||
if($menuKey == 'dev' and $subMenuKey == 'editor' and !empty($this->config->global->editor)) $subMenu['link'] = $this->lang->editor->common . '|editor|index|';
|
||||
if($menuKey == 'dev' and $subMenuKey == 'editor')
|
||||
{
|
||||
if(!empty($this->config->global->editor)) $subMenu['link'] = $this->lang->editor->common . '|editor|index|';
|
||||
if(empty($this->config->global->editor) and !$this->app->user->admin)
|
||||
{
|
||||
unset($menu['subMenu']['editor']);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$link = array();
|
||||
if(isset($menu['tabMenu'][$subMenuKey]))
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
body {padding-bottom: 0px; background-color: #fff;}
|
||||
::-webkit-scrollbar {width: 10px; height: 10px;}
|
||||
::-webkit-scrollbar-button {width: 0; height: 0;}
|
||||
::-webkit-scrollbar-thumb:vertical {min-height: 28px; background-color: rgba(0, 0, 0, 0.2); background-clip: padding-box; border-radius: 2px; -webkit-box-shadow: inset 1px 1px 0 rgb(0 0 0 / 10%), inset 0 -1px 0 rgb(0 0 0 / 7%);}
|
||||
::-webkit-scrollbar-track:hover {background-color:rgba(0,0,0,.05);-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.1);}
|
||||
::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.4);}
|
||||
|
||||
body.m-api-debug {padding-bottom: 0px; background-color: #fff;}
|
||||
#api p {margin: 5px 0 2px 0;}
|
||||
.c-name {width: 80px;}
|
||||
.m-api-debug .main-header {padding: 10px 20px;}
|
||||
|
||||
@@ -41,7 +41,6 @@ var app = new Vue({
|
||||
},
|
||||
methods: {
|
||||
changeAttr(val) {
|
||||
// console.log('更新之前', JSON.stringify(val))
|
||||
this.body = val;
|
||||
},
|
||||
changeType(val) {
|
||||
|
||||
@@ -58,7 +58,6 @@ var app = new Vue({
|
||||
},
|
||||
methods: {
|
||||
changeAttr(val) {
|
||||
// console.log('新的值', JSON.stringify(val))
|
||||
this.body = val
|
||||
},
|
||||
changeType(val) {
|
||||
|
||||
@@ -215,3 +215,4 @@ $lang->api_lib_release->version = 'Version';
|
||||
$lang->api->error = new stdclass();
|
||||
$lang->api->error->onlySelect = 'Das SQL Interface erlaubt nur SELECT Abfragen.';
|
||||
$lang->api->error->disabled = 'For security reasons, this feature is disabled. You can go to the config directory and modify the configuration item %s to open this function.';
|
||||
$lang->api->error->notInput = 'Debugging is not supported temporarily due to field parameter type restrictions';
|
||||
|
||||
@@ -215,3 +215,4 @@ $lang->api_lib_release->version = 'Version';
|
||||
$lang->api->error = new stdclass();
|
||||
$lang->api->error->onlySelect = 'SQL API only allows SELECT query.';
|
||||
$lang->api->error->disabled = 'For security reasons, this feature is disabled. Go to the config directory and modify the configuration item %s to enable it.';
|
||||
$lang->api->error->notInput = 'Debugging is not supported temporarily due to field parameter type restrictions';
|
||||
|
||||
@@ -215,3 +215,4 @@ $lang->api_lib_release->version = 'Version';
|
||||
$lang->api->error = new stdclass();
|
||||
$lang->api->error->onlySelect = 'Cette interface SQL ne supporte que les requêtes SELECT.';
|
||||
$lang->api->error->disabled = 'For security reasons, this feature is disabled. You can go to the config directory and modify the configuration item %s to open this function.';
|
||||
$lang->api->error->notInput = 'Debugging is not supported temporarily due to field parameter type restrictions';
|
||||
|
||||
@@ -215,3 +215,4 @@ $lang->api_lib_release->version = '版本';
|
||||
$lang->api->error = new stdclass();
|
||||
$lang->api->error->onlySelect = 'SQL查询接口只允许SELECT查询';
|
||||
$lang->api->error->disabled = '因为安全原因,该功能被禁用。可以到config目录,修改配置项 %s,打开此功能。';
|
||||
$lang->api->error->notInput = '因字段参数类型限制,暂不支持调试';
|
||||
|
||||
@@ -20,7 +20,11 @@
|
||||
<?php foreach($method->parameters as $param):?>
|
||||
<tr>
|
||||
<th class='c-name'><?php echo $param->name?></th>
|
||||
<?php if(!$param->isOptional() or is_string($param->getDefaultValue())):?>
|
||||
<td><?php echo html::input("$param->name", $param->isOptional() ? $param->getDefaultValue() : '', "class='form-control'")?></td>
|
||||
<?php else:?>
|
||||
<td><?php echo $lang->api->error->notInput . html::hidden("$param->name", '', "class='form-control'")?></td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
|
||||
+35
-35
@@ -76,7 +76,7 @@ $lang->block->consumedHours = 'Cost';
|
||||
$lang->block->time = 'No';
|
||||
$lang->block->week = 'Week';
|
||||
$lang->block->month = 'Month';
|
||||
$lang->block->selectProduct = 'Product selection';
|
||||
$lang->block->selectProduct = "{$lang->productCommon} selection";
|
||||
$lang->block->of = ' von ';
|
||||
$lang->block->remain = 'Left';
|
||||
$lang->block->allStories = 'All';
|
||||
@@ -114,10 +114,10 @@ $lang->block->left = 'Remain';
|
||||
$lang->block->titleList['flowchart'] = 'Flow Chart';
|
||||
$lang->block->titleList['guide'] = 'Guides';
|
||||
$lang->block->titleList['statistic'] = 'Statistic';
|
||||
$lang->block->titleList['recentproject'] = 'Recent Project';
|
||||
$lang->block->titleList['recentproject'] = "Recent {$lang->projectCommon}";
|
||||
$lang->block->titleList['assigntome'] = 'Assign to me';
|
||||
$lang->block->titleList['projectteam'] = 'Project manpower input';
|
||||
$lang->block->titleList['project'] = 'Project List';
|
||||
$lang->block->titleList['projectteam'] = "{$lang->projectCommon} manpower input";
|
||||
$lang->block->titleList['project'] = "{$lang->projectCommon} List";
|
||||
$lang->block->titleList['dynamic'] = 'Dynamic';
|
||||
$lang->block->titleList['list'] = 'Todo List';
|
||||
$lang->block->titleList['contribute'] = 'Contribute';
|
||||
@@ -125,7 +125,7 @@ $lang->block->titleList['scrumoverview'] = 'Scrumoverview';
|
||||
$lang->block->titleList['scrumtest'] = 'Scrum Test';
|
||||
$lang->block->titleList['scrumlist'] = 'Scrum List';
|
||||
$lang->block->titleList['sprint'] = 'Sprint';
|
||||
$lang->block->titleList['projectdynamic'] = 'Project Dynamic';
|
||||
$lang->block->titleList['projectdynamic'] = "{$lang->projectCommon} Dynamic";
|
||||
$lang->block->titleList['bug'] = 'Bug';
|
||||
$lang->block->titleList['case'] = 'Case';
|
||||
$lang->block->titleList['testtask'] = 'Test Task';
|
||||
@@ -142,7 +142,7 @@ $lang->block->default['waterfall']['project']['6']['source'] = 'project';
|
||||
|
||||
$lang->block->default['waterfallplus'] = $lang->block->default['waterfall'];
|
||||
|
||||
$lang->block->default['scrum']['project']['1']['title'] = 'Project Overall';
|
||||
$lang->block->default['scrum']['project']['1']['title'] = $lang->projectCommon . ' Overall';
|
||||
$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
|
||||
$lang->block->default['scrum']['project']['1']['grid'] = 8;
|
||||
|
||||
@@ -288,7 +288,7 @@ $lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['5']['title'] = 'Project Statistic';
|
||||
$lang->block->default['full']['my']['5']['title'] = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->default['full']['my']['5']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['5']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 8;
|
||||
@@ -299,8 +299,8 @@ $lang->block->default['full']['my']['6']['block'] = 'contribute';
|
||||
$lang->block->default['full']['my']['6']['source'] = '';
|
||||
$lang->block->default['full']['my']['6']['grid'] = 4;
|
||||
|
||||
$lang->block->default['full']['my']['7']['title'] = 'Recent Project';
|
||||
$lang->block->default['full']['my']['7']['block'] = 'recentproject';
|
||||
$lang->block->default['full']['my']['7']['title'] = "Recent {$lang->projectCommon}s";
|
||||
$lang->block->default['full']['my']['7']['block'] = "recent{$lang->projectCommon}";
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7']['grid'] = 8;
|
||||
|
||||
@@ -324,8 +324,8 @@ $lang->block->default['full']['my']['9']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['10']['title'] = 'Project List';
|
||||
$lang->block->default['full']['my']['10']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['title'] = "{$lang->projectCommon} List";
|
||||
$lang->block->default['full']['my']['10']['block'] = $lang->projectCommon;
|
||||
$lang->block->default['full']['my']['10']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['grid'] = 8;
|
||||
|
||||
@@ -356,21 +356,21 @@ $lang->block->availableBlocks->feedback = 'Feedbacks';
|
||||
$lang->block->availableBlocks->ticket = 'Tickets';
|
||||
|
||||
$lang->block->moduleList['product'] = $lang->productCommon;
|
||||
$lang->block->moduleList['project'] = 'Project';
|
||||
$lang->block->moduleList['project'] = $lang->projectCommon;
|
||||
$lang->block->moduleList['execution'] = $lang->execution->common;
|
||||
$lang->block->moduleList['qa'] = 'QA';
|
||||
$lang->block->moduleList['todo'] = 'Todos';
|
||||
|
||||
$lang->block->modules['project'] = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = 'Recent Project';
|
||||
$lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic';
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = "Recent {$lang->projectCommon}";
|
||||
$lang->block->modules['project']->availableBlocks->statistic = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = "{$lang->projectCommon} Manpower Input";
|
||||
|
||||
$lang->block->modules['scrum']['index'] = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
|
||||
@@ -423,10 +423,10 @@ $lang->block->orderByList->product['status_asc'] = 'Status Aufsteigend';
|
||||
$lang->block->orderByList->product['status_desc'] = 'Status Absteigend';
|
||||
|
||||
$lang->block->orderByList->project = array();
|
||||
$lang->block->orderByList->project['id_asc'] = 'ID Aufsteigend';
|
||||
$lang->block->orderByList->project['id_desc'] = 'ID Absteigend';
|
||||
$lang->block->orderByList->project['status_asc'] = 'Status Aufsteigend';
|
||||
$lang->block->orderByList->project['status_desc'] = 'Status Absteigend';
|
||||
$lang->block->orderByList->project['id_asc'] = "{$lang->projectCommon} ID ASC";
|
||||
$lang->block->orderByList->project['id_desc'] = "{$lang->projectCommon} ID DESC";
|
||||
$lang->block->orderByList->project['status_asc'] = "{$lang->projectCommon} Status ASC";
|
||||
$lang->block->orderByList->project['status_desc'] = "{$lang->projectCommon} Status DESC";
|
||||
|
||||
$lang->block->orderByList->execution = array();
|
||||
$lang->block->orderByList->execution['id_asc'] = 'ID Aufsteigend';
|
||||
@@ -529,18 +529,18 @@ $lang->block->typeList->testtask['done'] = 'Erledigt';
|
||||
$lang->block->typeList->testtask['all'] = 'Alle';
|
||||
|
||||
$lang->block->modules['project']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->project = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->statistic = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->project = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = 'project|dynamic|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = "project|dynamic|";
|
||||
|
||||
$lang->block->modules['product']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
|
||||
@@ -572,9 +572,9 @@ $lang->block->gridOptions[4] = 'Rechts';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart['admin'] = array('Administrator', 'Add Departments', 'Benutzer erstellen', 'Rechte pflegen');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', "Link {$lang->productCommon}", "Create {$lang->projectCommon}", "Budgeting and planning", 'Add Stakeholder');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . ' Besitzer', $lang->productCommon . ' erstellen', 'Module pflegen', 'Pläne pflegen', 'Storys pflegen', 'Release erstellen');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', "Add {$lang->productCommon}s and " . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['dev'] = array('Entwickler', 'Aufgabe/Bugs anfordern', 'Update Status', 'Aufgaben/Bugs abschließen');
|
||||
$lang->block->flowchart['tester'] = array('QS Team', 'Fälle erstellen', 'Fälle ausführen', 'Bug Berichte', 'Bugs überprüfen', 'Bugs schließen');
|
||||
|
||||
@@ -587,8 +587,8 @@ $lang->block->zentaoapp->allStorySum = 'Total Stories';
|
||||
$lang->block->zentaoapp->storyCompleteRate = 'Story CompleteRate';
|
||||
$lang->block->zentaoapp->latestExecution = 'Latest Execution';
|
||||
$lang->block->zentaoapp->involvedExecution = 'Involved Execution';
|
||||
$lang->block->zentaoapp->mangedProduct = 'Manged Product';
|
||||
$lang->block->zentaoapp->involvedProject = 'Involved Project';
|
||||
$lang->block->zentaoapp->mangedProduct = "Manged {$lang->productCommon}";
|
||||
$lang->block->zentaoapp->involvedProject = "Involved {$lang->projectCommon}";
|
||||
$lang->block->zentaoapp->customIndexCard = 'Custom Index Cards';
|
||||
$lang->block->zentaoapp->createStory = 'Story Create';
|
||||
$lang->block->zentaoapp->createEffort = 'Effort Create';
|
||||
@@ -599,7 +599,7 @@ $lang->block->zentaoapp->notSupportKanban = 'The mobile terminal does not su
|
||||
$lang->block->zentaoapp->notSupportVersion = 'This version of ZenTao is not currently supported on the mobile terminal';
|
||||
$lang->block->zentaoapp->incompatibleVersion = 'The current version of ZenTao is lower, please upgrade to the latest version and try again';
|
||||
$lang->block->zentaoapp->canNotGetVersion = 'Failed to get ZenTao version, please confirm if the URL is correct';
|
||||
$lang->block->zentaoapp->desc = 'ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking project progress, and enhancing the flexibility and agility of project management.';
|
||||
$lang->block->zentaoapp->desc = "ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking {$lang->projectCommon} progress, and enhancing the flexibility and agility of {$lang->projectCommon} management.";
|
||||
$lang->block->zentaoapp->downloadTip = 'Scan QR code to download';
|
||||
|
||||
$lang->block->zentaoclient = new stdClass();
|
||||
@@ -632,11 +632,11 @@ $lang->block->visionTitle = 'The user interface of ZenTao is divided
|
||||
$lang->block->visions['rnd'] = new stdclass();
|
||||
$lang->block->visions['rnd']->key = 'rnd';
|
||||
$lang->block->visions['rnd']->title = 'Full feature interface';
|
||||
$lang->block->visions['rnd']->text = 'Integrate the program, product, project, execution, test, etc., and provide the lifecycle project management solution.';
|
||||
$lang->block->visions['rnd']->text = "Integrate the program, {$lang->productCommon}, {$lang->projectCommon}, execution, test, etc., and provide the lifecycle {$lang->projectCommon} management solution.";
|
||||
$lang->block->visions['lite'] = new stdclass();
|
||||
$lang->block->visions['lite']->key = 'lite';
|
||||
$lang->block->visions['lite']->title = 'Operation Management Interface';
|
||||
$lang->block->visions['lite']->text = 'Specially designed for Non-R&D teams, and based on the visual Kanban project management model.';
|
||||
$lang->block->visions['lite']->text = "Specially designed for Non-R&D teams, and based on the visual Kanban {$lang->projectCommon} management model.";
|
||||
|
||||
$lang->block->customModes['light'] = 'Light Mode';
|
||||
$lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
@@ -644,4 +644,4 @@ $lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
$lang->block->customModeTip = new stdClass();
|
||||
$lang->block->customModeTip->common = 'There are 2 running modes of ZenTao: Light Mode and ALM Mode.';
|
||||
$lang->block->customModeTip->ALM = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams.';
|
||||
$lang->block->customModeTip->light = 'Provides the core function of project management, suitable for small R&D teams.';
|
||||
$lang->block->customModeTip->light = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams.";
|
||||
|
||||
+35
-35
@@ -76,7 +76,7 @@ $lang->block->consumedHours = 'Cost';
|
||||
$lang->block->time = 'No';
|
||||
$lang->block->week = 'Week';
|
||||
$lang->block->month = 'Month';
|
||||
$lang->block->selectProduct = 'Product selection';
|
||||
$lang->block->selectProduct = "{$lang->productCommon} selection";
|
||||
$lang->block->of = ' of ';
|
||||
$lang->block->remain = 'Left';
|
||||
$lang->block->allStories = 'All';
|
||||
@@ -114,10 +114,10 @@ $lang->block->left = 'Remain';
|
||||
$lang->block->titleList['flowchart'] = 'Flow Chart';
|
||||
$lang->block->titleList['guide'] = 'Guides';
|
||||
$lang->block->titleList['statistic'] = 'Statistic';
|
||||
$lang->block->titleList['recentproject'] = 'Recent Project';
|
||||
$lang->block->titleList['recentproject'] = "Recent {$lang->projectCommon}";
|
||||
$lang->block->titleList['assigntome'] = 'Assign to me';
|
||||
$lang->block->titleList['projectteam'] = 'Project manpower input';
|
||||
$lang->block->titleList['project'] = 'Project List';
|
||||
$lang->block->titleList['projectteam'] = "{$lang->projectCommon} manpower input";
|
||||
$lang->block->titleList['project'] = "{$lang->projectCommon} List";
|
||||
$lang->block->titleList['dynamic'] = 'Dynamic';
|
||||
$lang->block->titleList['list'] = 'Todo List';
|
||||
$lang->block->titleList['contribute'] = 'Contribute';
|
||||
@@ -125,7 +125,7 @@ $lang->block->titleList['scrumoverview'] = 'Scrumoverview';
|
||||
$lang->block->titleList['scrumtest'] = 'Scrum Test';
|
||||
$lang->block->titleList['scrumlist'] = 'Scrum List';
|
||||
$lang->block->titleList['sprint'] = 'Sprint';
|
||||
$lang->block->titleList['projectdynamic'] = 'Project Dynamic';
|
||||
$lang->block->titleList['projectdynamic'] = "{$lang->projectCommon} Dynamic";
|
||||
$lang->block->titleList['bug'] = 'Bug';
|
||||
$lang->block->titleList['case'] = 'Case';
|
||||
$lang->block->titleList['testtask'] = 'Test Task';
|
||||
@@ -142,7 +142,7 @@ $lang->block->default['waterfall']['project']['6']['source'] = 'project';
|
||||
|
||||
$lang->block->default['waterfallplus'] = $lang->block->default['waterfall'];
|
||||
|
||||
$lang->block->default['scrum']['project']['1']['title'] = 'Project Overview';
|
||||
$lang->block->default['scrum']['project']['1']['title'] = $lang->projectCommon . ' Overview';
|
||||
$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
|
||||
$lang->block->default['scrum']['project']['1']['grid'] = 8;
|
||||
|
||||
@@ -288,7 +288,7 @@ $lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['5']['title'] = 'Project Statistic';
|
||||
$lang->block->default['full']['my']['5']['title'] = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->default['full']['my']['5']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['5']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 8;
|
||||
@@ -299,8 +299,8 @@ $lang->block->default['full']['my']['6']['block'] = 'contribute';
|
||||
$lang->block->default['full']['my']['6']['source'] = '';
|
||||
$lang->block->default['full']['my']['6']['grid'] = 4;
|
||||
|
||||
$lang->block->default['full']['my']['7']['title'] = 'Recent Projects';
|
||||
$lang->block->default['full']['my']['7']['block'] = 'recentproject';
|
||||
$lang->block->default['full']['my']['7']['title'] = "Recent {$lang->projectCommon}s";
|
||||
$lang->block->default['full']['my']['7']['block'] = "recent{$lang->projectCommon}";
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7']['grid'] = 8;
|
||||
|
||||
@@ -324,8 +324,8 @@ $lang->block->default['full']['my']['9']['block'] = 'projectteam';
|
||||
$lang->block->default['full']['my']['9']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['10']['title'] = 'Project List';
|
||||
$lang->block->default['full']['my']['10']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['title'] = "{$lang->projectCommon} List";
|
||||
$lang->block->default['full']['my']['10']['block'] = $lang->projectCommon;
|
||||
$lang->block->default['full']['my']['10']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['grid'] = 8;
|
||||
|
||||
@@ -356,21 +356,21 @@ $lang->block->availableBlocks->feedback = 'Feedbacks';
|
||||
$lang->block->availableBlocks->ticket = 'Tickets';
|
||||
|
||||
$lang->block->moduleList['product'] = $lang->productCommon;
|
||||
$lang->block->moduleList['project'] = 'Project';
|
||||
$lang->block->moduleList['project'] = $lang->projectCommon;
|
||||
$lang->block->moduleList['execution'] = $lang->execution->common;
|
||||
$lang->block->moduleList['qa'] = 'Test';
|
||||
$lang->block->moduleList['todo'] = 'Todo';
|
||||
|
||||
$lang->block->modules['project'] = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = 'Recent Project';
|
||||
$lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic';
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = 'Project Manpower Input';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = "Recent {$lang->projectCommon}";
|
||||
$lang->block->modules['project']->availableBlocks->statistic = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = "{$lang->projectCommon} Manpower Input";
|
||||
|
||||
$lang->block->modules['scrum']['index'] = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
|
||||
@@ -423,10 +423,10 @@ $lang->block->orderByList->product['status_asc'] = 'Product Status ASC';
|
||||
$lang->block->orderByList->product['status_desc'] = 'Product Status DESC';
|
||||
|
||||
$lang->block->orderByList->project = array();
|
||||
$lang->block->orderByList->project['id_asc'] = 'Project ID ASC';
|
||||
$lang->block->orderByList->project['id_desc'] = 'Project ID DESC';
|
||||
$lang->block->orderByList->project['status_asc'] = 'Project Status ASC';
|
||||
$lang->block->orderByList->project['status_desc'] = 'Project Status DESC';
|
||||
$lang->block->orderByList->project['id_asc'] = "{$lang->projectCommon} ID ASC";
|
||||
$lang->block->orderByList->project['id_desc'] = "{$lang->projectCommon} ID DESC";
|
||||
$lang->block->orderByList->project['status_asc'] = "{$lang->projectCommon} Status ASC";
|
||||
$lang->block->orderByList->project['status_desc'] = "{$lang->projectCommon} Status DESC";
|
||||
|
||||
$lang->block->orderByList->execution = array();
|
||||
$lang->block->orderByList->execution['id_asc'] = 'Execution ID ASC';
|
||||
@@ -529,18 +529,18 @@ $lang->block->typeList->testtask['done'] = 'Done';
|
||||
$lang->block->typeList->testtask['all'] = 'All';
|
||||
|
||||
$lang->block->modules['project']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->project = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->statistic = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->project = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = 'project|dynamic|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = "project|dynamic|";
|
||||
|
||||
$lang->block->modules['product']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
|
||||
@@ -572,9 +572,9 @@ $lang->block->gridOptions[4] = 'Right';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart['admin'] = array('Administrator', 'Add Departments', 'Add Users', 'Maintain Privileges');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', "Link {$lang->productCommon}", "Create {$lang->projectCommon}", "Budgeting and planning", 'Add Stakeholder');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . ' Owner', 'Add ' . $lang->productCommon, 'Maintain Modules', 'Maintain Plans', 'Maintain Stories', 'Create Releases');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', "Add {$lang->productCommon}s and " . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['dev'] = array('Dev Team', 'Claim Tasks/Bugs', 'Design', 'Update Status', 'Finish Tasks/Bugs', 'Commit Code');
|
||||
$lang->block->flowchart['tester'] = array('Test Team', 'Write Cases', 'Run Cases', 'Report Bugs', 'Verify Bugs', 'Close Bugs');
|
||||
|
||||
@@ -587,8 +587,8 @@ $lang->block->zentaoapp->allStorySum = 'Total Stories';
|
||||
$lang->block->zentaoapp->storyCompleteRate = 'Story CompleteRate';
|
||||
$lang->block->zentaoapp->latestExecution = 'Latest Execution';
|
||||
$lang->block->zentaoapp->involvedExecution = 'Involved Execution';
|
||||
$lang->block->zentaoapp->mangedProduct = 'Manged Product';
|
||||
$lang->block->zentaoapp->involvedProject = 'Involved Project';
|
||||
$lang->block->zentaoapp->mangedProduct = "Manged {$lang->productCommon}";
|
||||
$lang->block->zentaoapp->involvedProject = "Involved {$lang->projectCommon}";
|
||||
$lang->block->zentaoapp->customIndexCard = 'Custom Index Cards';
|
||||
$lang->block->zentaoapp->createStory = 'Story Create';
|
||||
$lang->block->zentaoapp->createEffort = 'Effort Create';
|
||||
@@ -599,7 +599,7 @@ $lang->block->zentaoapp->notSupportKanban = 'The mobile terminal does not su
|
||||
$lang->block->zentaoapp->notSupportVersion = 'This version of ZenTao is not currently supported on the mobile terminal';
|
||||
$lang->block->zentaoapp->incompatibleVersion = 'The current version of ZenTao is lower, please upgrade to the latest version and try again';
|
||||
$lang->block->zentaoapp->canNotGetVersion = 'Failed to get ZenTao version, please confirm if the URL is correct';
|
||||
$lang->block->zentaoapp->desc = 'ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking project progress, and enhancing the flexibility and agility of project management.';
|
||||
$lang->block->zentaoapp->desc = "ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking {$lang->projectCommon} progress, and enhancing the flexibility and agility of {$lang->projectCommon} management.";
|
||||
$lang->block->zentaoapp->downloadTip = 'Scan QR code to download';
|
||||
|
||||
$lang->block->zentaoclient = new stdClass();
|
||||
@@ -632,11 +632,11 @@ $lang->block->visionTitle = 'The user interface of ZenTao is divided
|
||||
$lang->block->visions['rnd'] = new stdclass();
|
||||
$lang->block->visions['rnd']->key = 'rnd';
|
||||
$lang->block->visions['rnd']->title = 'Full feature interface';
|
||||
$lang->block->visions['rnd']->text = 'Integrate the program, product, project, execution, test, etc., and provide the lifecycle project management solution.';
|
||||
$lang->block->visions['rnd']->text = "Integrate the program, {$lang->productCommon}, {$lang->projectCommon}, execution, test, etc., and provide the lifecycle {$lang->projectCommon} management solution.";
|
||||
$lang->block->visions['lite'] = new stdclass();
|
||||
$lang->block->visions['lite']->key = 'lite';
|
||||
$lang->block->visions['lite']->title = 'Operation Management Interface';
|
||||
$lang->block->visions['lite']->text = 'Specially designed for Non-R&D teams, and based on the visual Kanban project management model.';
|
||||
$lang->block->visions['lite']->text = "Specially designed for Non-R&D teams, and based on the visual Kanban {$lang->projectCommon} management model.";
|
||||
|
||||
$lang->block->customModes['light'] = 'Light Mode';
|
||||
$lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
@@ -644,4 +644,4 @@ $lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
$lang->block->customModeTip = new stdClass();
|
||||
$lang->block->customModeTip->common = 'There are 2 running modes of ZenTao: Light Mode and ALM Mode.';
|
||||
$lang->block->customModeTip->ALM = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams.';
|
||||
$lang->block->customModeTip->light = 'Provides the core function of project management, suitable for small R&D teams.';
|
||||
$lang->block->customModeTip->light = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams.";
|
||||
|
||||
+38
-38
@@ -76,7 +76,7 @@ $lang->block->consumedHours = 'Cost';
|
||||
$lang->block->time = 'No';
|
||||
$lang->block->week = 'Week';
|
||||
$lang->block->month = 'Month';
|
||||
$lang->block->selectProduct = 'Product selection';
|
||||
$lang->block->selectProduct = "{$lang->productCommon} selection";
|
||||
$lang->block->of = ' di ';
|
||||
$lang->block->remain = 'Left';
|
||||
$lang->block->allStories = 'All';
|
||||
@@ -114,10 +114,10 @@ $lang->block->left = 'Remain';
|
||||
$lang->block->titleList['flowchart'] = 'Flow Chart';
|
||||
$lang->block->titleList['guide'] = 'Guides';
|
||||
$lang->block->titleList['statistic'] = 'Statistic';
|
||||
$lang->block->titleList['recentproject'] = 'Recent Project';
|
||||
$lang->block->titleList['recentproject'] = "Recent {$lang->projectCommon}";
|
||||
$lang->block->titleList['assigntome'] = 'Assign to me';
|
||||
$lang->block->titleList['projectteam'] = 'Project manpower input';
|
||||
$lang->block->titleList['project'] = 'Project List';
|
||||
$lang->block->titleList['projectteam'] = "{$lang->projectCommon} manpower input";
|
||||
$lang->block->titleList['project'] = "{$lang->projectCommon} List";
|
||||
$lang->block->titleList['dynamic'] = 'Dynamic';
|
||||
$lang->block->titleList['list'] = 'Todo List';
|
||||
$lang->block->titleList['contribute'] = 'Contribute';
|
||||
@@ -125,7 +125,7 @@ $lang->block->titleList['scrumoverview'] = 'Scrumoverview';
|
||||
$lang->block->titleList['scrumtest'] = 'Scrum Test';
|
||||
$lang->block->titleList['scrumlist'] = 'Scrum List';
|
||||
$lang->block->titleList['sprint'] = 'Sprint';
|
||||
$lang->block->titleList['projectdynamic'] = 'Project Dynamic';
|
||||
$lang->block->titleList['projectdynamic'] = "{$lang->projectCommon} Dynamic";
|
||||
$lang->block->titleList['bug'] = 'Bug';
|
||||
$lang->block->titleList['case'] = 'Case';
|
||||
$lang->block->titleList['testtask'] = 'Test Task';
|
||||
@@ -136,13 +136,13 @@ $lang->block->default['waterfall']['project']['3']['source'] = 'project';
|
||||
$lang->block->default['waterfall']['project']['3']['grid'] = 8;
|
||||
|
||||
$lang->block->default['waterfall']['project']['6']['title'] = 'Dynamic';
|
||||
$lang->block->default['waterfall']['project']['6']['block'] = 'dynamic';
|
||||
$lang->block->default['waterfall']['project']['6']['block'] = 'projectdynamic';
|
||||
$lang->block->default['waterfall']['project']['6']['grid'] = 4;
|
||||
$lang->block->default['waterfall']['project']['6']['source'] = '';
|
||||
$lang->block->default['waterfall']['project']['6']['source'] = 'project';
|
||||
|
||||
$lang->block->default['waterfallplus'] = $lang->block->default['waterfall'];
|
||||
|
||||
$lang->block->default['scrum']['project']['1']['title'] = 'Project Overall';
|
||||
$lang->block->default['scrum']['project']['1']['title'] = $lang->projectCommon . ' Overall';
|
||||
$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
|
||||
$lang->block->default['scrum']['project']['1']['grid'] = 8;
|
||||
|
||||
@@ -288,7 +288,7 @@ $lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['5']['title'] = 'Project Statistic';
|
||||
$lang->block->default['full']['my']['5']['title'] = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->default['full']['my']['5']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['5']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 8;
|
||||
@@ -299,9 +299,9 @@ $lang->block->default['full']['my']['6']['block'] = 'recentproject';
|
||||
$lang->block->default['full']['my']['6']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['6']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['7']['title'] = 'Todo';
|
||||
$lang->block->default['full']['my']['7']['block'] = 'assigntome';
|
||||
$lang->block->default['full']['my']['7']['source'] = '';
|
||||
$lang->block->default['full']['my']['7']['title'] = "Recent {$lang->projectCommon}s";
|
||||
$lang->block->default['full']['my']['7']['block'] = "recent{$lang->projectCommon}";
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['8']['title'] = 'Human Input';
|
||||
@@ -324,8 +324,8 @@ $lang->block->default['full']['my']['9']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['10']['title'] = 'Project List';
|
||||
$lang->block->default['full']['my']['10']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['title'] = "{$lang->projectCommon} List";
|
||||
$lang->block->default['full']['my']['10']['block'] = $lang->projectCommon;
|
||||
$lang->block->default['full']['my']['10']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['grid'] = 8;
|
||||
|
||||
@@ -356,21 +356,21 @@ $lang->block->availableBlocks->feedback = 'Feedbacks';
|
||||
$lang->block->availableBlocks->ticket = 'Tickets';
|
||||
|
||||
$lang->block->moduleList['product'] = $lang->productCommon;
|
||||
$lang->block->moduleList['project'] = 'Project';
|
||||
$lang->block->moduleList['project'] = $lang->projectCommon;
|
||||
$lang->block->moduleList['execution'] = $lang->execution->common;
|
||||
$lang->block->moduleList['qa'] = 'Test';
|
||||
$lang->block->moduleList['todo'] = 'Todo';
|
||||
|
||||
$lang->block->modules['project'] = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = 'Project List';
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = 'Recent Projects';
|
||||
$lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic';
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon} List";
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = "Recent {$lang->projectCommon}";
|
||||
$lang->block->modules['project']->availableBlocks->statistic = "{$lang->projectCommon} Statistic";
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = "{$lang->projectCommon} Manpower Input";
|
||||
|
||||
$lang->block->modules['scrum']['index'] = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = 'Project Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon} Overview";
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->executionCommon . ' List';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->executionCommon . ' Overview';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = 'Test Version';
|
||||
@@ -423,10 +423,10 @@ $lang->block->orderByList->product['status_asc'] = 'Tri par Statut ASC';
|
||||
$lang->block->orderByList->product['status_desc'] = 'Tri par Statut DESC';
|
||||
|
||||
$lang->block->orderByList->project = array();
|
||||
$lang->block->orderByList->project['id_asc'] = 'Tri par ID Projet ASC';
|
||||
$lang->block->orderByList->project['id_desc'] = 'Tri par ID Projet DESC';
|
||||
$lang->block->orderByList->project['status_asc'] = 'Tri par Statut ASC';
|
||||
$lang->block->orderByList->project['status_desc'] = 'Tri par Statut DESC';
|
||||
$lang->block->orderByList->project['id_asc'] = "{$lang->projectCommon} ID ASC";
|
||||
$lang->block->orderByList->project['id_desc'] = "{$lang->projectCommon} ID DESC";
|
||||
$lang->block->orderByList->project['status_asc'] = "{$lang->projectCommon} Status ASC";
|
||||
$lang->block->orderByList->project['status_desc'] = "{$lang->projectCommon} Status DESC";
|
||||
|
||||
$lang->block->orderByList->execution = array();
|
||||
$lang->block->orderByList->execution['id_asc'] = 'Tri par ID Execution ASC';
|
||||
@@ -529,18 +529,18 @@ $lang->block->typeList->testtask['done'] = 'Jouées';
|
||||
$lang->block->typeList->testtask['all'] = 'Toutes';
|
||||
|
||||
$lang->block->modules['project']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->project = 'project|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->recentproject = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->statistic = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->project = "project|browse|";
|
||||
$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumlist = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|';
|
||||
$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = 'project|execution|';
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = 'project|dynamic|';
|
||||
$lang->block->modules['project']->moreLinkList->sprint = "project|execution|";
|
||||
$lang->block->modules['project']->moreLinkList->projectdynamic = "project|dynamic|";
|
||||
|
||||
$lang->block->modules['product']->moreLinkList = new stdclass();
|
||||
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
|
||||
@@ -572,9 +572,9 @@ $lang->block->gridOptions[4] = 'Right';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart['admin'] = array('Administrateur', 'Add Departments', 'Ajoute Utilisateurs', 'Administre Privilèges');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', 'Link Product', "Create Project", "Budgeting and planning", 'Add Stakeholder');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('Program Owner', 'Create Program', "Link {$lang->productCommon}", "Create {$lang->projectCommon}", "Budgeting and planning", 'Add Stakeholder');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . ' Owner', 'Ajoute ' . $lang->productCommon . '/Modules', 'Ajoute ' . $lang->executionCommon . 's', 'Ajoute Stories', 'Maintient Plans', 'Crée Releases');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', 'Add projects and ' . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['project'] = array('Project Manager', "Add {$lang->productCommon}s and " . $lang->execution->common . 's', 'Maintain Teams', 'Link Stories', 'Create Tasks', 'Track');
|
||||
$lang->block->flowchart['dev'] = array('Développeurs', 'Réclament Tâches/Bugs', 'Effectuent Tâches', 'Corrigent Bugs', 'MàJ Statuts', 'Terminent Tâches/Bugs');
|
||||
$lang->block->flowchart['tester'] = array('Testeurs', 'Rédigent CasTests', 'Jouent CasTests', 'Détectent Bugs', 'Vérifient Corrections', 'Ferment Bugs');
|
||||
|
||||
@@ -587,8 +587,8 @@ $lang->block->zentaoapp->allStorySum = 'Total Stories';
|
||||
$lang->block->zentaoapp->storyCompleteRate = 'Story CompleteRate';
|
||||
$lang->block->zentaoapp->latestExecution = 'Latest Execution';
|
||||
$lang->block->zentaoapp->involvedExecution = 'Involved Execution';
|
||||
$lang->block->zentaoapp->mangedProduct = 'Manged Product';
|
||||
$lang->block->zentaoapp->involvedProject = 'Involved Project';
|
||||
$lang->block->zentaoapp->mangedProduct = "Manged {$lang->productCommon}";
|
||||
$lang->block->zentaoapp->involvedProject = "Involved {$lang->projectCommon}";
|
||||
$lang->block->zentaoapp->customIndexCard = 'Custom Index Cards';
|
||||
$lang->block->zentaoapp->createStory = 'Story Create';
|
||||
$lang->block->zentaoapp->createEffort = 'Effort Create';
|
||||
@@ -599,7 +599,7 @@ $lang->block->zentaoapp->notSupportKanban = 'The mobile terminal does not su
|
||||
$lang->block->zentaoapp->notSupportVersion = 'This version of ZenTao is not currently supported on the mobile terminal';
|
||||
$lang->block->zentaoapp->incompatibleVersion = 'The current version of ZenTao is lower, please upgrade to the latest version and try again';
|
||||
$lang->block->zentaoapp->canNotGetVersion = 'Failed to get ZenTao version, please confirm if the URL is correct';
|
||||
$lang->block->zentaoapp->desc = 'ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking project progress, and enhancing the flexibility and agility of project management.';
|
||||
$lang->block->zentaoapp->desc = "ZenTao mobile app provides you with a mobile work environment, which is convenient for managing personal to-do tasks at any time, tracking {$lang->projectCommon} progress, and enhancing the flexibility and agility of {$lang->projectCommon} management.";
|
||||
$lang->block->zentaoapp->downloadTip = 'Scan QR code to download';
|
||||
|
||||
$lang->block->zentaoclient = new stdClass();
|
||||
@@ -632,11 +632,11 @@ $lang->block->visionTitle = 'The user interface of ZenTao is divided
|
||||
$lang->block->visions['rnd'] = new stdclass();
|
||||
$lang->block->visions['rnd']->key = 'rnd';
|
||||
$lang->block->visions['rnd']->title = 'Full feature interface';
|
||||
$lang->block->visions['rnd']->text = 'Integrate the program, product, project, execution, test, etc., and provide the lifecycle project management solution.';
|
||||
$lang->block->visions['rnd']->text = "Integrate the program, {$lang->productCommon}, {$lang->projectCommon}, execution, test, etc., and provide the lifecycle {$lang->projectCommon} management solution.";
|
||||
$lang->block->visions['lite'] = new stdclass();
|
||||
$lang->block->visions['lite']->key = 'lite';
|
||||
$lang->block->visions['lite']->title = 'Operation Management Interface';
|
||||
$lang->block->visions['lite']->text = 'Specially designed for Non-R&D teams, and based on the visual Kanban project management model.';
|
||||
$lang->block->visions['lite']->text = "Specially designed for Non-R&D teams, and based on the visual Kanban {$lang->projectCommon} management model.";
|
||||
|
||||
$lang->block->customModes['light'] = 'Light Mode';
|
||||
$lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
@@ -644,4 +644,4 @@ $lang->block->customModes['ALM'] = 'ALM Mode';
|
||||
$lang->block->customModeTip = new stdClass();
|
||||
$lang->block->customModeTip->common = 'There are 2 running modes of ZenTao: Light Mode and ALM Mode.';
|
||||
$lang->block->customModeTip->ALM = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams.';
|
||||
$lang->block->customModeTip->light = 'Provides the core function of project management, suitable for small R&D teams.';
|
||||
$lang->block->customModeTip->light = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams.";
|
||||
|
||||
+27
-27
@@ -76,7 +76,7 @@ $lang->block->consumedHours = '已消耗';
|
||||
$lang->block->time = '第';
|
||||
$lang->block->week = '周';
|
||||
$lang->block->month = '月';
|
||||
$lang->block->selectProduct = '选择产品';
|
||||
$lang->block->selectProduct = "选择{$lang->productCommon}";
|
||||
$lang->block->of = '的';
|
||||
$lang->block->remain = '剩余工时';
|
||||
$lang->block->allStories = '总需求';
|
||||
@@ -113,15 +113,15 @@ $lang->block->left = '剩余';
|
||||
|
||||
$lang->block->titleList['flowchart'] = '流程图';
|
||||
$lang->block->titleList['guide'] = '使用帮助';
|
||||
$lang->block->titleList['statistic'] = '项目统计';
|
||||
$lang->block->titleList['recentproject'] = '我近期参与的项目';
|
||||
$lang->block->titleList['statistic'] = "{$lang->projectCommon}统计";
|
||||
$lang->block->titleList['recentproject'] = "我近期参与的{$lang->projectCommon}";
|
||||
$lang->block->titleList['assigntome'] = '待处理';
|
||||
$lang->block->titleList['projectteam'] = '项目人力投入';
|
||||
$lang->block->titleList['project'] = '项目列表';
|
||||
$lang->block->titleList['projectteam'] = "{$lang->projectCommon}人力投入";
|
||||
$lang->block->titleList['project'] = "{$lang->projectCommon}列表";
|
||||
$lang->block->titleList['dynamic'] = '最新动态';
|
||||
$lang->block->titleList['list'] = '我的待办';
|
||||
$lang->block->titleList['contribute'] = '我的贡献';
|
||||
$lang->block->titleList['scrumoverview'] = '项目概况';
|
||||
$lang->block->titleList['scrumoverview'] = "{$lang->projectCommon}概况";
|
||||
$lang->block->titleList['scrumtest'] = '待测版本';
|
||||
$lang->block->titleList['scrumlist'] = '迭代列表';
|
||||
$lang->block->titleList['sprint'] = '迭代总览';
|
||||
@@ -130,7 +130,7 @@ $lang->block->titleList['bug'] = '指派给我的Bug';
|
||||
$lang->block->titleList['case'] = '指派给我的用例';
|
||||
$lang->block->titleList['testtask'] = '待测版本列表';
|
||||
|
||||
$lang->block->default['waterfall']['project']['3']['title'] = "项目计划";
|
||||
$lang->block->default['waterfall']['project']['3']['title'] = "{$lang->projectCommon}计划";
|
||||
$lang->block->default['waterfall']['project']['3']['block'] = 'waterfallgantt';
|
||||
$lang->block->default['waterfall']['project']['3']['source'] = 'project';
|
||||
$lang->block->default['waterfall']['project']['3']['grid'] = 8;
|
||||
@@ -142,7 +142,7 @@ $lang->block->default['waterfall']['project']['6']['source'] = 'project';
|
||||
|
||||
$lang->block->default['waterfallplus'] = $lang->block->default['waterfall'];
|
||||
|
||||
$lang->block->default['scrum']['project']['1']['title'] = '项目概况';
|
||||
$lang->block->default['scrum']['project']['1']['title'] = $lang->projectCommon . '概况';
|
||||
$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
|
||||
$lang->block->default['scrum']['project']['1']['grid'] = 8;
|
||||
|
||||
@@ -288,7 +288,7 @@ $lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['count'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['5']['title'] = '项目统计';
|
||||
$lang->block->default['full']['my']['5']['title'] = "{$lang->projectCommon}统计";
|
||||
$lang->block->default['full']['my']['5']['block'] = 'statistic';
|
||||
$lang->block->default['full']['my']['5']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 8;
|
||||
@@ -299,7 +299,7 @@ $lang->block->default['full']['my']['6']['block'] = 'contribute';
|
||||
$lang->block->default['full']['my']['6']['source'] = '';
|
||||
$lang->block->default['full']['my']['6']['grid'] = 4;
|
||||
|
||||
$lang->block->default['full']['my']['7']['title'] = '我近期参与的项目';
|
||||
$lang->block->default['full']['my']['7']['title'] = "我近期参与的{$lang->projectCommon}";
|
||||
$lang->block->default['full']['my']['7']['block'] = 'recentproject';
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7']['grid'] = 8;
|
||||
@@ -319,12 +319,12 @@ $lang->block->default['full']['my']['8']['params']['reviewCount'] = '20';
|
||||
$lang->block->default['full']['my']['8']['params']['meetingCount'] = '20';
|
||||
$lang->block->default['full']['my']['8']['params']['feedbackCount'] = '20';
|
||||
|
||||
$lang->block->default['full']['my']['9']['title'] = '项目人力投入';
|
||||
$lang->block->default['full']['my']['9']['title'] = "{$lang->projectCommon}人力投入";
|
||||
$lang->block->default['full']['my']['9']['block'] = 'projectteam';
|
||||
$lang->block->default['full']['my']['9']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['9']['grid'] = 8;
|
||||
|
||||
$lang->block->default['full']['my']['10']['title'] = '项目列表';
|
||||
$lang->block->default['full']['my']['10']['title'] = "{$lang->projectCommon}列表";
|
||||
$lang->block->default['full']['my']['10']['block'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['10']['grid'] = 8;
|
||||
@@ -356,21 +356,21 @@ $lang->block->availableBlocks->feedback = '反馈';
|
||||
$lang->block->availableBlocks->ticket = '工单';
|
||||
|
||||
$lang->block->moduleList['product'] = $lang->productCommon;
|
||||
$lang->block->moduleList['project'] = '项目';
|
||||
$lang->block->moduleList['project'] = $lang->projectCommon;
|
||||
$lang->block->moduleList['execution'] = $lang->execution->common;
|
||||
$lang->block->moduleList['qa'] = '测试';
|
||||
$lang->block->moduleList['todo'] = '待办';
|
||||
|
||||
$lang->block->modules['project'] = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['project']->availableBlocks->project = '项目列表';
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = '近期项目';
|
||||
$lang->block->modules['project']->availableBlocks->statistic = '项目统计';
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = '项目人力投入';
|
||||
$lang->block->modules['project']->availableBlocks->project = "{$lang->projectCommon}列表";
|
||||
$lang->block->modules['project']->availableBlocks->recentproject = "近期{$lang->projectCommon}";
|
||||
$lang->block->modules['project']->availableBlocks->statistic = "{$lang->projectCommon}统计";
|
||||
$lang->block->modules['project']->availableBlocks->projectteam = "{$lang->projectCommon}人力投入";
|
||||
|
||||
$lang->block->modules['scrum']['index'] = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = '项目概况';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumoverview = "{$lang->projectCommon}概况";
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumlist = $lang->executionCommon . '列表';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->sprint = $lang->executionCommon . '总览';
|
||||
$lang->block->modules['scrum']['index']->availableBlocks->scrumtest = '待测版本';
|
||||
@@ -380,7 +380,7 @@ $lang->block->modules['agileplus']['index'] = $lang->block->modules['scrum']['in
|
||||
|
||||
$lang->block->modules['waterfall']['index'] = new stdclass();
|
||||
$lang->block->modules['waterfall']['index']->availableBlocks = new stdclass();
|
||||
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = "项目计划";
|
||||
$lang->block->modules['waterfall']['index']->availableBlocks->waterfallgantt = "{$lang->projectCommon}计划";
|
||||
$lang->block->modules['waterfall']['index']->availableBlocks->projectdynamic = '最新动态';
|
||||
|
||||
$lang->block->modules['waterfallplus']['index'] = $lang->block->modules['waterfall']['index'];
|
||||
@@ -572,9 +572,9 @@ $lang->block->gridOptions[4] = '右侧';
|
||||
|
||||
$lang->block->flowchart = array();
|
||||
$lang->block->flowchart['admin'] = array('管理员', '维护部门', '添加用户', '维护权限');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('项目集负责人', '创建项目集', '关联产品', "创建项目", "制定预算和规划", '添加干系人');
|
||||
if($config->systemMode == 'ALM') $lang->block->flowchart['program'] = array('项目集负责人', '创建项目集', "关联{$lang->productCommon}", "创建{$lang->projectCommon}", "制定预算和规划", '添加干系人');
|
||||
$lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护需求", '创建发布');
|
||||
$lang->block->flowchart['project'] = array('项目经理', '创建项目、' . $lang->execution->common, '维护团队', "关联需求", '分解任务', '跟踪进度');
|
||||
$lang->block->flowchart['project'] = array('项目经理', "创建{$lang->productCommon}、" . $lang->execution->common, '维护团队', "关联需求", '分解任务', '跟踪进度');
|
||||
$lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '设计实现方案', '更新状态', '完成任务和Bug', '提交代码');
|
||||
$lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug');
|
||||
|
||||
@@ -587,8 +587,8 @@ $lang->block->zentaoapp->allStorySum = '需求总数';
|
||||
$lang->block->zentaoapp->storyCompleteRate = '需求完成率';
|
||||
$lang->block->zentaoapp->latestExecution = '近期执行';
|
||||
$lang->block->zentaoapp->involvedExecution = '我参与的执行';
|
||||
$lang->block->zentaoapp->mangedProduct = '负责产品';
|
||||
$lang->block->zentaoapp->involvedProject = '参与项目';
|
||||
$lang->block->zentaoapp->mangedProduct = "负责{$lang->productCommon}";
|
||||
$lang->block->zentaoapp->involvedProject = "参与{$lang->projectCommon}";
|
||||
$lang->block->zentaoapp->customIndexCard = '定制首页卡片';
|
||||
$lang->block->zentaoapp->createStory = '提需求';
|
||||
$lang->block->zentaoapp->createEffort = '记日志';
|
||||
@@ -599,7 +599,7 @@ $lang->block->zentaoapp->notSupportKanban = '移动端暂不支持研发看
|
||||
$lang->block->zentaoapp->notSupportVersion = '移动端暂不支持该禅道版本';
|
||||
$lang->block->zentaoapp->incompatibleVersion = '当前禅道版本较低,请升级至最新版本后再试';
|
||||
$lang->block->zentaoapp->canNotGetVersion = '获取禅道版本失败,请确认网址是否正确';
|
||||
$lang->block->zentaoapp->desc = '禅道移动端为您提供移动办公的环境,方便随时管理个人待办事务,跟进项目进度,增强了项目管理的灵活性和敏捷性。';
|
||||
$lang->block->zentaoapp->desc = "禅道移动端为您提供移动办公的环境,方便随时管理个人待办事务,跟进{$lang->projectCommon}进度,增强了{$lang->projectCommon}管理的灵活性和敏捷性。";
|
||||
$lang->block->zentaoapp->downloadTip = '扫描二维码下载';
|
||||
|
||||
$lang->block->zentaoclient = new stdClass();
|
||||
@@ -632,11 +632,11 @@ $lang->block->visionTitle = '禅道使用界面分为【研发综合
|
||||
$lang->block->visions['rnd'] = new stdclass();
|
||||
$lang->block->visions['rnd']->key = 'rnd';
|
||||
$lang->block->visions['rnd']->title = '研发综合界面';
|
||||
$lang->block->visions['rnd']->text = '集项目集、产品、项目、执行、测试等多维度管理于一体,提供全过程项目管理解决方案。';
|
||||
$lang->block->visions['rnd']->text = "集项目集、{$lang->productCommon}、{$lang->projectCommon}、执行、测试等多维度管理于一体,提供全过程{$lang->projectCommon}管理解决方案。";
|
||||
$lang->block->visions['lite'] = new stdclass();
|
||||
$lang->block->visions['lite']->key = 'lite';
|
||||
$lang->block->visions['lite']->title = '运营管理界面';
|
||||
$lang->block->visions['lite']->text = '专为非研发团队打造,主要以直观、可视化的看板项目管理模型为主。';
|
||||
$lang->block->visions['lite']->text = "专为非研发团队打造,主要以直观、可视化的看板{$lang->projectCommon}管理模型为主。";
|
||||
|
||||
$lang->block->customModes['light'] = '轻量管理模式';
|
||||
$lang->block->customModes['ALM'] = '全生命周期管理模式';
|
||||
@@ -644,4 +644,4 @@ $lang->block->customModes['ALM'] = '全生命周期管理模式';
|
||||
$lang->block->customModeTip = new stdClass();
|
||||
$lang->block->customModeTip->common = '禅道运行模式分为【轻量级管理模式】和【全生命周期管理模式】。';
|
||||
$lang->block->customModeTip->ALM = '适用于中大型团队的管理模式,概念更加完整、严谨,功能更丰富。';
|
||||
$lang->block->customModeTip->light = '适用于小型研发团队的管理模式,提供项目管理的核心功能。';
|
||||
$lang->block->customModeTip->light = "适用于小型研发团队的管理模式,提供{$lang->projectCommon}管理的核心功能。";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
$viewLink = $this->createLink('execution', 'task', 'executionID=' . $execution->id);
|
||||
?>
|
||||
<tr <?php echo $appid?>>
|
||||
<td class='c-name text-left' title='<?php echo $execution->name;?>'><nobr><?php echo html::a($viewLink, $execution->name, '', "title='$execution->name'");?></nobr></td>
|
||||
<td class='c-name text-left' title='<?php echo $execution->name;?>'><nobr><?php echo html::a($viewLink, $execution->name, '', "title='$execution->name' class='text-primary'");?></nobr></td>
|
||||
<td class="c-date"><?php echo $execution->end;?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class="w-70px">
|
||||
|
||||
@@ -43,13 +43,13 @@
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.picker-option.picker-option-active,
|
||||
.picker-option.picker-option-active,
|
||||
.picker-single .picker-option.picker-option-selected.picker-option-active.option-ursr,
|
||||
.picker-option.picker-option-selected.option-ursr {
|
||||
background: unset!important;
|
||||
color: unset;
|
||||
}
|
||||
.picker-option.picker-option-active > .border,
|
||||
.picker-option.picker-option-active > .border,
|
||||
.picker-single .picker-option.picker-option-selected.picker-option-active.option-ursr > .border,
|
||||
.picker-single .picker-option.picker-option-selected.picker-option-active.option-ursr > .border {
|
||||
background: rgba(230,240,255, 0.4)!important;
|
||||
@@ -75,7 +75,7 @@
|
||||
border-radius: 100%;
|
||||
background: rgba(230,240,255, 0.4);
|
||||
}
|
||||
.option-ursr > .border > .value > p {
|
||||
.option-ursr > .border > .value > p {
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -114,6 +114,12 @@
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
/**
|
||||
* Init preference.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function initPreference() {
|
||||
var objPngSrc = {
|
||||
'program-browse': 'list',
|
||||
@@ -135,7 +141,16 @@ function initPreference() {
|
||||
'execution-task': 'list-recent',
|
||||
'execution-executionkanban': 'kanban',
|
||||
}
|
||||
function optionRenderProgram($option, b)
|
||||
|
||||
/**
|
||||
* Render program option.
|
||||
*
|
||||
* @param object $option
|
||||
* @param object $b
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
function optionRenderProgram($option, b)
|
||||
{
|
||||
/* transform , to , then split to fit lang */
|
||||
var textArr = b.text.split('/');
|
||||
@@ -144,28 +159,36 @@ function initPreference() {
|
||||
$option.empty();
|
||||
$option.addClass('preference');
|
||||
$option.attr("title", textArr[0]);
|
||||
/** dom to prepend
|
||||
* <div class="border>
|
||||
* <div class="preference-img"><img src="theme/default/images/guide/' + b.value + '.png"></div>
|
||||
* <div class="preference-text">
|
||||
* <div class="title"></div>
|
||||
* <div class="context"></div>
|
||||
* </div>
|
||||
* </div>
|
||||
**/
|
||||
$option.prepend('<div class="preference-border"><div class="preference-img"><img src="theme/default/images/guide/' + objPngSrc[b.value] + '.png"></div><div class="preference-text"><div class="title">' + textArr[0] + '</div><div class="context">' + textArr[1] + '</div></div></div>');
|
||||
}
|
||||
return $option;
|
||||
}
|
||||
function textRenderProgram($text, b)
|
||||
|
||||
/**
|
||||
* Render program text.
|
||||
*
|
||||
* @param object $text
|
||||
* @param object $b
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
function textRenderProgram($text, b)
|
||||
{
|
||||
$text.empty();
|
||||
$text.addClass('preference-selection');
|
||||
$text.prepend('<span>' + b.split('/')[0] + '</span>')
|
||||
return $text;
|
||||
}
|
||||
|
||||
function optionRenderURSR($option, b)
|
||||
|
||||
/**
|
||||
* Render URSR option.
|
||||
*
|
||||
* @param object $option
|
||||
* @param object $b
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
function optionRenderURSR($option, b)
|
||||
{
|
||||
if (!$option.hasClass('option-ursr'))
|
||||
{
|
||||
@@ -176,26 +199,36 @@ function initPreference() {
|
||||
}
|
||||
return $option;
|
||||
}
|
||||
|
||||
|
||||
$('.programLink').picker({
|
||||
optionRender: optionRenderProgram,
|
||||
selectionTextRender: textRenderProgram
|
||||
});
|
||||
|
||||
$('.productLink').picker({
|
||||
optionRender: optionRenderProgram,
|
||||
selectionTextRender: textRenderProgram
|
||||
});
|
||||
|
||||
$('.projectLink').picker({
|
||||
optionRender: optionRenderProgram,
|
||||
selectionTextRender: textRenderProgram
|
||||
});
|
||||
|
||||
$('.executionLink').picker({
|
||||
optionRender: optionRenderProgram,
|
||||
selectionTextRender: textRenderProgram
|
||||
});
|
||||
|
||||
$('.URSR').picker({
|
||||
optionRender: optionRenderURSR
|
||||
});
|
||||
|
||||
$(document).on('mousemove', 'a.picker-option', function(e)
|
||||
{
|
||||
$('.picker-option.text-primary').removeClass('text-primary');
|
||||
$(this).addClass('text-primary');
|
||||
});
|
||||
}
|
||||
|
||||
$(function()
|
||||
|
||||
@@ -27,7 +27,7 @@ $lang->branch->mergeBranch = 'Merge branch';
|
||||
$lang->branch->mergeBranchAction = 'Merge branch';
|
||||
|
||||
$lang->branch->id = 'ID';
|
||||
$lang->branch->product = 'Produkt';
|
||||
$lang->branch->product = $lang->productCommon;
|
||||
$lang->branch->name = 'Name';
|
||||
$lang->branch->status = 'Status';
|
||||
$lang->branch->createdDate = 'Created Date';
|
||||
@@ -51,7 +51,7 @@ $lang->branch->targetBranchTips = 'You can merge it into an existing branch, me
|
||||
$lang->branch->confirmMerge = 'The data of "mergedBranch" will be merged into "targetBranch", please confirm whether you want to perform the branch merge operation, the data will not be restored after the merge!';
|
||||
|
||||
$lang->branch->noData = 'No branches.';
|
||||
$lang->branch->mainBranch = 'The default main branch of the product.';
|
||||
$lang->branch->mainBranch = "The default main %s of the {$lang->productCommon}.";
|
||||
|
||||
$lang->branch->statusList = array();
|
||||
$lang->branch->statusList['active'] = 'Active';
|
||||
|
||||
@@ -27,7 +27,7 @@ $lang->branch->mergeBranch = 'Merge branch';
|
||||
$lang->branch->mergeBranchAction = 'Merge branch';
|
||||
|
||||
$lang->branch->id = 'ID';
|
||||
$lang->branch->product = 'Product';
|
||||
$lang->branch->product = $lang->productCommon;
|
||||
$lang->branch->name = 'Name';
|
||||
$lang->branch->status = 'Status';
|
||||
$lang->branch->createdDate = 'Created Date';
|
||||
@@ -51,7 +51,7 @@ $lang->branch->targetBranchTips = 'You can merge it into an existing branch, me
|
||||
$lang->branch->confirmMerge = 'The data of "mergedBranch" will be merged into "targetBranch", please confirm whether you want to perform the branch merge operation, the data will not be restored after the merge!';
|
||||
|
||||
$lang->branch->noData = 'No branches.';
|
||||
$lang->branch->mainBranch = 'The default main %s of the product.';
|
||||
$lang->branch->mainBranch = "The default main %s of the {$lang->productCommon}.";
|
||||
|
||||
$lang->branch->statusList = array();
|
||||
$lang->branch->statusList['active'] = 'Active';
|
||||
|
||||
@@ -27,7 +27,7 @@ $lang->branch->mergeBranch = 'Merge branch';
|
||||
$lang->branch->mergeBranchAction = 'Merge branch';
|
||||
|
||||
$lang->branch->id = 'ID';
|
||||
$lang->branch->product = 'Product';
|
||||
$lang->branch->product = $lang->productCommon;
|
||||
$lang->branch->name = 'Nom';
|
||||
$lang->branch->status = 'Status';
|
||||
$lang->branch->createdDate = 'Created Date';
|
||||
@@ -51,7 +51,7 @@ $lang->branch->targetBranchTips = 'You can merge it into an existing branch, me
|
||||
$lang->branch->confirmMerge = 'The data of "mergedBranch" will be merged into "targetBranch", please confirm whether you want to perform the branch merge operation, the data will not be restored after the merge!';
|
||||
|
||||
$lang->branch->noData = 'No branches.';
|
||||
$lang->branch->mainBranch = 'The default main branch of the product.';
|
||||
$lang->branch->mainBranch = "The default main %s of the {$lang->productCommon}.";
|
||||
|
||||
$lang->branch->statusList = array();
|
||||
$lang->branch->statusList['active'] = 'Active';
|
||||
|
||||
@@ -27,7 +27,7 @@ $lang->branch->mergeBranch = '合并@branch@';
|
||||
$lang->branch->mergeBranchAction = '合并分支';
|
||||
|
||||
$lang->branch->id = 'ID';
|
||||
$lang->branch->product = '所属产品';
|
||||
$lang->branch->product = "所属{$lang->productCommon}";
|
||||
$lang->branch->name = '%s名称';
|
||||
$lang->branch->status = '状态';
|
||||
$lang->branch->createdDate = '创建时间';
|
||||
@@ -51,7 +51,7 @@ $lang->branch->targetBranchTips = '您可以将其合并到已有的一个@bran
|
||||
$lang->branch->confirmMerge = '"mergedBranch"的数据将被合并到"targetBranch",请确认是否要执行分支合并操作,合并后数据将不可再恢复!';
|
||||
|
||||
$lang->branch->noData = '暂时没有分支。';
|
||||
$lang->branch->mainBranch = '产品默认主干%s。';
|
||||
$lang->branch->mainBranch = "{$lang->productCommon}默认主干%s。";
|
||||
|
||||
$lang->branch->statusList = array();
|
||||
$lang->branch->statusList['active'] = '激活';
|
||||
|
||||
+10
-2
@@ -1166,7 +1166,14 @@ class bug extends control
|
||||
unset($productBugs[$bugID]);
|
||||
|
||||
$executions = array(0 => '') + $this->product->getExecutionPairsByProduct($bug->product, $bug->branch, 'id_desc', $bug->project);
|
||||
if(!empty($bug->execution) and empty($executions[$bug->execution])) $executions[$execution->id] = $execution->name;
|
||||
if(!empty($bug->execution) and empty($executions[$bug->execution])) $executions[$execution->id] = $execution->name . "({$this->lang->bug->deleted})";
|
||||
|
||||
$projects = array(0 => '') + $this->product->getProjectPairsByProduct($productID, $bug->branch);
|
||||
if(!empty($bug->project) and empty($projects[$bug->project]))
|
||||
{
|
||||
$project = $this->loadModel('project')->getByID($bug->project);
|
||||
$projects[$project->id] = $project->name . "({$this->lang->bug->deleted})";
|
||||
}
|
||||
|
||||
if($product->shadow) $this->view->project = $this->loadModel('project')->getByShadowProduct($bug->product);
|
||||
|
||||
@@ -1176,7 +1183,7 @@ class bug extends control
|
||||
$this->view->productBugs = $productBugs;
|
||||
$this->view->productName = $this->products[$productID];
|
||||
$this->view->plans = $this->loadModel('productplan')->getPairs($productID, $bug->branch, '', true);
|
||||
$this->view->projects = array(0 => '') + $this->product->getProjectPairsByProduct($productID, $bug->branch, $bug->project);
|
||||
$this->view->projects = $projects;
|
||||
$this->view->projectExecutionPairs = $this->loadModel('project')->getProjectExecutionPairs();
|
||||
$this->view->moduleOptionMenu = $moduleOptionMenu;
|
||||
$this->view->currentModuleID = $currentModuleID;
|
||||
@@ -2493,6 +2500,7 @@ class bug extends control
|
||||
public function ajaxGetProductBugs($productID, $bugID)
|
||||
{
|
||||
$product = $this->loadModel('product')->getById($productID);
|
||||
$bug = $this->bug->getById($bugID);
|
||||
$branch = $product->type == 'branch' ? ($bug->branch > 0 ? $bug->branch . ',0' : '0') : '';
|
||||
$productBugs = $this->bug->getProductBugPairs($productID, $branch);
|
||||
unset($productBugs[$bugID]);
|
||||
|
||||
+15
-15
@@ -17,7 +17,7 @@ $lang->bug->branch = 'Branch/Platform';
|
||||
$lang->bug->productplan = 'Plan';
|
||||
$lang->bug->module = 'Modul';
|
||||
$lang->bug->moduleAB = 'Modul';
|
||||
$lang->bug->project = 'Project';
|
||||
$lang->bug->project = $lang->projectCommon;
|
||||
$lang->bug->execution = $lang->execution->common;
|
||||
$lang->bug->kanban = 'Kanban';
|
||||
$lang->bug->story = 'Story';
|
||||
@@ -95,9 +95,9 @@ $lang->bug->toCase = 'Zu Fall';
|
||||
$lang->bug->colorTag = 'Farb Tag';
|
||||
$lang->bug->fixedRate = 'Fixed Rate';
|
||||
$lang->bug->noticefeedbackBy = 'NoticeFeedbackBy';
|
||||
$lang->bug->selectProjects = 'Select Projects';
|
||||
$lang->bug->selectProjects = "Select {$lang->projectCommon}s";
|
||||
$lang->bug->nextStep = 'Next Step';
|
||||
$lang->bug->noProject = 'Haven’t chosen a project yet.';
|
||||
$lang->bug->noProject = "Haven’t chosen a {$lang->projectCommon} yet.";
|
||||
$lang->bug->noExecution = 'Haven’t chosen a ' . strtolower($lang->execution->common) . ' yet.';
|
||||
|
||||
/* Method list. */
|
||||
@@ -154,7 +154,7 @@ $lang->bug->overdueBugs = 'Überfällig';
|
||||
$lang->bug->allBugs = 'Alle';
|
||||
$lang->bug->byQuery = 'Suche';
|
||||
$lang->bug->needConfirm = 'Story geändert';
|
||||
$lang->bug->allProject = 'All Projects';
|
||||
$lang->bug->allProject = "All {$lang->projectCommon}s";
|
||||
$lang->bug->allProduct = 'Alle' . $lang->productCommon;
|
||||
$lang->bug->my = 'Meine';
|
||||
$lang->bug->yesterdayResolved = 'Gestern gelöst ';
|
||||
@@ -166,7 +166,7 @@ $lang->bug->openedByMeAB = 'Von mir erstellt';
|
||||
$lang->bug->resolvedByMeAB = 'Von mir gelöst';
|
||||
|
||||
$lang->bug->ditto = 'Dito';
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one!';
|
||||
$lang->bug->dittoNotice = "This bug is not linked to the same {$lang->productCommon} as the last one is!";
|
||||
$lang->bug->noAssigned = 'Zuweisen';
|
||||
$lang->bug->noBug = 'Keine Bugs. ';
|
||||
$lang->bug->noModule = '<div>Sie haben keine Module</div><div>Jetzt verwalten</div>';
|
||||
@@ -192,8 +192,8 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Basis Info';
|
||||
$lang->bug->legendAttatch = 'Anlagen';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = 'Porject/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = "{$lang->SRCommon}/{$lang->executionCommon}/Story/Task";
|
||||
$lang->bug->legendExecStoryTask = "{$lang->SRCommon}/Story/Task";
|
||||
$lang->bug->lblTypeAndSeverity = 'Typ/Schwere';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'System/Browser';
|
||||
$lang->bug->legendSteps = 'Reproduktionsschritte';
|
||||
@@ -426,11 +426,11 @@ $lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe;
|
||||
$lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved;
|
||||
$lang->bug->featureBar['browse']['more'] = $lang->more;
|
||||
|
||||
$lang->bug->moreSelects['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['needconfirm'] = $lang->bug->needConfirm;
|
||||
$lang->bug->moreSelects['browse']['more']['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['browse']['more']['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['browse']['more']['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['browse']['more']['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['browse']['more']['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['needconfirm'] = $lang->bug->needConfirm;
|
||||
|
||||
+14
-14
@@ -17,7 +17,7 @@ $lang->bug->branch = 'Branch/Platform';
|
||||
$lang->bug->productplan = 'Plan';
|
||||
$lang->bug->module = 'Module';
|
||||
$lang->bug->moduleAB = 'Module';
|
||||
$lang->bug->project = 'Project';
|
||||
$lang->bug->project = $lang->projectCommon;
|
||||
$lang->bug->execution = $lang->execution->common;
|
||||
$lang->bug->kanban = 'Kanban';
|
||||
$lang->bug->story = 'Story';
|
||||
@@ -95,9 +95,9 @@ $lang->bug->toCase = 'To Case';
|
||||
$lang->bug->colorTag = 'Color';
|
||||
$lang->bug->fixedRate = 'Fixed Rate';
|
||||
$lang->bug->noticefeedbackBy = 'NoticeFeedbackBy';
|
||||
$lang->bug->selectProjects = 'Select Projects';
|
||||
$lang->bug->selectProjects = "Select {$lang->projectCommon}s";
|
||||
$lang->bug->nextStep = 'Next Step';
|
||||
$lang->bug->noProject = 'Haven’t chosen a project yet.';
|
||||
$lang->bug->noProject = "Haven’t chosen a {$lang->projectCommon} yet.";
|
||||
$lang->bug->noExecution = 'Haven’t chosen a ' . strtolower($lang->execution->common) . ' yet.';
|
||||
|
||||
/* Method list. */
|
||||
@@ -166,7 +166,7 @@ $lang->bug->openedByMeAB = 'ReportedByMe';
|
||||
$lang->bug->resolvedByMeAB = 'ResolvedByMe';
|
||||
|
||||
$lang->bug->ditto = 'Ditto';
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one is!';
|
||||
$lang->bug->dittoNotice = "This bug is not linked to the same {$lang->productCommon} as the last one is!";
|
||||
$lang->bug->noAssigned = 'Unassigned';
|
||||
$lang->bug->noBug = 'No bugs yet.';
|
||||
$lang->bug->noModule = '<div>You have no modules.</div><div>Manage now</div>';
|
||||
@@ -192,8 +192,8 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Basic Info';
|
||||
$lang->bug->legendAttatch = 'Files';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = 'Porject/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = "{$lang->SRCommon}/{$lang->executionCommon}/Story/Task";
|
||||
$lang->bug->legendExecStoryTask = "{$lang->SRCommon}/Story/Task";
|
||||
$lang->bug->lblTypeAndSeverity = 'Type/Severity';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'System/Browser';
|
||||
$lang->bug->legendSteps = 'Repro Steps';
|
||||
@@ -426,11 +426,11 @@ $lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe;
|
||||
$lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved;
|
||||
$lang->bug->featureBar['browse']['more'] = $lang->more;
|
||||
|
||||
$lang->bug->moreSelects['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['needconfirm'] = $lang->bug->needConfirm;
|
||||
$lang->bug->moreSelects['browse']['more']['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['browse']['more']['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['browse']['more']['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['browse']['more']['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['browse']['more']['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['needconfirm'] = $lang->bug->needConfirm;
|
||||
|
||||
+15
-15
@@ -17,7 +17,7 @@ $lang->bug->branch = 'Branche/Plateforme';
|
||||
$lang->bug->productplan = 'Plan';
|
||||
$lang->bug->module = 'Module';
|
||||
$lang->bug->moduleAB = 'Module';
|
||||
$lang->bug->project = 'Project';
|
||||
$lang->bug->project = $lang->projectCommon;
|
||||
$lang->bug->execution = $lang->execution->common;
|
||||
$lang->bug->kanban = 'Kanban';
|
||||
$lang->bug->story = 'Story';
|
||||
@@ -95,9 +95,9 @@ $lang->bug->toCase = 'vers CasTest';
|
||||
$lang->bug->colorTag = 'Couleur';
|
||||
$lang->bug->fixedRate = 'Repair Rate';
|
||||
$lang->bug->noticefeedbackBy = 'NoticeFeedbackBy';
|
||||
$lang->bug->selectProjects = 'Select Projects';
|
||||
$lang->bug->selectProjects = "Select {$lang->projectCommon}s";
|
||||
$lang->bug->nextStep = 'Next Step';
|
||||
$lang->bug->noProject = 'Haven’t chosen a project yet.';
|
||||
$lang->bug->noProject = "Haven’t chosen a {$lang->projectCommon} yet.";
|
||||
$lang->bug->noExecution = 'Haven’t chosen a ' . strtolower($lang->execution->common) . ' yet.';
|
||||
|
||||
/* Method list. */
|
||||
@@ -154,7 +154,7 @@ $lang->bug->overdueBugs = 'Retard';
|
||||
$lang->bug->allBugs = 'Tous';
|
||||
$lang->bug->byQuery = 'Rechercher';
|
||||
$lang->bug->needConfirm = 'Story Changée';
|
||||
$lang->bug->allProject = 'All Projects';
|
||||
$lang->bug->allProject = "All {$lang->projectCommon}s";
|
||||
$lang->bug->allProduct = 'Tous les ' . $lang->productCommon . 's';
|
||||
$lang->bug->my = 'Mes';
|
||||
$lang->bug->yesterdayResolved = 'Bugs Résolus Hier ';
|
||||
@@ -166,7 +166,7 @@ $lang->bug->openedByMeAB = 'Signalés par Moi';
|
||||
$lang->bug->resolvedByMeAB = 'Résolus par Moi';
|
||||
|
||||
$lang->bug->ditto = 'Idem';
|
||||
$lang->bug->dittoNotice = "Ce bug n'est pas lié au même product que le précédent !";
|
||||
$lang->bug->dittoNotice = 'This bug is not linked to the same product as the last one!';
|
||||
$lang->bug->noAssigned = 'Non affectés';
|
||||
$lang->bug->noBug = "Pas de bug pour l'instant. Bravo !";
|
||||
$lang->bug->noModule = "<div>Vous n'avez pas de modules.</div><div>Gérer Modules maintenant</div>";
|
||||
@@ -192,8 +192,8 @@ global $config;
|
||||
/* Legend list. */
|
||||
$lang->bug->legendBasicInfo = 'Infos de Base';
|
||||
$lang->bug->legendAttatch = 'Fichiers';
|
||||
$lang->bug->legendPRJExecStoryTask = 'Project/' . $lang->executionCommon . '/Story/Task';
|
||||
$lang->bug->legendExecStoryTask = 'Porject/Story/Task';
|
||||
$lang->bug->legendPRJExecStoryTask = "{$lang->SRCommon}/{$lang->executionCommon}/Story/Task";
|
||||
$lang->bug->legendExecStoryTask = "{$lang->SRCommon}/Story/Task";
|
||||
$lang->bug->lblTypeAndSeverity = 'Type/Severité';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'Système/Browser';
|
||||
$lang->bug->legendSteps = 'Etapes Repro';
|
||||
@@ -426,11 +426,11 @@ $lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe;
|
||||
$lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved;
|
||||
$lang->bug->featureBar['browse']['more'] = $lang->more;
|
||||
|
||||
$lang->bug->moreSelects['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['needconfirm'] = $lang->bug->needConfirm;
|
||||
$lang->bug->moreSelects['browse']['more']['assignedbyme'] = $lang->bug->assignedByMe;
|
||||
$lang->bug->moreSelects['browse']['more']['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['browse']['more']['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['browse']['more']['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['browse']['more']['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['needconfirm'] = $lang->bug->needConfirm;
|
||||
|
||||
+14
-14
@@ -17,7 +17,7 @@ $lang->bug->branch = '平台/分支';
|
||||
$lang->bug->productplan = '所属' . '计划';
|
||||
$lang->bug->module = '所属模块';
|
||||
$lang->bug->moduleAB = '模块';
|
||||
$lang->bug->project = '所属项目';
|
||||
$lang->bug->project = '所属' . $lang->projectCommon;
|
||||
$lang->bug->execution = '所属' . $lang->execution->common;
|
||||
$lang->bug->kanban = '所属看板';
|
||||
$lang->bug->story = "相关需求";
|
||||
@@ -95,9 +95,9 @@ $lang->bug->toCase = '生成用例';
|
||||
$lang->bug->colorTag = '颜色标签';
|
||||
$lang->bug->fixedRate = '修复率';
|
||||
$lang->bug->noticefeedbackBy = '通知反馈者';
|
||||
$lang->bug->selectProjects = '选择项目';
|
||||
$lang->bug->selectProjects = '选择' . $lang->projectCommon;
|
||||
$lang->bug->nextStep = '下一步';
|
||||
$lang->bug->noProject = '还没有选择项目!';
|
||||
$lang->bug->noProject = "还没有选择{$lang->projectCommon}!";
|
||||
$lang->bug->noExecution = "还没有选择{$lang->execution->common}!";
|
||||
|
||||
/* 方法列表。*/
|
||||
@@ -154,7 +154,7 @@ $lang->bug->overdueBugs = '过期Bug';
|
||||
$lang->bug->allBugs = '所有';
|
||||
$lang->bug->byQuery = '搜索';
|
||||
$lang->bug->needConfirm = "{$lang->SRCommon}变动";
|
||||
$lang->bug->allProject = '所有项目';
|
||||
$lang->bug->allProject = '所有' . $lang->projectCommon;
|
||||
$lang->bug->allProduct = '所有' . $lang->productCommon;
|
||||
$lang->bug->my = '我的';
|
||||
$lang->bug->yesterdayResolved = '昨天解决Bug数';
|
||||
@@ -166,7 +166,7 @@ $lang->bug->openedByMeAB = '由我创建';
|
||||
$lang->bug->resolvedByMeAB = '由我解决';
|
||||
|
||||
$lang->bug->ditto = '同上';
|
||||
$lang->bug->dittoNotice = '该bug与上一bug不属于同一产品!';
|
||||
$lang->bug->dittoNotice = "该bug与上一bug不属于同一{$lang->productCommon}!";
|
||||
$lang->bug->noAssigned = '未指派';
|
||||
$lang->bug->noBug = '暂时没有Bug。';
|
||||
$lang->bug->noModule = '<div>您现在还没有模块信息</div><div>请维护测试模块</div>';
|
||||
@@ -192,8 +192,8 @@ global $config;
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本信息';
|
||||
$lang->bug->legendAttatch = '附件';
|
||||
$lang->bug->legendPRJExecStoryTask = "项目/{$lang->executionCommon}/{$lang->SRCommon}/任务";
|
||||
$lang->bug->legendExecStoryTask = "项目/{$lang->SRCommon}/任务";
|
||||
$lang->bug->legendPRJExecStoryTask = "{$lang->projectCommon}/{$lang->executionCommon}/{$lang->SRCommon}/任务";
|
||||
$lang->bug->legendExecStoryTask = "{$lang->projectCommon}/{$lang->SRCommon}/任务";
|
||||
$lang->bug->lblTypeAndSeverity = '类型/严重程度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '系统/浏览器';
|
||||
$lang->bug->legendSteps = '重现步骤';
|
||||
@@ -427,10 +427,10 @@ $lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved;
|
||||
$lang->bug->featureBar['browse']['more'] = $lang->more;
|
||||
|
||||
|
||||
$lang->bug->moreSelects['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['needconfirm'] = $lang->bug->needConfirm;
|
||||
$lang->bug->moreSelects['browse']['more']['unconfirmed'] = $lang->bug->unconfirmed;
|
||||
$lang->bug->moreSelects['browse']['more']['assigntonull'] = $lang->bug->assignToNull;
|
||||
$lang->bug->moreSelects['browse']['more']['longlifebugs'] = $lang->bug->longLifeBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['toclosed'] = $lang->bug->toClosed;
|
||||
$lang->bug->moreSelects['browse']['more']['postponedbugs'] = $lang->bug->postponedBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['overduebugs'] = $lang->bug->overdueBugs;
|
||||
$lang->bug->moreSelects['browse']['more']['needconfirm'] = $lang->bug->needConfirm;
|
||||
|
||||
@@ -66,18 +66,19 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
}
|
||||
elseif($menuItem->name == 'more')
|
||||
{
|
||||
if(!empty($lang->bug->moreSelects))
|
||||
$moreSelects = isset($lang->bug->moreSelects[$app->rawMethod]['more']) ? $lang->bug->moreSelects[$app->rawMethod]['more'] : array();
|
||||
if(!empty($moreSelects))
|
||||
{
|
||||
$moreLabel = $lang->more;
|
||||
$moreLabelActive = '';
|
||||
if(isset($lang->bug->moreSelects[$this->session->bugBrowseType]))
|
||||
if(isset($moreSelects[$this->session->bugBrowseType]))
|
||||
{
|
||||
$moreLabel = "<span class='text'>{$lang->bug->moreSelects[$this->session->bugBrowseType]}</span> <span class='label label-light label-badge'>{$pager->recTotal}</span>";
|
||||
$moreLabel = "<span class='text'>{$moreSelects[$this->session->bugBrowseType]}</span> <span class='label label-light label-badge'>{$pager->recTotal}</span>";
|
||||
$moreLabelActive = 'btn-active-text';
|
||||
}
|
||||
echo "<div class='btn-group'><a href='javascript:;' data-toggle='dropdown' class='btn btn-link {$moreLabelActive}'>{$moreLabel} <span class='caret'></span></a>";
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
foreach($lang->bug->moreSelects as $menuBrowseType => $label)
|
||||
foreach($moreSelects as $menuBrowseType => $label)
|
||||
{
|
||||
$active = $menuBrowseType == $this->session->bugBrowseType ? 'btn-active-text' : '';
|
||||
echo '<li>' . html::a($this->createLink('bug', 'browse', "productid=$productID&branch=$branch&browseType=$menuBrowseType"), "<span class='text'>{$label}</span>", '', "class='btn btn-link $active'") . '</li>';
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<div class='panel-title'><?php echo $lang->bug->report->select;?></div>
|
||||
</div>
|
||||
<div class='panel-body'>
|
||||
<form method='post' id='chartTypesForm'>
|
||||
<form method='post' id='chartTypesForm' class='no-stash'>
|
||||
<div class='checkboxes'>
|
||||
<?php echo html::checkBox('charts', $lang->bug->report->charts, $checkedCharts, '', 'block');?>
|
||||
</div>
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
<?php if($browserList):?>
|
||||
<p class='browserContent'>
|
||||
<?php foreach($browserList as $browser):?>
|
||||
<?php if($os) echo "<span class='label label-outline'>" . zget($lang->bug->browserList, $browser) . "</span>";?>
|
||||
<?php if($browser) echo "<span class='label label-outline'>" . zget($lang->bug->browserList, $browser) . "</span>";?>
|
||||
<?php endforeach;?>
|
||||
</p>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -49,6 +49,8 @@ $().ready(function()
|
||||
}
|
||||
});
|
||||
$('#product').change();
|
||||
|
||||
$('[data-toggle="popover"]').popover();
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,7 +29,7 @@ $lang->build->basicInfo = 'Basis Info';
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = $lang->productCommon;
|
||||
$lang->build->project = 'Project';
|
||||
$lang->build->project = $lang->projectCommon;
|
||||
$lang->build->branch = 'Platform/Branch';
|
||||
$lang->build->branchAll = 'All associated %s';
|
||||
$lang->build->branchName = '%s';
|
||||
@@ -64,7 +64,7 @@ $lang->build->notice = new stdclass();
|
||||
$lang->build->notice->changeProduct = "The {$lang->SRCommon}, bug, or the version of the submitted test order has been linked, and its {$lang->productCommon} cannot be modified";
|
||||
$lang->build->notice->changeExecution = "The version of the submitted test order cannot be modified {$lang->executionCommon}";
|
||||
$lang->build->notice->changeBuilds = "The version of the submitted test order cannot be modified builds";
|
||||
$lang->build->notice->autoRelation = "The completed requirements, resolved bugs, and generated bugs under the relevant version will be automatically associated with the project version";
|
||||
$lang->build->notice->autoRelation = "The completed requirements, resolved bugs, and generated bugs under the relevant version will be automatically associated with the {$lang->projectCommon} version";
|
||||
$lang->build->notice->createTest = "The execution of this version has been deleted, and the test cannot be submitted";
|
||||
|
||||
$lang->build->confirmChangeBuild = "After branch『%s』disassociation,under the %s have %s {$lang->SRCommon} and %s Bug will remove synchronization from version, whether to cancel?";
|
||||
|
||||
@@ -29,7 +29,7 @@ $lang->build->basicInfo = 'Basic Info';
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = $lang->productCommon;
|
||||
$lang->build->project = 'Project';
|
||||
$lang->build->project = $lang->projectCommon;
|
||||
$lang->build->branch = 'Platform/Branch';
|
||||
$lang->build->branchAll = 'All associated %s';
|
||||
$lang->build->branchName = '%s';
|
||||
|
||||
@@ -29,7 +29,7 @@ $lang->build->basicInfo = 'Infos de Base';
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = $lang->productCommon;
|
||||
$lang->build->project = 'Project';
|
||||
$lang->build->project = $lang->projectCommon;
|
||||
$lang->build->branch = 'Plateforme/Branche';
|
||||
$lang->build->branchAll = 'All associated %s';
|
||||
$lang->build->branchName = '%s';
|
||||
@@ -64,7 +64,7 @@ $lang->build->notice = new stdclass();
|
||||
$lang->build->notice->changeProduct = "The {$lang->SRCommon}, bug, or the version of the submitted test order has been linked, and its {$lang->productCommon} cannot be modified";
|
||||
$lang->build->notice->changeExecution = "The version of the submitted test order cannot be modified {$lang->executionCommon}";
|
||||
$lang->build->notice->changeBuilds = "The version of the submitted test order cannot be modified builds";
|
||||
$lang->build->notice->autoRelation = "The completed requirements, resolved bugs, and generated bugs under the relevant version will be automatically associated with the project version";
|
||||
$lang->build->notice->autoRelation = "The completed requirements, resolved bugs, and generated bugs under the relevant version will be automatically associated with the {$lang->projectCommon} version";
|
||||
$lang->build->notice->createTest = "The execution of this version has been deleted, and the test cannot be submitted";
|
||||
|
||||
$lang->build->confirmChangeBuild = "After branch『%s』disassociation,under the %s have %s {$lang->SRCommon} and %s Bug will remove synchronization from version, whether to cancel?";
|
||||
|
||||
@@ -29,7 +29,7 @@ $lang->build->basicInfo = '基本信息';
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = '所属' . $lang->productCommon;
|
||||
$lang->build->project = '所属项目';
|
||||
$lang->build->project = '所属' . $lang->projectCommon;
|
||||
$lang->build->branch = '平台/分支';
|
||||
$lang->build->branchAll = '所有关联%s';
|
||||
$lang->build->branchName = '所属%s';
|
||||
@@ -64,7 +64,7 @@ $lang->build->notice = new stdclass();
|
||||
$lang->build->notice->changeProduct = "已经关联{$lang->SRCommon}、Bug或提交测试单的版本,不能修改其所属{$lang->productCommon}";
|
||||
$lang->build->notice->changeExecution = "提交测试单的版本,不能修改其所属{$lang->executionCommon}";
|
||||
$lang->build->notice->changeBuilds = "提交测试单的版本,不能修改关联版本";
|
||||
$lang->build->notice->autoRelation = "相关版本下完成的需求、解决的Bug、产生的Bug将会自动关联到项目版本中";
|
||||
$lang->build->notice->autoRelation = "相关版本下完成的需求、解决的Bug、产生的Bug将会自动关联到{$lang->projectCommon}版本中";
|
||||
$lang->build->notice->createTest = "该版本所属执行已删除,不能提交测试";
|
||||
|
||||
$lang->build->confirmChangeBuild = "%s『%s』解除关联后,%s下 %s个{$lang->SRCommon}和%s个Bug将同步从版本移除,是否解除?";
|
||||
|
||||
@@ -60,7 +60,9 @@
|
||||
<tr class='hide'>
|
||||
<th class='w-120px'><?php echo $lang->build->builds;?></th>
|
||||
<td id='buildBox'><?php echo html::select('builds[]', array(), '', "class='form-control chosen' multiple data-placeholder='{$lang->build->placeholder->multipleSelect}'");?></td>
|
||||
<td><?php echo $lang->build->notice->autoRelation;?></td>
|
||||
<td>
|
||||
<icon class='icon icon-help' data-toggle='popover' data-trigger='focus hover' data-placement='right' data-tip-class='text-muted popover-sm' data-content="<?php echo $lang->build->notice->autoRelation;?>"></icon>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='w-120px'><?php echo $lang->build->name;?></th>
|
||||
|
||||
@@ -74,7 +74,7 @@ tbody tr td:first-child input {display: none;}
|
||||
<div class='actions'><?php echo html::a("javascript:showLink($build->id, \"story\")", '<i class="icon-link"></i> ' . $lang->build->linkStory, '', "class='btn btn-primary'");?></div>
|
||||
<div class='linkBox cell hidden'></div>
|
||||
<?php endif;?>
|
||||
<form class='main-table table-story' data-ride='table' method='post' target='hiddenwin' action='<?php echo $this->createLink($module, 'batchUnlinkStory', "buildID={$build->id}")?>' id='linkedStoriesForm'>
|
||||
<form class='main-table table-story<?php if($link === 'true' and $type == 'story') echo " hidden";?>' data-ride='table' method='post' target='hiddenwin' action='<?php echo $this->createLink($module, 'batchUnlinkStory', "buildID={$build->id}")?>' id='linkedStoriesForm'>
|
||||
<table class='table has-sort-head' id='storyList'>
|
||||
<?php $canBatchUnlink = ($canBeChanged and common::hasPriv($module, 'batchUnlinkStory'));?>
|
||||
<?php $vars = "buildID={$build->id}&type=story&link=$link¶m=$param&orderBy=%s";?>
|
||||
@@ -192,7 +192,7 @@ tbody tr td:first-child input {display: none;}
|
||||
<div class='actions'><?php echo html::a("javascript:showLink($build->id, \"bug\")", '<i class="icon-bug"></i> ' . $lang->build->linkBug, '', "class='btn btn-primary'");?></div>
|
||||
<div class='linkBox cell hidden'></div>
|
||||
<?php endif;?>
|
||||
<form class='main-table table-bug' data-ride='table' method='post' target='hiddenwin' action="<?php echo $this->createLink($module, 'batchUnlinkBug', "build=$build->id");?>" id='linkedBugsForm'>
|
||||
<form class='main-table table-bug<?php if($link === 'true' and $type == 'bug') echo " hidden";?>' data-ride='table' method='post' target='hiddenwin' action="<?php echo $this->createLink($module, 'batchUnlinkBug', "build=$build->id");?>" id='linkedBugsForm'>
|
||||
<table class='table has-sort-head' id='bugList'>
|
||||
<?php $canBatchUnlink = $canBeChanged and common::hasPriv($module, 'batchUnlinkBug');?>
|
||||
<?php $vars = "buildID={$build->id}&type=bug&link=$link¶m=$param&orderBy=%s";?>
|
||||
|
||||
@@ -165,8 +165,8 @@ $lang->my->common = 'My';
|
||||
$lang->todo->common = 'Todo';
|
||||
$lang->block->common = 'InfoBlock';
|
||||
$lang->program->common = 'Program';
|
||||
$lang->product->common = 'Product';
|
||||
$lang->project->common = 'Project';
|
||||
$lang->product->common = $lang->productCommon;
|
||||
$lang->project->common = $lang->projectCommon;
|
||||
$lang->execution->common = 'Execution';
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->qa->common = 'QA';
|
||||
@@ -209,6 +209,7 @@ $lang->stage->type = 'Stage Type';
|
||||
$lang->stage->list = 'Stage List';
|
||||
$lang->stage->percent = 'Workload Ratio';
|
||||
$lang->execution->list = "{$lang->executionCommon} List";
|
||||
$lang->execution->CFD = "Cumulative Flow Diagrams";
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->backup->common = 'Backup';
|
||||
$lang->action->trash = 'Recycle';
|
||||
@@ -338,8 +339,8 @@ $lang->searchObjects['doc'] = 'Doc';
|
||||
$lang->searchObjects['caselib'] = 'Case Library';
|
||||
$lang->searchObjects['testreport'] = 'Test-Bericht';
|
||||
$lang->searchObjects['program'] = 'Program';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['execution'] = $lang->executionCommon;
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = $lang->execution->common;
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
$lang->searchTips = '';
|
||||
|
||||
@@ -363,12 +364,12 @@ $lang->visionList['lite'] = 'Operation Management Interface';
|
||||
$lang->createObjects['todo'] = 'Todo';
|
||||
$lang->createObjects['effort'] = 'Effort';
|
||||
$lang->createObjects['bug'] = 'Bug';
|
||||
$lang->createObjects['story'] = 'Story';
|
||||
$lang->createObjects['story'] = $lang->SRCommon;
|
||||
$lang->createObjects['task'] = 'Task';
|
||||
$lang->createObjects['testcase'] = 'Case';
|
||||
$lang->createObjects['execution'] = $lang->execution->common;
|
||||
$lang->createObjects['project'] = 'Project';
|
||||
$lang->createObjects['product'] = 'Product';
|
||||
$lang->createObjects['project'] = $lang->projectCommon;
|
||||
$lang->createObjects['product'] = $lang->productCommon;
|
||||
$lang->createObjects['program'] = 'Program';
|
||||
$lang->createObjects['doc'] = 'Doc';
|
||||
$lang->createObjects['kanbanspace'] = 'Space';
|
||||
|
||||
@@ -165,8 +165,8 @@ $lang->my->common = 'My';
|
||||
$lang->todo->common = 'Todo';
|
||||
$lang->block->common = 'Block';
|
||||
$lang->program->common = 'Program';
|
||||
$lang->product->common = 'Product';
|
||||
$lang->project->common = 'Project';
|
||||
$lang->product->common = $lang->productCommon;
|
||||
$lang->project->common = $lang->projectCommon;
|
||||
$lang->execution->common = 'Execution';
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->qa->common = 'QA';
|
||||
@@ -209,6 +209,7 @@ $lang->stage->type = 'Stage Type';
|
||||
$lang->stage->list = 'Stage List';
|
||||
$lang->stage->percent = 'Workload Ratio';
|
||||
$lang->execution->list = "{$lang->executionCommon} List";
|
||||
$lang->execution->CFD = "Cumulative Flow Diagrams";
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->backup->common = 'Backup';
|
||||
$lang->action->trash = 'Recycle';
|
||||
@@ -338,8 +339,8 @@ $lang->searchObjects['doc'] = 'Document';
|
||||
$lang->searchObjects['caselib'] = 'Case Library';
|
||||
$lang->searchObjects['testreport'] = 'Test Report';
|
||||
$lang->searchObjects['program'] = 'Program';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['execution'] = $lang->executionCommon;
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = $lang->execution->common;
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
$lang->searchTips = 'ID (ctrl+g)';
|
||||
|
||||
@@ -363,12 +364,12 @@ $lang->visionList['lite'] = 'Operation Management Interface';
|
||||
$lang->createObjects['todo'] = 'Todo';
|
||||
$lang->createObjects['effort'] = 'Effort';
|
||||
$lang->createObjects['bug'] = 'Bug';
|
||||
$lang->createObjects['story'] = 'Story';
|
||||
$lang->createObjects['story'] = $lang->SRCommon;
|
||||
$lang->createObjects['task'] = 'Task';
|
||||
$lang->createObjects['testcase'] = 'Case';
|
||||
$lang->createObjects['execution'] = $lang->execution->common;
|
||||
$lang->createObjects['project'] = 'Project';
|
||||
$lang->createObjects['product'] = 'Product';
|
||||
$lang->createObjects['project'] = $lang->projectCommon;
|
||||
$lang->createObjects['product'] = $lang->productCommon;
|
||||
$lang->createObjects['program'] = 'Program';
|
||||
$lang->createObjects['doc'] = 'Doc';
|
||||
$lang->createObjects['kanbanspace'] = 'Space';
|
||||
|
||||
@@ -165,8 +165,8 @@ $lang->my->common = 'My';
|
||||
$lang->todo->common = 'Agenda';
|
||||
$lang->block->common = 'Bloc';
|
||||
$lang->program->common = 'Program';
|
||||
$lang->product->common = 'Product';
|
||||
$lang->project->common = 'Project';
|
||||
$lang->product->common = $lang->productCommon;
|
||||
$lang->project->common = $lang->projectCommon;
|
||||
$lang->execution->common = 'Execution';
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->qa->common = 'QA';
|
||||
@@ -209,6 +209,7 @@ $lang->stage->type = 'Stage Type';
|
||||
$lang->stage->list = 'Stage List';
|
||||
$lang->stage->percent = 'Workload Ratio';
|
||||
$lang->execution->list = "{$lang->executionCommon} List";
|
||||
$lang->execution->CFD = "Cumulative Flow Diagrams";
|
||||
$lang->kanban->common = 'Kanban';
|
||||
$lang->backup->common = 'Backup';
|
||||
$lang->action->trash = 'Recycle';
|
||||
@@ -338,8 +339,8 @@ $lang->searchObjects['doc'] = 'Document';
|
||||
$lang->searchObjects['caselib'] = 'Case Library';
|
||||
$lang->searchObjects['testreport'] = 'CR de Test';
|
||||
$lang->searchObjects['program'] = 'Program';
|
||||
$lang->searchObjects['project'] = 'Project';
|
||||
$lang->searchObjects['execution'] = $lang->executionCommon;
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = $lang->execution->common;
|
||||
$lang->searchObjects['user'] = 'User';
|
||||
$lang->searchTips = '';
|
||||
|
||||
@@ -363,12 +364,12 @@ $lang->visionList['lite'] = 'Operation Management Interface';
|
||||
$lang->createObjects['todo'] = 'Todo';
|
||||
$lang->createObjects['effort'] = 'Effort';
|
||||
$lang->createObjects['bug'] = 'Bug';
|
||||
$lang->createObjects['story'] = 'Story';
|
||||
$lang->createObjects['story'] = $lang->SRCommon;
|
||||
$lang->createObjects['task'] = 'Task';
|
||||
$lang->createObjects['testcase'] = 'Case';
|
||||
$lang->createObjects['execution'] = $lang->execution->common;
|
||||
$lang->createObjects['project'] = 'Project';
|
||||
$lang->createObjects['product'] = 'Product';
|
||||
$lang->createObjects['project'] = $lang->projectCommon;
|
||||
$lang->createObjects['product'] = $lang->productCommon;
|
||||
$lang->createObjects['program'] = 'Program';
|
||||
$lang->createObjects['doc'] = 'Doc';
|
||||
$lang->createObjects['kanbanspace'] = 'Space';
|
||||
|
||||
@@ -418,6 +418,7 @@ $lang->project->noMultiple->scrum->menu->settings = $lang->scrum->menu->settin
|
||||
$lang->project->noMultiple->kanban = new stdclass();
|
||||
$lang->project->noMultiple->kanban->menu = new stdclass();
|
||||
$lang->project->noMultiple->kanban->menu->kanban = array('link' => "{$lang->kanban->common}|execution|kanban|executionID=%s");
|
||||
$lang->project->noMultiple->kanban->menu->CFD = array('link' => "{$lang->execution->CFD}|execution|cfd|executionID=%s");
|
||||
$lang->project->noMultiple->kanban->menu->build = $lang->kanbanProject->menu->build;
|
||||
$lang->project->noMultiple->kanban->menu->settings = $lang->kanbanProject->menu->settings;
|
||||
|
||||
@@ -438,8 +439,9 @@ $lang->project->noMultiple->scrum->menuOrder[50] = 'dynamic';
|
||||
$lang->project->noMultiple->scrum->menuOrder[55] = 'settings';
|
||||
|
||||
$lang->project->noMultiple->kanban->menuOrder[5] = 'kanban';
|
||||
$lang->project->noMultiple->kanban->menuOrder[10] = 'build';
|
||||
$lang->project->noMultiple->kanban->menuOrder[15] = 'settings';
|
||||
$lang->project->noMultiple->kanban->menuOrder[10] = 'CFD';
|
||||
$lang->project->noMultiple->kanban->menuOrder[15] = 'build';
|
||||
$lang->project->noMultiple->kanban->menuOrder[20] = 'settings';
|
||||
|
||||
/* QA menu.*/
|
||||
$lang->qa->menu = new stdclass();
|
||||
|
||||
@@ -165,8 +165,8 @@ $lang->my->common = '地盘';
|
||||
$lang->todo->common = '待办';
|
||||
$lang->block->common = '区块';
|
||||
$lang->program->common = '项目集';
|
||||
$lang->product->common = '产品';
|
||||
$lang->project->common = '项目';
|
||||
$lang->product->common = $lang->productCommon;
|
||||
$lang->project->common = $lang->projectCommon;
|
||||
$lang->execution->common = '执行';
|
||||
$lang->kanban->common = '看板';
|
||||
$lang->qa->common = '测试';
|
||||
@@ -209,6 +209,7 @@ $lang->stage->type = '阶段类型';
|
||||
$lang->stage->list = '阶段列表';
|
||||
$lang->stage->percent = '工作量占比';
|
||||
$lang->execution->list = "{$lang->executionCommon}列表";
|
||||
$lang->execution->CFD = "累积流图";
|
||||
$lang->kanban->common = '看板';
|
||||
$lang->backup->common = '备份';
|
||||
$lang->action->trash = '回收站';
|
||||
@@ -338,8 +339,8 @@ $lang->searchObjects['doc'] = '文档';
|
||||
$lang->searchObjects['caselib'] = '用例库';
|
||||
$lang->searchObjects['testreport'] = '测试报告';
|
||||
$lang->searchObjects['program'] = '项目集';
|
||||
$lang->searchObjects['project'] = '项目';
|
||||
$lang->searchObjects['execution'] = $lang->executionCommon;
|
||||
$lang->searchObjects['project'] = $lang->projectCommon;
|
||||
$lang->searchObjects['execution'] = $lang->execution->common;
|
||||
$lang->searchObjects['user'] = '用户';
|
||||
$lang->searchTips = '编号(ctrl+g)';
|
||||
|
||||
@@ -363,12 +364,12 @@ $lang->visionList['lite'] = '运营管理界面';
|
||||
$lang->createObjects['todo'] = '待办';
|
||||
$lang->createObjects['effort'] = '日志';
|
||||
$lang->createObjects['bug'] = 'Bug';
|
||||
$lang->createObjects['story'] = '需求';
|
||||
$lang->createObjects['story'] = $lang->SRCommon;
|
||||
$lang->createObjects['task'] = '任务';
|
||||
$lang->createObjects['testcase'] = '用例';
|
||||
$lang->createObjects['execution'] = '执行';
|
||||
$lang->createObjects['project'] = '项目';
|
||||
$lang->createObjects['product'] = '产品';
|
||||
$lang->createObjects['execution'] = $lang->execution->common;
|
||||
$lang->createObjects['project'] = $lang->projectCommon;
|
||||
$lang->createObjects['product'] = $lang->productCommon;
|
||||
$lang->createObjects['program'] = '项目集';
|
||||
$lang->createObjects['doc'] = '文档';
|
||||
$lang->createObjects['kanbanspace'] = '空间';
|
||||
|
||||
+39
-24
@@ -912,7 +912,7 @@ class commonModel extends model
|
||||
|
||||
$btnTitle = isset($lang->db->custom['common']['mainNav'][$tab]) ? $lang->db->custom['common']['mainNav'][$tab] : $lang->$tab->common;
|
||||
$commonKey = $tab . 'Common';
|
||||
if(isset($lang->$commonKey)) $btnTitle = $lang->$commonKey;
|
||||
if(isset($lang->$commonKey) and $tab != 'execution') $btnTitle = $lang->$commonKey;
|
||||
|
||||
$link = helper::createLink($currentModule, $currentMethod);
|
||||
$className = $tab == 'devops' ? 'btn num' : 'btn';
|
||||
@@ -3047,6 +3047,14 @@ EOD;
|
||||
}
|
||||
if($productsStatus[$object->product] == 'closed') return false;
|
||||
}
|
||||
elseif(!empty($object->product) and is_string($object->product) and empty($config->CRProduct))
|
||||
{
|
||||
$products = array(0) + explode(',', $object->product);
|
||||
$products = $app->control->loadModel('product')->getByIdList($products);
|
||||
$productStatus = array();
|
||||
foreach($products as $product) $productStatus[$product->status] = 1;
|
||||
if(!empty($productStatus['closed']) and count($productStatus) == 1) return false;
|
||||
}
|
||||
|
||||
/* Check the execution is closed. */
|
||||
$productModuleList = array('story', 'bug', 'testtask');
|
||||
@@ -3173,18 +3181,21 @@ EOD;
|
||||
curl_close($curl);
|
||||
|
||||
|
||||
$logFile = $app->getLogRoot() . 'saas.'. date('Ymd') . '.log.php';
|
||||
if(!file_exists($logFile)) file_put_contents($logFile, '<?php die(); ?' . '>');
|
||||
|
||||
$fh = @fopen($logFile, 'a');
|
||||
if($fh)
|
||||
if($app->config->debug)
|
||||
{
|
||||
fwrite($fh, date('Ymd H:i:s') . ": " . $app->getURI() . "\n");
|
||||
fwrite($fh, "url: " . $url . "\n");
|
||||
if(!empty($data)) fwrite($fh, "data: " . print_r($data, true) . "\n");
|
||||
fwrite($fh, "results:" . print_r($response, true) . "\n");
|
||||
if(!empty($errors)) fwrite($fh, "errors: " . $errors . "\n");
|
||||
fclose($fh);
|
||||
$logFile = $app->getLogRoot() . 'saas.'. date('Ymd') . '.log.php';
|
||||
if(!file_exists($logFile)) file_put_contents($logFile, '<?php die(); ?' . '>');
|
||||
|
||||
$fh = @fopen($logFile, 'a');
|
||||
if($fh)
|
||||
{
|
||||
fwrite($fh, date('Ymd H:i:s') . ": " . $app->getURI() . "\n");
|
||||
fwrite($fh, "url: " . $url . "\n");
|
||||
if(!empty($data)) fwrite($fh, "data: " . print_r($data, true) . "\n");
|
||||
fwrite($fh, "results:" . print_r($response, true) . "\n");
|
||||
if(!empty($errors)) fwrite($fh, "errors: " . $errors . "\n");
|
||||
fclose($fh);
|
||||
}
|
||||
}
|
||||
|
||||
if($errors) commonModel::$requestErrors[] = $errors;
|
||||
@@ -3203,11 +3214,12 @@ EOD;
|
||||
* @param string $method POST|PATCH|PUT
|
||||
* @param int $timeout
|
||||
* @param bool $httpCode
|
||||
* @param bool $log
|
||||
* @static
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public static function http($url, $data = null, $options = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false)
|
||||
public static function http($url, $data = null, $options = array(), $headers = array(), $dataType = 'data', $method = 'POST', $timeout = 30, $httpCode = false, $log = true)
|
||||
{
|
||||
global $lang, $app;
|
||||
if(!extension_loaded('curl'))
|
||||
@@ -3257,18 +3269,21 @@ EOD;
|
||||
if($httpCode) $httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
|
||||
curl_close($curl);
|
||||
|
||||
$logFile = $app->getLogRoot() . 'saas.'. date('Ymd') . '.log.php';
|
||||
if(!file_exists($logFile)) file_put_contents($logFile, '<?php die(); ?' . '>');
|
||||
|
||||
$fh = @fopen($logFile, 'a');
|
||||
if($fh)
|
||||
if($log or $app->config->debug)
|
||||
{
|
||||
fwrite($fh, date('Ymd H:i:s') . ": " . $app->getURI() . "\n");
|
||||
fwrite($fh, "url: " . $url . "\n");
|
||||
if(!empty($data)) fwrite($fh, "data: " . print_r($data, true) . "\n");
|
||||
fwrite($fh, "results:" . print_r($response, true) . "\n");
|
||||
if(!empty($errors)) fwrite($fh, "errors: " . $errors . "\n");
|
||||
fclose($fh);
|
||||
$logFile = $app->getLogRoot() . 'saas.'. date('Ymd') . '.log.php';
|
||||
if(!file_exists($logFile)) file_put_contents($logFile, '<?php die(); ?' . '>');
|
||||
|
||||
$fh = @fopen($logFile, 'a');
|
||||
if($fh)
|
||||
{
|
||||
fwrite($fh, date('Ymd H:i:s') . ": " . $app->getURI() . "\n");
|
||||
fwrite($fh, "url: " . $url . "\n");
|
||||
if(!empty($data)) fwrite($fh, "data: " . print_r($data, true) . "\n");
|
||||
fwrite($fh, "results:" . print_r($response, true) . "\n");
|
||||
if(!empty($errors)) fwrite($fh, "errors: " . $errors . "\n");
|
||||
fclose($fh);
|
||||
}
|
||||
}
|
||||
|
||||
if($errors) commonModel::$requestErrors[] = $errors;
|
||||
|
||||
@@ -98,7 +98,7 @@ $(function()
|
||||
<h4 class="modal-title"><i class="icon-cog-outline"></i> <?php echo $lang->datatable->displaySetting;?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-condensed not-watch" method='post' target='hiddenwin' action='<?php echo $this->createLink('datatable', 'ajaxSave')?>'>
|
||||
<form class="form-condensed not-watch no-stash" method='post' target='hiddenwin' action='<?php echo $this->createLink('datatable', 'ajaxSave')?>'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td class='w-160px'><?php echo $lang->datatable->showModule;?></td>
|
||||
|
||||
@@ -11,7 +11,7 @@ $config->company->dynamic->search['module'] = 'action';
|
||||
|
||||
if($config->vision == 'rnd') $config->company->dynamic->search['fields']['product'] = $lang->action->product;
|
||||
|
||||
$config->company->dynamic->search['fields']['project'] = '项目';
|
||||
$config->company->dynamic->search['fields']['project'] = $lang->projectCommon;
|
||||
$config->company->dynamic->search['fields']['execution'] = $lang->action->execution;
|
||||
$config->company->dynamic->search['fields']['actor'] = $lang->action->actor;
|
||||
$config->company->dynamic->search['fields']['objectID'] = $lang->action->objectID;
|
||||
|
||||
@@ -31,7 +31,7 @@ $lang->company->admins = 'Administratoren';
|
||||
$lang->company->deleted = 'Deleted';
|
||||
|
||||
$lang->company->product = $lang->productCommon;
|
||||
$lang->company->project = 'Project';
|
||||
$lang->company->project = $lang->projectCommon;
|
||||
$lang->company->execution = 'Execution';
|
||||
$lang->company->user = 'Benutzer';
|
||||
$lang->company->empty = 'No Dynamic';
|
||||
|
||||
@@ -31,7 +31,7 @@ $lang->company->admins = 'Administrator';
|
||||
$lang->company->deleted = 'Deleted';
|
||||
|
||||
$lang->company->product = $lang->productCommon;
|
||||
$lang->company->project = 'Project';
|
||||
$lang->company->project = $lang->projectCommon;
|
||||
$lang->company->execution = $lang->executionCommon;
|
||||
$lang->company->user = 'User';
|
||||
$lang->company->empty = 'No Dynamic';
|
||||
|
||||
@@ -31,8 +31,8 @@ $lang->company->admins = 'Administrateur';
|
||||
$lang->company->deleted = 'Deleted';
|
||||
|
||||
$lang->company->product = $lang->productCommon;
|
||||
$lang->company->project = 'Project';
|
||||
$lang->company->execution = 'Execution';
|
||||
$lang->company->project = $lang->projectCommon;
|
||||
$lang->company->execution = $lang->executionCommon;
|
||||
$lang->company->user = 'Utilisateurs';
|
||||
$lang->company->empty = 'No Dynamic';
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ $lang->company->admins = '管理员';
|
||||
$lang->company->deleted = '已删除';
|
||||
|
||||
$lang->company->product = $lang->productCommon;
|
||||
$lang->company->project = '项目';
|
||||
$lang->company->project = $lang->projectCommon;
|
||||
$lang->company->execution = $lang->executionCommon;
|
||||
$lang->company->user = '用户';
|
||||
$lang->company->empty = '暂时没有动态';
|
||||
|
||||
@@ -129,7 +129,14 @@ class compileModel extends model
|
||||
|
||||
$url = new stdclass();
|
||||
$url->userPWD = "$jenkinsUser:$jenkinsPassword";
|
||||
$url->url = sprintf('%s/job/%s/buildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
if(strpos($jenkins->pipeline, '/job/') !== false)
|
||||
{
|
||||
$url->url = sprintf('%s%sbuildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$url->url = sprintf('%s/job/%s/buildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
@@ -261,7 +268,14 @@ class compileModel extends model
|
||||
$jenkinsPassword = $jenkins->token ? $jenkins->token : base64_decode($jenkins->password);
|
||||
|
||||
/* Get build list by API. */
|
||||
$url = sprintf('%s/job/%s/api/json?tree=builds[id,number,result,queueId,timestamp]', $jenkins->url, $job->pipeline);
|
||||
if(strpos($job->pipeline, '/job/') !== false)
|
||||
{
|
||||
$url = sprintf('%s%sapi/json?tree=builds[id,number,result,queueId,timestamp]', $jenkins->url, $job->pipeline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$url = sprintf('%s/job/%s/api/json?tree=builds[id,number,result,queueId,timestamp]', $jenkins->url, $job->pipeline);
|
||||
}
|
||||
$response = common::http($url, '', array(CURLOPT_USERPWD => "$jenkinsUser:$jenkinsPassword"));
|
||||
if(!$response) return false;
|
||||
|
||||
|
||||
@@ -200,11 +200,11 @@ $lang->custom->notice->confirmReviewCase = 'Set the case in Wait to Normal?';
|
||||
$lang->custom->notice->storyReviewTip = 'After selecting by individual, position, and department, take the union of these three filters. ';
|
||||
$lang->custom->notice->selectAllTip = 'After selecting all people, the reviewers will be emptied and grayed out while hiding their positions and departments.';
|
||||
$lang->custom->notice->repeatKey = 'Repeat Key %s';
|
||||
$lang->custom->notice->readOnlyOfCode = 'A code is a management term that exists for secrecy or as an antonym. When code management is enabled, the code information of product, project, and execution in the system will be displayed in the creation, editing, detail, and list pages.';
|
||||
$lang->custom->notice->readOnlyOfPercent = 'The "Workload Ratio" is used to divide the workload of a project into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the "Workload Ratio", users have to fill in the ratio fields when setting up the stages in the Waterfall project and Waterfall Plus project management models.';
|
||||
$lang->custom->notice->readOnlyOfCode = "A code is a management term that exists for secrecy or as an antonym. When code management is enabled, the code information of {$lang->productCommon}, {$lang->projectCommon}, and execution in the system will be displayed in the creation, editing, detail, and list pages.";
|
||||
$lang->custom->notice->readOnlyOfPercent = "The \"Workload Ratio\" is used to divide the workload of a {$lang->projectCommon} into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the \"Workload Ratio\", users have to fill in the ratio fields when setting up the stages in the Waterfall {$lang->projectCommon} and Waterfall Plus {$lang->projectCommon} management models.";
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Homepage. Do you want to go to Product Homepage?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Homepage. Do you want to go to Project Homepage?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has {$lang->projectCommon} Home. Do you want to go to {$lang->projectCommon} Home?";
|
||||
$lang->custom->notice->indexPage['qa'] = "ZenTao 8.2+ has QA Homepage. Do you want to go to QA Homepage?";
|
||||
|
||||
$lang->custom->notice->invalidStrlen['ten'] = 'The length of the key must be less than 10 characters.';
|
||||
@@ -247,12 +247,12 @@ $lang->custom->useLight = 'Use Light Mode';
|
||||
$lang->custom->useALM = 'Use ALM Mode';
|
||||
$lang->custom->currentModeTips = 'You are currently using %s, you can switch to the %s.';
|
||||
$lang->custom->changeModeTips = 'Please double confirm to switch to %s Mode.';
|
||||
$lang->custom->selectProgramTips = 'After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new product and project data are associated with this default program.';
|
||||
$lang->custom->selectProgramTips = "After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new {$lang->productCommon} and {$lang->projectCommon} data are associated with this default program.";
|
||||
|
||||
$lang->custom->modeList['light'] = 'Light Mode';
|
||||
$lang->custom->modeList['ALM'] = 'ALM Mode';
|
||||
|
||||
$lang->custom->modeIntroductionList['light'] = 'Provides the core function of project management, suitable for small R&D teams';
|
||||
$lang->custom->modeIntroductionList['light'] = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams";
|
||||
$lang->custom->modeIntroductionList['ALM'] = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams';
|
||||
|
||||
$lang->custom->features['program'] = 'Program';
|
||||
|
||||
@@ -200,11 +200,11 @@ $lang->custom->notice->confirmReviewCase = 'Set the case in Wait to Normal?';
|
||||
$lang->custom->notice->storyReviewTip = 'After selecting by individual, position, and department, take the union of these three filters. ';
|
||||
$lang->custom->notice->selectAllTip = 'After selecting all people, the reviewers will be emptied and grayed out while hiding their positions and departments.';
|
||||
$lang->custom->notice->repeatKey = 'Repeat Key %s';
|
||||
$lang->custom->notice->readOnlyOfCode = 'A code is a management term that exists for secrecy or as an antonym. When code management is enabled, the code information of product, project, and execution in the system will be displayed in the creation, editing, detail, and list pages.';
|
||||
$lang->custom->notice->readOnlyOfPercent = 'The "Workload Ratio" is used to divide the workload of a project into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the "Workload Ratio", users have to fill in the ratio fields when setting up the stages in the Waterfall project and Waterfall Plus project management models.';
|
||||
$lang->custom->notice->readOnlyOfCode = "A code is a management term that exists for secrecy or as an antonym. When code management is enabled, the code information of {$lang->productCommon}, {$lang->projectCommon}, and execution in the system will be displayed in the creation, editing, detail, and list pages.";
|
||||
$lang->custom->notice->readOnlyOfPercent = "The \"Workload Ratio\" is used to divide the workload of a {$lang->projectCommon} into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the \"Workload Ratio\", users have to fill in the ratio fields when setting up the stages in the Waterfall {$lang->projectCommon} and Waterfall Plus {$lang->projectCommon} management models.";
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Home. Do you want to go to Product Home?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Home. Do you want to go to Project Home?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has {$lang->projectCommon} Home. Do you want to go to {$lang->projectCommon} Home?";
|
||||
$lang->custom->notice->indexPage['qa'] = "ZenTao 8.2+ has Test Homepage. Do you want to go to Test Homepage?";
|
||||
|
||||
$lang->custom->notice->invalidStrlen['ten'] = 'The key should be <= 10 characters.';
|
||||
@@ -247,12 +247,12 @@ $lang->custom->useLight = 'Use Light Mode';
|
||||
$lang->custom->useALM = 'Use ALM Mode';
|
||||
$lang->custom->currentModeTips = 'You are currently using %s, you can switch to the %s.';
|
||||
$lang->custom->changeModeTips = 'Please double confirm to switch to %s Mode.';
|
||||
$lang->custom->selectProgramTips = 'After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new product and project data are associated with this default program.';
|
||||
$lang->custom->selectProgramTips = "After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new {$lang->productCommon} and {$lang->projectCommon} data are associated with this default program.";
|
||||
|
||||
$lang->custom->modeList['light'] = 'Light Mode';
|
||||
$lang->custom->modeList['ALM'] = 'ALM Mode';
|
||||
|
||||
$lang->custom->modeIntroductionList['light'] = 'Provides the core function of project management, suitable for small R&D teams';
|
||||
$lang->custom->modeIntroductionList['light'] = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams";
|
||||
$lang->custom->modeIntroductionList['ALM'] = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams';
|
||||
|
||||
$lang->custom->features['program'] = 'Program';
|
||||
|
||||
@@ -200,11 +200,11 @@ $lang->custom->notice->confirmReviewCase = 'Set the case in Wait to Normal?';
|
||||
$lang->custom->notice->storyReviewTip = 'After selecting by individual, position, and department, take the union of these three filters. ';
|
||||
$lang->custom->notice->selectAllTip = 'After selecting all people, the reviewers will be emptied and grayed out while hiding their positions and departments.';
|
||||
$lang->custom->notice->repeatKey = 'Repeat Key %s';
|
||||
$lang->custom->notice->readOnlyOfCode = "Le code est un terme de gestion utilisé pour la confidentialité ou comme alias. Lorsque la gestion du code est activée, le produit, le projet et l'exécution dans le système afficheront les informations de code sur les pages de création, de modification, de détails et de liste.";
|
||||
$lang->custom->notice->readOnlyOfPercent = 'The "Workload Ratio" is used to divide the workload of a project into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the "Workload Ratio", users have to fill in the ratio fields when setting up the stages in the Waterfall project and Waterfall Plus project management models.';
|
||||
$lang->custom->notice->readOnlyOfCode = "A code is a management term that exists for secrecy or as an antonym. When code management is enabled, the code information of {$lang->productCommon}, {$lang->projectCommon}, and execution in the system will be displayed in the creation, editing, detail, and list pages.";
|
||||
$lang->custom->notice->readOnlyOfPercent = "The \"Workload Ratio\" is used to divide the workload of a {$lang->projectCommon} into different stages. The sum of the percentages of the same level stages cannot exceed 100%. After enabling the \"Workload Ratio\", users have to fill in the ratio fields when setting up the stages in the Waterfall {$lang->projectCommon} and Waterfall Plus {$lang->projectCommon} management models.";
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ possède une page d'accueil. Voulez-vous consulter la page d'accueil du produit ?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ possède une page d'accueil. Voulez-vous consulter la page d'accueil du produit ?";
|
||||
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has {$lang->projectCommon} Home. Do you want to go to {$lang->projectCommon} Home?";
|
||||
$lang->custom->notice->indexPage['qa'] = "ZenTao 8.2+ possède une FAQ. Voulez-vous consulter la FAQ ?";
|
||||
|
||||
$lang->custom->notice->invalidStrlen['ten'] = 'La clé devrait être <= 10 caractères.';
|
||||
@@ -247,12 +247,12 @@ $lang->custom->useLight = 'Use Light Mode';
|
||||
$lang->custom->useALM = 'Use ALM Mode';
|
||||
$lang->custom->currentModeTips = 'You are currently using %s, you can switch to the %s.';
|
||||
$lang->custom->changeModeTips = 'Please double confirm to switch to %s Mode.';
|
||||
$lang->custom->selectProgramTips = 'After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new product and project data are associated with this default program.';
|
||||
$lang->custom->selectProgramTips = "After switching to the Light Mode, in order to ensure the consistency of the data structure, you need to select a program as the default program, and subsequent new {$lang->productCommon} and {$lang->projectCommon} data are associated with this default program.";
|
||||
|
||||
$lang->custom->modeList['light'] = 'Light Mode';
|
||||
$lang->custom->modeList['ALM'] = 'ALM Mode';
|
||||
|
||||
$lang->custom->modeIntroductionList['light'] = 'Provides the core function of project management, suitable for small R&D teams';
|
||||
$lang->custom->modeIntroductionList['light'] = "Provides the core function of {$lang->projectCommon} management, suitable for small R&D teams";
|
||||
$lang->custom->modeIntroductionList['ALM'] = 'The concept is more complete and rigorous, and the function is more abundant. It is suitable for medium and large R&D teams';
|
||||
|
||||
$lang->custom->features['program'] = 'Program';
|
||||
|
||||
@@ -28,7 +28,7 @@ $lang->custom->region = '区间';
|
||||
$lang->custom->tips = '提示语';
|
||||
$lang->custom->setTips = '设置提示语';
|
||||
$lang->custom->isRange = '是否目标控制范围';
|
||||
$lang->custom->concept = "项目概念";
|
||||
$lang->custom->concept = "{$lang->projectCommon}概念";
|
||||
$lang->custom->URStory = "用户需求";
|
||||
$lang->custom->SRStory = "软件需求";
|
||||
$lang->custom->epic = "史诗";
|
||||
@@ -69,10 +69,10 @@ $lang->custom->unitList['hours'] = '小时';
|
||||
$lang->custom->unitList['days'] = '天';
|
||||
$lang->custom->unitList['loc'] = 'KLOC';
|
||||
|
||||
$lang->custom->tipProgressList['SPI'] = '项目进度绩效(SPI)';
|
||||
$lang->custom->tipProgressList['SPI'] = "{$lang->projectCommon}进度绩效(SPI)";
|
||||
$lang->custom->tipProgressList['SV'] = '进度偏差率(SV%)';
|
||||
|
||||
$lang->custom->tipCostList['CPI'] = '项目成本绩效(CPI)';
|
||||
$lang->custom->tipCostList['CPI'] = "{$lang->projectCommon}成本绩效(CPI)";
|
||||
$lang->custom->tipCostList['CV'] = '成本偏差率(CV%)';
|
||||
|
||||
$lang->custom->tipRangeList[0] = '否';
|
||||
@@ -200,11 +200,11 @@ $lang->custom->notice->confirmReviewCase = '是否将待评审的用例修改
|
||||
$lang->custom->notice->storyReviewTip = '按人员、职位、部门勾选后,取所有人员的并集。';
|
||||
$lang->custom->notice->selectAllTip = '勾选所有人员后,会清空并置灰评审人员,同时隐藏职位、部门。';
|
||||
$lang->custom->notice->repeatKey = '%s键重复';
|
||||
$lang->custom->notice->readOnlyOfCode = '代号是一种管理话术,主要便于保密或作为别名存在。启用代号管理后,系统中的产品、项目、执行在创建、编辑、详情、列表等页面均会展示代号信息。';
|
||||
$lang->custom->notice->readOnlyOfPercent = '工作量占比用于划分项目中存在多个阶段时的工作量的占比,同一级阶段的百分比之和最高为100%。启用工作量占比后,系统中的瀑布项目和融合瀑布项目模型中设置阶段时需要维护阶段的工作量占比。';
|
||||
$lang->custom->notice->readOnlyOfCode = "代号是一种管理话术,主要便于保密或作为别名存在。启用代号管理后,系统中的{$lang->productCommon}、{$lang->projectCommon}、执行在创建、编辑、详情、列表等页面均会展示代号信息。";
|
||||
$lang->custom->notice->readOnlyOfPercent = "工作量占比用于划分{$lang->projectCommon}中存在多个阶段时的工作量的占比,同一级阶段的百分比之和最高为100%。启用工作量占比后,系统中的瀑布{$lang->projectCommon}和融合瀑布{$lang->projectCommon}模型中设置阶段时需要维护阶段的工作量占比。";
|
||||
|
||||
$lang->custom->notice->indexPage['product'] = "从8.2版本起增加了产品主页视图,是否默认进入产品主页?";
|
||||
$lang->custom->notice->indexPage['project'] = "从8.2版本起增加了项目主页视图,是否默认进入项目主页?";
|
||||
$lang->custom->notice->indexPage['project'] = "从8.2版本起增加了{$lang->projectCommon}主页视图,是否默认进入{$lang->projectCommon}主页?";
|
||||
$lang->custom->notice->indexPage['qa'] = "从8.2版本起增加了测试主页视图,是否默认进入测试主页?";
|
||||
|
||||
$lang->custom->notice->invalidStrlen['ten'] = '键的长度必须小于10个字符!';
|
||||
@@ -233,8 +233,8 @@ $lang->custom->restDayList[6] = '周六休息';
|
||||
$lang->custom->restDayList[0] = '周天休息';
|
||||
|
||||
global $config;
|
||||
$lang->custom->sprintConceptList[0] = '项目 产品 迭代';
|
||||
$lang->custom->sprintConceptList[1] = '项目 产品 冲刺';
|
||||
$lang->custom->sprintConceptList[0] = "{$lang->projectCommon} 产品 迭代";
|
||||
$lang->custom->sprintConceptList[1] = "{$lang->projectCommon} 产品 冲刺";
|
||||
|
||||
$lang->custom->workingList['full'] = '完整研发管理工具';
|
||||
|
||||
@@ -247,23 +247,23 @@ $lang->custom->useLight = '使用轻量管理模式';
|
||||
$lang->custom->useALM = '使用全生命周期管理模式';
|
||||
$lang->custom->currentModeTips = '您当前使用的是%s, 您可以切换到%s';
|
||||
$lang->custom->changeModeTips = '您确定要切换到%s吗?';
|
||||
$lang->custom->selectProgramTips = '切换到轻量管理模式后,为确保数据结构一致,需要选择一个项目集作为默认项目集,后续新增的产品和项目数据都关联在这个默认的项目集下。';
|
||||
$lang->custom->selectProgramTips = "切换到轻量管理模式后,为确保数据结构一致,需要选择一个项目集作为默认项目集,后续新增的{$lang->productCommon}和{$lang->projectCommon}数据都关联在这个默认的项目集下。";
|
||||
|
||||
$lang->custom->modeList['light'] = '轻量级管理模式';
|
||||
$lang->custom->modeList['ALM'] = '全生命周期管理模式';
|
||||
|
||||
$lang->custom->modeIntroductionList['light'] = '提供了项目管理的核心功能,适用于小型研发团队';
|
||||
$lang->custom->modeIntroductionList["light"] = "提供了{$lang->projectCommon}管理的核心功能,适用于小型研发团队";
|
||||
$lang->custom->modeIntroductionList['ALM'] = '概念更加完整、严谨,功能更加丰富,适用于中大型研发团队';
|
||||
|
||||
$lang->custom->features['program'] = '项目集';
|
||||
$lang->custom->features['productRR'] = '产品-研发需求';
|
||||
$lang->custom->features['productUR'] = '产品-用户需求';
|
||||
$lang->custom->features['productLine'] = '产品-产品线';
|
||||
$lang->custom->features['projectScrum'] = '项目-敏捷模型';
|
||||
$lang->custom->features['projectWaterfall'] = '项目-瀑布模型';
|
||||
$lang->custom->features['projectKanban'] = '项目-看板模型';
|
||||
$lang->custom->features['projectAgileplus'] = '项目-融合敏捷模型';
|
||||
$lang->custom->features['projectWaterfallplus'] = '项目-融合瀑布模型';
|
||||
$lang->custom->features["productRR"] = "{$lang->productCommon}-研发需求";
|
||||
$lang->custom->features["productUR"] = "{$lang->productCommon}-用户需求";
|
||||
$lang->custom->features["productLine"] = "{$lang->productCommon}-{$lang->productCommon}线";
|
||||
$lang->custom->features["projectScrum"] = "{$lang->projectCommon}-敏捷模型";
|
||||
$lang->custom->features["projectWaterfall"] = "{$lang->projectCommon}-瀑布模型";
|
||||
$lang->custom->features["projectKanban"] = "{$lang->projectCommon}-看板模型";
|
||||
$lang->custom->features["projectAgileplus"] = "{$lang->projectCommon}-融合敏捷模型";
|
||||
$lang->custom->features["projectWaterfallplus"] = "{$lang->projectCommon}-融合瀑布模型";
|
||||
$lang->custom->features['execution'] = '执行';
|
||||
$lang->custom->features['qa'] = '测试';
|
||||
$lang->custom->features['devops'] = 'DevOps';
|
||||
@@ -280,8 +280,8 @@ $lang->custom->features['workflow'] = '工作流';
|
||||
$lang->custom->features['admin'] = '后台';
|
||||
$lang->custom->features['vision'] = '研发综合界面、运营管理界面';
|
||||
|
||||
$lang->custom->needClosedFunctions['waterfall'] = '瀑布项目';
|
||||
$lang->custom->needClosedFunctions['waterfallplus'] = '融合瀑布项目';
|
||||
$lang->custom->needClosedFunctions["waterfall"] = "瀑布{$lang->projectCommon}";
|
||||
$lang->custom->needClosedFunctions["waterfallplus"] = "融合瀑布{$lang->projectCommon}";
|
||||
$lang->custom->needClosedFunctions['URStory'] = '用户需求';
|
||||
if($config->edition == 'max') $lang->custom->needClosedFunctions['assetLib'] = '资产库';
|
||||
|
||||
@@ -320,7 +320,7 @@ $lang->custom->conceptOptions->hourPoint['1'] = '故事点';
|
||||
$lang->custom->conceptOptions->hourPoint['2'] = '功能点';
|
||||
|
||||
$lang->custom->scrum = new stdclass();
|
||||
$lang->custom->scrum->setConcept = '设置项目概念';
|
||||
$lang->custom->scrum->setConcept = "设置{$lang->projectCommon}概念";
|
||||
|
||||
$lang->custom->reviewRules['allpass'] = '全部通过通过';
|
||||
$lang->custom->reviewRules['halfpass'] = '半数以上通过通过';
|
||||
|
||||
@@ -22,7 +22,7 @@ $lang->datatable->moduleSetting = 'Set Module';
|
||||
$lang->datatable->displaySetting = 'Set list';
|
||||
$lang->datatable->showModule = 'Anzeigen/Verstecken des Modul Names';
|
||||
$lang->datatable->showBranch = 'Show branches in the list';
|
||||
$lang->datatable->showAllModule = 'Show product modules';
|
||||
$lang->datatable->showAllModule = "Show {$lang->productCommon} modules";
|
||||
$lang->datatable->showModuleList['0'] = 'N/A';
|
||||
$lang->datatable->showModuleList['base'] = 'Basisknoten';
|
||||
$lang->datatable->showModuleList['end'] = 'Endknoten';
|
||||
|
||||
@@ -22,7 +22,7 @@ $lang->datatable->moduleSetting = 'Set Module';
|
||||
$lang->datatable->displaySetting = 'Set List';
|
||||
$lang->datatable->showModule = 'Show modules in the list';
|
||||
$lang->datatable->showBranch = 'Show branches in the list';
|
||||
$lang->datatable->showAllModule = 'Show product modules';
|
||||
$lang->datatable->showAllModule = "Show {$lang->productCommon} modules";
|
||||
$lang->datatable->showModuleList['0'] = 'N/A';
|
||||
$lang->datatable->showModuleList['base'] = 'Base Node';
|
||||
$lang->datatable->showModuleList['end'] = 'End Node';
|
||||
|
||||
@@ -22,7 +22,7 @@ $lang->datatable->moduleSetting = 'Set Module';
|
||||
$lang->datatable->displaySetting = 'Set list';
|
||||
$lang->datatable->showModule = 'Montrer les noms des modules dans la page de listes';
|
||||
$lang->datatable->showBranch = 'Show branches in the list';
|
||||
$lang->datatable->showAllModule = 'Afficher les modules de produits';
|
||||
$lang->datatable->showAllModule = "Show {$lang->productCommon} modules";
|
||||
$lang->datatable->showModuleList['0'] = 'N/A';
|
||||
$lang->datatable->showModuleList['base'] = 'Base Node';
|
||||
$lang->datatable->showModuleList['end'] = 'End Node';
|
||||
|
||||
@@ -22,7 +22,7 @@ $lang->datatable->moduleSetting = '模块设置';
|
||||
$lang->datatable->displaySetting = '显示设置';
|
||||
$lang->datatable->showModule = '列表页是否显示模块名';
|
||||
$lang->datatable->showBranch = '列表页是否显示%s名';
|
||||
$lang->datatable->showAllModule = '是否显示完整产品模块';
|
||||
$lang->datatable->showAllModule = "是否显示完整{$lang->productCommon}模块";
|
||||
$lang->datatable->showModuleList['0'] = '不显示';
|
||||
$lang->datatable->showModuleList['base'] = '只显示一级模块';
|
||||
$lang->datatable->showModuleList['end'] = '只显示最后一级模块';
|
||||
|
||||
@@ -20,12 +20,12 @@ $lang->design->version = 'Revision';
|
||||
$lang->design->assignedTo = 'AssignedTo';
|
||||
$lang->design->actions = 'Actions';
|
||||
$lang->design->byQuery = 'Search';
|
||||
$lang->design->products = 'Linked Product';
|
||||
$lang->design->products = "Linked {$lang->productCommon}";
|
||||
$lang->design->story = 'Story';
|
||||
$lang->design->file = 'File';
|
||||
$lang->design->desc = 'Description';
|
||||
$lang->design->range = 'Impact';
|
||||
$lang->design->product = 'Linked Product';
|
||||
$lang->design->product = "Linked {$lang->productCommon}";
|
||||
$lang->design->basicInfo = 'Basic Information';
|
||||
$lang->design->commitBy = 'Commit By';
|
||||
$lang->design->commitDate = 'Committed Date';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user