Merge branch 'master' of github.com:easysoft/zentaopms

This commit is contained in:
wangyidong
2017-11-29 14:48:53 +08:00
15 changed files with 84 additions and 80 deletions
+13 -13
View File
@@ -1,37 +1,37 @@
1. What is ZenTao for?
1. What is ZenTao?
=====================
ZenTao is an open source project management software, developed by Qingdao Nature Easy Soft Network Technology Co., Ltd. Combining product management, project management, quality management, document management, organization management and to-do management, ZenTao is a professional R & D project management software, covering the core processes of R & D project management.
ZenTao is an open source project management software, developed by Qingdao Nature Easy Soft Network Technology Co., Ltd. Integrating product management, project management, quality management, document management, organization management and to-do management, ZenTao is a professional development project management tool, covering the core processes of development project management.
ZenTao is practical and pragmatic. It has full features and a beautiful interface, and is easy to operate. Zentao is well structured and can be flexibly extended. It also has powerful search features, various reports and API.
ZenTao is practical and pragmatic. It has full features and a beautiful interface, and is easy to operate. Zentao is well structured and can be extended flexibly. It also has powerful search features, various reports and API.
ZenTao focuses on R & D project management!
ZenTao focuses on development project management!
2. Why called ZenTao?
2. Why is it called ZenTao?
============================
Zen(禅) and Tao(道) are the two Chinese characters that have rich meanings in both religion and culture. ZenTao Project Management Software take the cutural meaning of Zen and Tao, and is expected to convey our understanding and thinking on management. Inspired by The Tao of Programming and The Zen of Programming, we named our software ZenTao.
Zen(禅) and Tao(道) are two Chinese characters that have rich meanings in both religion and culture. ZenTao Project Management Software takes the cutural meaning of Zen and Tao, and is expected to convey our understanding and thinking on management. Inspired by The Tao of Programming and The Zen of Programming, we named our software ZenTao.
3. Design philosophy of ZenTao Project Management Software
==========================================================
The main management philosophy of ZenTao Project Management Software is based on Scrum, an internationally popular agile management methodology. Scrum is very pragmatic and easy to operate, so it fits in the fast iterative software development projects. However, Scrum only defines the core management framework. There are still many details and processes that need to be extended and developed. Based on the philosophy of Scrum and the observation of the current R&D situation in China, ZenTao integrates bug management, test case management, release management and document management, and it covers the entire life cycle of software R&D. In ZenTao, the concept of product, project and test is clearly defined. Product team, development team and testing team coordinate and check with each other while they function differently. The three teams interact with each other through working on stories, tasks and bugs, and eventually deliver the product with quality.
The main management philosophy of ZenTao Project Management Software is based on Scrum, an internationally popular Agile management methodology. Scrum is very pragmatic and easy to operate, so it fits in the fast iterative software development projects. However, Scrum only defines the core management framework. Therefore, details and workflows have to be extended and developed. Based on the philosophy of Scrum and the observation of the current development situation in China, ZenTao integrates bug management, test management, release management and document management, which covers the entire life cycle of software development. In ZenTao, the concept of product, project and test is clearly defined. Product team, development team and QA team coordinate and check with each other while they function differently. The three teams interact with each other through working on stories, tasks and bugs, and eventually deliver the product with quality.
4. Why choose ZenTao Project Management Software?
===============================================
* ZenTao is a professional R&D project management software and canot be replaced by simple project management software.
* ZenTao has precise and pragmatic management philosphy, which will accelerate agile development.
* ZenTao has full features as a project management software: you don’t need to integrate several systems together, like mantisbt + trac + testlink.
* Open source codes and flexible extension mechanism, convenient for uses and secondary development of companies.
* ZenTao is a professional development project management software and canot be replaced by one simple project management software.
* ZenTao has precise and pragmatic management philosphy, which will accelerate Agile development.
* ZenTao has full features as a project management software, so you don’t have to integrate several systems together, like mantisbt + trac + testlink.
* Open source codes and flexible extension mechanism. It is convenient to use and develop based on ZenTao.
* Underlying framework and front-end UI framework developed independently; robust and stable with beautiful interface and friendly interaction.
* Perfect community mechanism; you can get technical support and help in time.
* Zero input which means you have no risk for choosing ZenTao compared with other commercial software that cost you thousands of dollars.
* Support various deployments, either private deployment or cloud service.
* Zero input, which means you have no risk for choosing ZenTao compared with other commercial software that cost you thousands of dollars.
* Support various ways of deployment, either private deployment or cloud service.
5. Features of ZenTao Project Management Software
+23 -23
View File
@@ -10,7 +10,7 @@
* @link http://www.ranzhi.org
*/
$lang->block = new stdclass();
$lang->block->common = 'Widget';
$lang->block->common = 'Block';
$lang->block->name = 'Name';
$lang->block->style = 'Style';
$lang->block->grid = 'Grid';
@@ -25,7 +25,7 @@ $lang->block->order = 'Order';
$lang->block->height = 'Height';
$lang->block->lblModule = 'Module';
$lang->block->lblBlock = 'Widget';
$lang->block->lblBlock = 'Block';
$lang->block->lblNum = 'Number';
$lang->block->lblHtml = 'HTML';
$lang->block->dynamic = 'Dynamic';
@@ -35,12 +35,12 @@ $lang->block->params = new stdclass();
$lang->block->params->name = 'Name';
$lang->block->params->value = 'Value';
$lang->block->createBlock = 'Create Widget';
$lang->block->createBlock = 'Add a Block';
$lang->block->editBlock = 'Edit';
$lang->block->ordersSaved = 'Ranking is saved.';
$lang->block->confirmRemoveBlock = 'Do you want to remove Widget【{0}】?';
$lang->block->ordersSaved = 'Order is saved.';
$lang->block->confirmRemoveBlock = 'Do you want to remove Block【{0}】?';
$lang->block->closeForever = 'Permanent Close';
$lang->block->confirmClose = 'Do you want to permanently close this block? Once done, it is not available to anyone. It can be switched on at Admin->Custom.';
$lang->block->confirmClose = 'Do you want to permanently close this block? Once done, it is not available to anyone. It can be activiated at Admin->Custom.';
$lang->block->remove = 'Remove';
$lang->block->refresh = 'Refresh';
$lang->block->hidden = 'Hide';
@@ -177,7 +177,7 @@ $lang->block->default['onlyTask']['my']['4']['grid'] = 6;
$lang->block->num = 'Number';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Ranking';
$lang->block->orderBy = 'Order by';
$lang->block->availableBlocks = new stdclass();
@@ -189,13 +189,13 @@ $lang->block->availableBlocks->story = 'My Stories';
$lang->block->availableBlocks->product = $lang->productCommon . 'List';
$lang->block->availableBlocks->project = $lang->projectCommon . 'List';
$lang->block->availableBlocks->plan = 'Plans';
$lang->block->availableBlocks->release = 'Release List';
$lang->block->availableBlocks->release = 'Releases';
$lang->block->availableBlocks->build = 'Builds';
$lang->block->availableBlocks->testtask = 'Test Builds';
$lang->block->moduleList['product'] = $lang->productCommon;
$lang->block->moduleList['project'] = $lang->projectCommon;
$lang->block->moduleList['qa'] = 'Testing';
$lang->block->moduleList['qa'] = 'QA';
$lang->block->moduleList['todo'] = 'To-Dos';
$lang->block->modules['product'] = new stdclass();
@@ -203,7 +203,7 @@ $lang->block->modules['product']->availableBlocks = new stdclass();
$lang->block->modules['product']->availableBlocks->list = $lang->productCommon . 'List';
$lang->block->modules['product']->availableBlocks->story = 'Stories';
$lang->block->modules['product']->availableBlocks->plan = 'Plans';
$lang->block->modules['product']->availableBlocks->release = 'Release List';
$lang->block->modules['product']->availableBlocks->release = 'Releases';
$lang->block->modules['project'] = new stdclass();
$lang->block->modules['project']->availableBlocks = new stdclass();
$lang->block->modules['project']->availableBlocks->list = $lang->projectCommon . 'List';
@@ -225,8 +225,8 @@ $lang->block->orderByList->task['id_asc'] = 'ID Ascending';
$lang->block->orderByList->task['id_desc'] = 'ID Descending';
$lang->block->orderByList->task['pri_asc'] = 'Priority Ascending';
$lang->block->orderByList->task['pri_desc'] = 'Priority Descending';
$lang->block->orderByList->task['estimate_asc'] = 'Estimated Time Ascending';
$lang->block->orderByList->task['estimate_desc'] = 'Estimated Time Descending';
$lang->block->orderByList->task['estimate_asc'] = 'Estimate Ascending';
$lang->block->orderByList->task['estimate_desc'] = 'Estimate Descending';
$lang->block->orderByList->task['status_asc'] = 'Status Ascending';
$lang->block->orderByList->task['status_desc'] = 'Status Descending';
$lang->block->orderByList->task['deadline_asc'] = 'Deadline Ascending';
@@ -237,20 +237,20 @@ $lang->block->orderByList->bug['id_asc'] = 'ID Ascending';
$lang->block->orderByList->bug['id_desc'] = 'ID Descending';
$lang->block->orderByList->bug['pri_asc'] = 'Priority Ascending';
$lang->block->orderByList->bug['pri_desc'] = 'Priority Descending';
$lang->block->orderByList->bug['severity_asc'] = 'Level Ascending';
$lang->block->orderByList->bug['severity_desc'] = 'Level Descending';
$lang->block->orderByList->bug['severity_asc'] = 'Severity Ascending';
$lang->block->orderByList->bug['severity_desc'] = 'Severity Descending';
$lang->block->orderByList->case = array();
$lang->block->orderByList->case['id_asc'] = 'ID Ascending';
$lang->block->orderByList->case['id_desc'] = 'ID Descending';
$lang->block->orderByList->case['pri_asc'] = 'PriorityAscending';
$lang->block->orderByList->case['pri_desc'] = 'PriorityDescending';
$lang->block->orderByList->case['pri_asc'] = 'Priority Ascending';
$lang->block->orderByList->case['pri_desc'] = 'Priority Descending';
$lang->block->orderByList->story = array();
$lang->block->orderByList->story['id_asc'] = 'ID Ascending';
$lang->block->orderByList->story['id_desc'] = 'ID Descending';
$lang->block->orderByList->story['pri_asc'] = 'PriorityAscending';
$lang->block->orderByList->story['pri_desc'] = 'PriorityDescending';
$lang->block->orderByList->story['pri_asc'] = 'Priority Ascending';
$lang->block->orderByList->story['pri_desc'] = 'Priority Descending';
$lang->block->orderByList->story['status_asc'] = 'Status Ascending';
$lang->block->orderByList->story['status_desc'] = 'Status Descending';
$lang->block->orderByList->story['stage_asc'] = 'Stage Ascending';
@@ -266,7 +266,7 @@ $lang->block->typeList->task['canceledBy'] = 'Cancelled by Me';
$lang->block->typeList->bug['assignedTo'] = 'Assigned to Me';
$lang->block->typeList->bug['openedBy'] = 'Created by Me';
$lang->block->typeList->bug['resolvedBy'] = 'Solved by Me';
$lang->block->typeList->bug['resolvedBy'] = 'Resolved by Me';
$lang->block->typeList->bug['closedBy'] = 'Closed by Me';
$lang->block->typeList->case['assigntome'] = 'Assigned to Me';
@@ -287,10 +287,10 @@ $lang->block->typeList->project['isdoing'] = 'Doing';
$lang->block->typeList->project['all'] = 'All';
$lang->block->typeList->project['involved'] = 'Involved';
$lang->block->typeList->testtask['wait'] = 'Testing Pending';
$lang->block->typeList->testtask['doing'] = 'Testing';
$lang->block->typeList->testtask['wait'] = 'Wait';
$lang->block->typeList->testtask['doing'] = 'Doing';
$lang->block->typeList->testtask['blocked'] = 'Blocked';
$lang->block->typeList->testtask['done'] = 'Tested';
$lang->block->typeList->testtask['done'] = 'Done';
$lang->block->typeList->testtask['all'] = 'All';
$lang->block->modules['product']->moreLinkList = new stdclass();
@@ -314,4 +314,4 @@ $lang->block->flowchart[] = array('Administration', 'Manage a Company', 'Add U
$lang->block->flowchart[] = array($lang->productCommon . ' Manager', 'Add ' . $lang->productCommon, 'Maintain Modules', 'Maintain Plans', 'Maintain Stories', 'Create Release');
$lang->block->flowchart[] = array($lang->projectCommon . ' Manager', 'Add ' . $lang->projectCommon, 'Maintain Teams', 'Link ' . $lang->productCommon . 's', 'Link Stories', 'Decompose Tasks');
$lang->block->flowchart[] = array('DEV Team', 'Claim Tasks/Bugs', 'Update Status', 'Finish Tasks/Bugs');
$lang->block->flowchart[] = array('Testing Team', 'Write Cases', 'Implement Cases', 'Report Bugs', 'Fix Bugs', 'Close Bugs');
$lang->block->flowchart[] = array('QA Team', 'Write Cases', 'Implement Cases', 'Report Bugs', 'Resolve Bugs', 'Close Bugs');
+14 -14
View File
@@ -105,7 +105,7 @@ $lang->menu = new stdclass();
$lang->menu->my = '<i class="icon-home"></i><span>Dashboard</span>|my|index';
$lang->menu->product = $lang->productCommon . '|product|index';
$lang->menu->project = $lang->projectCommon . '|project|index';
$lang->menu->qa = 'Testing|qa|index';
$lang->menu->qa = 'QA|qa|index';
$lang->menu->doc = 'Document|doc|index';
$lang->menu->report = 'Report|report|index';
$lang->menu->company = 'Company|company|index';
@@ -247,7 +247,7 @@ $lang->qa->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s
$lang->qa->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s');
$lang->qa->menu->report = array('link' => 'Report|testreport|browse|productID=%s');
$lang->qa->menu->caselib = array('link' => 'Library|testsuite|library');
$lang->qa->menu->index = array('link' => "<i class='icon-home'></i>TestingHomepage|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->qa->menu->index = array('link' => "<i class='icon-home'></i>QA|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->bug = new stdclass();
$lang->bug->menu = new stdclass();
@@ -259,7 +259,7 @@ $lang->bug->menu->testtask = array('link' => 'Build|testtask|browse|productID=%
$lang->bug->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s');
$lang->bug->menu->report = array('link' => 'Report|testreport|browse|productID=%s');
$lang->bug->menu->caselib = array('link' => 'Library|testsuite|library');
$lang->bug->menu->index = array('link' => "<i class='icon-home'></i>TestingHomepage|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->bug->menu->index = array('link' => "<i class='icon-home'></i>QA|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->testcase = new stdclass();
$lang->testcase->menu = new stdclass();
@@ -271,7 +271,7 @@ $lang->testcase->menu->testtask = array('link' => 'Build|testtask|browse|produc
$lang->testcase->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s', 'alias' => 'view,create,edit,linkcase');
$lang->testcase->menu->report = array('link' => 'Report|testreport|browse|productID=%s', 'alias' => 'view,create,edit');
$lang->testcase->menu->caselib = array('link' => 'Library|testsuite|library');
$lang->testcase->menu->index = array('link' => "<i class='icon-home'></i>TestingHomepage|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->testcase->menu->index = array('link' => "<i class='icon-home'></i>QA|qa|index|locate=no&productID=%s", 'float' => 'right');
$lang->testtask = new stdclass();
$lang->testtask->menu = $lang->testcase->menu;
@@ -306,7 +306,7 @@ $lang->report->menu = new stdclass();
$lang->report->menu->product = array('link' => $lang->productCommon . '|report|productsummary');
$lang->report->menu->prj = array('link' => $lang->projectCommon . '|report|projectdeviation');
$lang->report->menu->test = array('link' => 'Testing|report|bugcreate', 'alias' => 'bugassign');
$lang->report->menu->test = array('link' => 'Test|report|bugcreate', 'alias' => 'bugassign');
$lang->report->menu->staff = array('link' => 'Company|report|workload');
$lang->report->notice = new stdclass();
@@ -687,10 +687,10 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = 'Case|testcase|index';
$lang->menu->testsuite = 'Suite|testsuite|index';
$lang->menu->testtask = 'Testing|testtask|index';
$lang->menu->caselib = 'Library|testsuite|library';
$lang->menu->testcase = 'Test Case|testcase|index';
$lang->menu->testsuite = 'Test Suite|testsuite|index';
$lang->menu->testtask = 'Test Task|testtask|index';
$lang->menu->caselib = 'Case Library|testsuite|library';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
@@ -707,7 +707,7 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
$lang->bug->menu->assigntome = 'Assigned To Me|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->openedbyme = 'Created By Me|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->resolvedbyme = 'Resolved By Me|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->unconfirmed = 'Not Confirmed|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->menu->unconfirmed = 'Unconfirmed|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->menu->assigntonull = 'Unassigned|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->menu->unresolved = 'Unresolved|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->toclosed = 'To Be Closed|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
@@ -753,10 +753,10 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->product = array('link' => '%s', 'fixed' => true);
$lang->testtask->menu->scope = array('link' => '%s', 'fixed' => true);
$lang->testtask->menu->wait = 'Build to be Tested|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'Testing Build|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Blocked Build|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Tested Build|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->wait = 'Wait|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'Doing|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Blocked|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Done|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->totalStatus = 'All|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->report = array('link' => 'Report|testreport|browse');
$lang->testtask->menu->create = array('link' => "<i class='icon-plus'></i> Create|testtask|create|productID=%s", 'float' => 'right');
+5 -5
View File
@@ -91,18 +91,18 @@ $lang->custom->notice->longlife = 'List "Undone" bugs that are older
$lang->custom->notice->priListKey = 'Priority list key should be numbers!';
$lang->custom->notice->keyList = 'key should be English or digital!';
$lang->custom->notice->severityListKey = 'Bug severity list key should be numbers.';
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Homepage. Do you want to enter Product Homepage?";
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Homepage. Do you want to enter Project Homepage?";
$lang->custom->notice->indexPage['qa'] = "ZenTao 8.2+ has Testing Homepage. Do you want to enter Testing Homepage?";
$lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Homepage. Do you want to go to Product Homepage?";
$lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Homepage. Do you want to go to Project Homepage?";
$lang->custom->notice->indexPage['qa'] = "ZenTao 8.2+ has QA Homepage. Do you want to go to QA Homepage?";
$lang->custom->storyReview = 'Review';
$lang->custom->forceReview = 'Review Required';
$lang->custom->forceNotReview = 'Need not review';
$lang->custom->forceNotReview = 'No review';
$lang->custom->reviewList[1] = 'On';
$lang->custom->reviewList[0] = 'Off';
$lang->custom->deletedList[1] = 'Show';
$lang->custom->deletedList[0] = 'Not Show';
$lang->custom->deletedList[0] = 'Hide';
$lang->custom->workingHours = 'Man-Hour/Day';
$lang->custom->weekend = 'Weekend';
+2 -2
View File
@@ -84,7 +84,7 @@ $lang->dev->tableList['upgrade'] = 'Update';
$lang->dev->tableList['cron'] = 'Scheduled Task';
$lang->dev->tableList['mailqueue'] = 'Mail Queue';
$lang->dev->tableList['datatable'] = 'Data Table';
$lang->dev->tableList['block'] = 'Widget';
$lang->dev->tableList['block'] = 'Block';
$lang->dev->tableList['branch'] = 'Branch';
$lang->dev->tableList['doccontent'] = 'Doc Content';
$lang->dev->tableList['storystage'] = 'Story Stage';
@@ -94,7 +94,7 @@ $lang->dev->tableList['suitecase'] = 'Suite Case';
$lang->dev->groupList['my'] = 'Dashboard';
$lang->dev->groupList['product'] = $lang->productCommon;
$lang->dev->groupList['project'] = $lang->projectCommon;
$lang->dev->groupList['qa'] = 'Testing';
$lang->dev->groupList['qa'] = 'QA';
$lang->dev->groupList['doc'] = 'Document';
$lang->dev->groupList['company'] = 'Company';
$lang->dev->groupList['admin'] = 'Admin';
+1 -1
View File
@@ -61,7 +61,7 @@ $lang->editor->modules['my'] = 'Dashboard';
$lang->editor->modules['product'] = $lang->productCommon;
$lang->editor->modules['productplan'] = 'Plan';
$lang->editor->modules['project'] = $lang->projectCommon;
$lang->editor->modules['qa'] = 'Testing';
$lang->editor->modules['qa'] = 'QA';
$lang->editor->modules['release'] = 'Release';
$lang->editor->modules['report'] = 'Report';
$lang->editor->modules['search'] = 'Search';
+6 -6
View File
@@ -21,9 +21,9 @@ $lang->install->start = 'Start to Install';
$lang->install->keepInstalling = 'Continue installing this version.';
$lang->install->seeLatestRelease = 'View Latest Version';
$lang->install->welcome = 'Welcome to ZenTao Project Management Software!';
$lang->install->license = 'ZenTao PMS is under Z PUBLIC LICENSE(ZPL) 1.2';
$lang->install->license = 'ZenTao PMS is under Z PUBLIC LICENSE(ZPL) 1.2';
$lang->install->desc = <<<EOT
ZenTao Project Management Software (ZenTao PMS) is originated in China and under <a href='http://zpl.pub' target='_blank'>ZPL</a>. It us an open source and free project management software, integrated with Product Management、Project Management、Testing Management, as weel as To-Dos Management, Company Managementetc, which is the best choice for small and medium organizations to manage projects.
ZenTao Project Management Software (ZenTao PMS) is originated in China and under <a href='http://zpl.pub' target='_blank'>ZPL</a>. It us an open source and free project management software, integrated with Product Management、Project Management、QA Management, as weel as To-Dos Management, Company Managementetc, which is the best choice for small and medium organizations to manage projects.
ZenTao PMS uses PHP + MySQL as programming langugages and is based on ZenTaoPHP, an independent framwork developed by our team. Third party developers/organizations can develop extensions or customization tailored to their needs.
EOT;
@@ -130,8 +130,8 @@ $lang->install->groupList['ADMIN']['name'] = 'Admin';
$lang->install->groupList['ADMIN']['desc'] = 'System Admin';
$lang->install->groupList['DEV']['name'] = 'Dev';
$lang->install->groupList['DEV']['desc'] = 'Dev Team';
$lang->install->groupList['QA']['name'] = 'Testing';
$lang->install->groupList['QA']['desc'] = 'Testing Team';
$lang->install->groupList['QA']['name'] = 'QA';
$lang->install->groupList['QA']['desc'] = 'QA Team';
$lang->install->groupList['PM']['name'] = 'Project Manager';
$lang->install->groupList['PM']['desc'] = 'for Project Manager';
$lang->install->groupList['PO']['name'] = 'Product Owner';
@@ -140,8 +140,8 @@ $lang->install->groupList['TD']['name'] = 'Dev Supervisor';
$lang->install->groupList['TD']['desc'] = 'for Dev Supervisor';
$lang->install->groupList['PD']['name'] = 'Product Supervisor';
$lang->install->groupList['PD']['desc'] = 'for Product Supervisor';
$lang->install->groupList['QD']['name'] = 'Testing Supervisor';
$lang->install->groupList['QD']['desc'] = 'for Testing Supervisor';
$lang->install->groupList['QD']['name'] = 'QA Supervisor';
$lang->install->groupList['QD']['desc'] = 'for QA Supervisor';
$lang->install->groupList['TOP']['name'] = 'Senior Manager';
$lang->install->groupList['TOP']['desc'] = 'for Senior Manager';
$lang->install->groupList['OTHERS']['name'] = 'Other';
+1 -1
View File
@@ -4,7 +4,7 @@ $lang->mail->index = 'Home';
$lang->mail->detect = 'Testing';
$lang->mail->edit = 'Edit Settings';
$lang->mail->save = 'Saved';
$lang->mail->test = 'Email Testing';
$lang->mail->test = 'Email Sending Test';
$lang->mail->reset = 'Reset';
$lang->mail->resend = 'Resend';
$lang->mail->browse = 'Email List';
+1 -1
View File
@@ -79,7 +79,7 @@ $lang->misc->feature->all['9.0.beta'][] = array('title'=>'Optimized Rich Text Ed
$lang->misc->feature->all['8.3.stable'][] = array('title'=>'Improved Documentation.', 'desc' => '<p>Added Document Home, restructured document library, and added privileges.</p><p>Markdown Editor is supported,and privilege and version managment is added.</p>');
$lang->misc->feature->all['8.2.stable'][] = array('title'=>'Custom Home', 'desc' => '<p>You can add blocks to Dashboard and arrange the layout.</p><p> My Zone, Product, Project, and Testing all support home custom mentioned before. </p>');
$lang->misc->feature->all['8.2.stable'][] = array('title'=>'Custom Home', 'desc' => '<p>You can add blocks to Dashboard and arrange the layout.</p><p> My Zone, Product, Project, and QA all support home custom mentioned before. </p>');
$lang->misc->feature->all['8.2.stable'][] = array('title'=>'Custom Navigation', 'desc' => '<p>You can decide which project show in navigation bar and the order of projects shown in the bar.</p><p> Hover on the navigation bar and a sign will show to its right. Click the sign and a dialog box "Custom Navigation" will show. Drag the block name to switch its order on navigation bar.</p>');
$lang->misc->feature->all['8.2.stable'][] = array('title'=>'Batch Add/Edit Custom', 'desc' => '<p>You can batch add and edit fields on custom pages.</p>');
$lang->misc->feature->all['8.2.stable'][] = array('title'=>'Custom Story/Task/Bug/Case', 'desc' => '<p>You can custom fileds when add a Story/Task/Bug/Case.</p>');
+2 -2
View File
@@ -9,5 +9,5 @@
* @version $Id: en.php 4129 2013-01-18 01:58:14Z wwccss $
* @link http://www.zentao.net
*/
$lang->qa->common = 'Testing';
$lang->qa->index = 'Testing Home';
$lang->qa->common = 'QA';
$lang->qa->index = 'QA Home';
+1 -1
View File
@@ -145,7 +145,7 @@ $lang->story->sourceList['support'] = 'Technical support';
$lang->story->sourceList['competitor'] = 'Competitor';
$lang->story->sourceList['partner'] = 'Partner';
$lang->story->sourceList['dev'] = 'Dev Team';
$lang->story->sourceList['tester'] = 'Testing Team';
$lang->story->sourceList['tester'] = 'QA Team';
$lang->story->sourceList['bug'] = 'Bug';
$lang->story->sourceList['other'] = 'Other';
+2 -2
View File
@@ -21,7 +21,7 @@ $lang->task->delete = "Delete";
$lang->task->deleted = "Deleted";
$lang->task->delayed = 'Delayed';
$lang->task->view = "Info";
$lang->task->logEfforts = "Man-Hour Log";
$lang->task->logEfforts = "Man-Hour";
$lang->task->record = "Est.";
$lang->task->start = "Start";
$lang->task->restart = "Continue";
@@ -148,7 +148,7 @@ $lang->task->afterChoices['toTaskList'] = 'Back to Task List';
$lang->task->afterChoices['toStoryList'] = 'Back to Story List';
$lang->task->legendBasic = 'Basic Info';
$lang->task->legendEffort = 'Man-Hour';
$lang->task->legendEffort = 'Effort';
$lang->task->legendLife = 'Task Life';
$lang->task->legendDesc = 'Task Description';
+6 -6
View File
@@ -149,12 +149,12 @@ $lang->testcase->typeList['interface'] = 'Interface';
$lang->testcase->typeList['other'] = 'Other';
$lang->testcase->stageList[''] = '';
$lang->testcase->stageList['unittest'] = 'Unit Testing';
$lang->testcase->stageList['feature'] = 'Feature Testing';
$lang->testcase->stageList['intergrate'] = 'Integration Testing';
$lang->testcase->stageList['system'] = 'System Testing';
$lang->testcase->stageList['smoke'] = 'Smoking Testing';
$lang->testcase->stageList['bvt'] = 'BVT Testing';
$lang->testcase->stageList['unittest'] = 'Unit Test';
$lang->testcase->stageList['feature'] = 'Feature Test';
$lang->testcase->stageList['intergrate'] = 'Integration Test';
$lang->testcase->stageList['system'] = 'System Test';
$lang->testcase->stageList['smoke'] = 'Smoking Test';
$lang->testcase->stageList['bvt'] = 'BVT Test';
$lang->testcase->reviewResultList[''] = '';
$lang->testcase->reviewResultList['pass'] = 'Pass';
+6 -2
View File
@@ -1427,8 +1427,12 @@ class testcaseModel extends model
*/
public function forceNotReview()
{
if(!$this->config->testcase->needReview && isset($this->config->testcase->forceReview) && strpos(",{$this->config->testcase->forceReview},", ",{$this->app->user->account},") === false) return true;
if($this->config->testcase->needReview && strpos(",{$this->config->testcase->forceNotReview},", ",{$this->app->user->account},")) return true;
if(empty($this->config->testcase->needReview))
{
if(!isset($this->config->testcase->forceReview)) return true;
if(strpos(",{$this->config->testcase->forceReview},", ",{$this->app->user->account},") === false) return true;
}
if($this->config->testcase->needReview && strpos(",{$this->config->testcase->forceNotReview},", ",{$this->app->user->account},")) return true;
return false;
}
+1 -1
View File
@@ -72,7 +72,7 @@ $lang->user->profile = 'Profile';
$lang->user->project = $lang->projectCommon;
$lang->user->task = 'Task';
$lang->user->bug = 'Bug';
$lang->user->test = 'Testing';
$lang->user->test = 'Test';
$lang->user->testTask = 'Test Task';
$lang->user->testCase = 'Test Case';
$lang->user->todo = 'To-Do';