From d2403a6b8e710a237daafed5037cbfd475c660eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=80=A1=E6=A0=8B?= Date: Wed, 8 Sep 2021 16:00:42 +0800 Subject: [PATCH] * add new version and upgrade. --- VERSION | 2 +- config/config.php | 2 +- module/action/lang/zh-tw.php | 6 +-- module/bug/lang/en.php | 1 + module/bug/lang/zh-cn.php | 1 + module/bug/lang/zh-tw.php | 1 + module/common/lang/en.php | 11 +++-- module/common/lang/zh-tw.php | 22 +++++++-- module/doc/lang/zh-tw.php | 1 + module/execution/lang/en.php | 1 + module/execution/lang/zh-tw.php | 1 + module/gitlab/lang/en.php | 1 + module/gitlab/lang/zh-tw.php | 2 + module/group/lang/resource.php | 4 +- module/group/lang/zh-tw.php | 5 +- module/install/lang/en.php | 5 +- module/install/lang/zh-tw.php | 19 +++---- module/job/lang/zh-tw.php | 1 + module/my/lang/zh-tw.php | 6 +-- module/product/lang/zh-tw.php | 8 +-- module/program/lang/en.php | 3 -- module/program/lang/zh-tw.php | 17 ++++++- module/project/lang/en.php | 3 ++ module/project/lang/zh-tw.php | 16 ++++++ module/projectstory/control.php | 2 +- module/projectstory/lang/zh-tw.php | 10 ++-- module/story/lang/zh-tw.php | 10 ++-- module/task/lang/zh-tw.php | 2 + module/testtask/lang/zh-tw.php | 21 ++++---- module/todo/lang/en.php | 13 ++--- module/todo/lang/zh-tw.php | 16 +++--- module/tutorial/lang/en.php | 5 +- module/tutorial/lang/zh-tw.php | 79 +++++++++++++++--------------- module/upgrade/lang/version.php | 1 + module/upgrade/lang/zh-tw.php | 3 +- module/upgrade/model.php | 4 ++ 36 files changed, 191 insertions(+), 114 deletions(-) diff --git a/VERSION b/VERSION index 232a7fc1a6..db50370908 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.4 +15.5 diff --git a/config/config.php b/config/config.php index 8cc12bba49..3512acf6b7 100644 --- a/config/config.php +++ b/config/config.php @@ -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. diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index bc0eaf70af..f65f325078 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.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'; diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 39aee14935..550be67d26 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -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; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index 9fc57d6499..ac43c139a6 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -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; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index f9c69fb0d3..4a46b999ec 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -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; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 6c39ea498a..9f0b30a960 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -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 = "
Time %s MS, Memory %s KB, Query %s.
"; $lang->agreement = "I have read and agreed to the terms and conditions of Z PUBLIC LICENSE 1.2 . Without authorization, I should not remove, hide or cover any logos/links of ZenTao."; $lang->designedByAIUX = " AIUX"; @@ -241,10 +241,11 @@ $lang->testcase->case = 'Test Case'; $lang->testcase->testsuite = 'Test Suite'; $lang->testcase->caselib = 'Case Library'; -$lang->devops->compile = 'Compile'; -$lang->devops->mr = 'Merge Request'; -$lang->devops->repo = 'Repo'; -$lang->devops->rules = 'Rule'; +$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'; diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index a124b907e9..0f1061abcb 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -38,8 +38,8 @@ $lang->profile = '個人檔案'; $lang->changePassword = '修改密碼'; $lang->unfoldMenu = '展開導航'; $lang->collapseMenu = '收起導航'; -$lang->tutorialAB = '新手引導'; $lang->preference = '個性化設置'; +$lang->tutorialAB = '新手引導'; $lang->runInfo = "
時間: %s 毫秒, 內存: %s KB, 查詢: %s.
"; $lang->agreement = "已閲讀並同意《Z PUBLIC LICENSE授權協議1.2》未經許可,不得去除、隱藏或遮掩禪道軟件的任何標誌及連結。"; $lang->designedByAIUX = " 艾體驗設計"; @@ -241,9 +241,11 @@ $lang->testcase->case = '用例'; $lang->testcase->testsuite = '套件'; $lang->testcase->caselib = '用例庫'; -$lang->devops->compile = '構建'; -$lang->devops->repo = '版本庫'; -$lang->devops->rules = '指令'; +$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'; diff --git a/module/doc/lang/zh-tw.php b/module/doc/lang/zh-tw.php index e5ac67d420..3bd477eb95 100644 --- a/module/doc/lang/zh-tw.php +++ b/module/doc/lang/zh-tw.php @@ -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'] = '有所選產品訪問權限或白名單裡的用戶可以訪問。'; diff --git a/module/execution/lang/en.php b/module/execution/lang/en.php index 828223956d..2d4cd5adda 100644 --- a/module/execution/lang/en.php +++ b/module/execution/lang/en.php @@ -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."; diff --git a/module/execution/lang/zh-tw.php b/module/execution/lang/zh-tw.php index 3e11e2de71..6ac27ad252 100644 --- a/module/execution/lang/zh-tw.php +++ b/module/execution/lang/zh-tw.php @@ -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}進行了關聯,請取消關聯後再操作。"; diff --git a/module/gitlab/lang/en.php b/module/gitlab/lang/en.php index c96c36edc4..7bbf2594fd 100644 --- a/module/gitlab/lang/en.php +++ b/module/gitlab/lang/en.php @@ -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'; diff --git a/module/gitlab/lang/zh-tw.php b/module/gitlab/lang/zh-tw.php index 06f2ead789..1bde16089f 100644 --- a/module/gitlab/lang/zh-tw.php +++ b/module/gitlab/lang/zh-tw.php @@ -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所屬的執行。"; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 54b6f737ab..2f7af1329c 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -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'; diff --git a/module/group/lang/zh-tw.php b/module/group/lang/zh-tw.php index ced1b02502..b6ba8a9d8e 100644 --- a/module/group/lang/zh-tw.php +++ b/module/group/lang/zh-tw.php @@ -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 = '分組名稱'; diff --git a/module/install/lang/en.php b/module/install/lang/en.php index e8892cb5b6..934401687b 100644 --- a/module/install/lang/en.php +++ b/module/install/lang/en.php @@ -48,9 +48,7 @@ $lang->install->introductionContent = <<Dear users, welcome to ZenTao project management system.

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:

