diff --git a/doc/CHANGELOG b/doc/CHANGELOG index a5ba0bfec3..d702101a98 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,3 +1,28 @@ +2021-07-20 15.2 +27297 调整产品下拉菜单信息展现方式 +27298 调整执行下拉菜单信息展现方式 +27300 调整测试中产品下拉菜单信息展现方式 +27304 开始升级引导页面中增加新版本功能的详细说明 +27309 在进行数据迁移页面增加全选/取消全选功能。 +27316 实现产品的批量编辑功能 +27317 项目下迭代的批量编辑中增加修改所属项目功能 +27318 合并禅道15.1的代码 +27325 执行的二级导航中增加执行看板菜单 +27326 实现执行的看板视图功能 +27296 调整项目下拉菜单信息展现方式 +27330 数据迁移提示信息中,调整相关文案避免误导用户 +27332 实现不同泳道可以显示不同的背景颜色 +27333 实现执行看板的卡片功能 +27334 执行看板的卡片支持点击跳转到执行任务列表页面 +27335 安装禅道新版本后后台可以设置使用模式 +27338 实现把历史的项目作为项目升级的数据迁移功能 +27339 使用把历史的项目作为项目升级后,系统自动创建一个与该项目同名的迭代 +27342 执行看板中鼠标悬浮到卡片上时可以显示完整卡片信息 +27343 安装禅道新版本后,引导初次进入禅道页面的管理人员设置使用模式 +27344 地盘首页中增加角色流程图区块 +27345 实现把历史的项目作为执行升级的数据迁移功能 +27327 看板列设定最多显示5个卡片的限制 + 2021-06-25 15.0.3 修复的Bug 6947 安装学院插件后,编辑用户无法保存 diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index 80fdeb68ba..971716aafe 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -103,6 +103,7 @@ $lang->action->objectTypes['entry'] = '應用'; $lang->action->objectTypes['webhook'] = 'Webhook'; $lang->action->objectTypes['team'] = '團隊'; $lang->action->objectTypes['whitelist'] = '白名單'; +$lang->action->objectTypes['pipeline'] = 'GitLib'; /* 用來描述操作歷史記錄。*/ $lang->action->desc = new stdclass(); diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index 6b1a5ccb0e..1f1fa7978d 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -71,6 +71,7 @@ $lang->block->estimatedHours = '預計'; $lang->block->consumedHours = '已消耗'; $lang->block->time = '第'; $lang->block->week = '周'; +$lang->block->month = '月'; $lang->block->selectProduct = '選擇產品'; $lang->block->of = '的'; $lang->block->remain = '剩餘工時'; @@ -279,63 +280,69 @@ $lang->block->default['full']['my']['2']['block'] = 'dynamic'; $lang->block->default['full']['my']['2']['grid'] = 4; $lang->block->default['full']['my']['2']['source'] = ''; -$lang->block->default['full']['my']['3']['title'] = '我的待辦'; -$lang->block->default['full']['my']['3']['block'] = 'list'; -$lang->block->default['full']['my']['3']['grid'] = 4; -$lang->block->default['full']['my']['3']['source'] = 'todo'; -$lang->block->default['full']['my']['3']['params']['count'] = '20'; +$lang->block->default['full']['my']['3']['title'] = '流程圖'; +$lang->block->default['full']['my']['3']['block'] = 'flowchart'; +$lang->block->default['full']['my']['3']['source'] = ''; +$lang->block->default['full']['my']['3']['grid'] = 8; + +$lang->block->default['full']['my']['4']['title'] = '我的待辦'; +$lang->block->default['full']['my']['4']['block'] = 'list'; +$lang->block->default['full']['my']['4']['grid'] = 4; +$lang->block->default['full']['my']['4']['source'] = 'todo'; +$lang->block->default['full']['my']['4']['params']['count'] = '20'; if($config->systemMode == 'new') { - $lang->block->default['full']['my']['4']['title'] = '項目統計'; - $lang->block->default['full']['my']['4']['block'] = 'statistic'; - $lang->block->default['full']['my']['4']['source'] = 'project'; - $lang->block->default['full']['my']['4']['grid'] = 8; - $lang->block->default['full']['my']['4']['params']['count'] = '20'; + $lang->block->default['full']['my']['5']['title'] = '項目統計'; + $lang->block->default['full']['my']['5']['block'] = 'statistic'; + $lang->block->default['full']['my']['5']['source'] = 'project'; + $lang->block->default['full']['my']['5']['grid'] = 8; + $lang->block->default['full']['my']['5']['params']['count'] = '20'; } -$lang->block->default['full']['my']['5']['title'] = '我的貢獻'; -$lang->block->default['full']['my']['5']['block'] = 'contribute'; -$lang->block->default['full']['my']['5']['source'] = ''; -$lang->block->default['full']['my']['5']['grid'] = 4; +$lang->block->default['full']['my']['6']['title'] = '我的貢獻'; +$lang->block->default['full']['my']['6']['block'] = 'contribute'; +$lang->block->default['full']['my']['6']['source'] = ''; +$lang->block->default['full']['my']['6']['grid'] = 4; -$lang->block->default['full']['my']['6']['title'] = '我近期參與的項目'; -$lang->block->default['full']['my']['6']['block'] = 'recentproject'; -$lang->block->default['full']['my']['6']['source'] = 'project'; -$lang->block->default['full']['my']['6']['grid'] = 8; - -$lang->block->default['full']['my']['7']['title'] = '待處理'; -$lang->block->default['full']['my']['7']['block'] = 'assigntome'; -$lang->block->default['full']['my']['7']['source'] = ''; +$lang->block->default['full']['my']['7']['title'] = '我近期參與的項目'; +$lang->block->default['full']['my']['7']['block'] = 'recentproject'; +$lang->block->default['full']['my']['7']['source'] = 'project'; $lang->block->default['full']['my']['7']['grid'] = 8; -$lang->block->default['full']['my']['7']['params']['todoNum'] = '20'; -$lang->block->default['full']['my']['7']['params']['taskNum'] = '20'; -$lang->block->default['full']['my']['7']['params']['bugNum'] = '20'; -$lang->block->default['full']['my']['7']['params']['riskNum'] = '20'; -$lang->block->default['full']['my']['7']['params']['issueNum'] = '20'; -$lang->block->default['full']['my']['7']['params']['storyNum'] = '20'; +$lang->block->default['full']['my']['8']['title'] = '待處理'; +$lang->block->default['full']['my']['8']['block'] = 'assigntome'; +$lang->block->default['full']['my']['8']['source'] = ''; +$lang->block->default['full']['my']['8']['grid'] = 8; + +$lang->block->default['full']['my']['8']['params']['todoNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['taskNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['bugNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['riskNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['issueNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['storyNum'] = '20'; +$lang->block->default['full']['my']['8']['params']['meetingNum'] = '20'; if($config->systemMode == 'new') { - $lang->block->default['full']['my']['8']['title'] = '項目人力投入'; - $lang->block->default['full']['my']['8']['block'] = 'projectteam'; - $lang->block->default['full']['my']['8']['source'] = 'project'; - $lang->block->default['full']['my']['8']['grid'] = 8; + $lang->block->default['full']['my']['9']['title'] = '項目人力投入'; + $lang->block->default['full']['my']['9']['block'] = 'projectteam'; + $lang->block->default['full']['my']['9']['source'] = 'project'; + $lang->block->default['full']['my']['9']['grid'] = 8; } -$lang->block->default['full']['my']['9']['title'] = '項目列表'; -$lang->block->default['full']['my']['9']['block'] = 'project'; -$lang->block->default['full']['my']['9']['source'] = 'project'; -$lang->block->default['full']['my']['9']['grid'] = 8; +$lang->block->default['full']['my']['10']['title'] = '項目列表'; +$lang->block->default['full']['my']['10']['block'] = 'project'; +$lang->block->default['full']['my']['10']['source'] = 'project'; +$lang->block->default['full']['my']['10']['grid'] = 8; if($config->systemMode == 'classic') { - $lang->block->default['full']['my']['9']['block'] = 'execution'; - $lang->block->default['full']['my']['9']['source'] = 'execution'; + $lang->block->default['full']['my']['10']['block'] = 'execution'; + $lang->block->default['full']['my']['10']['source'] = 'execution'; } -$lang->block->default['full']['my']['9']['params']['orderBy'] = 'id_desc'; -$lang->block->default['full']['my']['9']['params']['count'] = '15'; +$lang->block->default['full']['my']['10']['params']['orderBy'] = 'id_desc'; +$lang->block->default['full']['my']['10']['params']['count'] = '15'; $lang->block->count = '數量'; $lang->block->type = '類型'; @@ -355,6 +362,7 @@ $lang->block->availableBlocks->build = '版本列表'; $lang->block->availableBlocks->testtask = '測試版本列表'; $lang->block->availableBlocks->risk = '我的風險'; $lang->block->availableBlocks->issue = '我的問題'; +$lang->block->availableBlocks->meeting = '我的會議'; if($config->systemMode == 'new') $lang->block->moduleList['project'] = '項目'; $lang->block->moduleList['product'] = $lang->productCommon; @@ -472,12 +480,13 @@ $lang->block->orderByList->story['status_desc'] = '狀態倒序'; $lang->block->orderByList->story['stage_asc'] = '階段正序'; $lang->block->orderByList->story['stage_desc'] = '階段倒序'; -$lang->block->todoNum = '待辦數'; -$lang->block->taskNum = '任務數'; -$lang->block->bugNum = 'Bug數'; -$lang->block->riskNum = '風險數'; -$lang->block->issueNum = '問題數'; -$lang->block->storyNum = '需求數'; +$lang->block->todoNum = '待辦數'; +$lang->block->taskNum = '任務數'; +$lang->block->bugNum = 'Bug數'; +$lang->block->riskNum = '風險數'; +$lang->block->issueNum = '問題數'; +$lang->block->storyNum = '需求數'; +$lang->block->meetingNum = '會議數'; $lang->block->typeList = new stdclass(); @@ -568,9 +577,11 @@ $lang->block->welcomeList['19:00'] = '%s,晚上好!'; $lang->block->gridOptions[8] = '左側'; $lang->block->gridOptions[4] = '右側'; -$lang->block->flowchart = array(); -$lang->block->flowchart['admin'] = array('管理員', '維護公司', '添加用戶', '維護權限'); -$lang->block->flowchart['product'] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', "維護計劃", "維護{$lang->SRCommon}", '創建發佈'); -$lang->block->flowchart['execution'] = array($lang->executionCommon . '經理', '創建' . $lang->executionCommon, '維護團隊', '關聯' . $lang->productCommon, "關聯{$lang->SRCommon}", '分解任務'); -$lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '更新狀態', '完成任務和Bug'); -$lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug'); +$lang->block->flowchart = array(); +$lang->block->flowchart['admin'] = array('管理員', '維護公司', '添加用戶', '維護權限'); +if($config->systemMode == 'new') $lang->block->flowchart['program'] = array('項目集負責人', '創建項目集', '關聯產品', "創建項目", "制定預算和規劃", '添加干係人'); +$lang->block->flowchart['product'] = array($lang->productCommon . '經理', '創建' . $lang->productCommon, '維護模組', "維護計劃", "維護需求", '創建發佈'); +$lang->block->flowchart['project'] = array('項目經理', '創建' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); +if($config->systemMode == 'new') $lang->block->flowchart['project'] = array('項目經理', '創建項目、' . $lang->executionCommon, '維護團隊', "關聯需求", '分解任務', '跟蹤進度'); +$lang->block->flowchart['dev'] = array('研發人員', '領取任務和Bug', '設計實現方案', '更新狀態', '完成任務和Bug', '提交代碼'); +$lang->block->flowchart['tester'] = array('測試人員', '撰寫用例', '執行用例', '提交Bug', '驗證Bug', '關閉Bug'); diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 584b1c7d59..3e8aeec95e 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -24,6 +24,7 @@ $lang->bug->storyVersion = 'Story Version'; $lang->bug->color = 'Color'; $lang->bug->task = 'Task'; $lang->bug->title = 'Title'; +$lang->bug->sync2gitlab = 'Sync gitlab'; $lang->bug->severity = 'Severity'; $lang->bug->severityAB = 'S'; $lang->bug->pri = 'Priority'; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index 1bb3857d3d..813293bb93 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -24,6 +24,7 @@ $lang->bug->storyVersion = "{$lang->SRCommon}版本"; $lang->bug->color = '標題顏色'; $lang->bug->task = '相關任務'; $lang->bug->title = 'Bug標題'; +$lang->bug->sync2gitlab = '同步gitlab'; $lang->bug->severity = '嚴重程度'; $lang->bug->severityAB = '級別'; $lang->bug->pri = '優先順序'; @@ -181,7 +182,7 @@ $lang->bug->remindTask = '該Bug已經轉化為任務,是否更新 $lang->bug->skipClose = 'Bug %s 不是已解決狀態,不能關閉。'; $lang->bug->executionAccessDenied = "您無權訪問該Bug所屬的{$lang->executionCommon}!"; $lang->bug->stepsNotEmpty = "重現步驟不能為空。"; -$lang->bug->confirmUnlinkBuild = "更換解决版本將取消與舊版本的關聯,您確定取消該bug與%s的關聯嗎?"; +$lang->bug->confirmUnlinkBuild = "更換解決版本將取消與舊版本的關聯,您確定取消該bug與%s的關聯嗎?"; /* 模板。*/ $lang->bug->tplStep = "
[步驟]
How do you like to use ZenTao?
EOD; + + + + $lang->upgrade->mergeProgramDesc = <<ZenTao will create an item in Execute with the same name of {$lang->projectCommon} according to the data in {$lang->projectCommon}, and move the tasks, stories, and bugs in {$lang->projectCommon} to it.
EOT; + $lang->upgrade->createExecutionTip = <<After the upgrade, the data of existing {$lang->projectCommon} will be in a Project - Execute of the new version .
EOT; - include dirname(__FILE__) . '/version.php'; diff --git a/module/upgrade/lang/zh-tw.php b/module/upgrade/lang/zh-tw.php index 9a23d8d0df..84adaa488e 100644 --- a/module/upgrade/lang/zh-tw.php +++ b/module/upgrade/lang/zh-tw.php @@ -58,28 +58,36 @@ $lang->upgrade->toPRO10Guide = '禪道專業版10版本升級'; $lang->upgrade->toBIZ5Guide = '禪道企業版5版本升級'; $lang->upgrade->toMAXGuide = '禪道旗艦版版本升級'; $lang->upgrade->to15Desc = <<尊敬的用戶,禪道從15版本開始系統功能做了重大升級,主要改動如下:
+一、增加了項目集概念
+項目集是一組相互關聯,且被協調管理的項目集合,處于最高層級,屬於戰略層面的概念。它可以進行多層級管理,幫助管理者站在宏觀的視角去制定戰略方向和分配資源。
+二、明確了產品和項目概念
+產品是定義做什麼,主要管理需求;項目是定義如何做,主要是在規定的時間、預算和質量目標範圍內完成項目的各種工作,可以通過敏捷迭代的方式,也可以通過瀑布階段的方式,屬於戰役層面的管理。
+三、增加了項目模型概念
+新版本在敏捷管理模型的基礎上增加了瀑布管理模型(旗艦版提供),後續還會支持看板管理模型,幫助項目團隊按需選擇適合的項目管理方式。
+四、增加了執行概念
+新版本中,根據選擇管理模型的不同,一個項目可以包含多個迭代/衝刺或階段,我們把多個迭代/衝刺或階段統稱為執行,通過執行去完成項目的任務,交付最終的結果。
+五、調整了導航結構
+將一級導航調整到了界面左側,同時增加了多應用切換的全新交互體驗。
+您可以在綫體驗最新版本的功能,以決定是否啟用新的模式:最新版演示demo
+您還可以下載新版本功能介紹PPT:最新版功能介紹PPT
+ +禪道15.0版本介紹
您可以在綫體驗最新版本的功能,以決定是否啟用的模式:演示demo
-請問您計劃如何使用禪道的新版本呢?
EOD; $lang->upgrade->mergeProgramDesc = <<可以將整個產品綫及其下面的產品和迭代遷移到一個項目集和項目中,當然您也可以根據需要分開遷移。
-可以選擇多個產品及其下面的迭代遷移到一個項目集和項目中,也可以選擇某一個產品和產品下面的迭代遷移到項目集和項目中。
-可以選擇若干個迭代遷移到一個項目集中,也可以獨立遷移。
-可以選擇這些迭代歸屬於某個新項目下。
+接下來我們會把之前歷史{$lang->productCommon}和{$lang->projectCommon}數據遷移到項目集和項目下,遷移的情況如下:
可以將整個{$lang->productCommon}綫及其下面的{$lang->productCommon}和{$lang->projectCommon}遷移到一個項目集中,當然您也可以根據需要分開遷移。
+可以選擇多個{$lang->productCommon}及其下面的{$lang->projectCommon}遷移到一個項目集中,也可以選擇某一個{$lang->productCommon}和{$lang->productCommon}下面的{$lang->projectCommon}遷移到項目集中。
+可以選擇若干個{$lang->projectCommon}遷移到一個項目集中,也可以獨立遷移。
+可以選擇這些{$lang->projectCommon}歸屬於某個新項目下。
EOD; $lang->upgrade->to15Mode['classic'] = '保持老版本的習慣'; @@ -88,24 +96,43 @@ $lang->upgrade->to15Mode['new'] = '全新項目集管理模式'; $lang->upgrade->selectedModeTips['classic'] = '後續您還可以在後台-自定義裡面切換為全新項目集管理的模式。'; $lang->upgrade->selectedModeTips['new'] = '切換為項目集管理模式需要對之前的數據進行歸併處理,系統會引導您完成這個操作。'; -$lang->upgrade->line = '產品綫'; -$lang->upgrade->program = '目標項目集和項目'; -$lang->upgrade->existProgram = '已有項目集'; -$lang->upgrade->existProject = '已有項目'; -$lang->upgrade->existLine = '已有' . $lang->productCommon . '綫'; -$lang->upgrade->product = $lang->productCommon; -$lang->upgrade->project = '迭代'; -$lang->upgrade->repo = '版本庫'; -$lang->upgrade->mergeRepo = '歸併版本庫'; +$lang->upgrade->line = '產品綫'; +$lang->upgrade->allLines = "所有{$lang->productCommon}綫"; +$lang->upgrade->program = '目標項目集和項目'; +$lang->upgrade->existProgram = '已有項目集'; +$lang->upgrade->existProject = '已有項目'; +$lang->upgrade->existLine = '已有' . $lang->productCommon . '綫'; +$lang->upgrade->product = $lang->productCommon; +$lang->upgrade->project = '迭代'; +$lang->upgrade->repo = '版本庫'; +$lang->upgrade->mergeRepo = '歸併版本庫'; +$lang->upgrade->setProgram = '設置項目所屬項目集'; +$lang->upgrade->dataMethod = '數據遷移方式'; +$lang->upgrade->begin = '開始日期'; +$lang->upgrade->end = '結束日期'; +$lang->upgrade->selectProject = '目標項目'; +$lang->upgrade->projectName = '項目名稱'; $lang->upgrade->newProgram = '新建'; $lang->upgrade->projectEmpty = '所屬項目不能為空!'; -$lang->upgrade->mergeSummary = "尊敬的用戶,您的系統中共有%s個產品,%s個迭代等待遷移。"; -$lang->upgrade->mergeByProductLine = "以產品綫組織的產品和迭代:將整個產品綫及其下面的產品和迭代歸併到一個項目集和項目中,也可以分開歸併。"; -$lang->upgrade->mergeByProduct = "以產品組織的迭代:可以選擇多個產品及其下面的迭代歸併到一個項目集和項目中,也可以選擇某一個產品將其下面所屬的迭代歸併到項目集和項目中。"; -$lang->upgrade->mergeByProject = "獨立的迭代:可以選擇若干迭代歸併到一個項目中,也可以獨立歸併。"; -$lang->upgrade->mergeByMoreLink = "關聯多個產品的迭代:選擇這個迭代歸屬於哪一個產品。"; +$lang->upgrade->mergeSummary = "尊敬的用戶,您的系統中共有%s個{$lang->productCommon},%s個{$lang->projectCommon}等待遷移。"; +$lang->upgrade->mergeByProductLine = "以{$lang->productCommon}綫組織的{$lang->productCommon}和{$lang->projectCommon}:將整個{$lang->productCommon}綫及其下面的{$lang->productCommon}和{$lang->projectCommon}歸併到一個項目集和項目中,也可以分開歸併。"; +$lang->upgrade->mergeByProduct = "以{$lang->productCommon}組織的{$lang->projectCommon}:可以選擇多個{$lang->productCommon}及其下面的{$lang->projectCommon}歸併到一個項目集和項目中,也可以選擇某一個{$lang->productCommon}將其下面所屬的{$lang->projectCommon}歸併到項目集和項目中。"; +$lang->upgrade->mergeByProject = "獨立的{$lang->projectCommon}:可以選擇若干{$lang->projectCommon}歸併到一個項目中,也可以獨立歸併。"; +$lang->upgrade->mergeByMoreLink = "關聯多個{$lang->productCommon}的{$lang->projectCommon}:選擇這個{$lang->projectCommon}歸屬於哪一個項目。"; $lang->upgrade->mergeRepoTips = "將選中的版本庫歸併到所選產品下。"; $lang->upgrade->needBuild4Add = '本次升級需要創建索引。請到 [後台->系統->重建索引] 頁面,重新創建索引。'; +$lang->upgrade->projectType['project'] = "把歷史的{$lang->projectCommon}作為項目升級"; +$lang->upgrade->projectType['execution'] = "把歷史的{$lang->projectCommon}作為執行升級"; + +$lang->upgrade->createProjectTip = <<系統會根據歷史{$lang->projectCommon}分別創建一個與該{$lang->projectCommon}同名的執行,並將之前{$lang->projectCommon}的任務、需求、Bug等數據遷移至執行中。
+EOT; + +$lang->upgrade->createExecutionTip = <<升級後歷史的{$lang->projectCommon}數據將對應新版本中項目下的執行。
+EOT; include dirname(__FILE__) . '/version.php'; diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php index 7aa993692b..fdc0152597 100644 --- a/module/user/lang/zh-tw.php +++ b/module/user/lang/zh-tw.php @@ -122,8 +122,8 @@ $lang->user->testTask2Him = '%s負責的'; $lang->user->case2Him = '指派給%s'; $lang->user->caseByHim = '由%s創建'; -$lang->user->errorDeny = "抱歉,您無權訪問『%s』模組的『%s』功能。請聯繫管理員獲取權限。點擊後退返回上頁。"; -$lang->user->errorView = "抱歉,您無權訪問『%s』視圖。請聯繫管理員獲取權限。點擊後退返回上頁。"; +$lang->user->errorDeny = "抱歉,您無權訪問『%s』模組的『%s』功能。請聯繫管理員獲取權限。請回到地盤或重新登錄。"; +$lang->user->errorView = "抱歉,您無權訪問『%s』視圖。請聯繫管理員獲取權限。請回到地盤或重新登錄。"; $lang->user->loginFailed = "登錄失敗,請檢查您的用戶名或密碼是否填寫正確。"; $lang->user->lockWarning = "您還有%s次嘗試機會。"; $lang->user->loginLocked = "密碼嘗試次數太多,請聯繫管理員解鎖,或%s分鐘後重試。"; @@ -247,3 +247,19 @@ $lang->user->noticeResetFile = "|
+ 不能創建臨時目錄,請確認目錄%s是否存在並有操作權限。
+ Can't create tmp directory, make sure the directory %s exists and has permission to operate.
+ |