Merge branch 'master' into feature/42422
This commit is contained in:
@@ -424,6 +424,7 @@ $config->programPriv->waterfall = array_merge($config->programPriv->scrum, a
|
||||
$config->programPriv->agileplus = $config->programPriv->scrum;
|
||||
$config->programPriv->waterfallplus = $config->programPriv->waterfall;
|
||||
|
||||
$config->safeFileTimeout = 3600;
|
||||
$config->waterfallModules = array('workestimation', 'durationestimation', 'budget', 'programplan', 'review', 'reviewissue', 'weekly', 'cm', 'milestone', 'design', 'opportunity', 'auditplan', 'trainplan', 'gapanalysis', 'pssp', 'researchplan', 'researchreport');
|
||||
|
||||
$config->showMainMenu = true;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `zt_lang` MODIFY COLUMN `section` varchar(50) NOT NULL;
|
||||
DELETE FROM `zt_grouppriv` WHERE `module` = 'dev' AND `method` = 'editor';
|
||||
REPLACE INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system','common','','setPercent','1');
|
||||
+1
-1
@@ -1024,7 +1024,7 @@ CREATE TABLE IF NOT EXISTS `zt_lang` (
|
||||
`id` mediumint(8) unsigned NOT NULL auto_increment,
|
||||
`lang` varchar(30) NOT NULL,
|
||||
`module` varchar(30) NOT NULL,
|
||||
`section` varchar(30) NOT NULL,
|
||||
`section` varchar(50) NOT NULL,
|
||||
`key` varchar(60) NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`system` enum('0','1') NOT NULL default '1',
|
||||
|
||||
@@ -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}看板";
|
||||
|
||||
@@ -20,15 +20,10 @@
|
||||
<ul class='nav'>
|
||||
<?php
|
||||
$methodName = strtolower($this->app->getMethodName());
|
||||
foreach($lang->attend->featurebar as $key => $menu)
|
||||
foreach($lang->attend->featureBar['personal'] as $type => $name)
|
||||
{
|
||||
if(is_string($menu)) $link = $menu;
|
||||
if(is_array($menu)) $link = $menu['link'];
|
||||
|
||||
list($name, $currentModule, $currentMethod, $params) = explode('|', $link);
|
||||
$class = strtolower($key) == $methodName ? "class='active'" : '';
|
||||
if(isset($menu['alias'])) $class = strpos(strtolower($menu['alias']), strtolower($key)) !== false ? "class='active'" : $class;
|
||||
if(common::hasPriv($currentModule, $currentMethod)) echo "<li id='$key' $class>" . html::a($this->createLink($currentModule, $currentMethod, $params), $name) . '</li>';
|
||||
$class = strtolower($type) == $methodName ? "class='active'" : '';
|
||||
if(common::hasPriv('attend', $type)) echo "<li id='$type' $class>" . html::a($this->createLink('attend', $type), $name) . '</li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -7,7 +7,7 @@ $lang->story->common = 'Story';
|
||||
/* Main Navigation. */
|
||||
$lang->mainNav = new stdclass();
|
||||
$lang->mainNav->my = "{$lang->navIcons['my']} {$lang->my->shortCommon}|my|index|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->project->common}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->projectCommon}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "{$lang->navIcons['execution']} Task|$executionModule|$executionMethod|";
|
||||
$lang->mainNav->kanban = "{$lang->navIcons['kanban']} {$lang->kanban->common}|kanban|space|";
|
||||
$lang->mainNav->doc = "{$lang->navIcons['doc']} {$lang->doc->common}|doc|index|";
|
||||
@@ -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,27 +137,30 @@ $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();
|
||||
$lang->doc->menu->custom['subMenu'] = new stdclass();
|
||||
|
||||
/* Admin menu. */
|
||||
$lang->admin->menu = new stdclass();
|
||||
|
||||
/* adjust items of search. */
|
||||
$lang->searchObjects['all'] = 'All';
|
||||
$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']);
|
||||
|
||||
@@ -7,7 +7,7 @@ $lang->story->common = 'Story';
|
||||
/* Main Navigation. */
|
||||
$lang->mainNav = new stdclass();
|
||||
$lang->mainNav->my = "{$lang->navIcons['my']} {$lang->my->shortCommon}|my|index|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->project->common}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->projectCommon}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "{$lang->navIcons['execution']} Task|$executionModule|$executionMethod|";
|
||||
$lang->mainNav->kanban = "{$lang->navIcons['kanban']} {$lang->kanban->common}|kanban|space|";
|
||||
$lang->mainNav->doc = "{$lang->navIcons['doc']} {$lang->doc->common}|doc|index|";
|
||||
@@ -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,27 +137,30 @@ $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();
|
||||
$lang->doc->menu->custom['subMenu'] = new stdclass();
|
||||
|
||||
/* Admin menu. */
|
||||
$lang->admin->menu = new stdclass();
|
||||
|
||||
/* adjust items of search. */
|
||||
$lang->searchObjects['all'] = 'All';
|
||||
$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']);
|
||||
|
||||
@@ -7,7 +7,7 @@ $lang->story->common = 'Story';
|
||||
/* Main Navigation. */
|
||||
$lang->mainNav = new stdclass();
|
||||
$lang->mainNav->my = "{$lang->navIcons['my']} {$lang->my->shortCommon}|my|index|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->project->common}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->projectCommon}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "{$lang->navIcons['execution']} Task|$executionModule|$executionMethod|";
|
||||
$lang->mainNav->kanban = "{$lang->navIcons['kanban']} {$lang->kanban->common}|kanban|space|";
|
||||
$lang->mainNav->doc = "{$lang->navIcons['doc']} {$lang->doc->common}|doc|index|";
|
||||
@@ -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,27 +137,30 @@ $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();
|
||||
$lang->doc->menu->custom['subMenu'] = new stdclass();
|
||||
|
||||
/* Admin menu. */
|
||||
$lang->admin->menu = new stdclass();
|
||||
|
||||
/* adjust items of search. */
|
||||
$lang->searchObjects['all'] = 'All';
|
||||
$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']);
|
||||
|
||||
@@ -7,7 +7,7 @@ $lang->story->common = '目标';
|
||||
/* Main Navigation. */
|
||||
$lang->mainNav = new stdclass();
|
||||
$lang->mainNav->my = "{$lang->navIcons['my']} {$lang->my->shortCommon}|my|index|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->project->common}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->project = "{$lang->navIcons['project']} {$lang->projectCommon}|$projectModule|$projectMethod|";
|
||||
$lang->mainNav->execution = "{$lang->navIcons['execution']} 任务|$executionModule|$executionMethod|";
|
||||
$lang->mainNav->kanban = "{$lang->navIcons['kanban']} {$lang->kanban->common}|kanban|space|";
|
||||
$lang->mainNav->doc = "{$lang->navIcons['doc']} {$lang->doc->common}|doc|index|";
|
||||
@@ -143,13 +143,16 @@ $lang->doc->menuOrder[30] = 'custom';
|
||||
$lang->doc->menu->project['subMenu'] = new stdclass();
|
||||
$lang->doc->menu->custom['subMenu'] = new stdclass();
|
||||
|
||||
/* Admin menu. */
|
||||
$lang->admin->menu = new stdclass();
|
||||
|
||||
/* adjust items of search. */
|
||||
$lang->searchObjects['all'] = '全部';
|
||||
$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}看板";
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
$lang->my->featureBar['contribute']['task'] = array();
|
||||
$lang->my->featureBar['contribute']['task']['assignedTo'] = 'AssignedToMe';
|
||||
$lang->my->featureBar['contribute']['task']['openedBy'] = 'CreatedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['finishedBy'] = 'FinishedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['closedBy'] = 'ClosedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['canceledBy'] = 'CancelledByMe';
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
$lang->my->featureBar['contribute']['task'] = array();
|
||||
$lang->my->featureBar['contribute']['task']['assignedTo'] = 'AssignedToMe';
|
||||
$lang->my->featureBar['contribute']['task']['openedBy'] = 'CreatedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['finishedBy'] = 'FinishedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['closedBy'] = 'ClosedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['canceledBy'] = 'CancelledByMe';
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
$lang->my->featureBar['contribute']['task'] = array();
|
||||
$lang->my->featureBar['contribute']['task']['assignedTo'] = 'AssignedToMe';
|
||||
$lang->my->featureBar['contribute']['task']['openedBy'] = 'CreatedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['finishedBy'] = 'FinishedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['closedBy'] = 'ClosedByMe';
|
||||
$lang->my->featureBar['contribute']['task']['canceledBy'] = 'CancelledByMe';
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
$lang->my->featureBar['contribute']['task'] = array();
|
||||
$lang->my->featureBar['contribute']['task']['assignedTo'] = '指派给我';
|
||||
$lang->my->featureBar['contribute']['task']['openedBy'] = '由我创建';
|
||||
$lang->my->featureBar['contribute']['task']['finishedBy'] = '由我完成';
|
||||
$lang->my->featureBar['contribute']['task']['closedBy'] = '由我关闭';
|
||||
$lang->my->featureBar['contribute']['task']['canceledBy'] = '由我取消';
|
||||
@@ -19,11 +19,10 @@
|
||||
<?php $recTotalLabel = " <span class='label label-light label-badge'>{$pager->recTotal}</span>"; ?>
|
||||
<?php if($app->rawMethod == 'contribute'):?>
|
||||
<?php
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=assignedTo"), "<span class='text'>{$lang->my->taskMenu->assignedToMe}</span>" . ($type == 'assignedTo' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' ? ' btn-active-text' : '') . "'");
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=openedBy"), "<span class='text'>{$lang->my->taskMenu->openedByMe}</span>" . ($type == 'openedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedBy' ? ' btn-active-text' : '') . "'");
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=finishedBy"), "<span class='text'>{$lang->my->taskMenu->finishedByMe}</span>" . ($type == 'finishedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'finishedBy' ? ' btn-active-text' : '') . "'");
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "<span class='text'>{$lang->my->taskMenu->closedByMe}</span>" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=canceledBy"), "<span class='text'>{$lang->my->taskMenu->canceledByMe}</span>" . ($type == 'canceledBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'canceledBy' ? ' btn-active-text' : '') . "'");
|
||||
foreach($lang->my->featureBar[$app->rawMethod]['task'] as $key => $name)
|
||||
{
|
||||
echo html::a(inlink($app->rawMethod, "mode=$mode&type=$key"), "<span class='text'>{$name}</span>" . ($type == $key ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == $key ? ' btn-active-text' : '') . "'");
|
||||
}
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
@@ -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}负责人、团队成员可访问)";
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class='clearfix' id='mainMenu'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php
|
||||
foreach($lang->project->featureBar['browse'] as $label => $labelName)
|
||||
foreach($lang->project->featureBar['execution'] as $label => $labelName)
|
||||
{
|
||||
$active = $status == $label ? 'btn-active-text' : '';
|
||||
echo html::a($this->createLink('project', 'execution', "status=$label&projectID=$projectID"), '<span class="text">' . $labelName . '</span> ' . ($status == $label ? "<span class='label label-light label-badge'>" . (int)count($kanbanList) . '</span>' : ''), '', "class='btn btn-link $active'");
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
}
|
||||
unset($visibleFields['module']);
|
||||
?>
|
||||
<form method='post' class='load-indicator main-form' enctype='multipart/form-data' target='hiddenwin' id="batchCreateForm">
|
||||
<form method='post' class='load-indicator main-form form-ajax' enctype='multipart/form-data' id="batchCreateForm">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-form">
|
||||
<thead>
|
||||
|
||||
@@ -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 = '因该任务已经产生消耗,为保证数据一致性,我们会帮您创建一条同名子任务记录该消耗。';
|
||||
|
||||
|
||||
@@ -2506,29 +2506,9 @@ class baseRouter
|
||||
|
||||
if($config and (!isset($config->$moduleName) or !is_object($config->$moduleName))) $config->$moduleName = new stdclass();
|
||||
|
||||
/* 初始化数组。Init the variables. */
|
||||
$extConfigFiles = array();
|
||||
$commonExtConfigFiles = array();
|
||||
$siteExtConfigFiles = array();
|
||||
|
||||
/* 先获得模块的主配置文件。Get the main config file for current module first. */
|
||||
$mainConfigFile = $this->getModulePath($appName, $moduleName) . 'config.php';
|
||||
|
||||
/* 查找扩展配置文件。Get extension config files. */
|
||||
if($config->framework->extensionLevel > 0) $extConfigPath = $this->getModuleExtPath($appName, $moduleName, 'config');
|
||||
if($config->framework->extensionLevel >= 1)
|
||||
{
|
||||
if(!empty($extConfigPath['common'])) $commonExtConfigFiles = helper::ls($extConfigPath['common'], '.php');
|
||||
if(!empty($extConfigPath['xuan'])) $commonExtConfigFiles = array_merge($commonExtConfigFiles, helper::ls($extConfigPath['xuan'], '.php'));
|
||||
if(!empty($extConfigPath['vision'])) $commonExtConfigFiles = array_merge($commonExtConfigFiles, helper::ls($extConfigPath['vision'], '.php'));
|
||||
if(!empty($extConfigPath['saas'])) $commonExtConfigFiles = array_merge($commonExtConfigFiles, helper::ls($extConfigPath['saas'], '.php'));
|
||||
if(!empty($extConfigPath['custom'])) $commonExtConfigFiles = array_merge($commonExtConfigFiles, helper::ls($extConfigPath['custom'], '.php'));
|
||||
}
|
||||
if($config->framework->extensionLevel == 2 and !empty($extConfigPath['site'])) $siteExtConfigFiles = helper::ls($extConfigPath['site'], '.php');
|
||||
$extConfigFiles = array_merge($commonExtConfigFiles, $siteExtConfigFiles);
|
||||
|
||||
/* 将主配置文件和扩展配置文件合并在一起。Put the main config file and extension config files together. */
|
||||
$configFiles = array_merge(array($mainConfigFile), $extConfigFiles);
|
||||
$configFiles = $this->getMainAndExtFiles($moduleName, $appName, 'config');
|
||||
if(empty($configFiles)) return false;
|
||||
|
||||
/* 加载每一个配置文件。Load every config file. */
|
||||
static $loadedConfigs = array();
|
||||
@@ -2670,36 +2650,8 @@ class baseRouter
|
||||
*/
|
||||
public function loadLang($moduleName, $appName = '')
|
||||
{
|
||||
/* 初始化变量。Init vars. */
|
||||
$modulePath = $this->getModulePath($appName, $moduleName);
|
||||
$extLangFiles = array();
|
||||
$langFilesToLoad = array();
|
||||
|
||||
/* 判断主语言文件是否存在。Whether the main lang file exists or not. */
|
||||
$mainLangFile = $this->getMainLangFile($moduleName, $appName);
|
||||
if($mainLangFile) $langFilesToLoad[] = $mainLangFile;
|
||||
|
||||
/* 获取扩展语言文件。If extensionLevel > 0, get extension lang files. */
|
||||
if($this->config->framework->extensionLevel > 0)
|
||||
{
|
||||
$commonExtLangFiles = array();
|
||||
$siteExtLangFiles = array();
|
||||
|
||||
$extLangPath = $this->getModuleExtPath($appName, $moduleName, 'lang');
|
||||
if($this->config->framework->extensionLevel >= 1)
|
||||
{
|
||||
if(!empty($extLangPath['common'])) $commonExtLangFiles = helper::ls($extLangPath['common'] . $this->clientLang, '.php');
|
||||
if(!empty($extLangPath['xuan'])) $commonExtLangFiles = array_merge($commonExtLangFiles, helper::ls($extLangPath['xuan'] . $this->clientLang, '.php'));
|
||||
if(!empty($extLangPath['vision'])) $commonExtLangFiles = array_merge($commonExtLangFiles, helper::ls($extLangPath['vision'] . $this->clientLang, '.php'));
|
||||
if(!empty($extLangPath['custom'])) $commonExtLangFiles = array_merge($commonExtLangFiles, helper::ls($extLangPath['custom'] . $this->clientLang, '.php'));
|
||||
if(!empty($extLangPath['saas'])) $commonExtLangFiles = array_merge($commonExtLangFiles, helper::ls($extLangPath['saas'] . $this->clientLang, '.php'));
|
||||
}
|
||||
if($this->config->framework->extensionLevel == 2 and !empty($extLangPath['site'])) $siteExtLangFiles = helper::ls($extLangPath['site'] . $this->clientLang, '.php');
|
||||
$extLangFiles = array_merge($commonExtLangFiles, $siteExtLangFiles);
|
||||
}
|
||||
|
||||
/* 计算最终要加载的语言文件。 Get the lang files to be loaded. */
|
||||
$langFilesToLoad = array_merge($langFilesToLoad, $extLangFiles);
|
||||
$langFilesToLoad = $this->getMainAndExtFiles($moduleName, $appName, 'lang');
|
||||
if(empty($langFilesToLoad)) return false;
|
||||
|
||||
/* 加载语言文件。Load lang files. */
|
||||
@@ -2972,6 +2924,59 @@ class baseRouter
|
||||
{
|
||||
return strtolower(getenv('IS_CONTAINER')) == 'true';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get main file and ext files.
|
||||
*
|
||||
* @param string $moduleName
|
||||
* @param string $appName
|
||||
* @param string $type lang|config|control|model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getMainAndExtFiles($moduleName, $appName = '', $type = 'lang')
|
||||
{
|
||||
/* 初始化变量。Init vars. */
|
||||
$modulePath = $this->getModulePath($appName, $moduleName);
|
||||
$extFiles = array();
|
||||
$filesToLoad = array();
|
||||
|
||||
/* 判断主文件是否存在。Whether the main file exists or not. */
|
||||
if($type == 'lang')
|
||||
{
|
||||
$mainFile = $this->getMainLangFile($moduleName, $appName);
|
||||
}
|
||||
else
|
||||
{
|
||||
$mainFile = $modulePath . $type . '.php';
|
||||
}
|
||||
if($mainFile) $filesToLoad[] = $mainFile;
|
||||
|
||||
/* 获取扩展文件。If extensionLevel > 0, get extension files. */
|
||||
if($this->config->framework->extensionLevel > 0)
|
||||
{
|
||||
$commonExtFiles = array();
|
||||
$siteExtFiles = array();
|
||||
|
||||
$extPath = $this->getModuleExtPath($appName, $moduleName, $type);
|
||||
if($this->config->framework->extensionLevel >= 1)
|
||||
{
|
||||
$clientLang = $type == 'lang' ? $this->clientLang : '';
|
||||
if(!empty($extPath['common'])) $commonExtFiles = helper::ls($extPath['common'] . $clientLang, '.php');
|
||||
if(!empty($extPath['xuan'])) $commonExtFiles = array_merge($commonExtFiles, helper::ls($extPath['xuan'] . $clientLang, '.php'));
|
||||
if(!empty($extPath['vision'])) $commonExtFiles = array_merge($commonExtFiles, helper::ls($extPath['vision'] . $clientLang, '.php'));
|
||||
if(!empty($extPath['custom'])) $commonExtFiles = array_merge($commonExtFiles, helper::ls($extPath['custom'] . $clientLang, '.php'));
|
||||
if(!empty($extPath['saas'])) $commonExtFiles = array_merge($commonExtFiles, helper::ls($extPath['saas'] . $clientLang, '.php'));
|
||||
}
|
||||
if($this->config->framework->extensionLevel == 2 and !empty($extPath['site'])) $siteExtFiles = helper::ls($extPath['site'] . $clientLang, '.php');
|
||||
$extFiles = array_merge($commonExtFiles, $siteExtFiles);
|
||||
}
|
||||
|
||||
/* 计算最终要加载的文件。 Get the files to be loaded. */
|
||||
$filesToLoad = array_merge($filesToLoad, $extFiles);
|
||||
if(empty($filesToLoad)) return false;
|
||||
return $filesToLoad;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+52
-17
@@ -108,34 +108,65 @@ class router extends baseRouter
|
||||
|
||||
parent::loadLang($moduleName, $appName);
|
||||
|
||||
/* Replace main nav lang. */
|
||||
if($moduleName == 'common' and $this->dbh and !empty($this->config->db->name))
|
||||
{
|
||||
$customMenus = $this->dbh->query('SELECT * FROM' . TABLE_LANG . "WHERE `module`='common' AND `section`='mainNav' AND `lang`='{$this->clientLang}' AND `vision`='{$this->config->vision}'")->fetchAll();
|
||||
foreach($customMenus as $menu)
|
||||
{
|
||||
$menuKey = $menu->key;
|
||||
if(isset($lang->mainNav->$menuKey)) $lang->mainNav->$menuKey = zget($lang->navIcons, $menuKey, '') . " {$menu->value}" . substr($lang->mainNav->$menuKey, strpos($lang->mainNav->$menuKey, '|'));
|
||||
}
|
||||
}
|
||||
|
||||
/* Merge from the db lang. */
|
||||
if($moduleName != 'common' and isset($lang->db->custom[$moduleName]))
|
||||
{
|
||||
foreach($lang->db->custom[$moduleName] as $section => $fields)
|
||||
{
|
||||
if(isset($lang->{$moduleName}->{$section}['']))
|
||||
if(in_array($section, array('featureBar', 'moreSelects')))
|
||||
{
|
||||
$nullKey = '';
|
||||
$nullValue = $lang->{$moduleName}->{$section}[$nullKey];
|
||||
foreach($fields as $featureBarMethod => $featureBarValues)
|
||||
{
|
||||
foreach($featureBarValues as $featureBarKey => $featureBarValue)
|
||||
{
|
||||
if(is_array($featureBarValue))
|
||||
{
|
||||
foreach($featureBarValue as $key => $value) $lang->{$moduleName}->{$section}[$featureBarMethod][$featureBarKey][$key] = $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->{$moduleName}->{$section}[$featureBarMethod][$featureBarKey] = $featureBarValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($lang->{$moduleName}->{$section}[0]))
|
||||
else
|
||||
{
|
||||
$nullKey = 0;
|
||||
$nullValue = $lang->{$moduleName}->{$section}[0];
|
||||
}
|
||||
unset($lang->{$moduleName}->{$section});
|
||||
if(isset($lang->{$moduleName}->{$section}['']))
|
||||
{
|
||||
$nullKey = '';
|
||||
$nullValue = $lang->{$moduleName}->{$section}[$nullKey];
|
||||
}
|
||||
elseif(isset($lang->{$moduleName}->{$section}[0]))
|
||||
{
|
||||
$nullKey = 0;
|
||||
$nullValue = $lang->{$moduleName}->{$section}[0];
|
||||
}
|
||||
unset($lang->{$moduleName}->{$section});
|
||||
|
||||
if(isset($nullKey))$lang->{$moduleName}->{$section}[$nullKey] = $nullValue;
|
||||
foreach($fields as $key => $value)
|
||||
{
|
||||
if($section == 'priList' and $key > 0 and trim($value) === '') continue; // Fix bug #23538.
|
||||
if(isset($nullKey))$lang->{$moduleName}->{$section}[$nullKey] = $nullValue;
|
||||
foreach($fields as $key => $value)
|
||||
{
|
||||
if($section == 'priList' and $key > 0 and trim($value) === '') continue; // Fix bug #23538.
|
||||
|
||||
if(!isset($lang->{$moduleName})) $lang->{$moduleName} = new stdclass();
|
||||
if(!isset($lang->{$moduleName}->{$section})) $lang->{$moduleName}->{$section} = array();
|
||||
$lang->{$moduleName}->{$section}[$key] = $value;
|
||||
if(!isset($lang->{$moduleName})) $lang->{$moduleName} = new stdclass();
|
||||
if(!isset($lang->{$moduleName}->{$section})) $lang->{$moduleName}->{$section} = array();
|
||||
$lang->{$moduleName}->{$section}[$key] = $value;
|
||||
}
|
||||
unset($nullKey);
|
||||
unset($nullValue);
|
||||
}
|
||||
unset($nullKey);
|
||||
unset($nullValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,6 +315,10 @@ class router extends baseRouter
|
||||
$lang->URCommon = isset($URPairs[$config->URSR]) ? $URPairs[$config->URSR] : reset($URPairs);
|
||||
$lang->SRCommon = isset($SRPairs[$config->URSR]) ? $SRPairs[$config->URSR] : reset($SRPairs);
|
||||
}
|
||||
|
||||
/* Replace common lang. */
|
||||
$customMenus = $this->dbh->query('SELECT * FROM' . TABLE_LANG . "WHERE `module`='common' AND `lang`='{$this->clientLang}' AND `section`='' AND `vision`='{$config->vision}'")->fetchAll();
|
||||
foreach($customMenus as $menu) if(isset($lang->{$menu->key})) $lang->{$menu->key} = $menu->value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1196,10 +1196,27 @@ EOT;
|
||||
if($config->tabSession and helper::isWithTID()) $jsConfig->tid = zget($_GET, 'tid', '');
|
||||
|
||||
$jsLang = new stdclass();
|
||||
$jsLang->submitting = isset($lang->loading) ? $lang->loading : '';
|
||||
$jsLang->save = $jsConfig->save;
|
||||
$jsLang->expand = isset($lang->expand) ? $lang->expand : '';
|
||||
$jsLang->timeout = isset($lang->timeout) ? $lang->timeout : '';
|
||||
$jsLang->submitting = isset($lang->loading) ? $lang->loading : '';
|
||||
$jsLang->save = $jsConfig->save;
|
||||
$jsLang->expand = isset($lang->expand) ? $lang->expand : '';
|
||||
$jsLang->timeout = isset($lang->timeout) ? $lang->timeout : '';
|
||||
$jsLang->confirmDraft = isset($lang->confirmDraft) ? $lang->confirmDraft : '';
|
||||
$jsLang->resume = isset($lang->resume) ? $lang->resume : '';
|
||||
$jsLang->program = zget($lang->program, 'common', '');
|
||||
$jsLang->project = zget($lang->project, 'common', '');
|
||||
$jsLang->product = zget($lang->product, 'common', '');
|
||||
$jsLang->task = zget($lang->task, 'common', '');
|
||||
$jsLang->story = zget($lang->story, 'common', '');
|
||||
$jsLang->bug = zget($lang->bug, 'common', '');
|
||||
$jsLang->testcase = zget($lang->testcase, 'common', '');
|
||||
$jsLang->zahost = zget($lang->zahost, 'common', '');
|
||||
$jsLang->zanode = zget($lang->zanode, 'common', '');
|
||||
$jsLang->gitlab = zget($lang->gitlab, 'common', '');
|
||||
$jsLang->gogs = zget($lang->gogs, 'common', '');
|
||||
$jsLang->gitea = zget($lang->gitea, 'common', '');
|
||||
$jsLang->jenkins = zget($lang->jenkins, 'common', '');
|
||||
$jsLang->sonarqube = zget($lang->sonarqube, 'common', '');
|
||||
$jsLang->repo = zget($lang->repo, 'common', '');
|
||||
|
||||
$js = static::start(false);
|
||||
$js .= 'window.config=' . json_encode($jsConfig) . ";\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;
|
||||
}
|
||||
|
||||
+23
-23
@@ -13,11 +13,11 @@ class zfile
|
||||
{
|
||||
/**
|
||||
* Copy a directory from an directory to another directory.
|
||||
*
|
||||
* @param string $from
|
||||
* @param string $to
|
||||
*
|
||||
* @param string $from
|
||||
* @param string $to
|
||||
* @param bool $logLevel
|
||||
* @param string $logFile
|
||||
* @param string $logFile
|
||||
* @param array $excludeFiles
|
||||
* @param bool $toIsLink
|
||||
* @access public
|
||||
@@ -110,9 +110,9 @@ class zfile
|
||||
|
||||
/**
|
||||
* Get count.
|
||||
*
|
||||
* @param string $dir
|
||||
* @param array $excludeFiles
|
||||
*
|
||||
* @param string $dir
|
||||
* @param array $excludeFiles
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
@@ -136,8 +136,8 @@ class zfile
|
||||
|
||||
/**
|
||||
* Remove a dir.
|
||||
*
|
||||
* @param string $dir
|
||||
*
|
||||
* @param string $dir
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
@@ -171,9 +171,9 @@ class zfile
|
||||
|
||||
/**
|
||||
* Get files under a directory recursive.
|
||||
*
|
||||
* @param string $dir
|
||||
* @param array $exceptions
|
||||
*
|
||||
* @param string $dir
|
||||
* @param array $exceptions
|
||||
* @access private
|
||||
* @return array
|
||||
*/
|
||||
@@ -207,8 +207,8 @@ class zfile
|
||||
|
||||
/**
|
||||
* Make a dir.
|
||||
*
|
||||
* @param string $dir
|
||||
*
|
||||
* @param string $dir
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
@@ -219,8 +219,8 @@ class zfile
|
||||
|
||||
/**
|
||||
* Remove a file
|
||||
*
|
||||
* @param string $file
|
||||
*
|
||||
* @param string $file
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
@@ -232,7 +232,7 @@ class zfile
|
||||
|
||||
/**
|
||||
* Batch remove files. use glob function.
|
||||
*
|
||||
*
|
||||
* @param string $patern
|
||||
* @access public
|
||||
* @return void
|
||||
@@ -245,7 +245,7 @@ class zfile
|
||||
|
||||
/**
|
||||
* Remove a file
|
||||
*
|
||||
*
|
||||
* @param string from
|
||||
* @param string to
|
||||
* @access public
|
||||
@@ -258,7 +258,7 @@ class zfile
|
||||
|
||||
/**
|
||||
* Rename a file or directory.
|
||||
*
|
||||
*
|
||||
* @param string from
|
||||
* @param string to
|
||||
* @access public
|
||||
@@ -271,8 +271,8 @@ class zfile
|
||||
|
||||
/**
|
||||
* Get file size.
|
||||
*
|
||||
* @param string $file
|
||||
*
|
||||
* @param string $file
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
@@ -283,10 +283,10 @@ class zfile
|
||||
|
||||
/**
|
||||
* Get directory size.
|
||||
*
|
||||
*
|
||||
* @param string $dir
|
||||
* @access public
|
||||
* @return int
|
||||
* @return int
|
||||
*/
|
||||
public function getDirSize($dir)
|
||||
{
|
||||
|
||||
+20
-28
@@ -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.';
|
||||
@@ -91,14 +91,6 @@ $lang->action->dynamic->all = 'Alle';
|
||||
$lang->action->dynamic->hidden = 'Versteckt';
|
||||
$lang->action->dynamic->search = 'Suche';
|
||||
|
||||
$lang->action->periods['all'] = $lang->action->dynamic->all;
|
||||
$lang->action->periods['today'] = $lang->action->dynamic->today;
|
||||
$lang->action->periods['yesterday'] = $lang->action->dynamic->yesterday;
|
||||
$lang->action->periods['thisweek'] = $lang->action->dynamic->thisWeek;
|
||||
$lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
|
||||
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
|
||||
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
|
||||
|
||||
$lang->action->objectTypes['product'] = $lang->productCommon;
|
||||
$lang->action->objectTypes['branch'] = 'Branch';
|
||||
$lang->action->objectTypes['story'] = $lang->SRCommon;
|
||||
@@ -107,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';
|
||||
@@ -216,8 +208,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";
|
||||
@@ -245,7 +237,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";
|
||||
@@ -321,8 +313,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";
|
||||
@@ -431,7 +423,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';
|
||||
@@ -455,12 +447,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;
|
||||
@@ -512,7 +504,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";
|
||||
@@ -739,7 +731,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';
|
||||
@@ -780,7 +772,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';
|
||||
@@ -919,8 +911,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
-28
@@ -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.';
|
||||
@@ -91,14 +91,6 @@ $lang->action->dynamic->all = 'All';
|
||||
$lang->action->dynamic->hidden = 'Hidden';
|
||||
$lang->action->dynamic->search = 'Search';
|
||||
|
||||
$lang->action->periods['all'] = $lang->action->dynamic->all;
|
||||
$lang->action->periods['today'] = $lang->action->dynamic->today;
|
||||
$lang->action->periods['yesterday'] = $lang->action->dynamic->yesterday;
|
||||
$lang->action->periods['thisweek'] = $lang->action->dynamic->thisWeek;
|
||||
$lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
|
||||
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
|
||||
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
|
||||
|
||||
$lang->action->objectTypes['product'] = $lang->productCommon;
|
||||
$lang->action->objectTypes['branch'] = 'Branch';
|
||||
$lang->action->objectTypes['story'] = $lang->SRCommon;
|
||||
@@ -107,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';
|
||||
@@ -216,8 +208,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";
|
||||
@@ -245,7 +237,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";
|
||||
@@ -321,8 +313,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 ";
|
||||
@@ -431,7 +423,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';
|
||||
@@ -455,12 +447,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;
|
||||
@@ -512,7 +504,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";
|
||||
@@ -739,7 +731,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';
|
||||
@@ -780,7 +772,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';
|
||||
@@ -919,8 +911,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
-28
@@ -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.';
|
||||
@@ -91,14 +91,6 @@ $lang->action->dynamic->all = 'Tout';
|
||||
$lang->action->dynamic->hidden = 'Caché';
|
||||
$lang->action->dynamic->search = 'Rechercher';
|
||||
|
||||
$lang->action->periods['all'] = $lang->action->dynamic->all;
|
||||
$lang->action->periods['today'] = $lang->action->dynamic->today;
|
||||
$lang->action->periods['yesterday'] = $lang->action->dynamic->yesterday;
|
||||
$lang->action->periods['thisweek'] = $lang->action->dynamic->thisWeek;
|
||||
$lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
|
||||
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
|
||||
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
|
||||
|
||||
$lang->action->objectTypes['product'] = $lang->productCommon;
|
||||
$lang->action->objectTypes['branch'] = 'Branche';
|
||||
$lang->action->objectTypes['story'] = $lang->SRCommon;
|
||||
@@ -107,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';
|
||||
@@ -216,8 +208,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";
|
||||
@@ -245,7 +237,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";
|
||||
@@ -321,8 +313,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 ";
|
||||
@@ -431,7 +423,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';
|
||||
@@ -455,12 +447,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;
|
||||
@@ -512,7 +504,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";
|
||||
@@ -739,7 +731,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';
|
||||
@@ -780,7 +772,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';
|
||||
@@ -919,8 +911,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";
|
||||
|
||||
@@ -60,14 +60,6 @@ $lang->action->dynamic->all = 'Tất cả';
|
||||
$lang->action->dynamic->hidden = 'Ẩn';
|
||||
$lang->action->dynamic->search = 'Tìm kiếm';
|
||||
|
||||
$lang->action->periods['all'] = $lang->action->dynamic->all;
|
||||
$lang->action->periods['today'] = $lang->action->dynamic->today;
|
||||
$lang->action->periods['yesterday'] = $lang->action->dynamic->yesterday;
|
||||
$lang->action->periods['thisweek'] = $lang->action->dynamic->thisWeek;
|
||||
$lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
|
||||
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
|
||||
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
|
||||
|
||||
$lang->action->objectTypes['product'] = $lang->productCommon;
|
||||
$lang->action->objectTypes['branch'] = 'Nhánh';
|
||||
$lang->action->objectTypes['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -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,';
|
||||
@@ -91,14 +91,6 @@ $lang->action->dynamic->all = '所有';
|
||||
$lang->action->dynamic->hidden = '已隐藏';
|
||||
$lang->action->dynamic->search = '搜索';
|
||||
|
||||
$lang->action->periods['all'] = '全部';
|
||||
$lang->action->periods['today'] = $lang->action->dynamic->today;
|
||||
$lang->action->periods['yesterday'] = $lang->action->dynamic->yesterday;
|
||||
$lang->action->periods['thisweek'] = $lang->action->dynamic->thisWeek;
|
||||
$lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
|
||||
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
|
||||
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
|
||||
|
||||
$lang->action->objectTypes['product'] = $lang->productCommon;
|
||||
$lang->action->objectTypes['branch'] = '分支';
|
||||
$lang->action->objectTypes['story'] = $lang->SRCommon;
|
||||
@@ -107,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'] = '版本';
|
||||
@@ -215,19 +207,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";
|
||||
@@ -243,9 +235,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";
|
||||
@@ -321,8 +313,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 = "移除了发布";
|
||||
@@ -384,7 +376,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 = '合并请求合并了';
|
||||
@@ -430,8 +422,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 = '编辑了快照';
|
||||
@@ -455,12 +447,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;
|
||||
@@ -512,7 +504,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";
|
||||
@@ -739,7 +731,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';
|
||||
@@ -780,7 +772,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'] = '用例';
|
||||
@@ -919,8 +911,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 = "移除发布";
|
||||
@@ -959,4 +951,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,7 +14,7 @@
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php $activeClass = $currentObjectType == 'all' ? 'btn-active-text' : '';?>
|
||||
<?php echo html::a($this->createLink('action', 'trash', "objectType=all&type=$type"), "<span class='text'>" . $lang->action->periods['all'] . "</span>", '', "class='btn btn-link $activeClass'");?>
|
||||
<?php echo html::a($this->createLink('action', 'trash', "objectType=all&type=$type"), "<span class='text'>" . $lang->all . "</span>", '', "class='btn btn-link $activeClass'");?>
|
||||
<?php
|
||||
/* Output the objectType order by preferredTypeConfig. */
|
||||
foreach($preferredTypeConfig as $objectType)
|
||||
|
||||
@@ -10,11 +10,11 @@ if(!isset($config->safe->weak)) $config->safe->weak = '123456,password,12345,123
|
||||
$config->admin->menuGroup['system'] = array('custom|mode', 'backup', 'cron', 'action|trash', 'admin|xuanxuan', 'setting|xuanxuan', 'admin|license', 'admin|checkweak', 'admin|resetpwdsetting', 'admin|safe', 'custom|timezone', 'search|buildindex', 'admin|tableengine', 'ldap', 'custom|libreoffice', 'conference', 'client');
|
||||
$config->admin->menuGroup['company'] = array('dept', 'company', 'user', 'group', 'tutorial');
|
||||
$config->admin->menuGroup['switch'] = array('admin|setmodule');
|
||||
$config->admin->menuGroup['model'] = array('auditcl', 'stage', 'design', 'cmcl', 'reviewcl', 'custom|required', 'custom|set', 'custom|flow', 'custom|code', 'custom|estimate', 'custom|hours', 'subject', 'process', 'activity', 'zoutput', 'classify', 'holiday', 'reviewsetting');
|
||||
$config->admin->menuGroup['model'] = array('auditcl', 'stage', 'design', 'cmcl', 'reviewcl', 'custom|required', 'custom|set', 'custom|flow', 'custom|code', 'custom|percent','custom|estimate', 'custom|hours', 'subject', 'process', 'activity', 'zoutput', 'classify', 'holiday', 'reviewsetting');
|
||||
$config->admin->menuGroup['feature'] = array('custom|set', 'custom|product', 'custom|execution', 'custom|required', 'custom|kanban', 'approvalflow', 'measurement', 'meetingroom', 'custom|browsestoryconcept', 'custom|kanban', 'sqlbuilder', 'report');
|
||||
$config->admin->menuGroup['template'] = array('custom|set', 'baseline');
|
||||
$config->admin->menuGroup['message'] = array('mail', 'webhook', 'sms', 'message');
|
||||
$config->admin->menuGroup['dev'] = array('dev', 'entry');
|
||||
$config->admin->menuGroup['dev'] = array('dev', 'entry', 'editor');
|
||||
$config->admin->menuGroup['extension'] = array('extension');
|
||||
$config->admin->menuGroup['convert'] = array('convert');
|
||||
|
||||
|
||||
@@ -89,15 +89,17 @@ if(helper::hasFeature('waterfall') or helper::hasFeature('waterfallplus')) $lang
|
||||
$lang->admin->menuList->model['tabMenu']['common']['build'] = array('link' => "{$lang->build->common}|custom|required|module=build", 'alias' => 'set', 'exclude' => 'custom');
|
||||
$lang->admin->menuList->model['tabMenu']['common']['flow'] = array('link' => "{$lang->custom->flow}|custom|flow|", 'divider' => true);
|
||||
$lang->admin->menuList->model['tabMenu']['common']['code'] = array('link' => "{$lang->code}|custom|code|");
|
||||
|
||||
$lang->admin->menuList->model['tabMenu']['common']['percent'] = array('link' => "{$lang->stage->percent}|custom|percent|");
|
||||
$lang->admin->menuList->model['tabMenu']['common']['hours'] = array('link' => "{$lang->workingHour}|custom|hours|", 'subModule' => 'holiday', 'links' => array('holiday|browse|', 'custom|hours|'));
|
||||
if(helper::hasFeature('waterfall')) $lang->admin->menuList->model['tabMenu']['waterfall']['stage'] = array('link' => "{$lang->stage->list}|stage|browse|", 'subModule' => 'stage', 'exclude' => 'stage-plusbrowse');
|
||||
if(helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['waterfallplus']['stage'] = array('link' => "{$lang->stage->list}|stage|plusbrowse|", 'subModule' => 'stage', 'exclude' => 'stage-browse');
|
||||
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['5'] = 'project';
|
||||
if(helper::hasFeature('waterfall') or helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['menuOrder']['common']['7'] = 'stage';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['10'] = 'build';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['35'] = 'flow';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['40'] = 'code';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['43'] = 'percent';
|
||||
$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['45'] = 'hours';
|
||||
if(helper::hasFeature('waterfall')) $lang->admin->menuList->model['tabMenu']['menuOrder']['waterfall']['5'] = 'stage';
|
||||
if(helper::hasFeature('waterfallplus')) $lang->admin->menuList->model['tabMenu']['menuOrder']['waterfallplus']['5'] = 'stage';
|
||||
@@ -163,15 +165,17 @@ $lang->admin->menuList->message['menuOrder']['10'] = 'webhook';
|
||||
$lang->admin->menuList->message['menuOrder']['20'] = 'browser';
|
||||
$lang->admin->menuList->message['menuOrder']['25'] = 'setting';
|
||||
|
||||
$lang->admin->menuList->dev['subMenu']['api'] = array('link' => "{$lang->api->doc}|dev|api|module=index");
|
||||
$lang->admin->menuList->dev['subMenu']['db'] = array('link' => "{$lang->database}|dev|db|table=" . trim(TABLE_EFFORT, '`'));
|
||||
$lang->admin->menuList->dev['subMenu']['editor'] = array('link' => "{$lang->editor}|dev|editor|");
|
||||
$lang->admin->menuList->dev['subMenu']['entry'] = array('link' => "{$lang->admin->entry}|entry|browse|", 'subModule' => 'entry');
|
||||
$lang->admin->menuList->dev['subMenu']['api'] = array('link' => "{$lang->api->doc}|dev|api|module=index");
|
||||
$lang->admin->menuList->dev['subMenu']['db'] = array('link' => "{$lang->database}|dev|db|table=" . trim(TABLE_EFFORT, '`'));
|
||||
$lang->admin->menuList->dev['subMenu']['langItem'] = array('link' => "{$lang->langItem}|dev|langitem|");
|
||||
$lang->admin->menuList->dev['subMenu']['editor'] = array('link' => "{$lang->editor->common}|dev|editor|", 'subModule' => 'editor');
|
||||
$lang->admin->menuList->dev['subMenu']['entry'] = array('link' => "{$lang->admin->entry}|entry|browse|", 'subModule' => 'entry');
|
||||
|
||||
$lang->admin->menuList->dev['menuOrder']['5'] = 'api';
|
||||
$lang->admin->menuList->dev['menuOrder']['10'] = 'db';
|
||||
$lang->admin->menuList->dev['menuOrder']['15'] = 'editor';
|
||||
$lang->admin->menuList->dev['menuOrder']['20'] = 'entry';
|
||||
$lang->admin->menuList->dev['menuOrder']['15'] = 'langItem';
|
||||
$lang->admin->menuList->dev['menuOrder']['20'] = 'editor';
|
||||
$lang->admin->menuList->dev['menuOrder']['25'] = 'entry';
|
||||
|
||||
if($config->edition != 'max')
|
||||
{
|
||||
|
||||
+21
-7
@@ -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']))
|
||||
@@ -333,6 +338,21 @@ class adminModel extends model
|
||||
/* Check sub menu priv. */
|
||||
foreach($subMenuList as $subMenuKey => $subMenu)
|
||||
{
|
||||
if($menuKey == 'message' and $subMenuKey == 'mail')
|
||||
{
|
||||
$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')
|
||||
{
|
||||
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]))
|
||||
{
|
||||
@@ -362,12 +382,6 @@ class adminModel extends model
|
||||
}
|
||||
else
|
||||
{
|
||||
if($menuKey == 'message' and $subMenuKey == 'mail')
|
||||
{
|
||||
$this->loadModel('mail');
|
||||
if(!$this->config->mail->turnon and !$this->session->mailConfig) $subMenu['link'] = $this->lang->mail->common . '|mail|detect|';
|
||||
}
|
||||
|
||||
$link = $this->getHasPrivLink($subMenu);
|
||||
}
|
||||
|
||||
@@ -634,7 +648,7 @@ class adminModel extends model
|
||||
$connected = curl_exec($curl);
|
||||
curl_close($curl);
|
||||
|
||||
return (bool)$connected;
|
||||
return $connected ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -205,7 +205,7 @@ $(function()
|
||||
<div class='col-7'>
|
||||
<div class='progress progress-text-left'>
|
||||
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="<?php echo $project->executions[0]->hours->progress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $project->executions[0]->hours->progress;?>%">
|
||||
<span class='progress-text'><?php echo $project->executions[0]->hours->progress . '%';?></span>
|
||||
<span class='progress-text'><?php echo !empty($project->executions[0]->hours->progress) ? $project->executions[0]->hours->progress . '%' : '0%';?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
$typeName = '';
|
||||
if(isset($lang->{$review->type}->common)) $typeName = $lang->{$review->type}->common;
|
||||
if($type == 'story') $typeName = $lang->my->auditMenu->audit->story;
|
||||
if($type == 'story') $typeName = $lang->SRCommon;
|
||||
if($review->type == 'projectreview') $typeName = $lang->project->common;
|
||||
if(isset($flows[$review->type])) $typeName = $flows[$review->type];
|
||||
|
||||
|
||||
@@ -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'] = '激活';
|
||||
|
||||
+13
-2
@@ -1165,6 +1165,16 @@ class bug extends control
|
||||
$productBugs = $this->bug->getProductBugPairs($productID, $branch);
|
||||
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 . "({$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);
|
||||
|
||||
$this->view->bug = $bug;
|
||||
@@ -1173,11 +1183,11 @@ 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;
|
||||
$this->view->executions = array(0 => '') + $this->product->getExecutionPairsByProduct($bug->product, $bug->branch, 'id_desc', $bug->project);
|
||||
$this->view->executions = $executions;
|
||||
$this->view->stories = $bug->execution ? $this->story->getExecutionStoryPairs($bug->execution) : $this->story->getProductStoryPairs($bug->product, $bug->branch, 0, 'all', 'id_desc', 0, 'full', 'story', false);
|
||||
$this->view->branchOption = $branchOption;
|
||||
$this->view->branchTagOption = $branchTagOption;
|
||||
@@ -2490,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>';
|
||||
|
||||
@@ -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;?>
|
||||
|
||||
@@ -66,6 +66,7 @@ class build extends control
|
||||
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('build', 'view', "buildID=$buildID") . "#app={$this->app->tab}"));
|
||||
}
|
||||
|
||||
$status = empty($this->config->CRProduct) ? 'noclosed' : '';
|
||||
$this->loadModel('product');
|
||||
$this->loadModel('project');
|
||||
/* Set menu. */
|
||||
@@ -74,7 +75,7 @@ class build extends control
|
||||
$this->project->setMenu($projectID);
|
||||
$executions = $this->execution->getPairs($projectID, 'all', 'stagefilter|leaf|order_asc');
|
||||
$executionID = empty($executionID) ? key($executions) : $executionID;
|
||||
$productGroups = $executionID ? $this->product->getProducts($executionID) : array();
|
||||
$productGroups = $executionID ? $this->product->getProducts($executionID, $status) : array();
|
||||
$branchGroups = $executionID ? $this->project->getBranchesByProject($executionID) : array();
|
||||
$this->session->set('project', $projectID);
|
||||
}
|
||||
@@ -83,7 +84,7 @@ class build extends control
|
||||
$execution = $this->execution->getByID($executionID);
|
||||
$executions = $this->execution->getPairs($execution->project, 'all', 'stagefilter|leaf|order_asc');
|
||||
$projectID = $execution->project;
|
||||
$productGroups = $this->product->getProducts($executionID);
|
||||
$productGroups = $this->product->getProducts($executionID, $status);
|
||||
$branchGroups = $this->project->getBranchesByProject($executionID);
|
||||
$this->execution->setMenu($executionID);
|
||||
$this->session->set('project', $execution->project);
|
||||
@@ -93,7 +94,7 @@ class build extends control
|
||||
$execution = $this->execution->getByID($executionID);
|
||||
$projectID = $execution ? $execution->project : 0;
|
||||
$executions = $this->execution->getPairs($projectID, 'all', 'stagefilter|leaf');
|
||||
$productGroups = $this->product->getProducts($executionID);
|
||||
$productGroups = $this->product->getProducts($executionID, $status);
|
||||
$branchGroups = $this->project->getBranchesByProject($executionID);
|
||||
}
|
||||
|
||||
@@ -171,14 +172,15 @@ class build extends control
|
||||
if($this->app->tab == 'execution') $this->execution->setMenu($build->execution);
|
||||
|
||||
$builds = array();
|
||||
$status = empty($this->config->CRProduct) ? 'noclosed' : '';
|
||||
if($build->execution)
|
||||
{
|
||||
$productGroups = $this->product->getProducts($build->execution);
|
||||
$productGroups = $this->product->getProducts($build->execution, $status);
|
||||
$branches = $this->loadModel('branch')->getList($build->product, $build->execution, 'all');
|
||||
}
|
||||
else
|
||||
{
|
||||
$productGroups = $this->product->getProducts($build->project);
|
||||
$productGroups = $this->product->getProducts($build->project, $status);
|
||||
$branches = $this->loadModel('branch')->getList($build->product, $build->project, 'all');
|
||||
$builds = $this->build->getBuildPairs($build->product, 'all', 'noempty,notrunk,singled,separate', $build->project, 'project', $build->builds, false);
|
||||
}
|
||||
|
||||
@@ -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";?>
|
||||
|
||||
@@ -65,6 +65,7 @@ $lang->custom = new stdclass();
|
||||
$lang->mail = new stdclass();
|
||||
$lang->cron = new stdclass();
|
||||
$lang->dev = new stdclass();
|
||||
$lang->editor = new stdclass();
|
||||
$lang->entry = new stdclass();
|
||||
$lang->webhook = new stdclass();
|
||||
$lang->message = new stdclass();
|
||||
|
||||
+16
-10
@@ -90,6 +90,8 @@ $lang->viewDetails = 'View Details';
|
||||
|
||||
$lang->actions = 'Aktionen';
|
||||
$lang->restore = 'Wiederherstellen';
|
||||
$lang->confirmDraft = 'There are unsaved form of %name%. Do you want to restore them?';
|
||||
$lang->resume = 'resume';
|
||||
$lang->comment = 'Notiz';
|
||||
$lang->history = 'Historie';
|
||||
$lang->attatch = 'Anlagen';
|
||||
@@ -194,6 +196,7 @@ $lang->extension->common = 'Extension';
|
||||
$lang->company->common = 'Company';
|
||||
$lang->dept->common = 'Dept';
|
||||
$lang->upgrade->common = 'Update';
|
||||
$lang->editor->common = 'Editor';
|
||||
$lang->program->list = 'Program List';
|
||||
$lang->program->kanban = 'Program Kanban';
|
||||
$lang->design->common = 'Design';
|
||||
@@ -204,7 +207,9 @@ $lang->design->ADS = 'ADS';
|
||||
$lang->stage->common = 'Stage';
|
||||
$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';
|
||||
@@ -254,17 +259,18 @@ $lang->indexPage = 'Index';
|
||||
$lang->model = 'Model';
|
||||
$lang->redev = 'Develop';
|
||||
$lang->browser = 'Browser';
|
||||
$lang->db = 'Database';
|
||||
$lang->langItem = 'Lang Item';
|
||||
$lang->api->doc = 'API Document';
|
||||
$lang->database = 'Data Dictionary';
|
||||
$lang->editor = 'Editor';
|
||||
$lang->timezone = 'Timezone';
|
||||
$lang->security = 'Security';
|
||||
$lang->calendar = 'Calendar';
|
||||
|
||||
$lang->my->work = 'Work';
|
||||
|
||||
$lang->project->list = 'Project List';
|
||||
$lang->project->kanban = 'Project Kanban';
|
||||
$lang->project->list = $lang->projectCommon . ' List';
|
||||
$lang->project->kanban = $lang->projectCommon . ' Kanban';
|
||||
|
||||
$lang->execution->executionKanban = "{$lang->execution->common} Kanban";
|
||||
$lang->execution->all = "{$lang->execution->common} List";
|
||||
@@ -272,8 +278,8 @@ $lang->execution->all = "{$lang->execution->common} List";
|
||||
$lang->doc->recent = 'Recent';
|
||||
$lang->doc->my = 'My';
|
||||
$lang->doc->favorite = 'Favorite';
|
||||
$lang->doc->product = 'Product';
|
||||
$lang->doc->project = 'Project';
|
||||
$lang->doc->product = $lang->productCommon;
|
||||
$lang->doc->project = $lang->projectCommon;
|
||||
$lang->doc->api = 'API';
|
||||
$lang->doc->execution = $lang->execution->common;
|
||||
$lang->doc->custom = 'Custom';
|
||||
@@ -333,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 = '';
|
||||
|
||||
@@ -358,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';
|
||||
|
||||
+16
-10
@@ -90,6 +90,8 @@ $lang->viewDetails = 'View Details';
|
||||
|
||||
$lang->actions = 'Action';
|
||||
$lang->restore = 'Reset';
|
||||
$lang->confirmDraft = 'There are unsaved form of %name%. Do you want to restore them?';
|
||||
$lang->resume = 'resume';
|
||||
$lang->comment = 'Note';
|
||||
$lang->history = 'History';
|
||||
$lang->attatch = 'Files';
|
||||
@@ -194,6 +196,7 @@ $lang->extension->common = 'Extension';
|
||||
$lang->company->common = 'Company';
|
||||
$lang->dept->common = 'Dept';
|
||||
$lang->upgrade->common = 'Update';
|
||||
$lang->editor->common = 'Editor';
|
||||
$lang->program->list = 'Program List';
|
||||
$lang->program->kanban = 'Program Kanban';
|
||||
$lang->design->common = 'Design';
|
||||
@@ -204,7 +207,9 @@ $lang->design->ADS = 'Interface Design';
|
||||
$lang->stage->common = 'Stage';
|
||||
$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';
|
||||
@@ -254,17 +259,18 @@ $lang->indexPage = 'Index';
|
||||
$lang->model = 'Model';
|
||||
$lang->redev = 'Develop';
|
||||
$lang->browser = 'Browser';
|
||||
$lang->db = 'Database';
|
||||
$lang->langItem = 'Lang Item';
|
||||
$lang->api->doc = 'API Document';
|
||||
$lang->database = 'Data Dictionary';
|
||||
$lang->editor = 'Editor';
|
||||
$lang->timezone = 'Timezone';
|
||||
$lang->security = 'Security';
|
||||
$lang->calendar = 'Calendar';
|
||||
|
||||
$lang->my->work = 'Work';
|
||||
|
||||
$lang->project->list = 'Project List';
|
||||
$lang->project->kanban = 'Project Kanban';
|
||||
$lang->project->list = $lang->projectCommon . ' List';
|
||||
$lang->project->kanban = $lang->projectCommon . ' Kanban';
|
||||
|
||||
$lang->execution->executionKanban = "{$lang->execution->common} Kanban";
|
||||
$lang->execution->all = "{$lang->execution->common} List";
|
||||
@@ -272,8 +278,8 @@ $lang->execution->all = "{$lang->execution->common} List";
|
||||
$lang->doc->recent = 'Recent';
|
||||
$lang->doc->my = 'My';
|
||||
$lang->doc->favorite = 'Favorite';
|
||||
$lang->doc->product = 'Product';
|
||||
$lang->doc->project = 'Project';
|
||||
$lang->doc->product = $lang->productCommon;
|
||||
$lang->doc->project = $lang->projectCommon;
|
||||
$lang->doc->api = 'API';
|
||||
$lang->doc->execution = $lang->execution->common;
|
||||
$lang->doc->custom = 'Custom';
|
||||
@@ -333,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)';
|
||||
|
||||
@@ -358,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';
|
||||
|
||||
+16
-10
@@ -90,6 +90,8 @@ $lang->viewDetails = 'View Details';
|
||||
|
||||
$lang->actions = 'Action';
|
||||
$lang->restore = 'Réinitialiser';
|
||||
$lang->confirmDraft = 'There are unsaved form of %name%. Do you want to restore them?';
|
||||
$lang->resume = 'resume';
|
||||
$lang->comment = 'Note';
|
||||
$lang->history = 'Historique';
|
||||
$lang->attatch = 'Fichiers';
|
||||
@@ -194,6 +196,7 @@ $lang->extension->common = 'Extension';
|
||||
$lang->company->common = 'Company';
|
||||
$lang->dept->common = 'Dept';
|
||||
$lang->upgrade->common = 'Update';
|
||||
$lang->editor->common = 'Editor';
|
||||
$lang->program->list = 'Program List';
|
||||
$lang->program->kanban = 'Program Kanban';
|
||||
$lang->design->common = 'Design';
|
||||
@@ -204,7 +207,9 @@ $lang->design->ADS = 'ADS';
|
||||
$lang->stage->common = 'Stage';
|
||||
$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';
|
||||
@@ -254,17 +259,18 @@ $lang->indexPage = 'Index';
|
||||
$lang->model = 'Model';
|
||||
$lang->redev = 'Develop';
|
||||
$lang->browser = 'Browser';
|
||||
$lang->db = 'Database';
|
||||
$lang->langItem = 'Lang Item';
|
||||
$lang->api->doc = 'API Document';
|
||||
$lang->database = 'Data Dictionary';
|
||||
$lang->editor = 'Editor';
|
||||
$lang->timezone = 'Timezone';
|
||||
$lang->security = 'Security';
|
||||
$lang->calendar = 'Calendar';
|
||||
|
||||
$lang->my->work = 'Work';
|
||||
|
||||
$lang->project->list = 'Project List';
|
||||
$lang->project->kanban = 'Project Kanban';
|
||||
$lang->project->list = $lang->projectCommon . ' List';
|
||||
$lang->project->kanban = $lang->projectCommon . ' Kanban';
|
||||
|
||||
$lang->execution->executionKanban = "{$lang->execution->common} Kanban";
|
||||
$lang->execution->all = "{$lang->execution->common} List";
|
||||
@@ -272,8 +278,8 @@ $lang->execution->all = "{$lang->execution->common} List";
|
||||
$lang->doc->recent = 'Recent';
|
||||
$lang->doc->my = 'My';
|
||||
$lang->doc->favorite = 'Favorite';
|
||||
$lang->doc->product = 'Product';
|
||||
$lang->doc->project = 'Project';
|
||||
$lang->doc->product = $lang->productCommon;
|
||||
$lang->doc->project = $lang->projectCommon;
|
||||
$lang->doc->api = 'API';
|
||||
$lang->doc->execution = $lang->execution->common;
|
||||
$lang->doc->custom = 'Custom';
|
||||
@@ -333,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 = '';
|
||||
|
||||
@@ -358,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';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user