-
-

Program

-

Program is used to manage a group of products and projects, and the company executives or PMO can use it for strategic planning.

+

Program

Product

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.

@@ -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'; diff --git a/module/install/lang/zh-tw.php b/module/install/lang/zh-tw.php index e49d561c57..fef154d534 100644 --- a/module/install/lang/zh-tw.php +++ b/module/install/lang/zh-tw.php @@ -40,31 +40,31 @@ $lang->install->links = <<%s。 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 = << -

尊敬的用戶您好,歡迎您使用禪道%s。

-

禪道%s提供了兩種使用模式, 一種是經典管理模式,功能較為精簡,提供了產品和項目兩個核心功能;另一種是全新項目集管理模式,具備所有核心功能。如下是相關功能介紹,您可以根據需要選擇使用的模式。

+

尊敬的用戶您好,歡迎您使用禪道項目管理系統。

+

禪道自15系列開始提供了兩種使用模式,一種是經典管理模式,功能較為精簡,主要提供了產品和項目兩個核心功能;另一種是全新項目集管理模式,增加了項目集和執行的概念。下面是全新項目集管理模式的介紹:

-

項目集

項目集是一組相互關聯,且被協調管理的項目集合,可以進行多層級管理,屬於戰略層面的管理。

+

項目集

項目集用來管理一組相關的產品和項目,公司高層或者PMO可以用來做戰略規劃。

產品

-

產品是定義做什麼,主要是管理需求,通過產品可以管理用戶需求、研發需求、計劃以及發佈。

+

產品用來將公司的戰略細分為可以進行研發的需求,產品經理可以用來做產品的發佈計劃。

項目

-

項目是定義如何做,主要是在規定的時間、預算和質量目標範圍內完成項目的各種工作,屬於戰役層面的管理。

+

項目用來組織相應的人力進行研發,做好項目過程的跟蹤管理,多快好省地完成項目。

執行

-

