diff --git a/module/backup/lang/en.php b/module/backup/lang/en.php
index c80c82b839..6772be7439 100644
--- a/module/backup/lang/en.php
+++ b/module/backup/lang/en.php
@@ -16,6 +16,7 @@ $lang->backup->waitting = 'In Progree. Please
$lang->backup->confirmDelete = 'Do you want to delete the backup?';
$lang->backup->confirmRestore = 'Do you want to restore the backup?';
$lang->backup->holdDays = 'Backup the latest %s days.';
+$lang->backup->restoreTip = 'Only attachments and databases will be restored when you click restore button, if you need to restore the code, you can restore manually.';
$lang->backup->success = new stdclass();
$lang->backup->success->backup = 'Backed up!';
diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index 8ea2d64990..eec6bae734 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -553,3 +553,206 @@ $lang->icons['unlock'] = 'unlock-alt';
$lang->icons['confirmStoryChange'] = 'search';
include (dirname(__FILE__) . '/menuOrder.php');
+
+global $config;
+if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
+{
+ /* Remove project, report and qa module. */
+ unset($lang->menu->project);
+ unset($lang->menu->report);
+ unset($lang->menu->qa);
+
+ unset($lang->menuOrder[15]);
+ unset($lang->menuOrder[20]);
+ unset($lang->menuOrder[30]);
+
+ /* Adjust sub menu of my dashboard. */
+ unset($lang->my->menu->bug);
+ unset($lang->my->menu->testtask);
+ unset($lang->my->menu->task);
+ unset($lang->my->menu->myProject);
+
+ /* Adjust sub menu of product module. */
+ unset($lang->product->menu->project);
+
+ /* Rename product module. */
+ $lang->menu->product = 'Product|product|index';
+
+ /* Adjust search items. */
+ unset($lang->searchObjects['bug']);
+ unset($lang->searchObjects['task']);
+ unset($lang->searchObjects['testcase']);
+ unset($lang->searchObjects['project']);
+ unset($lang->searchObjects['build']);
+ unset($lang->searchObjects['testtask']);
+}
+
+if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
+{
+ /* Remove product, report and qa module. */
+ unset($lang->menu->product);
+ unset($lang->menu->report);
+ unset($lang->menu->qa);
+
+ unset($lang->menuOrder[10]);
+ unset($lang->menuOrder[20]);
+ unset($lang->menuOrder[30]);
+
+ /* Adjust sub menu of my dashboard. */
+ unset($lang->my->menu->bug);
+ unset($lang->my->menu->testtask);
+ unset($lang->my->menu->story);
+
+ /* Adjust sub menu of project module. */
+ unset($lang->project->menu->story);
+ unset($lang->project->menu->build);
+ unset($lang->project->menu->bug);
+ unset($lang->project->menu->testtask);
+ unset($lang->project->menu->product);
+
+ /* Remove sub menu of product module. */
+ unset($lang->product->menu);
+ unset($lang->product->menuOrder);
+
+ $lang->project->menu->task['subModule'] = 'task';
+ $lang->project->menu->task['alias'] = 'grouptask,importtask';
+
+ unset($lang->searchObjects['bug']);
+ unset($lang->searchObjects['story']);
+ unset($lang->searchObjects['product']);
+ unset($lang->searchObjects['testcase']);
+ unset($lang->searchObjects['build']);
+ unset($lang->searchObjects['release']);
+ unset($lang->searchObjects['productplan']);
+ unset($lang->searchObjects['testtask']);
+}
+
+if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
+{
+ /* Remove project and test module. */
+ unset($lang->menu->project);
+ unset($lang->menu->qa);
+ unset($lang->menu->report);
+
+ unset($lang->menuOrder[15]);
+ unset($lang->menuOrder[20]);
+ unset($lang->menuOrder[30]);
+
+ /* Rename product module. */
+ $lang->menu->product = 'Product|product|index';
+
+ /* Adjust sub menu of my dashboard. */
+ unset($lang->my->menu->task);
+ unset($lang->my->menu->myProject);
+ unset($lang->my->menu->story);
+
+ /* Remove sub menu of project module. */
+ unset($lang->project->menu);
+ unset($lang->project->menuOrder);
+
+ /* Add bug, testcase and testtask module. */
+ $lang->menu->bug = 'Bug|bug|index';
+ $lang->menu->testcase = 'Case|testcase|index';
+ $lang->menu->testtask = 'Testing|testtask|index';
+ $lang->menu->caselib = 'Library|testsuite|library';
+
+ $lang->menuOrder[6] = 'bug';
+ $lang->menuOrder[7] = 'testcase';
+ $lang->menuOrder[8] = 'testtask';
+ $lang->menuOrder[9] = 'caselib';
+
+ /* Adjust sub menu of bug module. */
+ $lang->bug->menu = new stdclass();
+ $lang->bug->menu->product = '%s';
+ $lang->bug->menu->browse = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree');
+ $lang->bug->menu->create = array('link' => 'Create Bug|bug|create|productID=%s');
+
+ $lang->bug->menuOrder[5] = 'product';
+ $lang->bug->menuOrder[10] = 'browse';
+ $lang->bug->menuOrder[15] = 'create';
+
+ /* Adjust sub menu of testcase. */
+ $lang->testcase->menu = new stdclass();
+ $lang->testcase->menu->product = '%s';
+ $lang->testcase->menu->browse = array('link' => 'Case|testcase|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree');
+ $lang->testcase->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s', 'alias' => 'linkcase,create,edit,view');
+
+ $lang->testcase->menuOrder[5] = 'product';
+ $lang->testcase->menuOrder[10] = 'browse';
+ $lang->testcase->menuOrder[15] = 'testsuite';
+
+ /* Adjust sub menu of bug module. */
+ $lang->testsuite->menu = new stdclass();
+ $lang->testsuite->menu->product = '%s';
+ $lang->testsuite->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree');
+ $lang->testsuite->menu->browse = array('link' => 'Suite|testsuite|browse|productID=%s', 'alias' => 'linkcase,create,edit,view');
+
+ $lang->testsuite->menuOrder[5] = 'product';
+ $lang->testsuite->menuOrder[10] = 'testcase';
+ $lang->testsuite->menuOrder[15] = 'browse';
+
+ /* Adjust sub menu of testtask. */
+ $lang->testtask->menu = new stdclass();
+ $lang->testtask->menu->product = '%s';
+ $lang->testtask->menu->browse = array('link' => 'Build|testtask|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree');
+ $lang->testtask->menu->create = array('link' => 'Create Test|testtask|create|productID=%s');
+ $lang->testtask->menu->report = array('link' => 'Report|testreport|browse');
+
+ $lang->testtask->menuOrder[5] = 'product';
+ $lang->testtask->menuOrder[10] = 'browse';
+ $lang->testtask->menuOrder[15] = 'create';
+ $lang->testtask->menuOrder[20] = 'report';
+
+ /* Adjust sub menu of caselib module. */
+ $lang->caselib->menu = new stdclass();
+ $lang->caselib->menu->lib = array('link' => '%s', 'fixed' => true);
+ $lang->caselib->menu->caselib = array('link' => 'Library|testsuite|library', 'alias' => 'createlib,createcase,libview,edit,batchcreatecase,showimport', 'subModule' => 'tree,testcase');
+ $lang->caselib->menu->createlib = array('link' => "Create Library|testsuite|createLib|", 'float' => 'right');
+
+ /* Adjust sub menu of report module. */
+ $lang->testreport->menu = new stdclass();
+ $lang->testreport->menu->product = '%s';
+ $lang->testreport->menu->browse = array('link' => 'Build|testtask|browse|productID=%s', 'alias' => 'viewedit,resolve,close,activate,report', 'subModule' => 'tree');
+ $lang->testreport->menu->create = array('link' => 'Create Test|testtask|create|productID=%s');
+ $lang->testreport->menu->report = array('link' => 'Report|testreport|browse');
+
+ $lang->testreport->menuOrder[5] = 'product';
+ $lang->testreport->menuOrder[10] = 'browse';
+ $lang->testreport->menuOrder[15] = 'create';
+ $lang->testreport->menuOrder[20] = 'report';
+
+ /* Adjust sub menu of product module. */
+ unset($lang->product->menu->story);
+ unset($lang->product->menu->project);
+ unset($lang->product->menu->release);
+ unset($lang->product->menu->dynamic);
+ unset($lang->product->menu->plan);
+ unset($lang->product->menu->roadmap);
+ unset($lang->product->menu->doc);
+ unset($lang->product->menu->module);
+
+ $lang->product->menu->build = array('link' => 'Build|product|build', 'subModule' => 'build');
+
+ $lang->product->menuOrder[5] = 'build';
+ $lang->product->menuOrder[10] = 'view';
+ $lang->product->menuOrder[15] = 'order';
+
+ $lang->build->menu = $lang->product->menu;
+ $lang->build->menuOrder = $lang->product->menuOrder;
+
+ /* Adjust menu group. */
+ $lang->menugroup->bug = 'bug';
+ $lang->menugroup->testcase = 'testcase';
+ $lang->menugroup->testtask = 'testtask';
+ $lang->menugroup->testsuite = 'caselib';
+ $lang->menugroup->testreport = 'testtask';
+ $lang->menugroup->build = 'product';
+
+ /* Adjust search objects. */
+ unset($lang->searchObjects['story']);
+ unset($lang->searchObjects['task']);
+ unset($lang->searchObjects['release']);
+ unset($lang->searchObjects['productplan']);
+
+ $lang->zentaoPMS = 'zentao test';
+}
diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php
index beec17f585..1fd02a9a4e 100644
--- a/module/doc/lang/en.php
+++ b/module/doc/lang/en.php
@@ -82,6 +82,12 @@ $lang->doc->libTypeList['custom'] = 'Custom Library';
$lang->doc->systemLibs['product'] = $lang->productCommon . 'DocumentLibrary';
$lang->doc->systemLibs['project'] = $lang->projectCommon . 'DocumentLibrary';
+global $config;
+if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
+if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
+if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
+if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
+
$lang->doc->aclList['open'] = 'Public';
$lang->doc->aclList['custom'] = 'Custom';
$lang->doc->aclList['private'] = 'Private';
diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php
index 17d8cd12e3..c14c19a519 100644
--- a/module/doc/lang/zh-cn.php
+++ b/module/doc/lang/zh-cn.php
@@ -88,7 +88,6 @@ if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest')
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
-
$lang->doc->aclList['open'] = '公开';
$lang->doc->aclList['custom'] = '自定义';
$lang->doc->aclList['private'] = '私有';
diff --git a/module/file/lang/en.php b/module/file/lang/en.php
index f9f20b7b60..56f2e20962 100644
--- a/module/file/lang/en.php
+++ b/module/file/lang/en.php
@@ -26,12 +26,18 @@ $lang->file->exportFields = "Fileds to be Exported";
$lang->file->defaultTPL = "Default Template";
$lang->file->setExportTPL = "Settings";
$lang->file->preview = "Preview";
+$lang->file->addFile = 'Add File';
+$lang->file->beginUpload = 'Start uploading';
+$lang->file->uploadSuccess = 'uploaded Successfully';
+$lang->file->dragFile = 'Please drag here.';
$lang->file->errorNotExists = "'%s' is not found.";
$lang->file->errorCanNotWrite = "'%s' is not writable. Please change its permission. Enter sudo chmod -R 777 '%s' in Linux.";
$lang->file->confirmDelete = " Do you want to delete it?";
$lang->file->errorFileSize = " File size exceeds the limit. It cannot be uploaded!";
$lang->file->errorFileUpload = " Uploading failed. File size might exceeds the limit.";
+$lang->file->errorFileFormate = " Uploading failed, file format is limited.";
+$lang->file->errorFileMove = " Uploading failed, there was an error when moving file.";
$lang->file->dangerFile = " File has been rejected to upload for security issues.";
$lang->file->errorSuffix = 'Format is incorrect. .zip files ONLY!';
$lang->file->errorExtract = 'Extracting file failed. File might be damaged or invalid files in the zip package.';
diff --git a/module/install/lang/en.php b/module/install/lang/en.php
index 6be2075c9d..bad485b79b 100644
--- a/module/install/lang/en.php
+++ b/module/install/lang/en.php
@@ -81,10 +81,16 @@ $lang->install->dbName = 'Database Library';
$lang->install->dbPrefix = 'Database Table Prefix';
$lang->install->clearDB = 'Clear Database';
$lang->install->importDemoData = 'Import Demo Data';
+$lang->install->working = 'Working way';
$lang->install->requestTypes['GET'] = 'GET';
$lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO';
+$lang->install->workingList['full'] = 'Full';
+$lang->install->workingList['onlyTest'] = 'Only Test';
+$lang->install->workingList['onlyStory'] = 'Only Story';
+$lang->install->workingList['onlyTask'] = 'Only Task';
+
$lang->install->errorConnectDB = 'Connection to database Failed. ';
$lang->install->errorDBName = 'Database name should exclude “.” ';
$lang->install->errorCreateDB = 'Database creation failed.';
diff --git a/module/product/lang/en.php b/module/product/lang/en.php
index f567d3f6b3..fb2d2633c9 100644
--- a/module/product/lang/en.php
+++ b/module/product/lang/en.php
@@ -40,6 +40,7 @@ $lang->product->builds = 'Builds';
$lang->product->roadmap = 'Roadmap';
$lang->product->doc = 'Documents';
$lang->product->project = $lang->projectCommon . 'List';
+$lang->product->build = 'Build List';
$lang->product->confirmDelete = " Do you want to delete {$lang->productCommon}?";
diff --git a/module/project/lang/en.php b/module/project/lang/en.php
index 2fc63a3887..63f23eafce 100644
--- a/module/project/lang/en.php
+++ b/module/project/lang/en.php
@@ -262,3 +262,10 @@ $lang->project->treeLevel['root'] = 'Show Root';
$lang->project->treeLevel['story'] = 'Show Story';
$lang->project->treeLevel['task'] = 'Show Task';
$lang->project->treeLevel['all'] = 'Show All';
+
+global $config;
+if($config->global->flow == 'onlyTask')
+{
+ unset($lang->project->groups['story']);
+ unset($lang->project->featureBar['task']['needconfirm']);
+}
diff --git a/module/testsuite/lang/en.php b/module/testsuite/lang/en.php
index 39bcc7f151..7ee91be91c 100644
--- a/module/testsuite/lang/en.php
+++ b/module/testsuite/lang/en.php
@@ -20,6 +20,8 @@ $lang->testsuite->linkVersion = "Version";
$lang->testsuite->unlinkCase = "Unlink";
$lang->testsuite->batchUnlinkCases = "Batch unlink cases";
$lang->testsuite->deleted = 'deleted';
+$lang->testsuite->exportTemplet = 'Export template';
+$lang->testsuite->importFile = 'Import CSV';
$lang->testsuite->common = 'Test Suite';
$lang->testsuite->product = $lang->productCommon;
diff --git a/module/todo/lang/en.php b/module/todo/lang/en.php
index 35cbd11dc6..a2d1fb6f61 100644
--- a/module/todo/lang/en.php
+++ b/module/todo/lang/en.php
@@ -57,6 +57,10 @@ $lang->todo->typeList['custom'] = 'Custom';
$lang->todo->typeList['bug'] = 'Bug';
$lang->todo->typeList['task'] = $lang->projectCommon . 'Task';
+global $config;
+if($config->global->flow == 'onlyTest' or $config->global->flow == 'onlyStory') unset($lang->todo->typeList['task']);
+if($config->global->flow == 'onlyTask' or $config->global->flow == 'onlyStory') unset($lang->todo->typeList['bug']);
+
$lang->todo->confirmDelete = "Are you sure to delete this To-Do?";
$lang->todo->thisIsPrivate = 'This is a private To-Do:)';
$lang->todo->lblDisableDate = 'Set later.';