* add new version and upgrade.
This commit is contained in:
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
|
||||
if(!function_exists('getWebRoot')){function getWebRoot(){}}
|
||||
|
||||
/* 基本设置。Basic settings. */
|
||||
$config->version = '15.4'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->version = '15.5'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP.
|
||||
$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time.
|
||||
$config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php.
|
||||
|
||||
@@ -268,8 +268,8 @@ $lang->action->label->hangup = '掛起了';
|
||||
$lang->action->label->run = '執行了';
|
||||
$lang->action->label->estimated = '估算了';
|
||||
$lang->action->label->reviewpassed = '確認通過';
|
||||
$lang->action->label->reviewrejected = '拒絕';
|
||||
$lang->action->label->clarifyreviewed = '有待明確';
|
||||
$lang->action->label->reviewrejected = '拒絶';
|
||||
$lang->action->label->reviewclarified = '有待明確';
|
||||
$lang->action->label->commitsummary = '提交培訓總結';
|
||||
$lang->action->label->updatetrainee = '更新培訓人員';
|
||||
|
||||
@@ -483,7 +483,7 @@ $lang->action->label->testtask = '測試單|testtask|view|caseID=%s';
|
||||
$lang->action->label->testsuite = '測試套件|testsuite|view|suiteID=%s';
|
||||
$lang->action->label->caselib = '用例庫|caselib|view|libID=%s';
|
||||
$lang->action->label->todo = '待辦|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文檔庫|doc|objectLibs|type=%s&objectID=%s&libID=%s&docID=&version=&appendLib=%s';
|
||||
$lang->action->label->doclib = '文檔庫|doc|tablecontents|type=%s&objectID=%s&libID=%s';
|
||||
$lang->action->label->doc = '文檔|doc|view|docID=%s';
|
||||
$lang->action->label->user = '用戶|user|view|account=%s';
|
||||
$lang->action->label->testreport = '報告|testreport|view|report=%s';
|
||||
|
||||
@@ -396,6 +396,7 @@ $lang->bug->featureBar['browse']['unclosed'] = $lang->bug->unclosed;
|
||||
$lang->bug->featureBar['browse']['openedbyme'] = $lang->bug->openedByMe;
|
||||
$lang->bug->featureBar['browse']['assigntome'] = $lang->bug->assignToMe;
|
||||
$lang->bug->featureBar['browse']['resolvedbyme'] = $lang->bug->resolvedByMe;
|
||||
|
||||
$lang->bug->featureBar['browse']['unresolved'] = $lang->bug->unResolved;
|
||||
$lang->bug->featureBar['browse']['more'] = $lang->more;
|
||||
|
||||
|
||||
@@ -400,6 +400,7 @@ $lang->bug->featureBar['browse']['toclosed'] = $lang->bug->toClosed;
|
||||
$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;
|
||||
|
||||
@@ -400,6 +400,7 @@ $lang->bug->featureBar['browse']['toclosed'] = $lang->bug->toClosed;
|
||||
$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;
|
||||
|
||||
@@ -38,8 +38,8 @@ $lang->profile = 'Profile';
|
||||
$lang->changePassword = 'Password';
|
||||
$lang->unfoldMenu = 'Unfold';
|
||||
$lang->collapseMenu = 'Collapse';
|
||||
$lang->tutorialAB = 'Tutorial';
|
||||
$lang->preference = 'Preference';
|
||||
$lang->tutorialAB = 'Tutorial';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>Time %s MS, Memory %s KB, Query %s. </div></div>";
|
||||
$lang->agreement = "I have read and agreed to the terms and conditions of <a href='http://zpl.pub/page/zplv12.html' target='_blank'> Z PUBLIC LICENSE 1.2 </a>. <span class='text-danger'>Without authorization, I should not remove, hide or cover any logos/links of ZenTao.</span>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.net/goto.php?item=aiux' class='link-aiux' target='_blank'><i class='icon icon-aiux'></i> AIUX</a>";
|
||||
@@ -245,6 +245,7 @@ $lang->devops->compile = 'Compile';
|
||||
$lang->devops->mr = 'Merge Request';
|
||||
$lang->devops->repo = 'Repo';
|
||||
$lang->devops->rules = 'Rule';
|
||||
$lang->devops->settings = 'Setting Merge Request';
|
||||
|
||||
$lang->admin->system = 'System';
|
||||
$lang->admin->entry = 'Application';
|
||||
|
||||
@@ -38,8 +38,8 @@ $lang->profile = '個人檔案';
|
||||
$lang->changePassword = '修改密碼';
|
||||
$lang->unfoldMenu = '展開導航';
|
||||
$lang->collapseMenu = '收起導航';
|
||||
$lang->tutorialAB = '新手引導';
|
||||
$lang->preference = '個性化設置';
|
||||
$lang->tutorialAB = '新手引導';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>時間: %s 毫秒, 內存: %s KB, 查詢: %s. </div></div>";
|
||||
$lang->agreement = "已閲讀並同意<a href='http://zpl.pub/page/zplv12.html' target='_blank'>《Z PUBLIC LICENSE授權協議1.2》</a>。<span class='text-danger'>未經許可,不得去除、隱藏或遮掩禪道軟件的任何標誌及連結。</span>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.net/goto.php?item=aiux' class='link-aiux' target='_blank'><i class='icon icon-aiux'></i> 艾體驗設計</a>";
|
||||
@@ -242,8 +242,10 @@ $lang->testcase->testsuite = '套件';
|
||||
$lang->testcase->caselib = '用例庫';
|
||||
|
||||
$lang->devops->compile = '構建';
|
||||
$lang->devops->mr = '合併請求';
|
||||
$lang->devops->repo = '版本庫';
|
||||
$lang->devops->rules = '指令';
|
||||
$lang->devops->settings = '合併請求設置';
|
||||
|
||||
$lang->admin->system = '系統';
|
||||
$lang->admin->entry = '應用';
|
||||
@@ -289,6 +291,18 @@ $lang->exportFileTypeList['html'] = 'html';
|
||||
$lang->exportTypeList['all'] = '全部記錄';
|
||||
$lang->exportTypeList['selected'] = '選中記錄';
|
||||
|
||||
$lang->createObjects['todo'] = '待辦';
|
||||
$lang->createObjects['effort'] = '日誌';
|
||||
$lang->createObjects['bug'] = 'Bug';
|
||||
$lang->createObjects['story'] = '需求';
|
||||
$lang->createObjects['task'] = '任務';
|
||||
$lang->createObjects['testcase'] = '用例';
|
||||
$lang->createObjects['execution'] = $lang->execution->common;
|
||||
$lang->createObjects['project'] = '項目';
|
||||
$lang->createObjects['product'] = '產品';
|
||||
$lang->createObjects['program'] = '項目集';
|
||||
$lang->createObjects['doc'] = '文檔';
|
||||
|
||||
/* 語言 */
|
||||
$lang->lang = 'Language';
|
||||
|
||||
|
||||
@@ -195,6 +195,7 @@ $lang->doc->noOpenedDoc = '您還沒有創建任何文檔。';
|
||||
$lang->doc->noCollectedDoc = '您還沒有收藏任何文檔。';
|
||||
$lang->doc->errorEmptyLib = '文檔庫暫無數據。';
|
||||
$lang->doc->confirmUpdateContent = '檢查到您有未保存的文檔內容,是否繼續編輯?';
|
||||
$lang->doc->selectLibType = '請選擇文檔庫類型';
|
||||
|
||||
$lang->doc->noticeAcl['lib']['product']['default'] = '有所選產品訪問權限的用戶可以訪問。';
|
||||
$lang->doc->noticeAcl['lib']['product']['custom'] = '有所選產品訪問權限或白名單裡的用戶可以訪問。';
|
||||
|
||||
@@ -316,6 +316,7 @@ if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "Choose a
|
||||
$lang->execution->confirmDelete = "Do you want to delete the {$lang->executionCommon}[%s]?";
|
||||
$lang->execution->confirmUnlinkMember = "Do you want to unlink this User from {$lang->executionCommon}?";
|
||||
$lang->execution->confirmUnlinkStory = "Do you want to unlink this Story from {$lang->executionCommon}?";
|
||||
$lang->execution->confirmSyncStories = "After modifying the project, synchronize the execution related {$lang->SRCommon} to the new project?";
|
||||
$lang->execution->confirmUnlinkExecutionStory = "Do you want to unlink this Story from the execution?";
|
||||
$lang->execution->notAllowedUnlinkStory = "This {$lang->SRCommon} is linked to the {$lang->executionCommon} of the execution. Remove it from the {$lang->executionCommon}, then try again.";
|
||||
$lang->execution->notAllowRemoveProducts = "The story of this product is linked with the {$lang->executionCommon}. Unlink it before doing any action.";
|
||||
|
||||
@@ -316,6 +316,7 @@ if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇
|
||||
$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?";
|
||||
$lang->execution->confirmUnlinkMember = "您確定從該{$lang->executionCommon}中移除該用戶嗎?";
|
||||
$lang->execution->confirmUnlinkStory = "您確定從該{$lang->executionCommon}中移除該{$lang->SRCommon}嗎?";
|
||||
$lang->execution->confirmSyncStories = "修改所屬項目後,執行關聯的{$lang->SRCommon}是否同步到新項目中?";
|
||||
$lang->execution->confirmUnlinkExecutionStory = "您確定從該項目中移除該{$lang->SRCommon}嗎?";
|
||||
$lang->execution->notAllowedUnlinkStory = "該{$lang->SRCommon}已經與項目下{$lang->executionCommon}相關聯,請從{$lang->executionCommon}中移除後再操作。";
|
||||
$lang->execution->notAllowRemoveProducts = "該{$lang->productCommon}中的{$lang->SRCommon}已與該{$lang->executionCommon}進行了關聯,請取消關聯後再操作。";
|
||||
|
||||
@@ -4,6 +4,7 @@ $lang->gitlab->common = 'GitLab';
|
||||
$lang->gitlab->browse = 'GitLab Browse';
|
||||
$lang->gitlab->create = 'Create GitLab';
|
||||
$lang->gitlab->edit = 'Edit GitLab';
|
||||
$lang->gitlab->view = 'View GitLab';
|
||||
$lang->gitlab->bindUser = 'Bind User';
|
||||
$lang->gitlab->webhook = 'webhook';
|
||||
$lang->gitlab->bindProduct = 'Import Product';
|
||||
|
||||
@@ -4,6 +4,7 @@ $lang->gitlab->common = 'GitLab';
|
||||
$lang->gitlab->browse = '瀏覽GitLab';
|
||||
$lang->gitlab->create = '添加GitLab';
|
||||
$lang->gitlab->edit = '編輯GitLab';
|
||||
$lang->gitlab->view = '查看GitLab';
|
||||
$lang->gitlab->bindUser = '綁定用戶';
|
||||
$lang->gitlab->webhook = 'webhook';
|
||||
$lang->gitlab->bindProduct = '關聯產品';
|
||||
@@ -40,6 +41,7 @@ $lang->gitlab->placeholder->token = "請填寫具有admin權限賬戶的access t
|
||||
|
||||
$lang->gitlab->noImportableIssues = "目前沒有可供導入的issue。";
|
||||
$lang->gitlab->tokenError = "當前token非管理員權限。";
|
||||
$lang->gitlab->tokenLimit = "GitLab Token權限不足。請更換為有管理員權限的GitLab Token。";
|
||||
$lang->gitlab->hostError = "無效的GitLab服務地址。";
|
||||
$lang->gitlab->bindUserError = "不能重複綁定用戶 %s";
|
||||
$lang->gitlab->importIssueError = "未選擇該issue所屬的執行。";
|
||||
|
||||
@@ -1143,6 +1143,7 @@ $lang->resource->gitlab = new stdclass();
|
||||
$lang->resource->gitlab->browse = 'browse';
|
||||
$lang->resource->gitlab->create = 'create';
|
||||
$lang->resource->gitlab->edit = 'edit';
|
||||
$lang->resource->gitlab->view = 'view';
|
||||
$lang->resource->gitlab->importIssue = 'importIssue';
|
||||
$lang->resource->gitlab->delete = 'delete';
|
||||
$lang->resource->gitlab->bindUser = 'bindUser';
|
||||
@@ -1153,7 +1154,8 @@ $lang->resource->gitlab->bindProduct = 'bindProduct';
|
||||
$lang->gitlab->methodOrder[5] = 'browse';
|
||||
$lang->gitlab->methodOrder[10] = 'create';
|
||||
$lang->gitlab->methodOrder[15] = 'edit';
|
||||
$lang->gitlab->methodOrder[20] = 'importIssue';
|
||||
$lang->gitlab->methodOrder[20] = 'view';
|
||||
$lang->gitlab->methodOrder[25] = 'importIssue';
|
||||
$lang->gitlab->methodOrder[30] = 'delete';
|
||||
$lang->gitlab->methodOrder[35] = 'bindUser';
|
||||
//$lang->gitlab->methodOrder[45] = 'webhook';
|
||||
|
||||
@@ -34,7 +34,10 @@ $lang->group->dynamic = '可查看動態';
|
||||
$lang->group->noticeVisit = '空代表沒有訪問限制';
|
||||
$lang->group->noneProgram = "暫時沒有項目集";
|
||||
$lang->group->noneProduct = "暫時沒有{$lang->productCommon}";
|
||||
$lang->group->noneProject = "暫時沒有{$lang->executionCommon}";
|
||||
|
||||
global $config;
|
||||
if($config->systemMode == 'new') $lang->group->noneProject = '暫時沒有項目';
|
||||
if($config->systemMode == 'classic') $lang->group->noneProject = "暫時沒有{$lang->executionCommon}";
|
||||
|
||||
$lang->group->id = '編號';
|
||||
$lang->group->name = '分組名稱';
|
||||
|
||||
@@ -48,9 +48,7 @@ $lang->install->introductionContent = <<<EOT
|
||||
<h4>Dear users, welcome to ZenTao project management system.</h4>
|
||||
<p>ZenTao has two managment modes in version 15.0 and up. One is the classic management mode, providing two core features, Product and Project; the other is a new project management mode, with Program and Execution added. The following is an introduction to the new mode:</p>
|
||||
<div class='block-content'>
|
||||
<div class='block-details'>
|
||||
<p class='block-title'><i class='icon icon-program'></i><strong>Program</strong></p>
|
||||
<p>Program is used to manage a group of products and projects, and the company executives or PMO can use it for strategic planning.</p></div>
|
||||
<div class='block-details'><p class='block-title'><i class='icon icon-program'></i><strong>Program</strong></p></div>
|
||||
<div class='block-details block-right'>
|
||||
<p class='block-title'><i class='icon icon-product'></i><strong>Product</strong></p>
|
||||
<p>Product is used to subdivide the company's strategy into requirements that can be developed, and the product manager can use it to make release plans.<p>
|
||||
@@ -202,6 +200,7 @@ $lang->install->cronList['moduleName=todo&methodName=createCycle'] = 'Creat
|
||||
$lang->install->cronList['moduleName=ci&methodName=initQueue'] = 'Create recurring tasks';
|
||||
$lang->install->cronList['moduleName=ci&methodName=checkCompileStatus'] = 'Synchronize Jenkins Status';
|
||||
$lang->install->cronList['moduleName=ci&methodName=exec'] = 'Execute Jenkins';
|
||||
$lang->install->cronList['moduleName=mr&methodName=syncMR'] = 'Synchronize GitLab merge request';
|
||||
|
||||
$lang->install->success = "Installed!";
|
||||
$lang->install->login = 'ZenTao Login';
|
||||
|
||||
@@ -40,31 +40,31 @@ $lang->install->links = <<<EOT
|
||||
您現在正在安裝的版本是 <strong class='text-danger'>%s</strong>。
|
||||
EOT;
|
||||
|
||||
global $config;
|
||||
$lang->install->introduction = "禪道{$this->config->version}版本功能介紹";
|
||||
$lang->install->introduction = "禪道15系列功能介紹";
|
||||
$lang->install->howToUse = "請問您計劃如何使用禪道的新版本呢";
|
||||
$lang->install->guideVideo = 'https://dl.cnezsoft.com/vedio/program0716.mp4';
|
||||
$lang->install->introductionContent = <<<EOT
|
||||
<div>
|
||||
<h4>尊敬的用戶您好,歡迎您使用禪道%s。</h4>
|
||||
<p>禪道%s提供了兩種使用模式, 一種是經典管理模式,功能較為精簡,提供了產品和項目兩個核心功能;另一種是全新項目集管理模式,具備所有核心功能。如下是相關功能介紹,您可以根據需要選擇使用的模式。</p>
|
||||
<h4>尊敬的用戶您好,歡迎您使用禪道項目管理系統。</h4>
|
||||
<p> 禪道自15系列開始提供了兩種使用模式,一種是經典管理模式,功能較為精簡,主要提供了產品和項目兩個核心功能;另一種是全新項目集管理模式,增加了項目集和執行的概念。下面是全新項目集管理模式的介紹:</p>
|
||||
<div class='block-content'>
|
||||
<div class='block-details'><p class='block-title'><i class='icon icon-program'></i><strong>項目集</strong></p><p>項目集是一組相互關聯,且被協調管理的項目集合,可以進行多層級管理,屬於戰略層面的管理。</p></div>
|
||||
<div class='block-details'><p class='block-title'><i class='icon icon-program'></i><strong>項目集</strong></p><p>項目集用來管理一組相關的產品和項目,公司高層或者PMO可以用來做戰略規劃。</p></div>
|
||||
<div class='block-details block-right'>
|
||||
<p class='block-title'><i class='icon icon-product'></i><strong>產品</strong></p>
|
||||
<p>產品是定義做什麼,主要是管理需求,通過產品可以管理用戶需求、研發需求、計劃以及發佈。<p>
|
||||
<p>產品用來將公司的戰略細分為可以進行研發的需求,產品經理可以用來做產品的發佈計劃。<p>
|
||||
</div>
|
||||
<div class='block-details'>
|
||||
<p class='block-title'><i class='icon icon-project'></i><strong>項目</strong></p>
|
||||
<p>項目是定義如何做,主要是在規定的時間、預算和質量目標範圍內完成項目的各種工作,屬於戰役層面的管理。</p>
|
||||
<p>項目用來組織相應的人力進行研發,做好項目過程的跟蹤管理,多快好省地完成項目。</p>
|
||||
</div>
|
||||
<div class='block-details block-right'>
|
||||
<p class='block-title'><i class='icon icon-product'></i><strong>執行</strong></p>
|
||||
<p>我們把一個項目下的多個迭代/衝刺或階段統稱為執行,通過執行去完成項目的任務,屬於戰鬥層面的管理。<p>
|
||||
<p>執行用來做任務的分解、指派和跟蹤,保證項目目標可以落實到人來執行。<p>
|
||||
</div>
|
||||
</div>
|
||||
<div class='text-center introduction-link'>
|
||||
<a href='https://dl.cnezsoft.com/zentao/zentaoconcept.pdf' target='_blank' class='btn btn-wide btn-info'><i class='icon icon-p-square'></i> 文檔介紹</a>
|
||||
<a href='https://dl.cnezsoft.com/vedio/program0716.mp4' target='_blank' class='btn btn-wide btn-info'><i class='icon icon-video-play'></i> 視頻介紹</a>
|
||||
<a href='javascript:showVideo()' class='btn btn-wide btn-info'><i class='icon icon-video-play'></i> 視頻介紹</a>
|
||||
</div>
|
||||
</div>
|
||||
EOT;
|
||||
@@ -200,6 +200,7 @@ $lang->install->cronList['moduleName=todo&methodName=createCycle'] = '生
|
||||
$lang->install->cronList['moduleName=ci&methodName=initQueue'] = '創建周期性任務';
|
||||
$lang->install->cronList['moduleName=ci&methodName=checkCompileStatus'] = '同步Jenkins任務狀態';
|
||||
$lang->install->cronList['moduleName=ci&methodName=exec'] = '執行Jenkins任務';
|
||||
$lang->install->cronList['moduleName=mr&methodName=syncMR'] = '定時同步GitLabMR信息';
|
||||
|
||||
$lang->install->success = "安裝成功";
|
||||
$lang->install->login = '登錄禪道管理系統';
|
||||
|
||||
@@ -86,3 +86,4 @@ $lang->job->pipelineVariables = "變數";
|
||||
$lang->job->pipelineVariablesKeyPlaceHolder = "輸入變數的名稱";
|
||||
$lang->job->pipelineVariablesValuePlaceHolder = "輸入變數的值";
|
||||
$lang->job->pipelineVariablesTips = "指定要在此次運行中使用的變數值。CI/CD設置中指定的值將用作預設值。";
|
||||
$lang->job->setReferenceTips = "在執行構建前,請先設置代碼庫的分支信息。";
|
||||
|
||||
@@ -93,21 +93,21 @@ if($config->systemMode == 'new') $lang->my->executionLink = '執行預設着陸
|
||||
$lang->my->programLinkList = array();
|
||||
$lang->my->programLinkList['program-browse'] = '預設進入項目集列表,可以查看所有的項目集';
|
||||
$lang->my->programLinkList['program-project'] = '預設進入最近一個項目集的項目列表,可以查看當前項目集下所有項目';
|
||||
if($config->systemMode == 'new') $lang->my->programLinkList['program-kanban'] = '默認進入項目集看板,可以視覺化的查看到所有項目集的進展情况';
|
||||
if($config->systemMode == 'new') $lang->my->programLinkList['program-kanban'] = '預設進入項目集看板,可以可視化的查看到所有項目集的進展情況';
|
||||
|
||||
$lang->my->productLinkList = array();
|
||||
$lang->my->productLinkList['product-index'] = '預設進入產品主頁,可以瞭解公司整體的產品狀況';
|
||||
$lang->my->productLinkList['product-all'] = '預設進入產品列表,可以查看所有的產品';
|
||||
$lang->my->productLinkList['product-dashboard'] = '預設進入最近一個產品儀表盤,可以查看當前產品概況';
|
||||
$lang->my->productLinkList['product-browse'] = '預設進入最近一個產品的需求列表,可以查看當前產品下的需求信息';
|
||||
$lang->my->productLinkList['product-kanban'] = '默認進入產品看板,可以視覺化的查看到所有產品的進展情况';
|
||||
$lang->my->productLinkList['product-kanban'] = '預設進入產品看板,可以可視化的查看到所有產品的進展情況';
|
||||
|
||||
global $config;
|
||||
$lang->my->projectLinkList = array();
|
||||
$lang->my->projectLinkList['project-browse'] = '預設進入項目列表,可以查看所有的項目';
|
||||
$lang->my->projectLinkList['project-execution'] = '預設進入項目下所有執行列表,查看所有執行信息';
|
||||
$lang->my->projectLinkList['project-index'] = '預設進入最近一個項目儀表盤,可以查看當前項目概況';
|
||||
if($config->systemMode == 'new') $lang->my->projectLinkList['project-kanban'] = '默認進入項目看板,可以視覺化的查看到所有項目的進展情况';
|
||||
if($config->systemMode == 'new') $lang->my->projectLinkList['project-kanban'] = '預設進入項目看板,可以可視化的查看到所有項目的進展情況';
|
||||
|
||||
$lang->my->executionLinkList = array();
|
||||
if($config->systemMode == 'new')
|
||||
|
||||
@@ -132,15 +132,15 @@ $lang->product->unplan = "未計劃";
|
||||
$lang->product->viewByUser = '按用戶查看';
|
||||
|
||||
/* Product Kanban. */
|
||||
$lang->product->myProduct = '我負責的產品';
|
||||
$lang->product->otherProduct = '其他產品';
|
||||
$lang->product->unclosedProduct = '未關閉的產品';
|
||||
$lang->product->myProduct = '我負責的' . $lang->productCommon;
|
||||
$lang->product->otherProduct = '其他' . $lang->productCommon;
|
||||
$lang->product->unclosedProduct = '未關閉的' . $lang->productCommon;
|
||||
$lang->product->unexpiredPlan = '未過期的計劃';
|
||||
$lang->product->doing = '進行中';
|
||||
$lang->product->doingProject = '進行中的項目';
|
||||
$lang->product->doingExecution = '進行中的執行';
|
||||
$lang->product->doingClassicExecution = '進行中的' . $lang->executionCommon;
|
||||
$lang->product->normalRelease = '正常的發布';
|
||||
$lang->product->normalRelease = '正常的發佈';
|
||||
$lang->product->emptyProgram = '無項目集歸屬產品';
|
||||
|
||||
$lang->product->allStory = '所有';
|
||||
|
||||
@@ -75,9 +75,6 @@ $lang->program->isStakeholderKey = 'Key stakeholder';
|
||||
$lang->program->stakeholderTypeList['inside'] = 'Inside';
|
||||
$lang->program->stakeholderTypeList['outside'] = 'Outside';
|
||||
|
||||
$lang->program->typeList['my'] = 'My Programs';
|
||||
$lang->program->typeList['others'] = 'Others';
|
||||
|
||||
$lang->program->noProgram = 'No program.';
|
||||
$lang->program->showClosed = 'Closed programs.';
|
||||
$lang->program->tips = 'If a parent item set is selected, products under that parent item set can be associated. If no item set is selected, a product with the same name as the item is created by default and associated with that item.';
|
||||
|
||||
@@ -36,6 +36,7 @@ $lang->program->create = '添加項目集';
|
||||
$lang->program->createGuide = '選擇項目模板';
|
||||
$lang->program->edit = '編輯項目集';
|
||||
$lang->program->browse = '項目集列表';
|
||||
$lang->program->kanbanAction = '項目集看板';
|
||||
$lang->program->view = '項目集詳情';
|
||||
$lang->program->copy = '複製項目集';
|
||||
$lang->program->product = '產品列表';
|
||||
@@ -63,7 +64,7 @@ $lang->program->changePRJUnit = '更新項目預算單位';
|
||||
|
||||
$lang->program->progress = '項目進度';
|
||||
$lang->program->children = '子項目集';
|
||||
$lang->program->allInput = '項目集總投入';
|
||||
$lang->program->allInvest = '項目集總投入';
|
||||
$lang->program->teamCount = '總人數';
|
||||
$lang->program->longTime = '長期';
|
||||
$lang->program->moreProgram = '更多項目集';
|
||||
@@ -115,3 +116,17 @@ $lang->program->statusList['suspended'] = '已掛起';
|
||||
$lang->program->statusList['closed'] = '已關閉';
|
||||
|
||||
$lang->program->featureBar['all'] = '所有';
|
||||
|
||||
$lang->program->kanban = new stdclass();
|
||||
$lang->program->kanban->common = '項目集看板';
|
||||
$lang->program->kanban->typeList['my'] = '我參與的項目集';
|
||||
$lang->program->kanban->typeList['others'] = '其他項目集';
|
||||
|
||||
$lang->program->kanban->openProducts = '未關閉的產品';
|
||||
$lang->program->kanban->unexpiredPlans = '未過期的計劃';
|
||||
$lang->program->kanban->waitingProjects = '未開始的項目';
|
||||
$lang->program->kanban->doingProjects = '進行中的項目';
|
||||
$lang->program->kanban->doingExecutions = '進行中的執行';
|
||||
$lang->program->kanban->normalReleases = '正常的發佈';
|
||||
|
||||
$lang->program->kanban->laneColorList = array('#32C5FF', '#006AF1', '#9D28B2', '#FF8F26', '#FFC20E', '#00A78E', '#7FBB00', '#424BAC', '#C0E9FF', '#EC2761');
|
||||
|
||||
@@ -61,6 +61,9 @@ $lang->project->id = 'ID';
|
||||
$lang->project->stage = 'Stage';
|
||||
$lang->project->model = 'Model';
|
||||
$lang->project->PM = 'Manager';
|
||||
$lang->project->PO = 'Project Owner';
|
||||
$lang->project->QD = 'Test Leader';
|
||||
$lang->project->RD = 'Releaser';
|
||||
$lang->project->name = 'Name';
|
||||
$lang->project->category = 'Category';
|
||||
$lang->project->desc = 'Description';
|
||||
|
||||
@@ -61,6 +61,9 @@ $lang->project->id = '項目編號';
|
||||
$lang->project->stage = '階段';
|
||||
$lang->project->model = '項目管理方式';
|
||||
$lang->project->PM = '負責人';
|
||||
$lang->project->PO = '項目負責人';
|
||||
$lang->project->QD = '測試負責人';
|
||||
$lang->project->RD = '發佈負責人';
|
||||
$lang->project->name = '項目名稱';
|
||||
$lang->project->category = '項目類型';
|
||||
$lang->project->desc = '項目描述';
|
||||
@@ -131,6 +134,19 @@ $lang->project->moreProject = '更多項目';
|
||||
$lang->project->days = '可用工作日';
|
||||
$lang->project->etc = "等";
|
||||
|
||||
/* Project Kanban. */
|
||||
$lang->project->typeList = array();
|
||||
$lang->project->typeList['my'] = '我負責的項目';
|
||||
$lang->project->typeList['other'] = '其他項目';
|
||||
|
||||
$lang->project->waitProjects = '未開始的項目';
|
||||
$lang->project->doingProjects = '進行中的項目';
|
||||
$lang->project->doingExecutions = '進行中的執行';
|
||||
$lang->project->closedProjects = '已關閉的項目';
|
||||
$lang->project->noProgram = '無項目集歸屬項目';
|
||||
|
||||
$lang->project->laneColorList = array('#32C5FF', '#006AF1', '#9D28B2', '#FF8F26', '#FFC20E', '#00A78E', '#7FBB00', '#424BAC', '#C0E9FF', '#EC2761');
|
||||
|
||||
$lang->project->productNotEmpty = '請關聯產品或創建產品。';
|
||||
$lang->project->existProductName = '產品名稱已存在。';
|
||||
$lang->project->changeProgram = '%s > 修改項目集';
|
||||
|
||||
@@ -116,7 +116,7 @@ class projectStory extends control
|
||||
*/
|
||||
public function batchUnlinkStory($projectID, $storyIdList = '')
|
||||
{
|
||||
$storyIdList = if(empty($storyIdList)) ? array() : array_filter(explode(',', $storyIdList));
|
||||
$storyIdList = empty($storyIdList) ? array() : array_filter(explode(',', $storyIdList));
|
||||
$executionStories = $this->projectstory->getExecutionStories($projectID, $storyIdList);
|
||||
$html = '';
|
||||
|
||||
|
||||
@@ -22,3 +22,5 @@ $lang->projectstory->featureBar['story']['allstory'] = $lang->product->allStory;
|
||||
$lang->projectstory->featureBar['story']['unclosed'] = $lang->product->unclosed;
|
||||
$lang->projectstory->featureBar['story']['changed'] = $lang->product->changedStory;
|
||||
$lang->projectstory->featureBar['story']['closed'] = $lang->product->closedStory;
|
||||
$lang->projectstory->featureBar['story']['linkedExecution'] = '已關聯' . $lang->execution->common;
|
||||
$lang->projectstory->featureBar['story']['unlinkedExecution'] = '未關聯' . $lang->execution->common;
|
||||
|
||||
@@ -289,7 +289,7 @@ $lang->story->action->rejectreviewed = array('main' => '$date, 由 <stron
|
||||
$lang->story->action->recalled = array('main' => '$date, 由 <strong>$actor</strong> 撤銷評審。');
|
||||
$lang->story->action->closed = array('main' => '$date, 由 <strong>$actor</strong> 關閉,原因為 <strong>$extra</strong> $appendLink。', 'extra' => 'reasonList');
|
||||
$lang->story->action->reviewpassed = array('main' => '$date, 由 <strong>系統</strong> 判定,結果為 <strong>確認通過</strong>。');
|
||||
$lang->story->action->reviewrejected = array('main' => '$date, 由 <strong>系統</strong> 關閉,原因為 <strong>拒絕</strong>。');
|
||||
$lang->story->action->reviewrejected = array('main' => '$date, 由 <strong>系統</strong> 關閉,原因為 <strong>拒絶</strong>。');
|
||||
$lang->story->action->reviewclarified = array('main' => '$date, 由 <strong>系統</strong> 判定,結果為 <strong>有待明確</strong>,請變更後重新發起評審。');
|
||||
$lang->story->action->linked2plan = array('main' => '$date, 由 <strong>$actor</strong> 關聯到計劃 <strong>$extra</strong>。');
|
||||
$lang->story->action->unlinkedfromplan = array('main' => '$date, 由 <strong>$actor</strong> 從計劃 <strong>$extra</strong> 移除。');
|
||||
|
||||
@@ -224,7 +224,9 @@ $lang->task->error->deadlineSmall = '"截止日期"必須大於"預計開始
|
||||
$lang->task->error->alreadyStarted = '此任務已被啟動,不能重複啟動!';
|
||||
$lang->task->error->realStartedEmpty = '實際開始不能為空';
|
||||
$lang->task->error->finishedDateEmpty = '實際完成不能為空';
|
||||
$lang->task->error->finishedDateSmall = '實際完成不能小於實際開始';
|
||||
$lang->task->error->alreadyConsumed = '當前選中的父任務已有消耗。';
|
||||
$lang->task->error->date = '日期不能大於今天';
|
||||
|
||||
/* Report. */
|
||||
$lang->task->report = new stdclass();
|
||||
|
||||
@@ -137,6 +137,7 @@ $lang->testtask->unitXMLFormat = '請選擇Junit XML 格式的檔案。';
|
||||
$lang->testtask->titleOfAuto = "%s 自動化測試";
|
||||
$lang->testtask->cannotBeParsed = '導入的XML檔案內容格式錯誤,無法解析。';
|
||||
$lang->testtask->finishedDateError = '實際完成日期不能小於開始日期%s';
|
||||
$lang->testtask->finishedDateError2 = '實際完成日期不能大於今天';
|
||||
|
||||
$lang->testtask->assignedToMe = '指派給我';
|
||||
$lang->testtask->allCases = '所有用例';
|
||||
|
||||
@@ -102,6 +102,7 @@ $lang->todo->typeList['bug'] = 'Bug';
|
||||
$lang->todo->typeList['task'] = 'Task';
|
||||
$lang->todo->typeList['story'] = 'Story';
|
||||
$lang->todo->typeList['testtask'] = 'Testtask';
|
||||
$lang->todo->typeList['mrapprove'] = 'MR Approve';
|
||||
|
||||
$lang->todo->confirmDelete = "Do you want to delete this todo?";
|
||||
$lang->todo->thisIsPrivate = 'This is a private todo';
|
||||
|
||||
@@ -70,6 +70,9 @@ $lang->todo->closedDate = '關閉時間';
|
||||
$lang->todo->deadline = '過期時間';
|
||||
$lang->todo->deleted = '已刪除';
|
||||
|
||||
$lang->todo->cycleDaysLabel = '間隔天數';
|
||||
$lang->todo->beforeDaysLabel = '提前天數';
|
||||
|
||||
$lang->todo->every = '間隔';
|
||||
$lang->todo->specify = '指定';
|
||||
$lang->todo->everyYear = '每年';
|
||||
@@ -99,6 +102,7 @@ $lang->todo->typeList['bug'] = 'Bug';
|
||||
$lang->todo->typeList['task'] = '任務';
|
||||
$lang->todo->typeList['story'] = $lang->SRCommon;
|
||||
$lang->todo->typeList['testtask'] = '測試單';
|
||||
$lang->todo->typeList['mrapprove'] = '合併請求審批';
|
||||
|
||||
$lang->todo->confirmDelete = "您確定要刪除這條待辦嗎?";
|
||||
$lang->todo->thisIsPrivate = '這是一條私人事務。:)';
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
* @version $Id: zh-cn.php 5116 2013-07-12 06:37:48Z sunhao@cnezsoft.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
|
||||
$lang->tutorial = new stdclass();
|
||||
$lang->tutorial->common = 'Tutorial';
|
||||
$lang->tutorial->desc = 'You can know how to use ZenTao by doing tasks. It takes about 10 minutes, and you can quit anytime.';
|
||||
@@ -22,11 +21,11 @@ $lang->tutorial->allTasks = 'All Tasks';
|
||||
$lang->tutorial->previous = 'Previous';
|
||||
$lang->tutorial->nextTask = 'Next';
|
||||
$lang->tutorial->openTargetPage = 'Open <strong class="task-page-name">%s</strong>';
|
||||
$lang->tutorial->targetAppTip = 'Open <strong class="task-page-name">%s</strong>';
|
||||
$lang->tutorial->atTargetPage = 'On <strong class="task-page-name">%s</strong>';
|
||||
$lang->tutorial->reloadTargetPage = 'Reload';
|
||||
$lang->tutorial->target = 'Target';
|
||||
$lang->tutorial->targetPageTip = 'Open【%s】page by following this instruction.';
|
||||
$lang->tutorial->targetAppTip = 'Open <strong class="task-page-name">%s</strong>';
|
||||
$lang->tutorial->requiredTip = '【%s】is required.';
|
||||
$lang->tutorial->congratulateTask = 'Congratulations! You have finished【<span class="task-name-current"></span>】!';
|
||||
$lang->tutorial->serverErrorTip = 'Error!';
|
||||
|
||||
@@ -25,6 +25,7 @@ $lang->tutorial->atTargetPage = '已在 <strong class="task-page-name">目
|
||||
$lang->tutorial->reloadTargetPage = '重新載入';
|
||||
$lang->tutorial->target = '目標';
|
||||
$lang->tutorial->targetPageTip = '按此指示打開【%s】頁面';
|
||||
$lang->tutorial->targetAppTip = '按此指示打開【%s】應用';
|
||||
$lang->tutorial->requiredTip = '【%s】為必填項';
|
||||
$lang->tutorial->congratulateTask = '恭喜,你完成了任務 【<span class="task-name-current"></span>】!';
|
||||
$lang->tutorial->serverErrorTip = '發生了一些錯誤。';
|
||||
@@ -35,49 +36,49 @@ $lang->tutorial->dataNotSave = "教程任務中,數據不會保存。";
|
||||
$lang->tutorial->tasks = array();
|
||||
|
||||
$lang->tutorial->tasks['createAccount'] = array('title' => '創建帳號');
|
||||
$lang->tutorial->tasks['createAccount']['nav'] = array('module' => 'user', 'method' => 'create', 'menuModule' => 'company', 'menu' => 'browseUser', 'form' => '#createForm', 'submit' => '#submit', 'target' => '.create-user-btn', 'targetPageName' => '添加用戶');
|
||||
$lang->tutorial->tasks['createAccount']['desc'] = "<p>在系統創建一個新的用戶帳號:</p><ul><li data-target='nav'>打開 <span class='task-nav'>組織 <i class='icon icon-angle-right'></i> 用戶 <i class='icon icon-angle-right'></i> 添加用戶</span> 頁面;</li><li data-target='form'>在添加用戶表單中填寫新用戶信息;</li><li data-target='submit'>保存用戶信息。</li></ul>";
|
||||
$lang->tutorial->tasks['createAccount']['nav'] = array('app' => 'admin', 'module' => 'user', 'method' => 'create', 'menuModule' => 'company', 'menu' => 'browseUser', 'form' => '#createForm', 'requiredFields' => 'account,realname,verifyPassword,password1,password2', 'submit' => '#submit', 'target' => '.create-user-btn', 'targetPageName' => '添加用戶');
|
||||
$lang->tutorial->tasks['createAccount']['desc'] = "<p>在系統創建一個新的用戶帳號:</p><ul><li data-target='nav'>打開 <span class='task-nav'>後台 <i class='icon icon-angle-right'></i> 人員 <i class='icon icon-angle-right'></i> 用戶 <i class='icon icon-angle-right'></i> 添加用戶</span> 頁面;</li><li data-target='form'>在添加用戶表單中填寫新用戶信息;</li><li data-target='submit'>保存用戶信息。</li></ul>";
|
||||
|
||||
global $config;
|
||||
if($config->global->flow == 'full' or $config->global->flow != 'onlyTask')
|
||||
{
|
||||
$lang->tutorial->tasks['createProduct'] = array('title' => '創建' . $lang->productCommon);
|
||||
$lang->tutorial->tasks['createProduct']['nav'] = array('module' => 'product', 'method' => 'create', 'menu' => '#pageNav', 'form' => '#createForm', 'submit' => '#submit', 'target' => '.create-product-btn', 'targetPageName' => '添加' . $lang->productCommon);
|
||||
$lang->tutorial->tasks['createProduct']['desc'] = "<p>在系統創建一個新的{$lang->productCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> 添加{$lang->productCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->productCommon}信息;</li><li data-target='submit'>保存{$lang->productCommon}信息。</li></ul>";
|
||||
}
|
||||
$lang->tutorial->tasks['createProgram'] = array('title' => '創建項目集');
|
||||
$lang->tutorial->tasks['createProgram']['mode'] = 'new';
|
||||
$lang->tutorial->tasks['createProgram']['nav'] = array('app' => 'program', 'module' => 'program', 'method' => 'create', 'menuModule' => 'program', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="browse"],.create-program-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-program-btn', 'targetPageName' => '添加項目集');
|
||||
$lang->tutorial->tasks['createProgram']['desc'] = "<p>在系統創建一個新的項目集:</p><ul><li data-target='nav'>打開 <span class='task-nav'>項目集 <i class='icon icon-angle-right'></i> 項目集列表 <i class='icon icon-angle-right'></i> 添加項目集</span> 頁面;</li><li data-target='form'>在添加項目集表單中填寫項目集信息;</li><li data-target='submit'>保存項目集信息。</li></ul>";
|
||||
|
||||
if($config->global->flow == 'full' or $config->global->flow == 'onlyStory')
|
||||
{
|
||||
$lang->tutorial->tasks['createStory'] = array('title' => "創建{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['createStory']['nav'] = array('module' => 'story', 'method' => 'create', 'menuModule' => 'product', 'menu' => 'story', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => "提{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['createStory']['desc'] = "<p>在系統創建一個新的{$lang->SRCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 添加{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->SRCommon}信息;</li><li data-target='submit'>保存{$lang->SRCommon}信息。</li></ul>";
|
||||
}
|
||||
$lang->tutorial->tasks['createProduct'] = array('title' => '創建' . $lang->productCommon);
|
||||
$lang->tutorial->tasks['createProduct']['nav'] = array('app' => 'product', 'module' => 'product', 'method' => 'create', 'menuModule' => 'product', 'menu' => 'all', 'form' => '#createForm', 'submit' => '#submit', 'target' => '.create-product-btn', 'targetPageName' => '添加' . $lang->productCommon);
|
||||
$lang->tutorial->tasks['createProduct']['desc'] = "<p>在系統創建一個新的{$lang->productCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->productCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->productCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->productCommon}信息;</li><li data-target='submit'>保存{$lang->productCommon}信息。</li></ul>";
|
||||
|
||||
if($config->global->flow == 'full' or $config->global->flow == 'onlyTask')
|
||||
{
|
||||
$lang->tutorial->tasks['createProject'] = array('title' => '創建' . $lang->executionCommon);
|
||||
$lang->tutorial->tasks['createProject']['nav'] = array('module' => 'execution', 'method' => 'create', 'menu' => '#pageNav', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加' . $lang->executionCommon);
|
||||
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系統創建一個新的{$lang->executionCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
|
||||
$lang->tutorial->tasks['createStory'] = array('title' => "創建{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['createStory']['nav'] = array('app' => 'product', 'module' => 'story', 'method' => 'create', 'menuModule' => 'story', 'menu' => '#productTableList>tr:not(.has-nest-child):first>.c-name>a,#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-story-btn', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => "提{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['createStory']['desc'] = "<p>在系統創建一個新的{$lang->SRCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 提{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->SRCommon}信息;</li><li data-target='submit'>保存{$lang->SRCommon}信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['manageTeam'] = array('title' => '管理團隊');
|
||||
$lang->tutorial->tasks['manageTeam']['nav'] = array('module' => 'execution', 'method' => 'managemembers', 'menu' => 'team', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'account1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
|
||||
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理{$lang->executionCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
|
||||
$lang->tutorial->tasks['createProject'] = array('title' => '創建' . $lang->projectCommon);
|
||||
$lang->tutorial->tasks['createProject']['mode'] = 'new';
|
||||
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加' . $lang->projectCommon);
|
||||
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系統創建一個新的{$lang->projectCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->projectCommon}列表 <i class='icon icon-angle-right'></i> 創建{$lang->projectCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->projectCommon}信息;</li><li data-target='submit'>保存{$lang->projectCommon}信息。</li></ul>";
|
||||
|
||||
if($config->global->flow == 'full')
|
||||
{
|
||||
$lang->tutorial->tasks['linkStory'] = array('title' => "關聯{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['linkStory']['nav'] = array('module' => 'execution', 'method' => 'linkStory', 'menu' => 'story', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => "關聯{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['linkStory']['desc'] = "<p>將{$lang->SRCommon}關聯到{$lang->executionCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 關聯{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon};</li><li data-target='submit'>保存關聯的{$lang->SRCommon}信息。</li></ul>";
|
||||
}
|
||||
$lang->tutorial->tasks['manageTeam'] = array('title' => "管理{$lang->projectCommon}團隊");
|
||||
$lang->tutorial->tasks['manageTeam']['mode'] = 'new';
|
||||
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'accounts1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
|
||||
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理{$lang->projectCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> 設置 <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['createTask'] = array('title' => '分解任務');
|
||||
$lang->tutorial->tasks['createTask']['nav'] = array('module' => 'task', 'method' => 'create', 'menuModule' => 'execution', 'menu' => 'story', 'target' => '.btn-task-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '建任務');
|
||||
$lang->tutorial->tasks['createTask']['desc'] = "<p>將{$lang->executionCommon}{$lang->SRCommon}分解為任務:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 分解任務</span> 頁面;</li><li data-target='form'>在表單中填寫任務信息;</li><li data-target='submit'>保存任務信息。</li></ul>";
|
||||
}
|
||||
$lang->tutorial->tasks['createExecution'] = array('title' => '創建' . $lang->executionCommon);
|
||||
$lang->tutorial->tasks['createExecution']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
|
||||
$lang->tutorial->tasks['createExecution']['desc'] = "<p>在系統創建一個新的{$lang->executionCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
|
||||
|
||||
if($config->global->flow == 'full' or $config->global->flow == 'onlyTest')
|
||||
{
|
||||
$lang->tutorial->tasks['createBug'] = array('title' => '提Bug');
|
||||
$lang->tutorial->tasks['createBug']['nav'] = array('module' => 'bug', 'method' => 'create', 'menuModule' => 'qa', 'menu' => 'bug', 'target' => '.btn-bug-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '提Bug');
|
||||
$lang->tutorial->tasks['createBug']['desc'] = "<p>在系統中提交一個Bug:</p><ul><li data-target='nav'>打開 <span class='task-nav'> 測試 <i class='icon icon-angle-right'></i> Bug <i class='icon icon-angle-right'></i> 提Bug</span>;</li><li data-target='form'>在表單中填寫Bug信息;</li><li data-target='submit'>保存Bug信息。</li></ul>";
|
||||
}
|
||||
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "管理{$lang->executionCommon}團隊");
|
||||
$lang->tutorial->tasks['manageExecutionTeam']['mode'] = 'classic';
|
||||
$lang->tutorial->tasks['manageExecutionTeam']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#executionTableList>tr:first>.c-name>a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="team"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'account1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
|
||||
$lang->tutorial->tasks['manageExecutionTeam']['desc'] = "<p>管理{$lang->executionCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 設置 <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['linkStory'] = array('title' => "關聯{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['linkStory']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'linkStory', 'menuModule' => 'story', 'menu' => '', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => "關聯{$lang->SRCommon}");
|
||||
$lang->tutorial->tasks['linkStory']['desc'] = "<p>將{$lang->SRCommon}關聯到{$lang->executionCommon}:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 關聯{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon};</li><li data-target='submit'>保存關聯的{$lang->SRCommon}信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['createTask'] = array('title' => '分解任務');
|
||||
$lang->tutorial->tasks['createTask']['nav'] = array('app' => 'execution', 'module' => 'task', 'method' => 'create', 'menuModule' => 'story', 'menu' => '', 'target' => '.btn-task-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '建任務');
|
||||
$lang->tutorial->tasks['createTask']['desc'] = "<p>將{$lang->executionCommon}{$lang->SRCommon}分解為任務:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 分解任務</span> 頁面;</li><li data-target='form'>在表單中填寫任務信息;</li><li data-target='submit'>保存任務信息。</li></ul>";
|
||||
|
||||
$lang->tutorial->tasks['createBug'] = array('title' => '提Bug');
|
||||
$lang->tutorial->tasks['createBug']['nav'] = array('app' => 'qa', 'module' => 'bug', 'method' => 'create', 'menuModule' => 'bug', 'menu' => 'bug', 'target' => '.create-bug-btn', 'vars' => 'productID=0', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '提Bug');
|
||||
$lang->tutorial->tasks['createBug']['desc'] = "<p>在系統中提交一個Bug:</p><ul><li data-target='nav'>打開 <span class='task-nav'> 測試 <i class='icon icon-angle-right'></i> Bug <i class='icon icon-angle-right'></i> 提Bug</span>;</li><li data-target='form'>在表單中填寫Bug信息;</li><li data-target='submit'>保存Bug信息。</li></ul>";
|
||||
|
||||
@@ -142,3 +142,4 @@ $lang->upgrade->fromVersions['15_0_2'] = '15.0.2';
|
||||
$lang->upgrade->fromVersions['15_0_3'] = '15.0.3';
|
||||
$lang->upgrade->fromVersions['15_2'] = '15.2';
|
||||
$lang->upgrade->fromVersions['15_3'] = '15.3';
|
||||
$lang->upgrade->fromVersions['15_4'] = '15.4';
|
||||
|
||||
@@ -50,7 +50,7 @@ $lang->upgrade->sureExecute = '確認執行';
|
||||
$lang->upgrade->forbiddenExt = '以下插件與新版本不兼容,已經自動禁用:';
|
||||
$lang->upgrade->updateFile = '需要更新附件信息。';
|
||||
$lang->upgrade->noticeSQL = '檢查到你的資料庫跟標準不一致,嘗試修復失敗。請執行以下SQL語句,再刷新頁面檢查。';
|
||||
$lang->upgrade->afterDeleted = '以上檔案未能刪除, 刪除後刷新!';
|
||||
$lang->upgrade->afterDeleted = '請執行上面命令刪除檔案, 刪除後刷新!';
|
||||
$lang->upgrade->mergeProgram = '數據遷移';
|
||||
$lang->upgrade->mergeTips = '數據遷移提示';
|
||||
$lang->upgrade->toPMS15Guide = '禪道開源版15版本升級';
|
||||
@@ -111,6 +111,7 @@ $lang->upgrade->dataMethod = '數據遷移方式';
|
||||
$lang->upgrade->begin = '開始日期';
|
||||
$lang->upgrade->end = '結束日期';
|
||||
$lang->upgrade->selectProject = '目標項目';
|
||||
$lang->upgrade->programName = '項目集名稱';
|
||||
$lang->upgrade->projectName = '項目名稱';
|
||||
|
||||
$lang->upgrade->newProgram = '新建';
|
||||
|
||||
@@ -712,6 +712,8 @@ class upgradeModel extends model
|
||||
{
|
||||
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan4.2.sql';
|
||||
$this->execSQL($xuanxuanSql);
|
||||
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan4.4.sql';
|
||||
$this->execSQL($xuanxuanSql);
|
||||
}
|
||||
}
|
||||
$this->appendExec('15_4');
|
||||
@@ -914,6 +916,8 @@ class upgradeModel extends model
|
||||
{
|
||||
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan4.2.sql';
|
||||
$confirmContent .= file_get_contents($xuanxuanSql);
|
||||
$xuanxuanSql = $this->app->getAppRoot() . 'db' . DS . 'upgradexuanxuan4.4.sql';
|
||||
$confirmContent .= file_get_contents($xuanxuanSql);
|
||||
}
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
|
||||
Reference in New Issue
Block a user