我們把一個項目下的多個迭代/衝刺或階段統稱為執行,通過執行去完成項目的任務,屬於戰鬥層面的管理。

+

執行用來做任務的分解、指派和跟蹤,保證項目目標可以落實到人來執行。

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 = '登錄禪道管理系統'; diff --git a/module/job/lang/zh-tw.php b/module/job/lang/zh-tw.php index e42281a78e..511f29f58a 100644 --- a/module/job/lang/zh-tw.php +++ b/module/job/lang/zh-tw.php @@ -86,3 +86,4 @@ $lang->job->pipelineVariables = "變數"; $lang->job->pipelineVariablesKeyPlaceHolder = "輸入變數的名稱"; $lang->job->pipelineVariablesValuePlaceHolder = "輸入變數的值"; $lang->job->pipelineVariablesTips = "指定要在此次運行中使用的變數值。CI/CD設置中指定的值將用作預設值。"; +$lang->job->setReferenceTips = "在執行構建前,請先設置代碼庫的分支信息。"; diff --git a/module/my/lang/zh-tw.php b/module/my/lang/zh-tw.php index 2eb7d3cded..2f738aaa95 100644 --- a/module/my/lang/zh-tw.php +++ b/module/my/lang/zh-tw.php @@ -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') diff --git a/module/product/lang/zh-tw.php b/module/product/lang/zh-tw.php index ee420e40ad..a4e9b92f9a 100644 --- a/module/product/lang/zh-tw.php +++ b/module/product/lang/zh-tw.php @@ -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 = '所有'; diff --git a/module/program/lang/en.php b/module/program/lang/en.php index 685576ee93..ced16aba82 100644 --- a/module/program/lang/en.php +++ b/module/program/lang/en.php @@ -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.'; diff --git a/module/program/lang/zh-tw.php b/module/program/lang/zh-tw.php index 05034c3283..53bf1b9e90 100644 --- a/module/program/lang/zh-tw.php +++ b/module/program/lang/zh-tw.php @@ -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'); diff --git a/module/project/lang/en.php b/module/project/lang/en.php index a5c106d505..437e68a9bf 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -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'; diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php index a4fbc07872..7277906acf 100644 --- a/module/project/lang/zh-tw.php +++ b/module/project/lang/zh-tw.php @@ -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 > 修改項目集'; diff --git a/module/projectstory/control.php b/module/projectstory/control.php index dfe48ac41a..652b9de23b 100644 --- a/module/projectstory/control.php +++ b/module/projectstory/control.php @@ -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 = ''; diff --git a/module/projectstory/lang/zh-tw.php b/module/projectstory/lang/zh-tw.php index 516e8ad9fe..658e7d20a9 100644 --- a/module/projectstory/lang/zh-tw.php +++ b/module/projectstory/lang/zh-tw.php @@ -18,7 +18,9 @@ $lang->projectstory->batchUnlinkTip = '其他需求已經移除,如下需求 global $app; $app->loadLang('product'); -$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']['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; diff --git a/module/story/lang/zh-tw.php b/module/story/lang/zh-tw.php index d1f074257b..320f50741e 100644 --- a/module/story/lang/zh-tw.php +++ b/module/story/lang/zh-tw.php @@ -278,10 +278,10 @@ $lang->story->estimateMustBeNumber = '估算值必須是數字'; $lang->story->estimateMustBePlus = '估算值不能是負數'; $lang->story->form = new stdclass(); -$lang->story->form->area = "該{$lang->SRCommon}所屬範圍"; -$lang->story->form->desc = "描述及標準,什麼{$lang->SRCommon}?如何驗收?"; -$lang->story->form->resource = '資源分配,有誰完成?需要多少時間?'; -$lang->story->form->file = "附件,如果該{$lang->SRCommon}有相關檔案,請點此上傳。"; +$lang->story->form->area = "該{$lang->SRCommon}所屬範圍"; +$lang->story->form->desc = "描述及標準,什麼{$lang->SRCommon}?如何驗收?"; +$lang->story->form->resource = '資源分配,有誰完成?需要多少時間?'; +$lang->story->form->file = "附件,如果該{$lang->SRCommon}有相關檔案,請點此上傳。"; $lang->story->action = new stdclass(); $lang->story->action->reviewed = array('main' => '$date, 由 $actor 記錄評審意見,評審意見為 $extra。', 'extra' => 'reviewResultList'); @@ -289,7 +289,7 @@ $lang->story->action->rejectreviewed = array('main' => '$date, 由 story->action->recalled = array('main' => '$date, 由 $actor 撤銷評審。'); $lang->story->action->closed = array('main' => '$date, 由 $actor 關閉,原因為 $extra $appendLink。', 'extra' => 'reasonList'); $lang->story->action->reviewpassed = array('main' => '$date, 由 系統 判定,結果為 確認通過。'); -$lang->story->action->reviewrejected = array('main' => '$date, 由 系統 關閉,原因為 拒絕。'); +$lang->story->action->reviewrejected = array('main' => '$date, 由 系統 關閉,原因為 拒絶。'); $lang->story->action->reviewclarified = array('main' => '$date, 由 系統 判定,結果為 有待明確,請變更後重新發起評審。'); $lang->story->action->linked2plan = array('main' => '$date, 由 $actor 關聯到計劃 $extra。'); $lang->story->action->unlinkedfromplan = array('main' => '$date, 由 $actor 從計劃 $extra 移除。'); diff --git a/module/task/lang/zh-tw.php b/module/task/lang/zh-tw.php index f4613b6278..31e83968d9 100644 --- a/module/task/lang/zh-tw.php +++ b/module/task/lang/zh-tw.php @@ -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(); diff --git a/module/testtask/lang/zh-tw.php b/module/testtask/lang/zh-tw.php index 1af02fdb3d..523cd4921e 100644 --- a/module/testtask/lang/zh-tw.php +++ b/module/testtask/lang/zh-tw.php @@ -127,16 +127,17 @@ $lang->testtask->fail = '失敗'; $lang->testtask->showResult = '共執行%s次'; $lang->testtask->showFail = '失敗%s次'; -$lang->testtask->confirmDelete = '您確認要刪除該測試單嗎?'; -$lang->testtask->confirmUnlinkCase = '您確認要移除該用例嗎?'; -$lang->testtask->noticeNoOther = '該產品還沒有其他測試單'; -$lang->testtask->noTesttask = '暫時沒有測試單。'; -$lang->testtask->checkLinked = "請檢查測試單的產品是否與{$lang->executionCommon}相關聯"; -$lang->testtask->noImportData = '導入的XML沒有解析出數據。'; -$lang->testtask->unitXMLFormat = '請選擇Junit XML 格式的檔案。'; -$lang->testtask->titleOfAuto = "%s 自動化測試"; -$lang->testtask->cannotBeParsed = '導入的XML檔案內容格式錯誤,無法解析。'; -$lang->testtask->finishedDateError = '實際完成日期不能小於開始日期%s'; +$lang->testtask->confirmDelete = '您確認要刪除該測試單嗎?'; +$lang->testtask->confirmUnlinkCase = '您確認要移除該用例嗎?'; +$lang->testtask->noticeNoOther = '該產品還沒有其他測試單'; +$lang->testtask->noTesttask = '暫時沒有測試單。'; +$lang->testtask->checkLinked = "請檢查測試單的產品是否與{$lang->executionCommon}相關聯"; +$lang->testtask->noImportData = '導入的XML沒有解析出數據。'; +$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 = '所有用例'; diff --git a/module/todo/lang/en.php b/module/todo/lang/en.php index b12f55bd9d..38741766a2 100644 --- a/module/todo/lang/en.php +++ b/module/todo/lang/en.php @@ -96,12 +96,13 @@ $lang->todo->priList[2] = 'Important'; $lang->todo->priList[3] = 'Normal'; $lang->todo->priList[4] = 'Low'; -$lang->todo->typeList['custom'] = 'Custom'; -$lang->todo->typeList['cycle'] = 'Recur'; -$lang->todo->typeList['bug'] = 'Bug'; -$lang->todo->typeList['task'] = 'Task'; -$lang->todo->typeList['story'] = 'Story'; -$lang->todo->typeList['testtask'] = 'Testtask'; +$lang->todo->typeList['custom'] = 'Custom'; +$lang->todo->typeList['cycle'] = 'Recur'; +$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'; diff --git a/module/todo/lang/zh-tw.php b/module/todo/lang/zh-tw.php index 8f6f981253..968174fcf6 100644 --- a/module/todo/lang/zh-tw.php +++ b/module/todo/lang/zh-tw.php @@ -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 = '每年'; @@ -93,12 +96,13 @@ $lang->todo->priList[2] = 2; $lang->todo->priList[3] = 3; $lang->todo->priList[4] = 4; -$lang->todo->typeList['custom'] = '自定義'; -$lang->todo->typeList['cycle'] = '周期'; -$lang->todo->typeList['bug'] = 'Bug'; -$lang->todo->typeList['task'] = '任務'; -$lang->todo->typeList['story'] = $lang->SRCommon; -$lang->todo->typeList['testtask'] = '測試單'; +$lang->todo->typeList['custom'] = '自定義'; +$lang->todo->typeList['cycle'] = '周期'; +$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 = '這是一條私人事務。:)'; diff --git a/module/tutorial/lang/en.php b/module/tutorial/lang/en.php index 75ddf25769..4e8cd5dc02 100644 --- a/module/tutorial/lang/en.php +++ b/module/tutorial/lang/en.php @@ -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 %s'; -$lang->tutorial->targetAppTip = 'Open %s'; $lang->tutorial->atTargetPage = 'On %s'; $lang->tutorial->reloadTargetPage = 'Reload'; $lang->tutorial->target = 'Target'; -$lang->tutorial->targetPageTip = 'Open【%s】page by following this instruction.'; +$lang->tutorial->targetPageTip = 'Open【%s】page by following this instruction.'; +$lang->tutorial->targetAppTip = 'Open %s'; $lang->tutorial->requiredTip = '【%s】is required.'; $lang->tutorial->congratulateTask = 'Congratulations! You have finished【】!'; $lang->tutorial->serverErrorTip = 'Error!'; diff --git a/module/tutorial/lang/zh-tw.php b/module/tutorial/lang/zh-tw.php index 1412008f5e..b355d1f163 100644 --- a/module/tutorial/lang/zh-tw.php +++ b/module/tutorial/lang/zh-tw.php @@ -25,6 +25,7 @@ $lang->tutorial->atTargetPage = '已在 目 $lang->tutorial->reloadTargetPage = '重新載入'; $lang->tutorial->target = '目標'; $lang->tutorial->targetPageTip = '按此指示打開【%s】頁面'; +$lang->tutorial->targetAppTip = '按此指示打開【%s】應用'; $lang->tutorial->requiredTip = '【%s】為必填項'; $lang->tutorial->congratulateTask = '恭喜,你完成了任務 【】!'; $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'] = "

在系統創建一個新的用戶帳號:

  • 打開 組織 用戶 添加用戶 頁面;
  • 在添加用戶表單中填寫新用戶信息;
  • 保存用戶信息。
"; +$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'] = "

在系統創建一個新的用戶帳號:

  • 打開 後台 人員 用戶 添加用戶 頁面;
  • 在添加用戶表單中填寫新用戶信息;
  • 保存用戶信息。
"; -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'] = "

在系統創建一個新的{$lang->productCommon}:

  • 打開 {$lang->productCommon} 添加{$lang->productCommon} 頁面;
  • 在表單中填寫要創建的{$lang->productCommon}信息;
  • 保存{$lang->productCommon}信息。
"; -} +$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'] = "

在系統創建一個新的項目集:

  • 打開 項目集 項目集列表 添加項目集 頁面;
  • 在添加項目集表單中填寫項目集信息;
  • 保存項目集信息。
"; -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'] = "

在系統創建一個新的{$lang->SRCommon}:

  • 打開 {$lang->productCommon} {$lang->SRCommon} 添加{$lang->SRCommon} 頁面;
  • 在表單中填寫要創建的{$lang->SRCommon}信息;
  • 保存{$lang->SRCommon}信息。
"; -} +$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'] = "

在系統創建一個新的{$lang->productCommon}:

  • 打開 {$lang->productCommon} {$lang->productCommon}列表 添加{$lang->productCommon} 頁面;
  • 在表單中填寫要創建的{$lang->productCommon}信息;
  • 保存{$lang->productCommon}信息。
"; -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'] = "

在系統創建一個新的{$lang->executionCommon}:

  • 打開 {$lang->executionCommon} 添加{$lang->executionCommon} 頁面;
  • 在表單中填寫要創建的{$lang->executionCommon}信息;
  • 保存{$lang->executionCommon}信息。
"; +$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'] = "

在系統創建一個新的{$lang->SRCommon}:

  • 打開 {$lang->productCommon} {$lang->SRCommon} 提{$lang->SRCommon} 頁面;
  • 在表單中填寫要創建的{$lang->SRCommon}信息;
  • 保存{$lang->SRCommon}信息。
"; - $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'] = "

管理{$lang->executionCommon}團隊成員:

  • 打開 {$lang->executionCommon} 團隊 團隊管理 頁面;
  • 選擇要加入團隊的成員;
  • 保存團隊成員信息。
"; +$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'] = "

在系統創建一個新的{$lang->projectCommon}:

  • 打開 {$lang->projectCommon} {$lang->projectCommon}列表 創建{$lang->projectCommon} 頁面;
  • 在表單中填寫要創建的{$lang->projectCommon}信息;
  • 保存{$lang->projectCommon}信息。
"; - 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'] = "

將{$lang->SRCommon}關聯到{$lang->executionCommon}:

  • 打開 {$lang->executionCommon} {$lang->SRCommon} 關聯{$lang->SRCommon} 頁面;
  • 在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon};
  • 保存關聯的{$lang->SRCommon}信息。
"; - } +$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'] = "

管理{$lang->projectCommon}團隊成員:

  • 打開 {$lang->projectCommon} 設置 團隊 團隊管理 頁面;
  • 選擇要加入團隊的成員;
  • 保存團隊成員信息。
"; - $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'] = "

將{$lang->executionCommon}{$lang->SRCommon}分解為任務:

  • 打開 {$lang->executionCommon} {$lang->SRCommon} 分解任務 頁面;
  • 在表單中填寫任務信息;
  • 保存任務信息。
"; -} +$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'] = "

在系統創建一個新的{$lang->executionCommon}:

  • 打開 {$lang->executionCommon} {$lang->executionCommon}列表 添加{$lang->executionCommon} 頁面;
  • 在表單中填寫要創建的{$lang->executionCommon}信息;
  • 保存{$lang->executionCommon}信息。
"; -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'] = "

在系統中提交一個Bug:

  • 打開 測試 Bug 提Bug
  • 在表單中填寫Bug信息;
  • 保存Bug信息。
"; -} +$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'] = "

管理{$lang->executionCommon}團隊成員:

  • 打開 {$lang->executionCommon} 設置 團隊 團隊管理 頁面;
  • 選擇要加入團隊的成員;
  • 保存團隊成員信息。
"; + +$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'] = "

將{$lang->SRCommon}關聯到{$lang->executionCommon}:

  • 打開 {$lang->executionCommon} {$lang->SRCommon} 關聯{$lang->SRCommon} 頁面;
  • 在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon};
  • 保存關聯的{$lang->SRCommon}信息。
"; + +$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'] = "

將{$lang->executionCommon}{$lang->SRCommon}分解為任務:

  • 打開 {$lang->executionCommon} {$lang->SRCommon} 分解任務 頁面;
  • 在表單中填寫任務信息;
  • 保存任務信息。
"; + +$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'] = "

在系統中提交一個Bug:

  • 打開 測試 Bug 提Bug
  • 在表單中填寫Bug信息;
  • 保存Bug信息。
"; diff --git a/module/upgrade/lang/version.php b/module/upgrade/lang/version.php index 88091e1602..1e343452b6 100644 --- a/module/upgrade/lang/version.php +++ b/module/upgrade/lang/version.php @@ -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'; diff --git a/module/upgrade/lang/zh-tw.php b/module/upgrade/lang/zh-tw.php index 6313c1801d..46475709ea 100644 --- a/module/upgrade/lang/zh-tw.php +++ b/module/upgrade/lang/zh-tw.php @@ -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 = '新建'; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index c1fbec195d..8e7af491cf 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -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);